Другие языки программирования и технологии
207 ошибка (Турбо паскаль)
uses CRT; function Q(a,b:real):real; begin Q:=sqrt(a*a+b*b+exp(2*ln(sin(a*b)))); end; var p,z,x,y:real; begin CLRSCR; writeln('wedite x,y,z'); readln(x,y,z); p:=Q(x,y)+Q(y,z)+Q(z,x); writeln('P=',p:3:4); readln; end. Обьясните как испавить программу, ошибка вылетает в раене функции Кому не сложно напишите текст исправленной программы
Логарифм от синуса - ошибка.
Так не может быть задана функция, или надо писать так:
uses CRT;
function Q(a,b:real):real;
begin
Q:=sqrt(a*a+b*b+exp(2*ln(sin(a*b))));
end;
var p,z,x,y:real;
begin
CLRSCR;
writeln('wedite x,y,z');
readln(x,y,z);
if (sin(x*y)<=0) OR (sin(y*z)<=0) OR (sin(x*z)<=0)
then writeln('UNDEFINED')
else begin
p:=Q(x,y)+Q(y,z)+Q(z,x);
writeln('P=',p:3:4);
end;
readln;
end.
Так не может быть задана функция, или надо писать так:
uses CRT;
function Q(a,b:real):real;
begin
Q:=sqrt(a*a+b*b+exp(2*ln(sin(a*b))));
end;
var p,z,x,y:real;
begin
CLRSCR;
writeln('wedite x,y,z');
readln(x,y,z);
if (sin(x*y)<=0) OR (sin(y*z)<=0) OR (sin(x*z)<=0)
then writeln('UNDEFINED')
else begin
p:=Q(x,y)+Q(y,z)+Q(z,x);
writeln('P=',p:3:4);
end;
readln;
end.
А что, по другому в квадрат никак?
exp(2*ln(sin(a*b)))
Вы же при некоторых значениях переменных обязательно отгребете логарифм отрицательного числа! Что просто воспользоваться стандартной функцией Sqr() религия не позволила? Обязательно надо с извращением?
2 Александр Осипов: Что "UNDEFINED"? Функция определена всегда, это корень квадратный из суммы квадратов, которая не может быть отрицательной.
exp(2*ln(sin(a*b)))
Вы же при некоторых значениях переменных обязательно отгребете логарифм отрицательного числа! Что просто воспользоваться стандартной функцией Sqr() религия не позволила? Обязательно надо с извращением?
2 Александр Осипов: Что "UNDEFINED"? Функция определена всегда, это корень квадратный из суммы квадратов, которая не может быть отрицательной.
Значение ошибки 207
Недопустимая операция с плавающей запятой
Тип ошибки 207
Ошибка Turbo Pascal, возникшая в процессе выполнения программы
Описание ошибки 207
Возможные причины сообщения: аргумент функций TRUNC или ROUND не может быть преобразован в целое число, находящееся внутри диапазона типа LONGINT (от -2147483648 до +2147483647); отрицательный аргумент функции SQRT (извлечение квадратного корня) ; аргумент функции LN (логарифм) равен нулю или имеет отрицательное значение; произошло переполнение стека сопроцессора.
Недопустимая операция с плавающей запятой
Тип ошибки 207
Ошибка Turbo Pascal, возникшая в процессе выполнения программы
Описание ошибки 207
Возможные причины сообщения: аргумент функций TRUNC или ROUND не может быть преобразован в целое число, находящееся внутри диапазона типа LONGINT (от -2147483648 до +2147483647); отрицательный аргумент функции SQRT (извлечение квадратного корня) ; аргумент функции LN (логарифм) равен нулю или имеет отрицательное значение; произошло переполнение стека сопроцессора.
у меня программа заработала. 207 ошибка неправильная обработка типа данных ввода (в данном случае тип реальный, а ты вводил целые числа)
когда я ввел дробные числа, к примеру 1.0 2.0 1.0 то был получен некий результат.
когда я ввел дробные числа, к примеру 1.0 2.0 1.0 то был получен некий результат.
Нâ скóлькó пóмню обсуждалось тут уже, юзай - wmfix
Самое простое решение:
Похожие вопросы
- Какую программу (Паскаль) использовать в учебных целях, чтоб была овместима с файлами от "Турбо Паскаль"? В которых
- Турбо паскаль пожалуйста укажите ошибки
- вопрос по турбо паскалю
- Помогите написать 2 програмки на Турбо Паскале.
- Я в турбо паскале запис-ю текст порусски в текстовик, открываю его вне ТП, а там фигня какая-то. Что мне делать?
- Помогите решить, пожалуста (ТУрбо Паскаль)
- Турбо Паскаль
- Помогите решить задачу на Турбо паскале
- Игра в турбо паскале Киньте программу на любую игру в турбо паскале
- Ошибка 26 в Турбо Паскале