Ошибка "Нет перегруженной подпрограммы с такими типами параметров" - PascalABC.NET (24426)

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

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

Листинг программы
  1. program 9;
  2. var
  3. a,b,x,p,c: array [1..50] of char;
  4. pr: array [1..50] of string;
  5. i, n: integer;
  6. begin
  7. writeln('Введите количество пар Х и Р');
  8. Readln(n);
  9.  
  10. for i := 1 to n do
  11. begin
  12. writeln('Введите значение P');
  13. Readln(p[i]);
  14. writeln('Введите значение X');
  15. Readln(x[i]);
  16. if (sqrt(p[i]*p[i]*p[i]) + (x[i]*x[i]) + 4.5) >= 0 then
  17. begin
  18. if (sin (sqrt(p[i]*p[i]*p[i]) + (x[i]*x[i]) + 4.5)) >= 0
  19. then begin
  20. a[i] := (sin (sqrt(p[i]*p[i]*p[i]) + (x[i]*x[i]) + 4.5));
  21. if (ln(x[i]*x[i]*x[i]) + abs(x[i]*x[i]*x[i]*x[i] - 2*p[i])) >= 0
  22. then begin
  23. b[i] := (x[i]*x[i] - exp (ln(x[i]*x[i]*x[i]) + abs(x[i]*x[i]*x[i]*x[i] - 2*p[i])));
  24. if b[i] <> 0
  25. then begin
  26. c[i] := a[i]/b[i]; pr[i]:=('0')
  27. end
  28. else c[i]:=0; pr[i]:=('Ошибка.Знаменатель равен нулю.') end
  29. else c[i]:=0; pr[i]:=( 'Ошибка.Значение степени меньше нуля.') end
  30. else c[i]:=0; pr[i]:=('Ошибка.Числитель меньше нуля.') end
  31. else c[i]:=0; pr[i]:=('Ошибка.Под корнем стоит число меньше нуля.');
  32. end;
  33. for i := 1 to n do
  34. begin
  35. writeln(' X | P | C | Примечания');
  36. if (pr[i]=0) then
  37. begin
  38. writeln(x[i]:5:3, '|', p[i]:5:3, '|', c[i]:5:3,'|')
  39. end
  40. else
  41. begin
  42. writeln(x[i]:5:3, '|', p[i]:5:3, '|', '|',pr[i])
  43. end
  44. end
  45. end.
ошибка возникает на 21 строке

Решение задачи: «Ошибка "Нет перегруженной подпрограммы с такими типами параметров"»

textual
Листинг программы
  1. program p9;
  2.  
  3. var
  4.   a, b, x, p, c: array [1..50] of real;
  5.   pr: array [1..50] of string;
  6.   i, n: integer;
  7. begin
  8.   writeln('Введите количество пар Х и Р');
  9.   Readln(n);
  10.  
  11.   for i := 1 to n do
  12.   begin
  13.     writeln('Введите значение P');
  14.     Readln(p[i]);
  15.    
  16.     writeln('Введите значение X');
  17.     Readln(x[i]);
  18.    
  19.     if (sqrt(p[i] * p[i] * p[i]) + (x[i] * x[i]) + 4.5) >= 0 then
  20.     begin
  21.       if (sin(sqrt(p[i] * p[i] * p[i]) + (x[i] * x[i]) + 4.5)) >= 0
  22.       then begin
  23.         a[i] := (sin(sqrt(p[i] * p[i] * p[i]) + (x[i] * x[i]) + 4.5));
  24.         if (ln(x[i] * x[i] * x[i]) + abs(x[i] * x[i] * x[i] * x[i] - 2 * p[i])) >= 0
  25.         then begin
  26.           b[i] := (x[i] * x[i] - exp(ln(x[i] * x[i] * x[i]) + abs(x[i] * x[i] * x[i] * x[i] - 2 * p[i])));
  27.           if b[i] <> 0
  28.           then begin
  29.             c[i] := a[i] / b[i]; pr[i] := ('0')
  30.           end
  31.           else c[i] := 0; pr[i] := ('Ошибка.Знаменатель равен нулю.') end
  32.         else c[i] := 0; pr[i] := ('Ошибка.Значение степени меньше нуля.') end
  33.       else c[i] := 0; pr[i] := ('Ошибка.Числитель меньше нуля.') end
  34.     else c[i] := 0; pr[i] := ('Ошибка.Под корнем стоит число меньше нуля.');
  35.   end;
  36.   for i := 1 to n do
  37.   begin
  38.     writeln(' X | P | C | Примечания');
  39.     if (pr[i] = '') then
  40.     begin
  41.       writeln(x[i]:5:3, '|', p[i]:5:3, '|', c[i]:5:3, '|')
  42.     end
  43.     else
  44.     begin
  45.       writeln(x[i]:5:3, '|', p[i]:5:3, '|', '|', pr[i])
  46.     end
  47.   end
  48. end.

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

  1. Объявлены переменные: a, b, x, p, c (массивы), pr (массив строк), i, n (целые числа).
  2. Пользователю предлагается ввести количество пар Х и Р.
  3. В цикле от 1 до n выполняются следующие действия:
    • Пользователю предлагается ввести значение P.
    • Пользователю предлагается ввести значение X.
    • Вычисляется значение a по формуле a[i] := sin(sqrt(p[i] p[i] p[i]) + (x[i] * x[i]) + 4.5).
    • Вычисляется значение b по формуле b[i] := (x[i] x[i] - exp(ln(x[i] x[i] x[i]) + abs(x[i] x[i] x[i] x[i] - 2 * p[i]))).
    • Если b[i] не равно нулю, то вычисляется значение c по формуле c[i] := a[i] / b[i].
    • Если b[i] равно нулю, то значение c[i] устанавливается равным 0 и в примечаниях записывается сообщение об ошибке Знаменатель равен нулю.
    • Если a[i] меньше нуля, то значение c[i] устанавливается равным 0 и в примечаниях записывается сообщение об ошибке Числитель меньше нуля.
    • Если под корнем стоит число меньше нуля, то значение c[i] устанавливается равным 0 и в примечаниях записывается сообщение об ошибке Под корнем стоит число меньше нуля.
  4. В цикле от 1 до n выводятся значения x, p, c и примечания.
  5. Если примечания пустые, то выводится значение x, p, c.
  6. Если примечания не пустые, то выводится значение x, p, |, значение примечаний.

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


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

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

13   голосов , оценка 4.231 из 5

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

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

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