Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Algoritmizatsia_i_programmirovanie_ShPOR.doc
Скачиваний:
6
Добавлен:
26.04.2019
Размер:
376.83 Кб
Скачать

22.Ветвления в Pascal.

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

В программе условие – это выражение логического типа (Boolean), которое может принимать одно из двух значений: True (истина) или False (ложь). Простое условие состоит из двух операндов и оператора сравнения:

a=b

В данном случае:

a – первый операнд;

b – второй операнд;

= – оператор сравнения.

ОПЕРАТОРЫ СРАВНЕНИЯ

Оператор

Описание

>

Больше

<

Меньше

=

Равно

<>

Неравно

>=

Больше или равно

<=

Меньше или равно

При записи условий следует обратить особое внимание на то, что операнды условия должны быть одного типа или, если тип операндов разный, то тип одного из операндов может быть приведен к типу другого операнда.

Из простых условий при помощи логических операторов : and – ‘И’ , or – ‘ИЛИ’, xor – ‘Исключающее ИЛИ’, not – ‘Отрицание’ можно строить сложные условия.

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

(s>0) and (t<60)

Выбор в точке разветвления алгоритма очередного шага программы может быть реализован при помощи оператора условия if и оператора выбора case.

Инструкция if позволяет выбрать один из двух возможных вариантов развития программы. Выбор осуществляется в зависимости от выполнения условия.

If < условие> then

begin

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

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

….

<оператор n> ; { что нужно делать, если условие истинно}

end

Else

begin

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

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

….

<оператор n>; { что нужно делать, если условие ложно}

end;

Ветвь Else может отсутствовать. Тогда если условие ложно, то будут выполнятся команды, находящиеся после условного оператора. Если в инструкции If между словами begin и end находится только одна инструкция программы, то слова begin и end можно не писать.

If x>0 then

y:=sqrt(x)

else

y:=sqrt(abs(x));

Оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов. Он организует разветвления в зависимости от значения некоторой переменной перечисляемого типа. Например, если as: integer в программе

Case as of

0: u=x+y;

1: u=y-x;

2: u=x*y

else u=0;

end;

в соответствии со значением as вычисляется u. Если as=0, то u=x+y, as=1, то u=y-x, as=2, то u=x*y.

При всех других значениях as u=0.

Общий вид записывается следующим образом:

Case <селектор> of

список1: begin

<инструкции1>

end;

список2: begin

<инструкции2>

end;

списокn: begin

<инструкцииn>

end

else

begin

<инструкции>

end;

end;

Селектор – выражение, значение которого определяет дальнейший ход выполнения программы (т.е последовательность инструкций, которая будет выполнена);

Список1 – список констант. Если константы представляют диапазон чисел, то вместо списка можно указать первую и последнюю константу диапазона, разделив их двумя точками.

Ветвь Else тоже может отсутствовать. Операторные скобки begin и end могут отсутствовать, если инструкции состоят только из одного оператора:

Uses Crt;

Var

Age, i: integer;

Begin

Clrscr;

i:=0;

writeln(‘Введите Ваш возраст:’);

readln(Age);

Case Age of

0,1,2: writeln(‘Вы слишком юны’);

3..7: writeln(‘Вы должны посещать детский сад’);

100: writeln(‘Вы долгожитель’)

else

writeln(‘O..O..O !!!!’);

end;

readln;

End.

Тип констант должен совпадать с типом селектора. Селектор может относиться к целочисленному, булевскому, литерному или пользовательскому типам. Дополните данную программу для возрастов 8 – 99 лет и запустите на выполнение. Проверьте работу программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]