
- •Язык Pascal в популярном изложении
- •§ 1 Постоянные и переменные величины
- •§ 2 Арифметические действия. Элементарные функции
- •§ 3 Арифметические выражения. Скобки
- •§ 4 Вычисление значения арифметического выражения. Команда присваивания
- •§ 5 Типы числовых данных
- •§ 6 Описание числовых переменных
- •§ 7 Обобщение по вещественному типу данных
- •§ 8 Обобщение по целому типу данных
- •§ 9 Простая программа. Команда Writeln
- •§ 10 Исполнение программы. И снова о команде Writeln
- •§ 11 Исполнение программы (продолжение). Сообщения об ошибках
- •§ 12 Учимся самостоятельно писать программы и отлаживать их на компьютере
- •§ 13 Строка символов в команде Writeln
- •§ 14 Ввод исходных данных. Команда Readln
- •§ 15 Отношения между величинами
- •§ 16 Разветвляющиеся алгоритмы. Полное ветвление
- •§ 17 Разветвляющиеся алгоритмы. Неполное ветвление
- •§ 18 Давайте попробуем разработать программу - тест
- •§ 19 Команда множественного выбора case
- •§ 20 Графика в паскаЛе
- •§ 21 Цикл пока в языке Паскаль
- •§ 22 Цикл для каждого в языке Паскаль
- •§ 23 Работа цикла для каждого (for)
- •§ 24 Модификация цикла для каждого
- •§ 25 Некоторые специальные процедуры и функции, используемые в языке
- •§ 26 Разработка мультика
- •§ 27 Строковый тип данных
- •§ 28 Строковые процедуры и функции
- •§ 29 Массивы, размерность, длина, описание массивов
- •§ 30 Процедуры в языке Паскаль
- •1) Процедуры без параметров;
- •§ 31 Процедуры без параметров
- •§ 32 Процедура с параметрами-значениями
- •§ 33 Процедуры с параметрами-переменными
- •§ 33 Функции, определенные пользователем
- •§ 34 Несколько рекомендаций по использованию процедур и функций
§ 30 Процедуры в языке Паскаль
Процедуры представляют важный элемент языка Паскаль, позволяющий писать хорошо структурированные программы. В структурированных программах обычно легко прослеживается основной алгоритм, их нетрудно понять любому читателю, они проще в отладке и менее чувствительны к ошибкам программирования. Все эти свойства являются важной особенностью процедур: они представляют собой во многом самостоятельные фрагменты программы, связанные с программой возможно лишь с помощью нескольких параметров.
Современный подход к программированию поощряет явное оформление в виде процедур любого достаточно самостоятельного и законченного фрагмента программы.
Процедурой в Паскале называется особым образом оформленный фрагмент программы, имеющий собственное имя. Упоминание этого имени в тексте программы приводит к активизации процедуры и называется ее вызовом .
Сразу после вызова процедуры начинают выполняться входящие в нее команды, после выполнения последнего из них управление обратно возвращается в основную программу и выполняются команды, стоящие непосредственно за командой вызова процедуры.
Итак, всякая процедура, во-первых, задает определенную последовательность действий (алгоритм). Во-вторых, она может содержать описание переменных, констант и т.д. Эти объекты предназначены для организации действий в процедуре и имеют смысл ТОЛЬКО ВНУТРИ данной процедуры. Такие объекты называются ЛОКАЛЬНЫМИ, т.е. "местными", используемыми ТОЛЬКО ВНУТРИ данной процедуры.
Таким образом, если в программе возникает необходимость оформить некоторую последовательность команд как самостоятельный блок, то ее следует оформить процедурой.
Можно выделить 3 типа процедур в TP:
1) Процедуры без параметров;
2) процедуры с параметрами-значениями;
3) процедуры с параметрами-переменными.
Процедуры в Паскале описываются перед основной программой.
§ 31 Процедуры без параметров
Как и всякую процедуру,- процедуру без параметров следует описать.
О
писание
процедуры выглядит так:
PROCEDURE <имя_процедуры>;
Var
Описание локальных переменных, констант и т.д.
B
GIN
(блок аналогичный программе)
..........;
END;
Процедура не может выполняться сама, ее необходимо вызвать по имени.
<имя_процедуры>;
Задача 1. Нарисовать бланк
************
* *
* *
************
Оформив рисование линий и "линий с дырками" в виде процедур.
Procedure Line;
Begin
Writeln('************');
End;
Procedure LineWhiteSpace;
Begin
Writeln('* *');
End;
BEGIN
Line; <---- вызов процедуры Line
LineWhiteSpace; <---- вызов процедуры
LineWhiteSpace; LineWhiteSpace
Line;
END.
Задача 2. Написать процедуру для рисования самолета
-------О-------
использовать цикл для рисования крыла.
Вывести на экран эскадрилью
-------О-------
-------О-------
-------О-------
-------О-------
-------О-------
uses CRT;
VAR line:integer;
Procedure Plan;
Var
i:integer;
Begin
for i:=1 to 7 do write('-');
write('0');
for i:=1 to 7 do write('-');
End;
BEGIN
clrscr;
for line:=5 to 9 do begin
gotoxy(line,line);plan;
end;
end.