Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
P_LAB_02_Программирование разветвляющихся алгор...doc
Скачиваний:
1
Добавлен:
11.08.2019
Размер:
104.96 Кб
Скачать

Волгоградский государственный педагогический университет

Кафедра общей физики

Информатика Часть 2

Основы программирования на языке PASCAL

Лабораторная работа №2

Программирование разветвляющихся алгоритмов

Волгоград

2007

Составитель: Глазов С.Ю., доцент кафедры общей физики ВГПУ

Информатика. ч.2. Основы программирования на языке Pascal. Лабораторная работа №2

Программирование разветвляющихся алгоритмов

2007.

Лабораторная работа №2

Основы программирования на языке PASCAL

Программирование разветвляющихся алгоритмов.

Цель работы: изучить основные операторы и конструкции языка Pascal для программирования разветвляющихся алгоритмов.

1. Ветвление, обход и множественный выбор

Структура разветвление имеет три вида: ветвление, обход и множественный выбор.

да нет да нет

a) ветвление б) обход

нет

в) множественный выбор

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

IF <логическое выражение>

THEN <операторов 1> ELSE <операторов 2>

Выражение после IF должно быть логическим выражением (типа boolean). При истинности логического выражения выполняется <оператор1>, в противном случае – <оператор2>. Любая встретившаяся часть ELSE соответствует ближайшей к ней «сверху» части THEN условного оператора. Учтите, что перед ELSE никогда не ставится точка с запятой (поскольку это еще не конец оператора IF).

Пример 1. Рассмотрим алгоритм нахождения максимального из двух чисел:

Var x,y,max : integer;

Begin

write(’x=’);

readln(x);

write(’y=’);

readln(y);

if x>y

then max:=x

else max:=y;

writeln(’Max=’,max);

readln;{задержка перед завершением работы программы}

End.

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

Если вместо одного оператора нужно выполнить несколько операторов языка Pascal, используйте составной оператор. Составной оператор – это последовательность произвольных операторов программы, заключенная в операторные скобки – begin ... end.

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

IF <логическое выражение>

THEN <последовательность операторов>

Если логическое выражение ложно, то последовательность не выполняется и управление передается следующему за IF…THEN… оператору.

Множественный выбор является обобщением ветвления, когда в зависимости от значения переменной (выражения) N выполняется одно из нескольких действий. Структура оператора выбора:

CASE <ключ выбора> OF <список выбора> [ELSE <операторы>] END;

После служебного слова CASE стоит некоторое выражение перечисляемого типа, после OF перечисление операторов, предоставленных для выбора. Эти операторы маркируются значениями, которые может принимать выражение. Значение выражения, называемое также селектором, позволяет выбрать то выражение, которое помечено данным значением. Если записанное после CASE выражение принимает значение, не встречающееся среди констант, выполняется выражение после ELSE.

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

Var i : integer;

Begin

write(’Введите номер дня недели: N=’);

readln(i);

case i of

1 : writeln(i,' - понедельник');

2 : writeln(i,' - вторник');

3 : writeln(i,' - среда');

4 : writeln(i,' - четверг');

5 : writeln(i,' - пятница');

6 : writeln(i,' - суббота');

7 : writeln(i,' - воскресенье')

else writeln(i,' – вы ошиблись, в неделе – 7 дней');

end;

Еnd.

Метки в операторе CASE не имеют никакого отношения к меткам, которыми метят операторы программы для передачи им управления, с помощью оператора GOTO. Поэтому описывать их в разделе меток не требуется.