- •Центр Компьютерного Обучения
- •Подпрограммы: процедуры.
- •1. Структурное программирование и технология нисходящего программирования.
- •2. Подпрограммы в языке Pascal. Понятие «процедура».
- •3. Формальные и фактические параметры.
- •4. Параметры-значения и параметры-переменные (входные и выходные параметры) подпрограмм, механизм передачи параметров (можно перенести на Занятие 2, если не хватит времени).
- •5. Локальные и глобальные переменные, область действия переменных
- •Подпрограммы: функции
- •Функция не имеет выходных параметров, она возвращает единственное значение (результат);
- •Рекурсия
- •Строковый тип данных – String
- •6. Для обработки строковых данных можно использовать стандартные процедуры и функции, описание которых можно найти в [1] или в любом справочнике по Pascal.
- •1. Общие сведения.
- •5. Доступ к компонентам файла.
- •Дополнительно (на усмотрение преподавателя!!!) процедуры Rename и Erase.
- •Текстовые файлы
- •1. Назначение.
- •Типизированные файлы
- •Динамические структуры данных
- •1. Статическая и динамическая память.
- •Распределение памяти.
- •2. Статические и динамические переменные.
- •Статическая переменная:
- •4. Доступ к переменной по указателю.
- •5. Управление динамической памятью (процедуры New и Dispose).
- •Формирование с помощью указателей однонаправленного списка по принципу стека, поиск элемента
- •Однонаправленный список
- •Пояснения к программе
- •Формирование с помощью указателей однонаправленного списка по принципу «очереди», поиск элемента
- •Пояснения к программе
- •Удаление элемента из линейного однонаправленного списка
2. Подпрограммы в языке Pascal. Понятие «процедура».
Все подпрограммы языка Pascal делятся на стандартные (входят в состав языка и вызываются для выполнения по строго фиксированному имени) и определенные пользователем (разрабатываются и именуются самим пользователем). К стандартным относятся, например, подпрограммы модулей Graph и Crt. Далее мы будем рассматривать подпрограммы, определенные пользователем.
В Pascal существует 2 вида подпрограмм: процедуры и функции. Имея один и тот же смысл и аналогичную структуру, процедуры и функции различаются назначением и способом их использования. Функции представляют собой частный случай процедур и будут рассмотрены позже.
Процедура – это независимая именованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Процедуры предназначены для выполнения отдельного блока программы, например, формирование и вывод матриц, вычисление характеристик массивов и т. д. Структура процедуры (как и функции) аналогична структуре всей программы. Процедура должна быть описана до того, как она будет использована в программе или в другой подпрограмме.
2. Структура программы.
Program Primer; {заголовок основной программы}
Uses …; {раздел подключения модулей основной программы}
Label …; {раздел описания меток основной программы}
Const …; {раздел описания констант основной программы}
Type …; {раздел описания типов основной программы}
Var …; {раздел описания переменных основной программы}
Procedure <имя_процедуры> (<список формальных параметров>); {заголовок процедуры}
L
Раздел описаний
п/п
Const …; {раздел описания констант процедуры}
T
Тело п/п
V
Раздел
операторов
п/п
B egin {начало процедуры}
… {тело процедуры}
End; {конец процедуры}
Begin {начало основной программы}
…
<имя_процедуры>(<список фактических параметров>); {вызов процедуры}
…
End. {конец основной программы}
В отличие от основной программы, в конце подпрограммы (при описании) обязательно ставится точка с запятой, а не точка (основное отличие). <Имя_процедуры> - это идентификатор, уникальный в пределах программы. Упоминание имени процедуры в тексте программы называется вызовом процедуры.
3. Формальные и фактические параметры.
При вызове подпрограммы работа основной программы на некоторое время приостанавливается и начинает выполняться вызванная подпрограмма. Она обрабатывает данные, переданные ей из основной программы, и по завершении выполнения возвращает основной программе некоторые результаты. Передача данных из основной программы в подпрограмму и возврат результата осуществляется через параметры. Параметром называется переменная, которой присваивается некоторое значение в рамках указанного применения. Различают формальные и фактические параметры.
Формальные параметры называются так, потому что в <списке формальных параметров> заданы только имена для обозначения исходных данных и результатов работы процедуры. Имя формального параметра отделяется от типа параметра двоеточием, а параметры друг от друга – точкой с запятой. Имена параметров одного типа можно перечислять через запятую, а затем через двоеточие указывать их тип. Внутри подпрограммы все действия производятся с формальными параметрами.
При вызове подпрограммы на место формальных параметров подставляются конкретные значения (выражения) либо имена конкретных переменных. Это <список фактических параметров>. Имена фактических и формальных параметров не должны совпадать.
Между формальными и фактическими параметрами должно быть полное соответствие:
формальных и фактических параметров должно быть одинаковое количество;
порядок следования фактических и формальных параметров должен быть один и тот же;
тип каждого фактического параметра должен совпадать с типом соответствующего формального параметра.
Если параметром подпрограммы является массив (одномерный или двумерный), то следует описать тип-массив в разделе описания типов основной программы (см. задачу 1).