Задача 9.
Программа.
Задача 8.
Разветвляющиеся программы.
Процедуры ввода и вывода, а также оператор присваивания позволяют писать только линейные программы, в которых все команды выполняются последовательно одна за другой. Но очень часто возникает необходимость выполнять различные команды в зависимости от выполнения какого – то условия. Для таких целей в Паскале введён условный оператор:
If условие then оператор_1
else оператор_2;
(If читается – "иф"; переводится – "если"; then читается "зэн"; переводится – "то"; else читается "элз"; переводится – "иначе")
Работает этот оператор так – сначала проверяется условие, и, если оно верно, выполняется оператор_1, в противном случае выполняется оператор_2.
В простейших случаях условие – это математическое сравнение двух выражений по величине, которое можно записать при помощи следующих знаков:
знак | отношение |
= | равно |
< | меньше |
<= | меньше или равно |
> | больше |
>= | больше или равно |
<> | не равно |
Составить программу для следующей задачи: Компьютер должен перемножить два числа – 167 и 121. Если их произведение превышает 2000, то компьютер должен напечатать текст Произведение большое, иначе – текст Произведение маленькое. После этого компьютер в любом случае должен напечатать само произведение.
|
|
VAR a,b,с: Integer;
BEGIN
a:=167;
b:=121;
c:=a*b;
If c>2000 then WriteLn(' Произведение большое ');
else WriteLn(' Произведение маленькое ');
WriteLn(с)
END.
Рассмотренная нами форма условного оператора называется полной, она позволяет направлять выполнение программы по одному из двух путей. Такую конструкцию называют ветвлением.
В Паскале есть и краткая форма условного оператора, которая просто позволяет выполнять заданный оператор, если выполнено условие:
If условие then оператор_1;
Если условие верно, то выполняется оператор_1, иначе выполняться будет следующий за условным оператор.
Составить программу для следующей задачи: В компьютер вводится слово. Компьютер должен просто распечатать его. Однако, если введённым словом будет " колхозник ", то компьютер должен вместо него напечатать слово " фермер ".
VAR a: String;
BEGIN
ReadLn(a);
If a='колхозник' then a:='фермер';
WriteLn(a)
END.