
Оператор множественного выбора.ppt
- Количество слайдов: 13
Оператор множественного выбора © М. Е. Макарова CASE http: //www. uchinfo. com. ua
Сегодня наша задача – познакомиться со способами организации в программах ветвления на три и более рукавов (или, как еще говорят, ветвей).
Рассмотрим пример: Здесь можно пойти разными путями. Первый способ В алгоритме вычисления по данной формуле предусмотреть проверку первого условия (и вычисление по первой формуле, если оно истинно); затем проверку второго условия, но только в том случае, если первое ложно; вычисление по второй формуле, если второе условие истинно и по третьей, если ложно. Причем если истинно первое условие, то после вычисления по первой формуле происходит выход из структуры Ветвление.
Программа для нашего примера примет вид: Program P 2; Var a, x: real; Begin Writeln('Введите x') ; Read (x); If x<0 Then a: =x+1 Else If x<10 Then a : = 2*x Else a : = 0; Writeln (a); End.
Второй способ организации ветвления В алгоритме вычисления по данной формуле можно предусмотреть проверку каждого условия (и Таким образом, при выполнение серии операторов, если алгоритма первого способа условие истинно). То есть, в отличие от наибольшее число проверяемых первого способа, после выполнения условий на 1 меньше числа операторов, соответствующих разветвлений, а при выполнении истинному условию, проверка условий алгоритма второго способа число не заканчивается. проверяемых условий равно числу разветвлений.
Программа, реализующая второй способ, такова: Program P 4; Var a, x: real; Begin Writeln('Введите x'); Read (x ); If x<0 Then a: =x+1; If (0<=x) and (x<10) Then a: =2*x; If x>=10 Then a: =0; Writeln(a); End. В условии нельзя непосредственно записать 0<Х<10, а нужно объединить несколько простых условий в одно сложное, в данном случае – таким образом: (0<=Х) and (X<10) Можно заметить, что эта программа заметно проще предыдущих.
Существует еще один способ составления программ с ветвлением на три и более рукава – с использованием оператора выбора: Здесь селектор – проверяемое целое арифметическое, логическое или символьное выражение. Причем оно может принимать значения лишь некоторых типов, общим свойством для которых является то, что их значения известны точно. Поэтому, в частности, тип селектора не может быть вещественного типа (Real), <Списки> представляют собой перечисления возможных значений выражения селектор. При совпадении значения выражения хотя бы с одним из значений <списка> будет выполняться соответствующее <действие> и на этом выполнение команды выбора завершается.
<Списки> могут быть заданы следующими способами: Вид списка Список, состоящий из одного значения Список, содержащий перечисление значений ‘a’ 8 1, 4, 5 ‘a’, ‘b’, ’*’, ’@’ Список, содержащий интервалы значений 1. . 5, 20. . 30 Список, содержащий смешанную форму представления значений 1. . 5, 15, 55 ‘a’. . ’z’, ’A’, ’B’
Работу этого оператора можно проиллюстрировать следующим примером: Составить программу, которая спрашивает у пользователя номер месяца и выводит соответствующее названия времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение об ошибке «Ошибка ввода данных» . Ниже приведен рекомендованный вид экрана во время работы программы: Введите номер месяца (число от 1 до 12) и нажмите <Enter> -> 12 Зима
Program Pr; Var month: Integer; Begin Writeln (‘Введите номер месяца (число от 1 до 12) и нажмите <Enter>’); Read (month); Case month of 1, 2, 12: Writeln(‘Зима’); 3. . 5: Writeln(‘Весна’); 6. . 8: Writeln(‘Лето’); 9. . 11: Writeln (‘Осень’); Else Writeln (‘Ошибка ввода данных – число должно быть от 1 до 12’); End.
Составить программу, вычисляющую стоимость междугородного телефонного разговора (цена одной минуты определяется по таблице). Исходными данными для программы являются код города и продолжительность разговора. Ниже представлен рекомендуемый вид экрана во время работы программы: Вычисление стоимости разговора по телефону. Введите исходные данные: Код города -> 812 Длительность (целое количество минут) -> 3 Город: Владивосток Цена минуты: 2. 20 руб, Стоимость разговора: 6. 60 руб. Город Код Цена минуты (руб. ) Владивосток Москва Мурманск Самара 423 095 815 846 2, 2 1, 0 1, 2 1, 4
1. Выучить конспект. 2. Составить программу, которая после введенного с клавиатуры числа (в диапазоне от 1 до 99), обозначающего денежную единицу, дописывает слово «Копейка» в правильной форме. Например, 5 копеек, 41 копейка и т. д. 3. Составить программу, которая по номеру месяца, введенного с клавиатуры, выводит количество дней в нем. В программе учесть количество дней в феврале для високосного и не високосного годов.
Оператор множественного выбора.ppt