Условный оператор
В практике хорошо известны задачи, дальнейший ход решения которых
зависит от выполнения какого-либо условия. В жизни часто приходится действовать
в зависимости от обстоятельств, от каких-то условий. Но если в жизни мы часто
ищем выход из ситуации только тогда, когда попали в неё, в программе необходимо
предусмотреть все действия которые необходимо выполнить после проверки условия,
как в случае его выполнения, так и в случае невыполнения. Чтобы изменять
последовательность выполнения различных частей программы, применяют условный
оператор.
7.1. Условный оператор.
Условный оператор позволяет выполнять или пропускать операторы программы
в зависимости от некоторого условия. Условный оператор может иметь две
формы:
Полный оператор.
Формат команды
IF условие THEN оператор_1 ELSE оператор_2;
Неполный оператор.
Формат команды
IF условие THEN оператор;
Если перевести на русский язык английские слова то получим:
ЕСЛИ условие ТО оператор_1 ИНАЧЕ оператор_2; или ЕСЛИ
условие ТО оператор;
В качестве условия применяют операции сравнения: =, <>, <=,
>=, <, >. Слева и справа от знака сравнения записывают арифметические
выражения.
Например, оператор
If
x<>0 then z:=y/x
еlse write('Ошибка!');
присвоит переменной Z значение частного y/x, если x<>0, в
противном случае высветит на экране слово "Ошибка!".
7.2. Составной оператор.
В некоторых случаях после слов THEN и ELSE надо выполнить не один
оператор, а несколько. Тогда эти операторы заключаются в так называемые
операторные скобки, где BEGIN - открывающая скобка, END - закрывающая скобка.
Все операторы находящиеся внутри операторных скобок называются составным
оператором. Перед словом ELSE точка с запятой никогда не ставится.
Формат команды: BEGIN оператор; оператор; ... оператор END;
Например:
If a<b then
begin
R:=a;
A:=b
B:=r
End
После выполнения такого оператора в переменной А будет большее, а в
переменной В - меньшее из двух значений, находившихся там ранее.
В качестве выполняемого в условном операторе действия может быть другой
условный оператор. Например:
If sqr(x)+sqr(y)>1 then
If x>y then z:=0
Else z:=1;
При такой форме записи со сдвигом вправо для каждого внутреннего
действия, легко понять, к какому из двух слов IF относится слово ELSE.
Рассмотрим пример программы с использованием условного оператора. Пусть для
двух целых чисел надо определить, являются они четными или нет. Для проверки
четности используем условие: остаток от деления на 2 четного числа равен 0.
Program prim_7;
Var a,b:integer;
Begin
Write('введите два целых числа');
Readln(a,b);
If a mod 2 = 0 then Writeln (' а - четное ')
Else Writeln (' a - нечетное ');
If b mod 2 = 0 then Writeln (' b - четное ')
Else Writeln (' b -нечетное ');
Readln
End
Задания для тренировки.
2. Ввести два числа. Напечатать сначала меньшее, затем большее из них.
3. Даны числа x и y. Вычислите число z, равное x+y, если x<=y, и 1 - х + y в
противном случае
4. Даны два числа. Выведите первое из них, если оно больше второго, и оба
числа, если это не так.
5. Если данное число х меньше нуля, то z присвойте значение большего из двух
чисел х и у, иначе z присвойте значение полусуммы этих чисел.
6. *Даны два числа. Меньшее из них замените полусуммой этих чисел, а большее -
их произведением.
7. Даны радиус круга и сторона квадрата. У какой фигуры площадь больше?
8. Дано целое число. Определить:
a. Является ли оно четным;
b. Оканчивается ли оно цифрой 7;
c. Делится ли оно на 13.
Разбор тренировочного задания урока 6.
8. *Дано вещественное число А, содержащее два знака до запятой и два после.
Получить новое число, поменяв в числе А целую и дробную части.
Данная задача не относится к целочисленной арифметике, ведь дано
вещественное а не целое число. Попробуем найти целую и дробную части. А потом
просто соберем новое число увеличив дробную часть в 100 раз и уменьшив целую
часть тоже в 100 раз.
Program prim_8;
Var a,b,x1,x2:real;
Begin
Write('введите число');
Readln(a);
X1:=int(a) ; {целая часть}
X2:=frac(a); {дробная часть}
b:=x1/100+x2*100; {новое число}
Writeln(b);
Readln
End.
9. *В кассе имеются купюры достоинством в К рублей и в 1 рубль. Выдать N рублей
минимальным набором купюр заданного достоинства.
Определим сколько купюр достоинством K необходимо для выдачи суммы
наиболее близкой к данной, но меньше ее. А затем какую сумму осталось выдать.
Program prim_6;
Var k,n,m,p:integer;
Begin
Write('введите число рублей');
Readln(n);
Write('введите достоинство купюры');
Readln(k);
m:=n div k;
p:=n mod k;
Writeln(p,' купюр по 1 рублю, ', m,' купюр по ',k,'руб. Итого=',p+m);
Readln
End.
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.