Сейчас практически каждая крупная IT-компания в состоянии разработать собственный язык программирования, на котором будет писать свои решения и продукты. На самом деле многие студенты в специализированных вузах в состоянии сделать то же самое. Но старые или же, лучше сказать, предыдущие решения в программировании свою актуальность тоже не теряют.
Наверняка, подавляющее большинство учащихся школы изучают такой язык программирования, как Pascal (далее - Паскаль). Многие считают его устаревшим и бесполезным, но по факту даже сейчас – в век Java, C++ и других языков программирования высокого уровня – Паскаль актуален. Так что не стоит пренебрегать теми знаниями, которые по нему дают (причем бесплатно), и явно стоит обратить особое внимание на процедуры и функции в Паскале. Они могут помочь в будущем, если вы, например, решили связать свою жизнь с высокими технологиями.
Связь с Delphi
Стоит отметить, как именно связаны языки Делфи и Паскаль. В интернете часто можно увидеть статьи, в которых автор ссылается именно на Паскаль при перечислении каких-либо свойств или особенностей Делфи. Почему так происходит? Дело в том, что сам язык Делфи основан как раз на Паскаль. Точнее, на него версии Object Паскаль, которая была значительно переработана и дополнена некоторыми нововведениями, эксклюзивными для Делфи.
Примеры программ
Чтобы понять зачем, нужно усвоить хотя бы на базовом уровне процедуры и функции в Паскале. Лучше обратиться к примерам программ, написанных на этом языке.
Например, весь Total Commander – один из самых удобный файловых менеджеров для Windows и Android, по мнению многих пользователей, написан именно на Паскале.
Часть Skype для операционной системы Windows, а также часть первой версии Photoshop были написаны как раз на языке программирования Паскаль.
К детищам на основе Паскаль (Delphi) можно отнести: FL Studio, Guitar Pro, а также игры типа Битвы героев, Space Empire 4 и Космические рейнджеры.
Структура программы
Для того чтобы грамотно вызывать и применять процедуры и функции в Паскале, необходимо ознакомиться хотя бы с примерной структурой программы на данном языке программирования. Причем разобраться в ней не сложно: все предельно логично.
Можно выделить два варианта компоновки программы: краткую и подробную. Информация о каждом из них представлена ниже.
Краткая
Программа начинается со слова program, после которого пишется имя программы на английском языке, а в конце ставится точка с запятой. Нужно учесть, что имя не должно совпадать с названием какой-либо переменной, описываемой в одном из следующих разделов.
Затем можно обозначить константы (постоянные значения с присвоенными символами). Для этого нужно ввести «const», потом – сами константы (например, n=5 и т.д.) закрыть строку нужно точкой с запятой.
Следующим необходимо заполнить раздел «var». В нем вводятся переменные различного типа. К примеру, Integer или Real. Закрывается раздел точкой с запятой.
Далее как раз следуют процедуры и функции в Паскале. С точкой с запятой в конце.
Начало программы определяется словом «begin».
За ним следует основное тело программы.
Конец определяется словом «end.».
Подробная
В подробной версии между разделами «program» и «const» можно вставить строку «label» для заполнения метки, а после «const» можно добавиться «type» для описания типов данных.
Правда, если для работы программы эти строки не требуются, то их можно не прописывать. Программа скомпилируется успешно (если все сделано правильно).
Процедуры и функции
Стоит отметить, что у всех процедур и функций в Паскале тоже есть своя структура. Причем она аналогична структуре программы. Только вместо слова «program» в начале нужно написать «procedure».
В каждой программе есть как локальные, так и глобальные переменные. Локальные действительны только для процедур и действуют они, соответственно, только внутри тела процедуры. С глобальными наоборот – они работают во всей программе.
С функциями всё аналогично. Только вместо слова «procedure» нужно написать «function», а в конце еще и добавить тип возвращаемого значения.
в Паскале строки процедур и функций очень удобно применять по ряду причин, которые будут описаны далее.
Паскаль. Задачи процедур и функций
Процедуры и функции в языке программирования Паскаль существуют на уровне подпрограмм. То есть их можно заполнить один раз, а потом, когда они понадобятся в следующий раз, просто обратиться к их именам, а не набирать заново.
Это заметно облегчает задачу программисту при написании кода, а также делает сам код компактным. Это минимизирует шанс появления ошибки в программе, из-за которой компилятор может её не выполнить или провести некорректно.
Именно процедуры и функции позволяют программисту передавать параметры по ссылке. Кстати, подобный тип передачи информации внутри программного кода применяется в огромном количестве языков программирования (если не во всех). Но только если в других случаях это делается только посредствам функций, то в Паскале это производится еще и посредствам процедур.
Примеры
Сейчас мы разберем примеры функций и процедур в Паскале: как найти сумму двух чисел (функций) с помощью процедуру и функции. Нужно отметить, что обе этих структуры вставляются между разделами «var» и «begin».
Процедура:
Procedure summa(a, b: integer; var c: integer);
Begin
c:= a + b;
end;
Функция:
Function summa(a, b: integer): integer;
Begin
summa:= a + b;
end;
Стандартные процедуры и функции в Паскале
К стандартным процедурам и функциям можно отнести такие действия, как сложение и вычитание, умножение и деление.
Только нужно учесть следующую особенность:
У типа Integer есть ограничение: он работает только с целыми числами. Его альтернатива – тип Real. С его помощью можно проводить операции деления и умножения.
Также к стандартным процедурам и функциям относятся процессы сравнения чисел друг с другом или другими числами. С помощью этого можно находить минимальные и максимальные значения в массиве. Да, в Паскале, как и в большинстве других языков программирования, можно работать с массивами.
С массивами очень удобно работать с помощью процедур и функций. Чтобы его заполнить, необходимо начать цикл, прогнать его и завершить. Хорошо, если его нужно только сформировать. Если же внутри массива нужно выполнить какие-либо действия, то его вся его конструкция растянется на несколько строк.
Как быть, если одно и то же действие с массивом нужно произвести несколько раз? Неужели удобно переписывать его каждый раз заново? Конечно, нет. В этом случае на помощь придет именно функция или же процедура (всё зависит от конкретной ситуации).