Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по Pascal с задачами NEWXP.doc
Скачиваний:
0
Добавлен:
03.01.2020
Размер:
461.82 Кб
Скачать

§ 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.