Тема: Условный оператор. Логические выражения.
Разветвляющимся называется алгоритм, позволяющий выбрать одно из нескольких возможных направлений решения задачи.

В языках программирования ветвление реализуется с помощью условного оператора.
полное ветвление:
if логическое условие then оператор 1
else оператор 2;
неполное ветвление:
if логическое условие then оператор 1;
Буквально перевести эту конструкцию можно так: "Если условие истинно, то выполнить оператор 1, иначе оператор 2"
Перед else точка с запятой не ставится!
Вначале проверяется логическое выражение, если оно верно, то выполняется Оператор 1, после этого выполняется часть программы, расположенная ниже, если условие ложно, то Оператор 1, не выполняется, выполняется оператор ниже.
Логическое условие может содержать одно или несколько условий с функциями and (и), or (или), not (не).
Например, условие для принадлежности числа x интервалу (0;10): (x>0) and (x<10)
Операторы 1 и 2 могут быть простыми и составными.
Если оператор составной (состоит из нескольких команд), то он заключается в логические скобки begin … end;
Задача 1. Составим программу, находящую из двух чисел A и B большее.
a, b – исходные данные
с – результат (большее из чисел)

Program bol;
var a, b, c: integer;
begin
writeln (‘введите два числа’);
readln (a, b);
if a>b then c:=a
else c:=b;
writeln (‘c= ’, c);
end.
Задача 2. Записать условный оператор, определяющий, является ли треугольник со сторонами a, b, c равносторонним?
if (a=b) and (b=c) and (a=c) then writeln(‘треугольник равносторонний’)
else writeln(‘треугольник не равносторонний’);
Задача 3. Дано x. Вычислить F.

if (x>=0) and (x<=4) then F:=4*x*x+5 else F:=1/(3*x);
Задача 4. Найти корни квадратного уравнения ax2+bx+c=0. Если их нет, то сообщить об этом.

Program kor;
var a, b, c: integer;
d, x1,x2 : real;
begin
writeln (‘введите числа a, b, c’);
readln (a, b, c);
d:=b*b-4*a*c;
if d>=0 then begin
if d=0 then begin
x1:=-b/(2*a);
x2:=x1;
end
else begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
end;
writeln(‘x1= ’, x1:6:2,’ x2= ’,x2:6:2);
end
else writeln(‘корней нет’);
end.
Рассмотрим еще один пример.
Задача. Вывести на экран большее из двух данных чисел.
Program Example1; |
Можно также использовать и сокращенную (неполную) форму записи условного оператора. Эта форма используется тогда, когда в случае невыполнения условия ничего делать не надо.
Неполная форма условного оператора имеет следующий вид.
if <логическое выражение> |
Тогда если выражение, расположенное за служебным словом IF. в результате дает истину, выполняются действия после слова THEN, в противном случае эти действия пропускаются.
Задача. Составить программу, которая, если введенное число отрицательное, меняет его на противоположное.
Program Chisla; |
Задачи для самостоятельного выполнения:
Сумма покупки составляет а рублей. Если а больше 1000 рублей, то предоставляется скидка 15%. Вывести на экран сумму покупки с учетом скидки либо сообщение о том, что скидка не предоставляется. Известны площади круга и квадрата. Определить:- уместится ли круг в квадрате уместится ли квадрат в круге
- входит ли в него цифра 3 входит ли в него цифра а
- самое большое самое маленькое является средним
Домашнее задание:
Задание 1. Составьте программу, решающую следующую задачу:
Даны две точки с координатами x1, y1, x2, y2. Определить, какая из двух точек находится ближе к началу координат.
x1, y1, x2, y2 – координаты двух точек (исходные данные)
d1, d2 – расстояния от каждой точки до начала координат (вспомогательные переменные)
![]()
результат – выведенная на экран строка:
Первая точка ближе (если d1<d2)
Вторая точка ближе (если d2<d1)
Задание 2. Составьте программу, определяющую, является ли сумма цифр данного четырехзначного числа n четным числом.


