Вычислить значение выражения - PascalABC.NET (24515)
Формулировка задачи:
Написал программу для решения, но она оказалась нерабочей. Мне надо чтобы при введении x=3 и c=0 прога должна выдать нет решения
а при x=9 и c=-1 ответ 2
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
procedure err;
begin
WriteLn('Нет решений.');
Halt;
end;
begin
var x := ReadLnReal('x =');
var c := ReadLnReal('c =');
if c = 0 then err;
var a := sqrt(5 + c); var b := 1 / c;
if a < b then err;
if x <= b then WriteLn('y = ', sqrt(x + 1))
else if x < a then WriteLn('y = ', 1 / (x + 5))
else { x >= a } WriteLn('y = ', sqrt(a + sqrt(x)));
end.
Объяснение кода листинга программы
- Представлен код на языке PascalABC.Net
- Задача - вычислить значение выражения
- Введенные переменные:
- x (считывается значение с помощью ReadLnReal)
- c (считывается значение с помощью ReadLnReal)
- Если c равно нулю, то выводится сообщение
Нет решений.и выполнение программы прекращается с помощью Halt - Вычисляются значения переменных a и b:
- a = sqrt(5 + c)
- b = 1 / c
- Если a меньше b, то выводится сообщение
Нет решений. - Если x меньше или равно b, то выводится значение y равное sqrt(x + 1)
- Если x меньше a, то выводится значение y равное 1 / (x + 5)
- Если x больше или равно a, то вычисляется значение y равное sqrt(a + sqrt(x))