Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
31-40 вопросы.docx
Скачиваний:
3
Добавлен:
26.09.2019
Размер:
32.27 Кб
Скачать

34. Цикл с постусловием,порядок его выполнения.

repeat

{Операторы}

until условие выхода из цикла;

Условие - это логическое выражение булевского типа (операция отношения или логическая операция)

Тело цикла выполняется в любом случае, затем проверяется условие.

Операторы выполняются в том случае, если значение логического выражения равно false, в противном случае осуществляется выход из цикла

Оператор repeat может быть использован для проверки правильности ввода исходных данных

Нижняя граница тела цикла определена служебным словом until, поэтому операторные скобки begin и end могут быть опущены (однако если операторы тела цикла заключены в операторные скобки - это не является ошибкой).

35. Подпрограммы-функции.

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

Подпрограмма-функция начинается с заголовка, в котором содержится имя функции, имя и тип каждого формального параметра, а также тип результата:

function <имя ф-ции>(<р1>:<тип_р1>;<р2>:<тип_р2>;... ):<тип_рез>;

За заголовком функции следуют обявления локальных переменных подпрограммы-функции. Тело подпрограммы-функции заключается в операторные скобки begin - end;

Необходимо помнить о следующих особенностях подпрограммы-функции:

  • Локальные переменные, объявленные в подпрограмме, никак не связаны с главной программой - глобальными переменнами - даже при совпадении имен (!).

  • в отличие от подпрограммы-процедуры подпрограмма-функция возвращает только одно значение;

  • тип этого результата должен быть указан в заголовке;

  • тип возвращаемого результата может относиться к простым (неструктурируемым) данным;

  • в теле функции должен обязательно присутствовать оператор вида

<имя функции>:=<результат>

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

  • ни один из параметров функции не должен быть var-параметром, так как ни один из них не должен получать новое значение в теле функции.

  • Преимущество использования подпрограмм-функций - возможность тестировать и отлаживать их независимо от других модулей.

36. Подпрограммы-процедуры.Процедуры обработки событий

Необходимо помнить о следующих особенностях подпрограммы-процедуры:

  • Процедура в отличии от функции может возвращать не обязательно одно конкретное значение.

  • В заголовке процедуры отсутствует указание о типе возвращаемого значения.

  • Параметры var нужны процедуре, чтобы в ходе своего выполнения она могла изменять их значения.

  • Процедуры могут вообще не иметь параметров.

  • Все, что может сделать функция, можно осуществить с помощью процедуры.

Процедуры очень удобно использовать при решении задач, в которых выполняется обработка структурированных данных - массивов и строк. При этом необходимо помнить, что при описании формальных параметров нельзя задавать тип данных с указанием конкретной размерности массива или конкретной длины строки - для структурированных типов данных необходимо вводить пользовательское имя.

Например,

type mas=array[1..n] of integer;

type stroka=string[30];

var

a:mas;

fio, name:stroka;

procedure(var b:mas; n:integer); procedurе(var st:stroka,rez)

Во многих задачах возникает необходимость обрабатывать последовательности чисел, символов, строк, рядов.