Консультация № 175079
09.12.2009, 20:02
35.00 руб.
0 5 3
Ввести значения четырех чисел х1, х2, х3, х4. Вычислить значения переменных y1, y2, y3, z (ЕСЛИ ЭТО ВОЗМОЖНО, ЕСЛИ НЕ ВОЗМОЖНО ВЫДАВАТЬ СОБЩЕНИЕ: FALSE).
y1=1/sqrt(x1*x2)
y2=ln(5*x1-x3)
y3=cos(5*x4-10)
z=cos(y1+y2+y3)

Обсуждение

Неизвестный
09.12.2009, 20:10
общий
А что считать невозможным? Неверно введённые числа? Невозможность выполнения некоторых арифметических операций(деление на ноль и т. п.)?
Неизвестный
09.12.2009, 20:17
общий
Невозможность выполнения арифметических операций при неверно введенных числах
Неизвестный
09.12.2009, 20:26
общий
это ответ
Здравствуйте, Семашкина Надежда Сергеевна.
Программа в приложении. Проверяется невозможность выполнения функций sqrt и ln при отрицательных или нулевых аргументах.

Приложение:
program Program1;
var x1, x2, x3, x4:real;
y1, y2, y3, z:real;
begin
{ Вводим данные }
Writeln('Введите значения x1, x2, x3, x4:');
Readln(x1);
Readln(x2);
Readln(x3);
Readln(x4);
{ Щитаем }
if ((x1*x2)>0)and((5*x1-x3)>0) then
begin
y1:=1/sqrt(x1*x2);
y2:=ln(5*x1-x3);
y3:=cos(5*x4-10);
z:=cos(y1+y2+y3);

Writeln('y1=',y1:5:5);
Writeln('y2=',y2:5:5);
Writeln('y3=',y3:5:5);
Writeln('z=',z:5:5);
end
else
Writeln('FALSE');
readln;
end.
5
Неизвестный
09.12.2009, 20:30
общий
это ответ
Здравствуйте, Семашкина Надежда Сергеевна.
Программа в приложении
Значение y1 вычислить невозможно, если произведение x1*x2 меньше либо равно 0 (делить на 0 нельзя и под корнем должно быть неотрицательное число)
Значение y2 вычислить невозможно, если значение подлогорифменного выражения меньше либо = 0
Аргументом косинуса может быть любое число.
И если хоть одно значение y1,y2,y3 не удалось вычислить, то невозможно вычислить и z

Приложение:
Program p1;
var x1,x2,x3,x4:real;
y1,y2,y3,z:real;
f:boolean;
begin
write('X1='); readln(x1);
write('X2='); readln(x2);
write('X3='); readln(x3);
write('X4='); readln(x4);
f:=true;
if x1*x2>0 then begin y1:=1/sqrt(x1*x2); writeln('y1=',y1); end else begin writeln('y1 - FALSE'); f:=false; end;
if 5*x1-x3>0 then begin y2:=ln(5*x1-x3); writeln('y2=',y2); end else begin writeln('y2 - FALSE'); f:=false; end;
y3:=cos(5*x4-10);
writeln('y3=',y3);
if f then writeln('z=',cos(y1+y2+y3)) else writeln('z - FALSE');
readln;
end.
5
Неизвестный
09.12.2009, 20:30
общий
это ответ
Здравствуйте, Семашкина Надежда Сергеевна!
Вот ваша програмка.

Приложение:
uses crt;
var x1,x2,x3,x4,y1,y2,y3,z:real;
begin
clrscr;{Очистка экрана}
read(x1,x2,x3,x4);{считываем х1, х2, х3, х4}
if x1*x2>0 then {Если возможно считаем y1}
begin
y1:=1/sqrt(x1*x2);
Writeln(y1);
end
else Writeln('FALSE');
if (5*x1-x3)>0 then{Если возможно считаем y2}
begin
y2:=ln(5*x1-x3);
Writeln(y2);
end
else writeln('FALSE');
y3:=cos(5*x4-10);{Считаем y3}
z:=cos(y1+y2+y3);{Считаем z}
Writeln(y3);{Выводим y3}
writeln(z);{Выводим z}
end.
5
Форма ответа