ОСНОВНАЯ СТРУКТУРА ПРОГРАММЫ
Для составления программ требуется изучить синтаксис языка Pascal (правила записи его конструкций) и его семантику (смысл и правила использования этих конструкций). Единая для всех программ форма основной структуры: Program < Имя программы>; < Раздел описаний> Begin < Тело программы> End. Cлова Program, Begin и End - служебные. Угловые скобки в формате указывают на то, какое действие возможно изначально. Если условие изначально истинно и в теле цикла нет действий, влияющих на истинность этого условия, то тело цикла будет выполняться бесконечное количество раз («зацикливание»). Прервать зациклившуюся программу может либо оператор (Ctrl+C) либо аварийный останов самой программы, в случае переполнения переменной, деления на ноль и т.п., поэтому использовать структуру цикла следует с учетом того, что многократное выполнение не бесконечно.
2.1. Цикл «Пока» Запись структуры цикла: While < условие> Do < оператор>; «Пока истинно условие, выполнять оператор». Как и в формате условного оператора, подразумевается выполнение только одного оператора. Если необходимо выполнить несколько действий используется составной оператор. Тогда формат оператора принимает вид: While < условие> Do Begin < оператор #1>; < оператор #2>; < оператор #3>; ... End;
2.2. Цикл «До»
Этот вид цикла отличается от предыдущего тем, что проверка условия повторения тела цикла находится не перед ним, а после. Поэтому цикл «До» называют циклом «с постусловием», а «Пока» - «с предусловием». Новая итерация (повторное выполнение тела цикла) происходит только тогда, когда условие ложно. Поэтому цикл и получил свое название «Выполнять тело цикла до выполнения соответствующего условия». В случае, когда условие цикла изначально истинно, тело цикла все равно будет выполнено хотя бы один раз. Именно это отличие «До» от «Пока» в программировании позволяет им не подменять друг друга при решении задач. Формат цикла на языке Pascal: Repeat < оператор #1>; < оператор #2>; < оператор #3>; ... Until < условие>; «Выполнять операторы #1, #2... до выполнения условия». Здесь не требуется использование составного оператора, потому, что Repeat и Until являются операторными скобками.
2.3. Цикл «С параметром»
Параметром является целочисленная переменная, изменяющаяся на единицу при каждой итерации цикла, т.е., задав начальное и конечное значения для такой переменной, можно точно установить количество выполнений тела цикла. Форматов у этого вида цикла предусмотрено два: где И.П. - имя переменной-параметра, Н.З. - его начальное значение, К.З. - конечное значение параметра. «Для переменной (ее имя) от начального значения до конечного выполнять оператор (являющийся телом цикла)». Иногда цикл с параметром даже называют «Для» или «For». В первом случае параметр с каждой итерацией увеличивается на единицу, во втором - уменьшается. Выполняется этот цикл по следующему алгоритму: 3) переменная - параметр автоматически увеличивается на 1 (в первом случае формата); 4) если параметр превышает конечное значение, то происходит выход из цикла, иначе - переход к пункту 2. Примечание: при использовании Downto параметр автоматически уменьшается на 1, а выход из цикла происходит тогда, когда параметр становится меньше конечного значения. Таким образом, в отличие от первых двух видов цикла, этот цикл используется тогда, когда известно необходимое количество выполнений тела цикла. Цикл «Пока» является универсальным, т.е. любая задача, требующая использования цикла, может быть решена с применением этой структуры. Циклы «До» и «С параметром» созданы для удобства программирования. Пример 1. Найти сумму квадратов всех натуральных чисел от 1 до 100 с использованием всех трех видов циклов. Пример 1.1. С использованием цикла " Пока". Program Ex1; A: =1; S: =0; S: =S+A*A; End; End. Пример 1.2. С использованием цикла " До". Program Ex2; A: =1; S: =0; S: =S+A*A; Until A> 100; End. Пример 1.3. С использованием цикла " С параметром". Program Ex3; S: =0; End. Комбинируя основные алгоритмические структуры, можно решать любые задачи. Однако для написания программ нужны кроме алгоритмических еще и структуры данных.
|