- •Теоретический блок
- •Линейный алгоритм
- •Разветвляющийся алгоритм
- •Циклический алгоритм
- •Основы алгоритмизации задач
- •Тип переменных указывается после списка переменных через двоеточие ( : ). Числовые переменные можно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
- •Операторы управления
- •Оператор выбора
- •Операторы повторения
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
Оператор выбора
Выше мы рассмотрели, что в команде (операторе) разветвления в зависимости от выполнения или невыполнение определенного условия выполняется первая или вторая серия (оператор 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. |
