Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль_теория.doc
Скачиваний:
8
Добавлен:
08.11.2018
Размер:
341.5 Кб
Скачать

3. Контрольные вопросы.

  1. Каким образом изменится алгоритм разбиения текста на слова, если в нем встречаются знаки препинания: запятые, точки с запятой и двоеточия?

  2. Чем в алгоритме разбиения произвольного предложения на слова является переменная k?

  3. Чем в алгоритме разбиения произвольного предложения на слова является переменная ns?

  4. Что изменилось бы в программе задания 2, если бы выводились на экран слова, оканчивающиеся на 'a'?

Тема: “Подпрограммы-процедуры”

Цель: выработать у учащихся навыки работы с подпрограммами-процедурами, а также умения использовать их при решении задач.

План работы.

1. Повторить теорию.

2. Выполнить практическую часть на компьютере, записав ответы в тетрадь.

3. Ответить на контрольные вопросы. Ход работы.

1. Теория.

При разработке программ часто приходится описывать одни и те же действия, но при различных наборах исходных данных. Эти повторяющиеся вычисления выделяют в самостоятельную часть программы, которая может быть использована многократно. Такая автономная часть программы, реализующая определенный алгоритм и допускающая обращение к ней из различных участков основной программы, называется подпрограммой. Подпрограммы оформляются в виде блоков, имеющих четко обозначенный вход и выход.

Подпрограмма-процедура предназначена для выполнения законченной последовательности действий. Любая процедура оформляется аналогично основной программе, т.е. содержит заголовок, разделы описаний и операторов. В отличие от основной программы заголовок в процедуре обязателен.

Формат описания процедуры:

Procedure <имя процедуры> (<список формальных параметров>);

Раздел описаний

Begin

Раздел операторов

End;

Раздел описаний процедуры может содержать подразделы: метки, константы, типы, переменные, процедуры и функции. Раздел описаний в процедуре может отсутствовать.

При работе в программе с процедурами происходит разделение переменных на глобальные и локальные.

Глобальные переменные - это объявленные в разделе описания основной программы переменные, для которых память отводится на весь период выполнения программы.

Локальные переменные - это объявленные в разделе описания подпрограммы переменные, для которых память отводится только на период выполнения подпрограммы. Такие переменные не доступны для операторов основной программы.

Для вызова процедуры из основной программы или другой подпрограммы следует записать оператор, состоящий из имени процедуры и списка фактических параметров, которые должны совпадать по количеству и типам с формальными параметрами процедуры. Формат вызова процедуры:

<имя процедуры> (<список фактических параметров>);

Формальные параметры подпрограммы указывают, с какими параметрами следует обращаться к этой подпрограмме (количество параметров, их последовательность и типы). Они задаются в заголовке подпрограммы в виде списка формальных параметров, разбитого на группы, разделенные “;”. В группу формальных параметров включаются однотипные параметры одной категории.

При обращении к подпрограмме формальные параметры заменяются на соответствующие фактические вызывающей программы или подпрограммы.

Пример:

Program p;

Var

a,b:integer;

procedure proc (c,d:integer);

var

i:byte;

begin

{тело процедуры}

end;

begin

a:=3; b:=4;

proc (a*b,2+b); {вызов процедуры}

end.

Глобальные переменные: a,b

Локальные переменные: c,d,i

Формальные параметры: c,d

Фактические параметры: a*b,2+b (в процедуру будут значения: c=12, d=6)