Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика ГОС - Full version2.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.11 Mб
Скачать

Структура «Повторение с постусловием»

Схематически такую структуру можно представить в следующем виде (см. блок-схему):

Структура «Повторение с постусловием» называется так потому, что в этой циклической структуре сначала выполняется тело цикла, а затем проверяется истинность условия. Если условие принимает значение False, то опять выполняется тело цикла; а если условие принимает значение True, то происходит выход из цикла. Так как сначала выполняется тело цикла, а уже потом проверяется истинность условия, то в данном цикле тело цикла всегда выполнится хотя бы один раз.

Словами «Повторение с постусловием» можно сформулировать так: «Тело цикла выполняется до истинности условия». Поэтому цикл еще называют циклом «ДО».

Данная структура на языке Pascal имеет следующий формат записи:

REPEAT тело цикла UNTIL условие;

Служебные слова Repeat (повторять) и Until (до), тело цикла – любые операторы языка Паскаль, условие – логическое выражение.

Замечание. Так как тело цикла находится между служебными словами Repeat и Until, то заключать тело цикла в операторные скобки не нужно.

Замечание. Все программы, которые можно создать с помощью цикла Repeat, можно создать и с помощью цикла While. А вот наоборот не всегда возможно, так как в программах с циклом Repeat тело цикла должно выполниться хотя бы один раз, а в циклах While тело цикла может не выполниться ни разу.

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

В некоторых задачах одни и те же действия необходимо выполнять несколько раз в разных местах программы. Если записать весь текст программы, то придется один и тот же фрагмент программы писать несколько раз. В таких случаях действия, которые повторяются в разных местах программы, лучше оформить в виде отдельного алгоритма, который называется вспомогательным. Вспомогательные алгоритмы в языках программирования оформляются в виде подпрограмм. В языке Паскаль подпрограммы бывают двух видов: процедуры и функции. Процедуры и функции, в свою очередь, бывают пользовательскими (пользователь создает их самостоятельно, ориентируясь на свои потребности) проц. и функ. и стандартными (созданными разработчиками языка Pascal). Станд. пр. и ф. готовы к использованию, а пользов-е необходимо предварительно описать, т.е. указать что именно они должны делать.

Процедура пользователя имеет ту же структуру, что и любая программа языка Паскаль, другими словами, процедура пользователя сост. из:1.Заголовок 2.Объявление данных 3.Исполняемая часть. Процедуры находятся в основной программе, в разделе описаний. Для них отводится место, между разделом объявления переменных (VAR) и основной программой. Существенные отличия процедуры и вообще программы – в заголовке. Заголовок процедуры пользователя начинается служебным словом Procedure, после него идет имя процедуры (которое дает пользователь. Имя процедуры – идентификатор, уникальный в пределах програм­мы), далее (необязатель­но) в круглых скобках указываются формальные параметры и их типы). Список параметров может отсутство­вать, если процедуре не передается никаких значений и сама она не возвращает никаких значений. Формальные параметры заголовка делятся на входные и выходные. Входные формальные параметры процедуры пользователя – это те параметры, которые получают свое значение из основной программы. Выходные формальные параметры свое значение передают в основную программу. Входные параметры записываются сразу после открытой круглой скобки в заголовке процедуры. Выходные формальные параметры записываются после служебного слова Var в заголовке процедуры, затем круглая скобка закрывается.

Формат заголовка: Procedure имя процедуры (входные формальные параметры: их типы; Var выходные формальные параметры: их типы);

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

Имя процедуры (фактические параметры); Фактические параметры – значения некоторых переменных из главной программы, которые передаются в процедуру.

Между формальными и фактическими параметрами должно быть взаимно однозначное соответствие. Это значит, что: 1.Должно быть одинаковое количество формальных параметров в заголовке процедуры и фактических параметров в процедурном операторе. 2.Должен соблюдаться порядок следования фактических параметров в процедурном операторе и формальных параметров в заголовке процедуры. 3.Типы соответственных параметров должны быть одинаковыми.

Кроме формальных, фактических в программе, в процедурах используются локальные переменные (параметры, кот. исп. только в самой процедуре. Они описываются после заголовка процедуры в разделе переменных) и глобальные переменные (те, кот. могут использ. и в основн. программе, и в процедуре. Они описываются в разделе переменных основной программы) Функции пользователя аналогичны процедурам пользователя, но имеют свои особенности: - в функции есть только один результат выполнения;

- рез-т обозн-ся именем ф-ции (поэтому в разделе опер-ов ф-ции обязат. Д.б. оператор :=, в левой части которого - имя этой функции); - в заголовке функции обязательно должен быть определён её тип; - вызов функции в основной программе осуществляется непосредственно в любом выражении по её названию с указанием фактических параметров.

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

<Раздел описаний> Begin <Раздел операторов> End;

В тело функций и процедур могут входить описания других функций и процедур. Эти процедуры и функции доступны только в границах своего значения. Их нельзя вызывать из другой процедуры или главной программы.

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