1. Вычисляется выражение Q, которое имеет логическое значение.
2. Если это значение True, то выполняется оператор B1. Если же Q имеет значение False, то в случае полной формы условного оператора выполняется оператор B1 , а в случае неполной формы управление передается следующему оператору программы.
Так, как операторы B1 и B2 могут быть любыми, а значит и условными, то возникает конструкция двусмысленная:
1
If Q Then If Q1 Then B1 Else B2;
2
Для устранения двусмысленности введено правило, что часть Else относится к ближайшему слева свободному условию. И структура записи следующая:
If Q Then
If Q1 Then
B1
Else
B2;
Если по смыслу задачи необходимо, чтобы оператор понимался в смысле 1 , то его надо поставить в операторные скобки:
If Q Then
Begin
If Q1 Then
B1;
End
Else
B2;
Задача1:
Даны 2 различных числа. Найти максимальное из этих чисел.
Пример:
Исходные данные: A=10, C=15
Результат: Максимальное число =15
Решение:
Program Vet1;
Var A,C,Max:Integer;
Begin
Writeln(’Введите 2 различных числа’);
Readln(A,C);
If A>C Then
Max:=A
Else Max:=C;
Write(’Максимальное число = ’,Max);
End.
Задачи:
1. Даны 2 числа. Вывести первое число, если оно больше второго и оба числа, если это не так.
2. Даны 2 различных числа. Найти C=Max/Min.
3. Составить программу вычисления значения Y по введенному значению X.
Y= (X+2)2 , X>=0
X-2 ,X<0
4. Даны числа А, B, Х. Составить программу вычисления значения Y.
(X+2)2 , X<A
Y= X-2 ,A<=X<=B
2*X ,X>B
5. Даны 3 различных числа. Найти максимальное из этих чисел.
6. Даны 3 числа. Определить сколько среди них нулей.
7. Даны 3 числа. Определить сколько среди них отрицательных и сколько