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


Задача

1/12

Подпрограммы: введение

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

Подпрограмма - это отдельная часть программы, имеющая имя и решающая свою отдельную задачу. Располагается подпрограмма в начале основной программы и может быть запущена (вызвана) из основной программы по указанию имени

Использование подпрограмм позволяет избежать дублирования кода, в случае если необхоидмо один и тот же код писать в разных местах программы. 
Библиотеки, которые импортируются в программу (например, математическая библиотека math) состоят из подпрограмм, которые уже кем-то составлены. Программистам не нужно думать о том, какие алгоритмы в них реализованы, а просто применяют их, задумываясь только о том, что именно они делают. Это большая экономия времени. Нет нужды писать алгоритм, который уже был кем то написан.

Каждая подпрограмма должна решать только одну задачу:  либо только что-то вычислять, либо выводить какие-либо данные, либо делать что-то еще. 

Подпрограммы бывают двух типов - процедуры и функции

Подпрограммы-процедуры выполняют некоторые действия, например, выводят результат на экран в определенном виде (простой пример, оператор writeln()- это стандратная подпрограмма-процедура, которая выводит на экран информацию)

Подпрограммы-функции возращают результат (число, символьную строчку и т.д.), который мы можем использовать в основном программе.

Давайте попробуем написать простую процедуру:
Предположим, что нам нужно выводить на экран строку "Error" каждый раз, когда в коде может возникнуть ошибка по вине пользователя (например, когда он вводит неверные данные)
Это можно сделать, написав оператор
writeln('Error');
А теперь представим, что такую строчку нужно вставить во многих местах программы. Конечно, можно везде ее просто написать. Но это решение имеет два недостатка.
1) данная строка будет храниться в памяти много раз
2) если мы захотим изменить вывод при ошибке, то придется менять эту строку по всей программе, что достаточно неудобно

Для таких случаев процедуры и нужны.
Программа с процедурой может выглядеть следующим образом:
...
using namespace std;

procedure printError();    // описание процедуры
begin  
    writeln('Error');   // тело процедуры - команды, которые будет выполнять процедура
end;

// основная программа
begin;
...
  printError();      // запуск процедуры на выполнение. Просто указываем имя процедуры, которую хотим выполнить
...
  printError();
...
end.

Процедура начинается со слова procedure. После имени процедуры записаны скобки, в которых указываются переменные и их типы, от которых зависит выполнение процедуры. Например:

var a, b, answer: integer;
procedure Sum(a, b: integer);
begin
    answer := a + b;
end;

Все операторы, которые выполняются в процедуре, записываются с отступом. 

Процедуры записываются до главной программы

Чтобы выполнить процедуру, в основной программе необходимо вызвать ее по имени и не забыть написать скобки!
Вызывать процедуру в программе можно сколько угодно раз.

Задача

Оформите процедуру, которая выводит на экран фразу "Error. Division by zero!". Дайте правильное название процедуре.