Тема_2_Условный оператор IF, оператор CASE
.doc3. Условный оператор IF
Условный оператор IF - предназначен для ветвления программы на два направления. Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.
Рассмотрим четыре варианта записи оператора IF:
-
If <условие> then P1 else P2;
-
If <условие> then P1;
-
If (<условие1>) or (<условие2>) then P1 else P2;
-
If (<условие1>) and (<условие2>) then P1 else P2;
где <условие>,<условие1>, <условие2> - переменные логического типа. Р1, Р2 - простые или составные операторы.
В первом случае если условие истинно, то выполняется оператор P1, если ложно – то P2.
Во втором варианте записана краткая форма оператора.
В третьем и четвертом примерах два условия объединены служебными словами or (или) и and (и). В результате объединения получается новая логическая переменная, истинность которой определяется согласно следующей таблицы:
ФРАГМЕНТ |
РЕЗУЛЬТАТ |
a:=8; b:=6; if (a>b) AND (b>7) then k:=1 else k:=0 |
k=0 |
a:=8; b:=6; if (a>b) OR (b>7) then k:=1 else k:=0 |
k=1 |
a:=8; b:=6; if (a<b) OR (b>7) then k:=1 else k:=0 |
k=0 |
a:=8; b:=6; if NOT (a=8) then k:=1 else k:=0 |
k=0 |
4. Оператор выбора CASE
У оператора case есть существенное ограничение − переменная, стоящая после слова case, должна быть так называемого порядкового типа (Integer, LongInt и Char).
Задачи для самостоятельного решения
Задача 1:
Программа расчета скидок. Вводится количество товара и стоимость за штуку. Определить сумму скидки, если при суммарной стоимости 100 грн скидка составляет 3%, 200 – 5%, 300 и более – 7%.
Задача 2:
Пользователь вводит четырехзначное число. Необходимо поменять в этом числе 1 и 2 цифры, а также 3 и 4 цифры. Если пользователь вводит не четырехзначное число – вывести сообщение об ошибке.
Задача3:
Грузовой самолет должен пролететь с грузом из пункта А в пункт С через пункт В. Емкость бака для топлива у самолета – 300литров. Потребление топлива на 1 км в зависимости от веса груза у самолета следующее:
- до 500 кг : 1 литров / км
- до 1000 кг : 4 литров / км
- до 1500 кг : 7 литров / км
- до 2000 кг : 9 литров / км.
- более 2000 кг – самолет не поднимает.
Пользователь вводит расстояние между пунктами А и В, и расстояние между пунктами В и С, а также вес груза. Программа должна рассчитать какое минимальное количество топлива необходимо для дозаправки самолету в пункте В, чтобы долететь из пункта А в пункт С. В случае невозможности преодолеть любое из расстояний – программа должна вывести сообщение о невозможности полета по введенному маршруту.