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

Оператор выбора

Выше мы рассмотрели, что в команде (операторе) разветвления в зависимости от выполнения или невыполнение определенного условия выполняется первая или вторая серия (оператор 1 или оператор 2). Однако часто место двух возможностей существует несколько возможностей, т.е. процесс является многоразветвленным. Оператор выбора среди нескольких операторов организует множественное разветвление (путем выбора).

Оператор Case позволяет записать наглядно и просто алгоритмы с многими разветвлениями. Разветвление начинается с проверки условия некоторого выражения. Это выражение при выполнении оператора должно принимать определенное значение, которое выполняет роль метки для операторов в разветвлении. Если вычисленное значение выражения совпадает с некоторой указанной меткой, то выполняется оператор, помеченный этой меткой.

нет

Блок-схема оператора CASE

Формат записи:

Сase <переменная или выражение> of

<список значений выбора1>:<оператор1>;

<список значений выбора2>:<оператор2>;

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

<список значений выбора N>:<оператор N>;

Еlse <оператор n+1>]

End;

Переменная может быть любого порядкового типа, кроме longint (word, boolean, integer, char или перечисляемый тип).

Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или, если значения принадлежат какому-либо интервалу, с использованием лексемы " . . " (1..7 или 'а' ..'м')

Оператор - любой оператор, в том числе составной.

Принцип работы оператора:

  • Значение переменной или выражения сравнивается с предложенными списками значений;

  • Если найдено нужное значение, выполняется соответствующий оператор;

  • Если нужное значение не найдено в перечисленных списках, выполняется оператор после else;

  • Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.

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

Пример использования оператора:

Написать программу, которая за­пра­шивает номер месяца и вы­во­дит название времени года

Program M1;

var month : integer;

begin

writeln (‘введите номер месяца от 1 – 12’);

readln (month);

case month of

1,2,12 : writeln(‘зима’);

3,4,5 : writeln(‘весна’);

6,7,8 : writeln(‘лето’);

9,10,11 : writeln(‘осень’);

else writeln (‘ошибка ввода!’);

end;

end.

Практические задания:

Отработка навыков использования операторов ветвления

Написать программу, которая проверяет, является ли четным введенное с клавиатуры число

Program M2;

Var n:integer;

Begin

Readln(n);

Write(‘число’, n,’-‘);

If n mod 2=0 then writeln(‘четное’)

else writeln(‘нечетное’);

End.

Написать программу, которая запрашивает номер дня недели и выводит название дня недели.

Program M3;

Var day: integer;

Begin

Writeln (‘Введите номер месяца от 1 – 12);

Readln(day);

Case day of

1: writeln(‘Понедельник’);

2: writeln(‘Вторник’);

3: writeln(‘Среда’);

4: writeln(‘Четверг’);

5: writeln(‘Пятница’);

6: writeln(‘Суббота’);

7: writeln(‘Воскресенье’);

else writeln(‘число д.б. от 1 до 7’);

end;

end.