Вычисления значений функции - Free Pascal
Формулировка задачи:
Разработайте алгоритм и создайте Паскаль программу вычисления значений функции, которая должна:
осуществлять ввод значения аргумента в диалоговом режиме;
обеспечить проверку ОДЗ аргумента функции.
Ребят, не могу понять в чем дело. Ввожу значение и программа вылетает после нажатия на Enter.
Program xxx; uses crt; var x, y, y1, y2: Real; begin writeln ('...'); writeln ('...'); Writeln('Введите x: '); ReadLn(x); if (x>3/5) and (sin(3*x*x*x*x)<>0) and (cos(3*x*x*x*x)<>0) then begin y1 := 5 * x - 3; if y1 <= 0 then begin WriteLn; Halt; end; y1 := ln(y1); y2 := 4 * (sin(3*sqr(sqr(x)))/cos(3*sqr(sqr(x)))); WriteLn; Halt; end; y := y1 / y2; WriteLn('y=', y:2:6); end; else writeln('не удовлетворяет ОДЗ'); writeln('для выхода из программы нажмите Enter'); readln; end.
Паскаль перед ELSE требует точку, а не точку с запятой, но если я поставлю точку, то программа вылетает. Как исправить этот косяк?
Решение задачи: «Вычисления значений функции»
textual
Листинг программы
Program xxx; Uses crt; Var x, y, y1, y2: Real; Begin writeln ('...'); writeln ('...'); Writeln('Введите x: '); ReadLn(x); If (x>3/5) And (sin(3*x*x*x*x)<>0) And (cos(3*x*x*x*x)<>0) Then Begin y1 := 5 * x - 3; If y1 <= 0 Then Begin WriteLn; Halt; End; y1 := ln(y1); y2 := 4 * (sin(3*sqr(sqr(x)))/cos(3*sqr(sqr(x)))); WriteLn; Halt; End; y := y1 / y2; WriteLn('y=', y:2:6); End; Else writeln('не удовлетворяет ОДЗ'); writeln('для выхода из программы нажмите Enter'); readln; End.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д