1. Вычислите логические выражения: not true and not false not true or not false not (true or false) Y not (true and false) a 2. Напишите условие нахождения точки a в первом квадранте системы координат, считая ее координаты заданными X переменными x, y .
3. Напишите программу, выводящую слова «зачет», если введено число 3, 4 или 5 и «незачет», если введено число 1 или 2.
4. Напишите программу, выводящую текст «плохо», «удовлетворительно», «хорошо» или «отлично», если введено число 2, 3, 4 или 5 соответственно.
5. Используя операцию определения остатка от деления (mod, стр. 5), модернизируйте программу Concentric (стр. 16), таким образом чтобы каждая 3-я окружность выводилась красным цветом, а остальные были синими.
Довольно часто возникает ситуация, при которой в теле одного цикла встречается другой оператор цикла. Такие циклы называют вложенными циклами. Приведем простой пример.
Выведем на экран таблицу умножения целых чисел от 1 до 10.
Здесь внутри тела внешнего цикла по переменной i, находится вложенный цикл по переменной j, который выводит в операторе write (не writeln!) произведение i*j, выделяя 4 позиции для результата. Далее идет оператор writeln, который переводит курсор на новую строку. Внешний цикл повторяет 10 раз эту операцию, формируя, таким образом, 10 строк таблицы, которая приведена справа.
- 20 -
Тема №6. Оператор case
Оператор case
Оператор case используется для создания развилки на более чем 2 ветви. Понять его работу поможет следующий пример.
Program YourMark;
{ ваша отметка }
var n : integer;
begin
write ('Введите вашу отметку '); readln (n);
case n of
2 : writeln('Плохо');
3 : writeln('Удовлетворительно ');
4 : writeln('Хорошо');
5 : writeln('Отлично');
end;
end.
Обратите внимание, что оператор case заканчивается скобкой end.
Если пользователь введет отметку, не попадающую в диапазон 2-5, то никаких действий выполняться не будет. Можно, конечно, обработать и эту ситуацию. Тогда синтаксис оператора case будет такой:
Program YourMark2;
{ ваша отметка }
var n : integer;
begin
write('Введите вашу отметку '); readln(n);
case n of
2 : writeln('Плохо');
3 : writeln('Удовлетворительно ');
4 : writeln('Хорошо');
5 : writeln('Отлично')
else writeln ('Вы ввели недопустимую отметку!')
end;
end.
Обратите внимание на отсутствие точки с запятой перед else и двоеточия после else.
Кроме единичных значений переключателя n можно указывать диапазон значений.
Program YourMark3;
{ ваша отметка }
var n : integer;
begin
write('Введите вашу отметку '); readln(n);
case n of
2..3 : writeln ('Это все очень плохо!');
4 : writeln ('Хорошо!');
5..6 : writeln ('Так держать!')
else writeln ('Вы ввели недопустимую отметку!')
end;
end.
Обратите внимание на отсутствие точки с запятой перед else и двоеточия после else.
- 21 -
Задание № 6.1. По образцу программ, написанных на предыдущей странице, решите следующую задачу:
Программа вводит число в диапазоне от 1 до 10 и выводит на экран значение числа русскими буквами (один, два, … десять). (2 балла)
Задание № 6.2. Модифицируйте программу таким образом, чтобы она выводила название чисел в диапазоне от 1 до 99 (ну кассовый аппарат же это делает на чеках!).
Подсказка №1. Для выделения числа десятков используйте хорошо знакомую вам операцию «остаток от деления». Т.е., если в переменной n находится введенное число, то получить число десятков очень просто – d:=n mod 10;
Подсказка №2. Надо рассмотреть по сути три диапазона чисел: от 1 до 9, от 10 до 19, и от 20 до 99. (5 баллов)
Задание № 6.3. Ну, если уж сделали предыдущую задачу, то расширьте диапазон чисел до 999. (еще 3 балла)
Задание № 6.4*. Модифицируйте программу 6.3 (даже в сторону упрощения), так чтобы она выводила число в диапазоне от 1 до 999, записанное римскими цифрами. (еще 4 балла)
Запись чисел римскими цифрами:
1 – I | 10 – X | 100 – C |
2 – II | 20 – XX | 200 – CC |
3 – III | 30 – XXX | 300 – CCC |
4 – IV | 40 – XL | 400 – CD |
5 – V | 50 – L | 500 – D |
6 – VI | 60 – LX | 600 – DC |
7 – VII | 70 – LXX | 700 – DCC |
8 – VIII | 80 – LXXX | 800 – DCCC |
9 – IX | 90 – XC | 900 – CM |
Запись остальных чисел происходит просто «склеиванием» записей приведенных чисел.
Например:
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии