Управляющие конструкции языка Паскаль.

Безусловные конструкции.

Оператор языка представляет собой неделимый элемент программы, который позволяет выполнять определенные алгоритмические действия. Все операторы можно условно разделить на две группы: простых операторов и структурированных операторов. К простым относятся те операторы, которые не содержат других операторов. К структурированным - те, которые состоят из других операторов.

В Паскале существует один оператор безусловного перехода goto и четыре безусловных функции: break, continue, exit, halt. Оператор безусловного перехода goto представляет собой простой оператор, используя который можно изменять порядок выполнения операторов в программе. Общий вид оператора безусловного перехода: goto<метка> , где <метка> - это идентификатор или целое число от 0 до 9999, объявленное в разделе меток label. Применение оператора безусловного перехода в программе является нежелательным, т.к. его присутствие нарушает структурную целостность и наглядность. Такую программу трудно читать, отлаживать и модифицировать.

Функция break позволяет досрочно закончить цикл.

Функция continue- позволяет начать новую итерацию цикла, даже если предыдущая не была завершена.

Функция exit - позволяет завершить работу текущего программного блока.

Функция halt (n), где n - некоторое целое число - позволяет завершить работу программы с кодом завершения n.

Условные конструкции.

1) неполная форма с одним оператором

if условие then оператор;

2) полная форма с одним оператором

if условиеthenоператор1 else оператор2;

2) неполная форма с несколькими операторами

ifусловие then

Begin

оператор1;

оператор2;


оператор n;

end;

4) полная форма с несколькими операторами

if условие then

Begin

оператор1;

оператор2;


оператор n;

End

Else

begin
оператор 1;

оператор 2;


оператор n;

end;

Конструкция Выбор.

Ситуации, реализующие систему вложенных ветвлений, могут быть разрешены с использованием конструкции выбор.
Оператор выбора является структурированным и использует в своей записи операторы 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.

Циклические конструкции.

Цикл с параметром.

Для реализации в языке Pascal используется составной оператор, состоящий из операторов for, to, downto, do и при необходимости из операторных скобок. Переменная параметр обязательно объявляется в декларационной части программы и может принадлежать одному из порядковых типов.

Если при изменении переменной параметра необходимо использовать переход к следующему значению, то используется оператор to, если переход необходимо осуществить к предыдущему значению, то используется оператор downto. Тогда в общем виде цикл записывается так:

fori:=n1 ton2 do

begin
оператор 1;

оператор 2;

...
оператор n;

end;

Следует помнить, что тип переменной-параметра цикла должен быть выбран одним из целых типов: integer, word, byte и т.д.

Шаг изменения номера параметра цикла равен 1, если в заголовке цикла стоит to; и -1 — при downto. Это основное ограничение данного вида цикла. Для решения задач, в которых параметр по условию изменяется с дробным шагом, требуется предварительно рассчитывать количество повторений в цикле.

Пример. Рассчитать значения функции Управляющие конструкции языка Паскаль. - student2.ru для Управляющие конструкции языка Паскаль. - student2.ru , шаг изменения Управляющие конструкции языка Паскаль. - student2.ru .

programsinx;

varx,dx,xhi,xlow,y:real;

i,n:word;

Begin

x:=0;

dx:=pi/6; xhi:=2*pi; xlow:=0;

n:=round((xhi-xlow)/(dx));

fori:=1 ton+1 do

Begin

y:=sin(x);

writeln('x=',x:5:2,' y=',y:5:2);

x:=x+dx;

end;

end.

Цикл с предусловием.

Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки.
В общем виде цикл реализуется записью:

while<условие> do<действие>;

Если тело цикла содержит более одного действия, то необходимо использовать операторные скобки:

while<условие> do

Begin

<оператор 1>;

<оператор 2>;

...

<оператор n>;

end;

Цикл с постусловием.

Для реализации цикла используется составной оператор, состоящий из операторов repeat и until. В общем виде цикл записывается так:

repeat
<оператор 1>;

<оператор 2>;

...

<оператор n>;

until<условие>;

Наши рекомендации