1. Проверяется: выполняется или нет условие, стоящее после слова IF.
2. Если условие выполняется, т.е. значение его «истина», то выполняется оператор, стоящий после слова THEN, а затем управление передается оператору программы, записанному после оператора IF...THEN...ELSE.
Блок-схема полного условного оператора Да Нет условие действие1 действие2 |
3. Если условие оператора IF не выполняется (т.е. оно имеет значение “ложь”), то выполняется оператор, стоящий после слова ELSE, а затем начинает выполняться следующий после IF...THEN...ELSE оператор.
Задача 1: Составить программу вывода на экран большего из двух чисел.
PROGRAM prim1;
USES Crt;
var x,y: real;
begin
ClrScr; (* очищение экрана *)
Writeln(‘Введите два числа’);
Readln(x,y);
IF x>y THEN Writeln(x)
ELSE Writeln(y);
end.
Неполная форма условного оператора:
if <условие> then <оператор>
Действие этого оператора отличается от предыдущего том, что в случае невыполнения условия начинает выполняться следующий после IF...THEN...оператор программы.
Блок-схема неполного условного оператора нет |
Задача 2: Написать программу поиска наибольшего из двух чисел. Найденное число должно быть помещено в переменную МАХ.
|
|
PROGRAM prim2;
USES Crt;
var x,y,max: real;
begin
ClrScr; (* очищение экрана *)
Writeln(‘Введите два числа’);
Readln(x,y);
max:=x;
IF y>max THEN max:=y;
Writeln(max);
end.
Решая всевозможные задачи часто необходимо выполнять группу операторов либо за словом THEN, либо за словом ELSE. Для того чтобы записать группу действий необходимо использовать составной оператор BEGIN END.
1. If <условие> then
begin
оператор1;
оператор2;
...................
оператор n;
end
else оператор;
2. If <условие> then оператор
else begin
оператор1;
оператор2;
...................
оператор n;
end;
3. If <условие> then
begin
оператор1;
оператор2;
...................
оператор n;
end
else
begin
оператор1;
оператор2;
...................
оператор n;
end
Задача 3. Решить квадратное уравнение вида
ax2 + bx +c = 0
План решения задачи:
1. задать коэффициенты a,b,c.
2. вычислить значение дискриминанта.
3. Проверить значения дискриминанта и, в зависимости от полученного ответа, выполнить то или иное действие.
program kvyr;
var a,b,c: integer;
x1,x2,d: real
begin
writeln(‘введите коэф-ты квадратного уравнения’);
read(a,b,c);
d:=b*b-4*a*c;
if d>=0 then begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln(‘корни x1=,x1,’ x2’,x2)
end
else if d=0 then writeln(‘x1=x2=’,-b/(2*a))
else writeln(‘решений нет’);
|
Задача 4. Составьте программу для вычисления выражения
а) max(x+y+z, xyz) + 3
б) min(x2+y2, y2+z2) - 4
program kvyr;
var a,b,c: integer;
x1,x2,d: real
begin
writeln(‘введите коэф-ты квадратного уравнения’);
read(a,b,c);
|
|
d:=b*b-4*a*c;
if d>=0 then begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln(‘корни x1=,x1,’ x2’,x2)
end
else if d=0 then writeln(‘x1=x2=’,-b/(2*a))
else writeln(‘решений нет’);
end.
Задача 4. Составьте программу для вычисления выражения
а) max(x+y+z, xyz) + 3 б) min(x2+y2, y2+z2) - 4