- •3. Введение в язык программирования паскаль
- •3.1. Краткая характеристика языка
- •Алфавит, лексемы, разделители
- •3.1.2. Структура программы
- •3.2. Средства кодирования вычислительных операций
- •3.2.1. Операция ввода
- •3.2.2. Операция присваивания
- •3.2.3. Операция вывода
- •3.3. Средства кодирования управляющих конструкций
- •3.3.1. Кодирование структуры «Ветвление»
- •3.3.2. Кодирование структуры «Цикл»
- •3.4. Кодирование алоритма в целом
- •Заключение
- •Вопросы для самоконтроля
3.3.2. Кодирование структуры «Цикл»
Для организации циклов в языке Паскаль имеются три оператора. В двух из них в теле цикла, согласно синтаксису, может быть помещен только один оператор. Однако их можно использовать для кодирования циклических конструкций, содержащих в теле цикла произвольное число операторов. Эта возможность обеспечивается за счет использования составных операторов, правила образования которых были приведены выше.
а) Цикл-пока
-
цикл-пока <условие>
while <условие> do
<операции>
<составной оператор>;
кцикл
{end while}
б) Цикл-до
-
цикл
repeat
<операции>
<оператор 1>
. . .
<оператор k>
кцикл-до <условие>
until <условие>;
в) Цикл-со-счетчиком
|
цикл-для <сч> от <нач> до <кон> |
for <сч> := <нач> to <кон> do |
|
<операции> |
<составной оператор>; |
|
кцикл |
{end for} |
Примечание. В Паскале определено два варианта оператораfor:
1-й вариант: for <сч> := <нач> to <кон> do <оператор>;
2-й вариант: for <сч> := <нач> downto <кон> do <оператор>;
В первом операторе, после каждого выполнения тела цикла, значение счетчика (это всегда целочисленная скалярная переменная) увеличивается на единицу; и в последний раз цикл выполняется при значении счетчика, равном кон. А, следовательно, начальное значениеначдолжно быть меньше конечного.
Во втором операторе после каждого выполнения тела цикла значение счетчика цикла, наоборот, должно уменьшаться на единицу, и, следовательно, конечное значение должно быть меньше начального.
П
{Конструкция
цикл-пока:} k:=0;
while
(k<=10) do
begin
writeln(k); k
:= k + 1;
end;
{while}
{Конструкция
цикл-до:} k:=0; repeat
writeln(k); k
:= k + 1;
until
(k>10);
{Конструкция
цикл-со-счетчиком}
for
k:=0 to
10 do
begin
writeln(k); k
:= k + 1;
end;
{for}
3.4. Кодирование алоритма в целом
Выше были рассмотрены рекомендации по кодированию отдельных элементов алгоритма на языке Паскаль. Теперь можно изложить правила кодирования алгоритма в целом.
Процесс кодирования рекомендуется проводить последовательно с первой строки до последней. И до тех пор, пока кодирование текущей строки (объявления объекта, операции или элемента управляющей структуры) не закончено, не приступать к кодированию следующей строки.
Признаком конца любого оператора языка является символ «;» (точка с запятой).
Признаком конца программы является символ «точка», помещенный после ключевого слова end.
При кодировании заголовка алгоритма («Алгоритм <имя-алгоритма>») используется оператор program. Его синтаксис имеет вид:
program
<имя-программы>;
При этом следует иметь в виду, что имя программы – это идентификатор, оно считается внешним, и поэтому не должно превышать восьми символов. Отметим, что, в соответствии с формальным описанием языка, заголовок программы (но не подпрограммы) можно опускать. Тем не менее, рекомендуем заголовок кодировать, присвоив при этом программе имя, совпадающее с именем файла, под которым текст программы будет храниться во внешней памяти компьютера.
Ключевые слова началоиконецкодируются ключевыми словами языка Паскальbeginиendсоответственно.
Все строки алгоритма, для которых в Паскале нет аналогов, рекомендуется сохранять и в программе в виде комментариев. Примеры реализации этой рекомендации можно увидеть выше, в разделах, в которых излагаются правила кодирования управляющих структур. Так, например, в конструкции «если-то-иначе-все» для случая, когда альтернатива, завершающаяся ключевым словом «все», представляется одним оператором, в Паскале не имеет аналога. В этом случае строку со словом «если» в программе рекомендуется представить в виде комментария в одной из форм:
-
{все}
{end if}
А при кодировании слова «кцикл» в конструкциях «цикл с предусловием» и «цикл со счетчиком», в случае, когда тело цикла кодируется одним оператором Паскаля, в комментарии рекомендуется поместить не только слово end, но и ключевое слово, показывающее вид конструкции (end forилиend while).
При записи текста на Паскале обязательно сохранять ступенчатую запись, строго соответствующую ступенчатой записи в кодируемом алгоритме. Это позволит сохранить не только семантическое, но и структурное (графически) соответствие алгоритма и программы, а это важно не только при отладке, но при последующей модернизации программы, если в этом возникнет необходимость.
Все заголовки планов алгоритма, которые при сборке алгоритма в единый (детальный) алгоритм были записаны в виде комментариев, рекомендуется, также в виде комментариев, сохранить и в программе. В этом случае программа приобретет свойство самодокументированности, чрезвычайно важное для этапа эксплуатации программы.
В дополнение к сказанному в начале текста программы (перед или непосредственно после заголовка) рекомендуется поместить комментарий, указав в нем содержательное описание назначения программы и дату создания или последнего изменения ее. При необходимости, там же нужно поместить сведения об авторе и/или его контактные данные.
