|
Условный оператор IF … THEN … ELSE.
Для выполнения действий по заданным условиям в Delphi существует условный оператор, который имеет краткую и полную формы.
Краткая форма:
Запись в одну строку, если нужно выполнить одно действие по условию
IF <условие> THEN <действие>;
Запись, если действий много
IF <условие> THEN BEGIN
<действие_1>;
<действие_2>;
…
<действие_N>;
END;
Условием может выступать любая арифметическая операция сравнения(>, <, =, >=, <=).
Графическое представление краткой формы условного оператора:

Полная форма:
Запись в одну строку, если нужно выполнить одно из двух действий
IF <условие> THEN <дейст_1> ELSE <дейст_2>;
Запись, если действий много
IF <условие> THEN BEGIN
<действие_1_1>;
…
<действие_1_N>;
END
ELSE
<действие_2_1>;
…
<действие_2_N>;
END;
Графическое представление полной формы условного оператора:

Задача №1:
Даны три переменные: D, E, F, значения которых запрашиваются в окне InputBox.
Где D – количество столов, привезенных в здание; Е – количество одинаковых помещений в здании; F – количество столов, которых нужно поставить в одно помещение.
Определить:
а) сколько помещений полностью будут заставлены столами;
б) хватит ли столов на всё здание (вывод на форму «да» или «нет»
в) если «нет», то сколько нужно еще столов;
г) если «да», то сколько столов лишних.
Решение:
var d,e,f,n:integer;
begin
Write('Введите: столов - помещений - столов для 1 помещения');
Readln(d, e, f);
Writeln('количество привезенных столов =', d);
Writeln('количество помещений =', e);
Writeln('количество столов для одного помещения =', f);
n: = e * f;
If d >= n Then Writeln('Столами заставят ', e,' помещений');
If d < n Then Writeln('Столами заставят' ,ROUND(d / f), ' помещений');
If d >= n Then Writeln('Да, столов хватит. Лишних - "; d - n);
If d < n Then Writeln('Нет, столов не хватит. Не хватает -', n - d);
Результат выполнения данной программы может быть такой, как на рис.:
Задача №1_а:
Измените программу так, чтобы не появлялось сообщение «Лишних - 0».
Задача №2:
Даны три переменные: E, F, G, значения которых запрашиваются в окне InputBox. Где E – количество деревьев в лесу; F – сколько месяцев продолжалась вырубка; G – количество деревьев, вырубленных за неделю. Для простоты решения принять, что в каждом месяце по 4 недели.
Определить: а) сколько деревьев было вырублено за все время; б) останутся ли деревья в лесу (вывод на форму «да» или «нет» в) если «нет», то сколько нужно еще деревьев; г) если «да», то сколько деревьев осталось.
Задача №2_а:
Изменить программу так, чтобы расчет велся точно, т.е. в месяце не 4 недели.
|
|
|