Модуль: Подпрограммы: процедуры и функции - 1


Задача

2/12

Параметры и аргументы

Теория Нажмите, чтобы прочитать/скрыть

А теперь представим, что нам необходимо в ответ на ошибку пользователя вывести разные сообщения, в зависимости от того, какую именно ошибку он сделал.
В этом случае можно для каждой ошибки написать свою процедуру: 

procedure printErrorZero();
begin
    writeln('Error. Division by zero!');
end;

procedure printErrorInput();
begin
    writeln('Error in input!');
end;

А если возможных ошибок будет намного больше? Такое решение нам не подойдет!
Надо научиться управлять процедурой, указывая ей, какое сообщение на ошибку нужно вывести.
Для этого нам понадобятся параметры, которые мы будем записывать в круглых скобках, после имени процедуры
procedure printError(s: string);
begin
    writeln(s);
end;
В данной процедуре s - это параметр - специальная переменная, которая позволяет управлять процедурой.
Параметр - это переменная, от значения которой зависит работа подпрограммы. Имена параметров перечисляются через точку с запятой в заголовке подпрограммы. После параметра через двоеточие записывается его тип.

Теперь при вызове процедуры нужно в скобках указывать фактическое значение, которое будет присвоено параметру (переменной s) внутри нашей процедуры
printError('Error! Division by zero!');
Такое значение называется аргументом
Аргумент - это значение параметра, которое передается подпрограмме при ее вызове.
Аргументом может быть не только постоянное значение, но и переменная или арифметическое выражение.

Задача

В программе необходимо добавить вызовы процедуры таким образом, чтобы при вводе значения 0 выводилась на экран ошибка "Error: division by zero!", а иначе выводилась ошибка "Error in input!".
Ваша задача - оформить правильный вызов процедуры.