Ошибка "Нет перегруженной подпрограммы с такими типами параметров" - PascalABC.NET (24426)
Формулировка задачи:
ошибка возникает на 21 строке
Решение задачи: «Ошибка "Нет перегруженной подпрограммы с такими типами параметров"»
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,
|, значение примечаний.