ПОМОГИТЕ НАПИСАТЬ ПРОГУ В ПАСКАЛЕ. БЕЗ ELSE И NOT

0 голосов
87 просмотров

ПОМОГИТЕ НАПИСАТЬ ПРОГУ В ПАСКАЛЕ. БЕЗ ELSE И NOT


image

Информатика (30 баллов) | 87 просмотров
0

условия же не пересекаются

0

вообще-то да, но вопросы оптимальности не важнее решения самой задачи так как она поставлена. И не столь уж ресурсозатратное вычисление то

0

Иногда запрет на использование чего-то ведет к более элегантному решению. Но не в этом случае

Дано ответов: 2
0 голосов
Правильный ответ

Var
    x, a, betta, y: real;

begin
    Write('Введите через пробел x, бета, a: ');
    Read(x, betta, a);
    
    y := sqr(cos(x)) / sqrt(abs(x + a));
    if (x > 1) and (x < 3) then y := sqrt(1 + x);
    if (x = 4.1) or (x = 5.2) then y := x * x - sin(3 * betta);
    
    Writeln('y=', y)
end.

Программа не предусматривает возможность деления на ноль и прочих неожиданностей

(55.0k баллов)
0 голосов
// PascalABC.NET 3.2, сборка 1367 от 20.12.2016
// Внимание! Если программа не работает, обновите версию!

begin
  var x,a,betta,y:real;
  Write('Введите через пробел x, бета, a: ');
  Read(x,betta,a);
  y:=((x>1) and (x<3))?sqrt(1+x):x in [4.1,5.2]?x*x-sin(3*betta):<br>    sqr(cos(x))/sqrt(abs(x+a));
  Writeln('y=',y)
end.

Примеры для проверки всех трех формул
Введите через пробел x, бета, a: 2.1 0.17 3
y=1.7606816861659

Введите через пробел x, бета, a: 5.2 -9.6 5.18
y=26.5382106989794

Введите через пробел x, бета, a: -2 0 1.3
y=0.206987526684641
(150k баллов)