Подпрограммы
Lazarus IDE: Основы программирования в Windows
Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее... |
Если вы внимательно изучили предыдущий урок, то это могло ввести вас в лёгкую депрессию. Потому что даже такая простая программа, как оказалось, выглядит “изнутри” довольно устрашающе, что вполне может вогнать новичка в уныние.
Однако не всё так плохо. Эту программу можно упростить, если разбить её на несколько более мелких задач. А более мелкую задачу проще решать. Это, в свою очередь, приведёт к упрощению программы в целом, хотя общий объём исходного кода не уменьшится, а даже увеличится.
Как разбить программу на отдельные блоки?
Практически во всех языках программирования для этого существуют такие элементы, как подпрограммы.
Подпрограмма - это блок исходного кода. Подпрограмме можно дать имя, а затем в исходном коде программы вместо целого блока кода подставлять только имя подпрограммы. Это существенно упрощает восприятие исходного текста. К тому же исходный код подпрограммы можно менять. Причём сделать это достаточно в одном месте, а не в разных местах программы, если этот код используется в программе несколько раз. Это даёт дополнительные преимущества.
Допустим, в вашей программе есть строка, которая выводит сообщение “Для выхода из программы нажмите ESC”. Допустим, что вы выводите это сообщение 10 раз в разных местах программы. Например, у вас есть такой код:
WriteLn(‘Для выхода из программы нажмите ESC’);
...
//Здесь какой-то код
...
WriteLn(‘Для выхода из программы нажмите ESC’);
...
//Здесь какой-то код
...
//и так далее...
Тогда, если вы почему-то решите поменять это сообщение (к примеру, решите, что выход из программы будет выполняться при нажатии на клавишу Q), то вам придётся изменять текст в 10 разных местах.
Подобную ситуацию я уже описывал, когда говорил о применении констант.
Так вот, решить эту проблему можно с помощью подпрограммы. Примерно так:
Подпрограмма ИмяПодпрограммы; Начало WriteLn(‘Для выхода из программы нажмите ESC’); Конец;
Затем в нашем примере мы делаем так:
ИмяПодпрограммы; ... //Здесь какой-то код ... ИмяПодпрограммы; ... //Здесь какой-то код ... //и так далее…
Теперь, если мы захотим изменить сообщение, нам нужно это сделать будет всего один раз в теле подпрограммы.
Надо ещё сказать, что ИмяПодпрограммы - это идентификатор, который составляется в соответствии с правилами конкретного языка программирования.
В паскале существует два вида подпрограмм:
Более подробно они рассмотрены в соответствующих статьях.