Информатика и информационные технологии: конспект лекций
Шрифт:
case S of
c1: insruction1;
c2: insruction2;
…
cn: insructionN;
else instruction
end;
где S – выражение порядкового типа, значение которого вычисляется;
с1, с2…., сп – константы порядкового типа, с которыми сравниваются выражения
S; instruction1,…, instructionN – операторы, из которых выполняется тот, с константой которого совпадает значение выражения S;
instruction – оператор,
Данный оператор является обобщением условного оператора If для произвольного числа альтернатив. Существует сокращенная форма оператора, при которой ветвь else отсутствует.
Операторы цикла с параметром, которые начинаются со слова for, вызывают повторяющееся выполнение оператора, который может быть составным оператором, пока управляющей переменной присваивается возрастающая последовательность значений.
Общий вид оператора for:
for <счетчик цикла> := <начальное значение> to <конечное значение> do <оператор>;
Когда начинает выполняться оператор for, начальное и конечное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for. Оператор, который содержится в теле оператора for, выполняется один раз для каждого значения в диапазоне между начальным и конечным значением. Счетчик цикла всегда инициализируется начальным значением. Когда работает оператор for, значение счетчика цикла увеличивается при каждом повторении на единицу. Если начальное значение превышает конечное значение, то содержащийся в теле оператора for оператор не выполняется. Когда в операторе цикла используется ключевое слово downto, значение управляющей переменной уменьшается при каждом повторении на единицу. Если начальное значение в таком операторе меньше, чем конечное значение, то содержащийся в теле оператора цикла оператор не выполняется.
Если оператор, содержащийся в теле оператора for, изменяет значение счетчика цикла, то это является ошибкой. После выполнения оператора for значение управляющей переменной становится неопределенным, если только выполнение оператора for не было прервано с помощью оператора перехода.
Оператор цикла с предусловием (начинающийся с ключевого слова while) содержит в себе выражение, которое управляет повторным выполнением оператора (который может быть составным оператором). Форма цикла:
While B do S;
где B – логическое условие, истинность которого проверяется (оно является условием завершения цикла);
S – тело цикла – один оператор.
Выражение, с помощью которого осуществляется управление повторением оператора, должно иметь логический
В операторе цикла с постусловием (начинающимся со слова repeat) выражение, которое управляет повторным выполнением последовательности операторов, содержится внутри оператора repeat. Форма цикла:
repeat S until B;
где B – логическое условие, истинность которого проверяется (оно является условием завершения цикла);
S – один или более операторов тела цикла.
Результат выражения должен быть логического типа. Операторы, заключенные между ключевыми словами repeat и until, выполняются последовательно до тех пор, пока результат выражения не примет значение True. Последовательность операторов выполнится, по крайней мере, один раз, поскольку вычисление выражения производится после каждого выполнения последовательности операторов.
ЛЕКЦИЯ № 3. Процедуры и функции
1. Понятие вспомогательного алгоритма
Алгоритм решения задачи проектируется путем декомпозиции всей задачи в отдельные подзадачи. Обычно подзадачи реализуются в виде подпрограмм.
Подпрограмма – это некоторый вспомогательный алгоритм, многократно использующийся в основном алгоритме с различными значениями некоторых входящих величин, называемых параметрами.
Подпрограмма в языках программирования – это последовательность операторов, которые определены и записаны только в одном месте программы, однако их можно вызвать для выполнения из одной или нескольких точек программы. Каждая подпрограмма определяется уникальным именем.
В языке Pascal существуют два типа подпрограмм – процедуры и функции. Процедура и функция – это именованная последовательность описаний и операторов. При использовании процедур или функций программа должна содержать текст процедуры или функции и обращение к процедуре или функции. Параметры, указанные в описании, называются формальными, указанные в обращении подпрограммы – фактическими. Все формальные параметры можно разбить на следующие категории:
1) параметры-переменные;
2) параметры-константы;
3) параметры-значения;
4) параметры-процедуры и параметры-функции, т. е. параметры процедурного типа;
5) нетипизированные параметры-переменные.
Тексты процедур и функций помещаются в раздел описаний процедур и функций.
Во многих задачах, особенно в задачах вычислительной математики, необходимо передавать имена процедур и функций в качестве параметров. Для этого в TURBO PASCAL введен новый тип данных – процедурный, или функциональный, в зависимости от того, что описывается. (Описание процедурных и функциональных типов приводится в разделе описания типов.)