Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2013, 23:28   #1
kinwood
Пользователь
 
Регистрация: 12.12.2012
Сообщений: 25
По умолчанию Паскаль Здача

Код:
Program Lab1_Primer1;
Var   x, y, P, max, F: real;
      k: integer;
Function f1:real;
Begin
f1:=(ln(y-x)/ln(3))/sqr(x)+5*x+sin(sqr(x)-7)
End;
Function f2:real;
Begin
f2:=exp(1.23)+exp(2.5*ln(abs(x)))/(1-abs(y));
End;
Function f3:real;
Begin
f3:=sqrt(abs(x+y))+2*(cos(x-pi/3)/sin(x-pi/3))
End;
begin
K:=0;
Read(x,y);
if (-3<=x<0) then
   if (sqr(x)+5*x<>0) and (y-2>0) then P:=f1
                                  else K:=1
       Else
   if (0<=x<3) then
      if (1-abs(y)<>0) then p:=f2
                        else K:=2
       Else
    if (sin(x-pi/3)<>0)  then p:=f3
                          else K:=3
                          
    Case K of
   1: Writeln('Нет ООФ для f1');
   2: Writeln('Нет ООФ для f2');
   3: Writeln('Нет ООФ для f3');
   0: begin                    
    if P-1>y-x then max:=P-1 else max:=y-x;
       F:=max;
         end;
End;
End.
закончить незнаю как вывести на икран
Изображения
Тип файла: jpg Помогите.jpg (24.6 Кб, 145 просмотров)
kinwood вне форума Ответить с цитированием
Старый 06.03.2013, 22:24   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Тут ошибка:
Код:
Function f1:real;
Begin
f1:=(ln(y-x)/ln(3))/sqr(x)+5*x+sin(sqr(x)-7)
End;
Вроде так правильнее:
Код:
Function f1:real;
Begin
f1:=(ln(y-2)/ln(3))/(sqr(x)+5*x)+sin(sqr(x)-7)
End;
Это правильнее переписать. Поскольку Х может быть равен нулю, то
Код:
Function f2:real;
Begin
f2:=exp(1.23)+exp(2.5*ln(abs(x)))/(1-abs(y));
End;
даст ошибку. Вернее так:
Код:
Function f2:real;
Begin
f2:=exp(1.23) + sqr(x) * sqrt(abs(x))/(1-abs(y));
End;
Проверь старшинство арифметических операций.
Код:
if (-3<=x<0) then ...
Условные выражения следует расписывать более подробно:
Код:
if ((-3<=x) AND (x < 0)) then ...
и группировать в скобки.
Так неправильно:
Код:
if (sqr(x)+5*x<>0) and (y-2>0) then ...
Вернее так:
Код:
if (((sqr(x)+5*x)<>0) and ((y-2) > 0)) then ...
и т.д.


Как-то так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно в Паскаль АВС (Паскаль-Турбо) вставлять в результаты печати программы графики, таблицы, схемы, набранные формулы, выраже IZOPGRAM Паскаль, Turbo Pascal, PascalABC.NET 0 11.06.2012 10:54
15 здача amikulia Помощь студентам 1 14.01.2011 22:41
Последня надежда на ВАс по другом тока капец Помогите!!! Здача на Паскале VADOS2009-1 Помощь студентам 0 03.06.2009 18:38