Иногда в программе необходимо "отойти" от последовательного выполнения команд и выполнять какие-либо действия в зависимости от результата проверки некоторого условия (т.е. необходимо реализовать в программе алгоритм ветвления). Для этого служит оператор If .. then .. else ...
Краткая форма записи: if <условие> then <оператор>
если <условие> выполняется (истинно), то программа выполняет команды, записанные в <оператор>
если <условие> Не выполняется (ложно), то программа Не выполняет команды, записанные в <оператор>, а переходит к выполнению следующего оператора (оператора, стоящего непосредственно после оператора If .. then .. else ..)
Полная форма записи: if <условие> then <оператор 1> else <оператор 2>
если <условие> выполняется (истинно), то программа выполняет команды, записанные в <оператор 1>, иначе (т.е. если <условие> НЕ выполняется (ложно)) программа выполняет команды, записанные в <оператор 2>
<условие> - это:
переменная логического типа (boolean), или логическое выражение, которое может быть простым или сложным;
математическое выражение содержащее знаки равенства (неравенства);
... относительно которых можно однозначно утверждать ДА (истина, выполняется, верно) или НЕТ (ложь, не выполняется, неверно).
<оператор>, <оператор 1> или <оператор 2> - это:
любой оператор (Writeln, Readln, оператор присваивания, If .. then .. else .., и другие);
или несколько операторов, заключенных в операторные скобки "begin ... еnd;".
if читается как "если"
then читается как "тогда"
else читается как "иначе"
Задача #1: Ввести с клавиатуры 2 числа. Напечатать какое из них большее, а какое меньшее.
program z1;
var p, m : integer;
begin
writeln ('Введите два целых числа');
readln (p, m);
if p > m then writeln ('большее ', p) else writeln ('большее ', m);
readln;
end.
Задача #2: Ввести с клавиатуры 2 числа. Вывести на экран их частное или сообщение "Делить на ноль нельзя".
program z2;
var p, m : integer;
chas : real;
begin
writeln ('Введите два целых числа');
readln (p, m);
if m <> 0 then
begin
chas := p / m;
writeln ('частное равно ', chas)
end
else
writeln ('На ноль делить нельзя');
readln;
end.
Задача #3: Ввести с клавиатуры число. Вывести на экран каке это число: положительное, отрицательное или ноль.
program z3;
var p : integer;
begin
writeln ('Введите целое число');
readln (p);
if p < 0 then writeln ('Это отрицательное число');
if p = 0 then writeln ('Это ноль');
if p > 0 then writeln ('Это положительное число');
readln;
end.
|