Тема: Программирование задач многозначного выбора (оператор CASE).
Цель: Разобрать структуры многозначного выбора (оператор выбора CASE в языке Pascal).
План занятия:
§ обсуждение операторов;
§ эксперименты с программой;
§ выполнение самостоятельной работы.
Ход работы:
Теоретические сведения:
Оператор Case. В отличие от условного перехода в операторе варианта Case может быть не две, а произвольное число ветвей:
Синтаксическая диаграмма:
Case <переключатель> Of
константа 1, …, константа N: <оператор1> ;
константа 11, …, константа 1M: <оператор2> ;
. . . . . .
Else <операторN> ;
End;
- где переключатель (выражение) и константы одного и того же целочисленного типа.
Выполнение оператора варианта начинается с вычисления значения переключателя (селектора). Затем оператор выбора передает управление тому оператору, перед которым стоит константа, совпадающая со значением переключателя. Если совпадений не обнаружено, выполняется оператор, стоящий после Else. Ветвь Else в операторе варианта может отсутствовать, тогда такая форма называется сокращенной.
Рекомендации по использованию. Константы в операторе выбора не являются метками, поэтому не описываются в разделе Label и их нельзя использовать в операторе Goto.
Экспериментальный раздел работы:
1. Разбор оператора можно выполнить на следующем простом примере:
В старояпонском календаре принят шестидесятилетний цикл, который состоит из пяти подциклов. Подцикл обозначаются названием цвета: зеленый, красный, желтый, белый, черный. Внутри двенадцатилетнего подцикла годы, носят названия животных крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Составить программу, которая читает год и выводит название этого года по старояпонском календарю.
· Написать программу, которая по введенному номеру дня недели выводит на экран сообщение дня недели на русском языке. Если введенное значение не совпадает со значением переключателя выдавать сообщение об ошибке.
· Написать программу, которая вычисляет стоимость междугородних переговоров. Исходными данными (вводимые с клавиатуры) являются: код города и продолжительность разговора. В базу данных внести не меньше пяти населенных пунктов и стоимость разговора одной минуты для каждого города.
2. (нечетные компьютеры)
· Написать программу, которая запрашивает у пользователя оценку в цифровом виде и выводит соответствующее ее название в буквенном виде. Если введенное значение не совпадает со значением переключателя выдавать сообщение об ошибке.
· Написать программу, которая после введенного с клавиатуры числа в диапазоне от 1 до 999, обозначающего денежную единицу, дописывает слово рубль в правильной форме. Пример: 1 рубль, 5 рублей, 3 рубля и т.д.
Дополнительная задача:
3. Написать программу, которая вычисляет дату следующего дня. С клавиатуры вводим число сегодняшнего дня, пример: