Вычислить значение выражения - PascalABC.NET (24515)

Узнай цену своей работы

Формулировка задачи:

Написал программу для решения, но она оказалась нерабочей. Мне надо чтобы при введении x=3 и c=0 прога должна выдать нет решения а при x=9 и c=-1 ответ 2
Листинг программы
  1. program s1;
  2. var x,c,b,y:real;
  3. begin
  4. writeln (x,c);
  5. readln (x,c);
  6. begin
  7. if c<>0 then
  8. b:=1/c;
  9. begin
  10. if c>=-5 then
  11. x:=sqrt(5+c);
  12. end;
  13. begin
  14. if x>=sqrt(5+c) then
  15. begin
  16. y:=sqrt(1+sqrt(x));
  17. writeln(y);
  18. end
  19. else
  20. if x<=b then
  21. begin
  22. if x<>-5 then
  23. begin
  24. Y:=1/x+5;
  25. writeln(y);
  26. else writeln('нет решения');
  27. end
  28. else
  29. writeln('нет решения');
  30. end
  31. else
  32. if x>=1 then begin
  33. y:=sqrt(x+1);
  34. writeln(y);
  35. else writeln('нет решения');
  36. end
  37. else writeln('нет решения');
  38. end;
  39. end;
  40. end.

Решение задачи: «Вычислить значение выражения»

textual
Листинг программы
  1. procedure err;
  2. begin
  3.   WriteLn('Нет решений.');
  4.   Halt;
  5. end;
  6.  
  7. begin
  8.   var x := ReadLnReal('x =');
  9.   var c := ReadLnReal('c =');
  10.   if c = 0 then err;
  11.   var a := sqrt(5 + c); var b := 1 / c;
  12.   if a < b then err;
  13.   if x <= b then WriteLn('y = ', sqrt(x + 1))
  14.   else if x < a then WriteLn('y = ', 1 / (x + 5))
  15.   else { x >= a } WriteLn('y = ', sqrt(a + sqrt(x)));
  16. end.

Объяснение кода листинга программы

  1. Представлен код на языке PascalABC.Net
  2. Задача - вычислить значение выражения
  3. Введенные переменные:
    • x (считывается значение с помощью ReadLnReal)
    • c (считывается значение с помощью ReadLnReal)
  4. Если c равно нулю, то выводится сообщение Нет решений. и выполнение программы прекращается с помощью Halt
  5. Вычисляются значения переменных a и b:
    • a = sqrt(5 + c)
    • b = 1 / c
  6. Если a меньше b, то выводится сообщение Нет решений.
  7. Если x меньше или равно b, то выводится значение y равное sqrt(x + 1)
  8. Если x меньше a, то выводится значение y равное 1 / (x + 5)
  9. Если x больше или равно a, то вычисляется значение y равное sqrt(a + sqrt(x))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут