Ошибка "Нет перегруженной подпрограммы с такими типами параметров" - PascalABC.NET (24426)
Формулировка задачи:
Листинг программы
- program 9;
- var
- a,b,x,p,c: array [1..50] of char;
- pr: array [1..50] of string;
- i, n: integer;
- begin
- writeln('Введите количество пар Х и Р');
- Readln(n);
- for i := 1 to n do
- begin
- writeln('Введите значение P');
- Readln(p[i]);
- writeln('Введите значение X');
- Readln(x[i]);
- if (sqrt(p[i]*p[i]*p[i]) + (x[i]*x[i]) + 4.5) >= 0 then
- begin
- if (sin (sqrt(p[i]*p[i]*p[i]) + (x[i]*x[i]) + 4.5)) >= 0
- then begin
- a[i] := (sin (sqrt(p[i]*p[i]*p[i]) + (x[i]*x[i]) + 4.5));
- if (ln(x[i]*x[i]*x[i]) + abs(x[i]*x[i]*x[i]*x[i] - 2*p[i])) >= 0
- then begin
- 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])));
- if b[i] <> 0
- then begin
- c[i] := a[i]/b[i]; pr[i]:=('0')
- end
- else c[i]:=0; pr[i]:=('Ошибка.Знаменатель равен нулю.') end
- else c[i]:=0; pr[i]:=( 'Ошибка.Значение степени меньше нуля.') end
- else c[i]:=0; pr[i]:=('Ошибка.Числитель меньше нуля.') end
- else c[i]:=0; pr[i]:=('Ошибка.Под корнем стоит число меньше нуля.');
- end;
- for i := 1 to n do
- begin
- writeln(' X | P | C | Примечания');
- if (pr[i]=0) then
- begin
- writeln(x[i]:5:3, '|', p[i]:5:3, '|', c[i]:5:3,'|')
- end
- else
- begin
- writeln(x[i]:5:3, '|', p[i]:5:3, '|', '|',pr[i])
- end
- end
- end.
Решение задачи: «Ошибка "Нет перегруженной подпрограммы с такими типами параметров"»
textual
Листинг программы
- program p9;
- var
- a, b, x, p, c: array [1..50] of real;
- pr: array [1..50] of string;
- i, n: integer;
- begin
- writeln('Введите количество пар Х и Р');
- Readln(n);
- for i := 1 to n do
- begin
- writeln('Введите значение P');
- Readln(p[i]);
- writeln('Введите значение X');
- Readln(x[i]);
- if (sqrt(p[i] * p[i] * p[i]) + (x[i] * x[i]) + 4.5) >= 0 then
- begin
- if (sin(sqrt(p[i] * p[i] * p[i]) + (x[i] * x[i]) + 4.5)) >= 0
- then begin
- a[i] := (sin(sqrt(p[i] * p[i] * p[i]) + (x[i] * x[i]) + 4.5));
- if (ln(x[i] * x[i] * x[i]) + abs(x[i] * x[i] * x[i] * x[i] - 2 * p[i])) >= 0
- then begin
- 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])));
- if b[i] <> 0
- then begin
- c[i] := a[i] / b[i]; pr[i] := ('0')
- end
- else c[i] := 0; pr[i] := ('Ошибка.Знаменатель равен нулю.') end
- else c[i] := 0; pr[i] := ('Ошибка.Значение степени меньше нуля.') end
- else c[i] := 0; pr[i] := ('Ошибка.Числитель меньше нуля.') end
- else c[i] := 0; pr[i] := ('Ошибка.Под корнем стоит число меньше нуля.');
- end;
- for i := 1 to n do
- begin
- writeln(' X | P | C | Примечания');
- if (pr[i] = '') then
- begin
- writeln(x[i]:5:3, '|', p[i]:5:3, '|', c[i]:5:3, '|')
- end
- else
- begin
- writeln(x[i]:5:3, '|', p[i]:5:3, '|', '|', pr[i])
- end
- end
- end.
Объяснение кода листинга программы
- Объявлены переменные: a, b, x, p, c (массивы), pr (массив строк), i, n (целые числа).
- Пользователю предлагается ввести количество пар Х и Р.
- В цикле от 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 и в примечаниях записывается сообщение об ошибке
Под корнем стоит число меньше нуля
.
- В цикле от 1 до n выводятся значения x, p, c и примечания.
- Если примечания пустые, то выводится значение x, p, c.
- Если примечания не пустые, то выводится значение x, p,
|
, значение примечаний.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д