Тема 3. Управляющие конструкции языка ТП
3.1. Безусловные конструкции.
Оператор языка представляет собой неделимый элемент программы, который позволяет выполнять определенные алгоритмические действия. Все операторы можно условно разделить на две группы: простых операторов и структурированных операторов. К простым относятся те операторы, которые не содержат других операторов. К структурированным - те, которые состоят из других операторов. В ТП 7.0 существует всего один оператор безусловного перехода Goto и четыре безусловных функции: Break, Continue, Exit, Halt. Оператор безусловного перехода Goto представляет собой простой оператор, используя который можно изменять порядок выполнения операторов в программе. Общий вид оператора безусловного перехода: goto <метка>, где <метка> - это идентификатор или целое число от 0 до 9999, объявленное в разделе меток label. Применение оператора безусловного перехода в ТП - программе является нежелательным, т.к. его присутствие нарушает структурную целостность и наглядность. Такую программу трудно читать, отлаживать и модифицировать. Функция Break позволяет досрочно закончить цикл. Функция Continue - позволяет начать новую итерацию цикла, даже если предыдущая не была завершена. Функция Exit - позволяет завершить работу текущего программного блока. Функция Halt (n), где n - некоторое целое число - позволяет завершить работу программы с кодом завершения n.
3.2. Условные конструкции.
1) неполная форма с одним оператором 2) полная форма с одним оператором 3) неполная форма с несколькими операторами 4) полная форма с несколькими операторами
1) IF условие THEN оператор; 2) IF условие THEN оператор1 ELSE оператор2; 3) IF условие THEN BEGIN оператор1; оператор2; … операторN; END; 4) IF условие THEN BEGIN оператор1; оператор2; … операторN; END ELSE BEGIN оператор1; оператор2; … операторN; END;
Пример: ввести оценку студента в баллах и сообщить ее название.
Begin Read(b) If b=5 then Write('отлично') else If b=4 then Write('хорошо') else If b=3 then Write('удовл.') else If b=2 then Write('неудовл.') else Write('это не оценка'); End.
3.3. Конструкция выбор.
Ситуации, реализующие систему вложенных ветвлений могут быть разрешены с использованием конструкции выбор. Оператор выбора является структурированным и использует в своей записи операторы case, of, else, end и операторные скобки по необходимости. В самом общем виде оператор выбора можно записать так: Case порядковая переменная of значение1: begin оператор1; оператор2; …; операторN; end; значение2: begin оператор1; оператор2; …; операторN; end; … значениеM: begin оператор1; оператор2; …; операторN; end; else begin оператор1; оператор2; …; операторN; end; end;
Пример: ввести оценку студента в баллах и сообщить ее название. Begin Read(b) Case b of 5: Write('отлично'); 4: Write('хорошо'); 3: Write('удовл.'); 2: Write('неудовл.'); else Write('это не оценка'); end; End.
Порядковая переменная, значение которой при выполнении программы определяет ветвь в операторе выбора, подлежащую выполнению, может принадлежать любому целочисленному типу. В случае, когда для нескольких значений выполняемые действия одинаковы, их можно указать один раз, а сами значения перечислить через запятую. Пример: напечатать количество дней во введенном месяце: Begin Read(m); Case m of янв, мар, май, июл, авг, окт, дек: Write('31'); апр, июн, сен, ноя: Write('30'); фев: Write('28'); else Write ('это не месяц'); end; End.
3.4. Циклические конструкции.
1. Цикл с предусловием. Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки. В общем виде цикл реализуется записью: while <условие> do <действие>; Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки: while <условие> do begin <оператор 1>; <оператор 2>; ... <оператор n>; end;
2. Цикл с постусловием. Для реализации цикла используется составной оператор, состоящий из операторов repeat и until. В общем виде цикл записывается так: repeat <действие>; until <условие>;
Пример: задано целое число. Вывести на печать все цифры введенного числа. 1 способ:
| var a,b:longint; Begin read(a); repeat b:=a mod 10; writeln(b); a:=a div 10; until a=0; End.
| 2 способ:
| var a,b:longint; Begin read(a); while a<>0 do begin b:=a mod 10; write(b:3); a:=a div 10; end; End.
| 3. Цикл с параметром. Для реализации в языке Pascal используется составной оператор, состоящий из операторов for, to, downto, do и при необходимости из операторных скобок. Переменная параметр обязательно объявляется в декларационной части программы и может принадлежать одному из порядковых типов. Если при изменении переменной параметра необходимо использовать переход к следующему значению, то используется оператор to; если переход необходимо осуществить к предыдущему значению, то используется оператор downto. Тогда в общем виде цикл записывается так: for I:=I0 to In do begin <оператор 1>; <оператор 2>; ... <оператор n>; end;
Поиск по сайту:
|