Условный оператор Case
Структура ветвления «Выбор – Иначе» соответствует оператору выбора CASE.
Оператор CASE имеет следующий вид: Case P of a: S1; b: S2; .. n: Sn else Sn+1 end; Каждый из операторов в операторе CASE, помеченный константой выбора, может быть составным. Операторы S1; S2; … Sn отделяются один от другого точкой с запятой. Выражение, играющее роль селектора выбора, должно принадлежать порядковому типу данных (т.е. типу, имеющему конечное число значений). При выполнении этого оператора сначала вычисляется некоторое выражение Pназываемое селектором выбора, а затем, в зависимости от полученного значения (если оно равно одной из констант a, b,..., n, которые называются константами выбора), выполняется один из операторов, помеченный соответствующей константой. Если значение выражения P не совпадает ни с одной из констант выбора, выполняется оператор Sn+1, содержащийся после ключевого слова ELSE, причем ветвь ELSE в операторе CASE необязательна. Кроме одиночных констант, в вариантах оператора CASE могут использоваться диапазоны значений и списки (представленные через запятую).
Case X of 1.. 5: S1; 2, 3, 8: S2; 4, 6, 9.. 13: S3; Else S4 End;
Задача 4. В зависимости от введенного числового значения вывести согласованное с ним слово рубль, рубля или рублей.
Математическая формулировка задачи: Очевидно, что значение поясняющего слова зависит от последней цифры введенного числа: если последняя цифра 0, 5, 6, 7, 8, 9, то поясняющее слово «рублей», если 1 – то «рубль», если 2, 3, 4 – то «рубля». Исключение составляют числа, оканчивающиеся на 11, 12, 13, 14 для которых поясняющее слово должно быть «рублей». Текст программы к задаче 4: Program Ex_4; Uses Crt; Var Алгоритм решения задачи 4: n: integer; { число } r: integer; {остаток от деления числа на 10} Begin
Writeln(‘Введите число ‘); Readln(n); If n> 100 then n: =n mod 100; If (n> =11) and (n< =14) then Writeln(‘ рублей‘);
|