Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Для ситуаций, где имеется несколько (три и более) альтернатив, вместо условного оператора больше подходит оператор выбора.
Общая форма записи:
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.
Дата публикования: 2015-10-09; Прочитано: 257 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!