Найти ошибку в программе вычисления значения выражения - PascalABC.NET
Формулировка задачи:
Пожалуйста найдите ошибку
Уже 2 дня голову ломаю...
Сори за такой скрин, инэт только на телефоне
Решение задачи: «Найти ошибку в программе вычисления значения выражения»
textual
Листинг программы
Program Expression;
Var a, b, c, t1, t2, t3, z : Real;
k:byte;
Begin
Writeln('Введите значения переменных a, b, c:');
ReadLn(a,b,c);
k:=0;
if (a<=0)or(b<=0)or(a=b)or(c=b)or(a/(c-b)=-5) then k:=1
else
begin
t1:=a*a+sqrt(b)-cos(a*a*a);
if t1<0 then k:=1
else
begin
t1:=a*c-sqrt(t1);
t2:=ln(5*b)/sin(6*b)+cos(a-b)/sin(a-b)/exp(c*a);
if t2=0 then k:=1
else
begin
t1:=t1/t2;
if ln(5/b)+6<0 then k:=1
else
begin
t2:=a+sqrt(ln(5/b)+6);
t3:=a*a+(a+b*b*b*b*b-c)/(a/(c-b));
if t3=0 then k:=1
else
begin
t2:=t2/t3;
if t2<0 then k:=1
else
begin
t2:=sqrt(t2);
z:=t1+t2;
end;
end;
end;
end;
end;
end;
if k=1 then write('Z не определено')
else write('Z=',z:0:4);
end.
Объяснение кода листинга программы
Список элементов кода:
- Ввод значений переменных a, b, c с помощью функции ReadLn.
- Установка начального значения переменной k равным 0.
- Проверка условий для переменной k. Если любое из условий истинно, то k устанавливается равным 1.
- Вычисление значения переменной t1.
- Проверка условия для переменной k. Если t1 меньше нуля, то k устанавливается равным 1.
- Вычисление значения переменной t2.
- Проверка условия для переменной k. Если t2 равно нулю, то k устанавливается равным 1.
- Вычисление значения переменной t3.
- Проверка условия для переменной k. Если t3 равно нулю, то k устанавливается равным 1.
- Вычисление значения переменной t2.
- Проверка условия для переменной k. Если t2 меньше нуля, то k устанавливается равным 1.
- Вычисление значения переменной z.
- Вывод значения переменной z с помощью функции Write.
- Установка значения переменной k равным 0.
- Проверка условия для переменной k. Если k равно 1, то выводится сообщение
Z не определено. - Вывод значения переменной z с помощью функции Write, указывая количество знаков после запятой равным 4.
- Завершение программы с помощью оператора end.