КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Правила использования CASE.
Значение выражения после слова CASE должно быть дискретного типа
Тип меток в списках должен быть совместим с типом выражения
Все константы в списках должны быть уникальны в пределах оператора варианта (т.е. не должны повторяться), диапазоны не должны пересекаться.
Запишем программу по алгоритму двумя способами:
Вложенное ветвление
Program nedela;
Var x:integer;
Begin
Readln(x);
If x=l then
Writeln ('Понедельник')
Else
If x=2 then
Writeln (‘Вторник')
Else
If x=3 then
Writeln ('Среда')
Else
If x=4 then
Writeln(‘Четверг')
If x=5 then
Writeln(‘Пятница')
Else
If x=6 then
Else
Writeln(' Суббота')
If x=7 then
Writeln {‘Воскресенье')
Else
Writeln {‘неверный ввод')
End.
| Оператор варианта
Program nedela;
Var x:integer;
Begin
Readln(x);
Case x of
1:Writeln ('Понедельник');
2:Writeln (‘Вторник');
3:Writeln ('Среда');
4:Writeln(‘Четверг');
5:Writeln(‘Пятница');
6: Writeln(' Суббота');
7:Writeln {‘Воскресенье')
else
Writeln {‘неверный ввод');
end;
end.
|
Задания
Задание 1. Определить, что будет выведено на экран после выполнения фрагмента программы:
k:=10;
CASE k mod 3 OF
0: writeln('k=4m');
1: writeln('k=4m+l');
2: writeln('k=4m+2');
3: writeln('k=4m+3');
END;
| k:=10;
CASE k mod 6 OF
0: writeln('k=4m');
1: writeln('k=4m+l');
2: writeln('k=4m+2');
3: writeln('k=4m+3')
ELSE writeln('Koнец');
END;
| k:=10;
CASE k mod 4 OF
0: writeln('k=4m');
1: writeln('k=4m+l');
2: writeln('k=4m+2');
3: writeln('k=4m+3');
END;
writeln('Koнец');
|
|
|
|
Задание 2. Запишите оператор IF, эквивалентный следующему оператору CASE.
CASE x OF
2, 5 : writeln ('Ничья');
7..11: writeln ('Выигрыш')
ELSE
writeln ('Проигрыш')
END;
Задание 3. Запишите оператор CASE, эквивалентный следующему оператору IF.
If (x>=a) and (x<=b) then
writeln ('Хорошо')
else
if (x = d) or (x = f) then
writeln ('Плохо')
else
writeln ('Неверный ввод');
Задание 4. Составьте программы для следующих задач:
Задачи
| Отметка
| 1. 1. По введенному году обучения в школе (числу от 1 до 11) вывести сообщение «Привет, k-классник!». Например, если k=1, «Привет, первоклассник!»
|
| 2. По введенному вами k (числу грибов) вывести фразу: « Мы нашли в лесу k грибов», причём согласовывать окончания слова «гриб» с числом k. (Окончание определяется значением последней цифры)
|
| 3. Определить подходящий возраст кандидатуры для вступления в брак, используя следующие соображения: возраст девушки равен половине возраста мужчины плюс 5, возраст мужчины определяется соответственно, как удвоенный возраст девушки минус 14.
|
| 4. Заданы три стороны треугольника a,b,c. Определить, является ли этот треугольник прямоугольным и какая сторона является гипотенузой.
|
| 5. Вывести заданное натуральное число (до 2000) римскими цифрами (I-1, V-5, X-10, L-50, C-100, D-500, M-1000)
|
| 6. По введённому натуральному числу, вывести его название на естественном языке. Например,
7. 7 семь
8. 204 двести четыре
9. 52 пятьдесят два
|
|
|