Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Оператор выбора.
Для ситуаций, где имеется несколько (три и более) альтернатив, вместо условного оператора больше подходит оператор выбора.
Общая форма записи:
case < выражение-селектор> of < список значений 1>: < оператор 1>; < список значений 2>: < оператор 2>; …………………………: …………………; < список значений N>: < оператор N>; else < оператор>; end;
Принцип работы оператора выбора: при выполнении данного оператора вначале вычисляется значение выражения-селектора стоящего после зарезервированного слова case. Затем выбирается тот список значений, которому принадлежит полученное значение, и выполняется соответствующий оператор, следующий за двоеточием. Оператор стоящий после зарезервированного слова else выполняется если ни один из списков значений не удовлетворил значению выражения-селектора и может отсутствовать. В списках значений допустимыми являются скалярные типы переменных, которые включают целые и исключают вещественные типы. Любое заданное значение выражения-селектора может входить в список значений неоднократно, но выполнятся будет лишь первая подходящая ветвь.
Рассмотрим примеры. Пример1. Вывести на экран словесную интерпретацию введенного однозначного натурального числа.
Program ramdjon; Digit: integer; Begin Write (‘ввести одно число’); Readn (digit); If (digit< 0) or (digit> 9) Then Writeln (‘Вы ввели не однозначное число! ‘) Else Case digit of 0: writeln ('ноль’); 1: writeln (‘один’); 2: writeln (‘два’); 3: writeln (‘три’); 4: writeln (‘четыре’); 5: writeln (‘пять’); 6: writeln (‘шесть’); 7: writeln (‘семь’); 8: wirteln (‘восемь’); 9: writeln (’девять’); End; End. Пример2. Дано натуральное число N. Преобразовать его в зависимости от остатка деления числа N на число 17 по правилу: если остаток равен 0, то N должно стать равным тоже 0; если остаток равен 1 или 6, то N должно стать равным -N; если остаток равен 2, 3 или 5, то N должно стать равным 2N; если остаток равен 4, то N должно стать равным 3N; в остальных случаях N равняется 5N. Program Ost; Var n: word; Begin Write (‘Введите число n=’); Readln (n); Case n mod 17 of 0: n: =0; 1, 6: n: =-n; 2, 3, 5: n: =2*n; 4: n: =3*n; Else n: =5*n; end; Writeln (‘n=’, n); End.
Пример2. Дано целое число N (N< 10000 и N> -10000). Определить какое это число (однозначное, двузначное, трехзначное или четырехзначное).
Program Nat; Var n: integer; Begin Write (‘Введите число n=’); Readln (n); Case n of -9..9: Writeln (‘число ’, n, ’ однозначное’); -99..99: Writeln (‘число ’, n, ’ двузначное’); -999..999: Writeln (‘число ’, n, ’ трехзначное’); -9999..9999: Writeln (‘число ’, n, ’ четырехзначное’); Else Writeln (‘число ’, n, ’ больше 10000 или меньше -10000’); end; End.
|