Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Тема_2_Условный оператор IF, оператор CASE

.doc
Скачиваний:
14
Добавлен:
01.05.2015
Размер:
189.95 Кб
Скачать

3. Условный оператор IF

Условный оператор IF - предназначен для ветвления программы на два направления. Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие.

Рассмотрим четыре варианта записи оператора IF:

  1. If <условие> then P1 else P2;

  2. If <условие> then P1;

  3. If (<условие1>) or (<условие2>) then P1 else P2;

  4. 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 кг – самолет не поднимает.

Пользователь вводит расстояние между пунктами А и В, и расстояние между пунктами В и С, а также вес груза. Программа должна рассчитать какое минимальное количество топлива необходимо для дозаправки самолету в пункте В, чтобы долететь из пункта А в пункт С. В случае невозможности преодолеть любое из расстояний – программа должна вывести сообщение о невозможности полета по введенному маршруту.