Бывает, что в процессе выполнения программы требуется реализовать разный набор команд в зависимости от произошедших до этого событий. В языках программирования это достигается с помощью специальных конструкций – условных операторов.
Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.
Оператор if-else
Когда выполнение основной ветки программы доходит до условного оператора if-else, то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true, то выполняется один блок (в Паскале начинается со слова then), если false – то другой (начинается со слова else). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.
Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:
Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только в случая true логическом выражении заголовка. В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.
В примере ниже, если переменная имеет значение меньше нуля, то ее значение изменяется (находится модуль числа). Если же значение переменной изначально больше нуля, то блок кода при операторе if вообще не выполняется, т.к. не соблюдено условие (n Добавить комментарий
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Условный оператор в Паскале
До рассмотрения данной темы в основном использовались линейные алгоритмы в Паскале, характерные для весьма простых задач, когда действия (операторы) выполняются последовательно, одно за другим. Более сложные алгоритмы предусматривают использование конструкция ветвления.
Блок-схема условного оператора:
Условный оператор в Паскале имеет следующий синтаксис:
if условие then оператор;
Полный вариант:
if условие then оператор else оператор;
Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.

Составной оператор
Если при истинном условии необходимо выполнять несколько операторов, то их по правилам языка Pascal необходимо заключать в блок, начинающийся со служебного слова begin и заканчивающегося служебным словом end . Такой блок принято называть операторными скобками, а данную конструкцию — составным оператором:
Операторные скобки и составной оператор в Паскале:
if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;
Перевод с английского оператора условия облегчит понимание его использования:
| Вариант 1 | Вариант 2 |
![]() |
![]() |
Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:

Обратите внимание на то, как в данном примере выводится y . При выводе переменных типа real в pascal, можно использовать так называемый форматированный вывод, или запись с двумя двоеточиями:
y:6:2
— цифра после первого двоеточия ( 6 ) указывает на то, сколько знаков будет занимать число при выводе на экран
— цифра после второго двоеточия ( 2 ) указывает на то, сколько знаков после запятой вещественного числа будет выводиться
Таким образом, использование такой записи в pascal практически позволяет выполнить округление до сотых, тысячных и т.п.
Логические операции в Паскале (в логическом выражении)
Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.
- Логическая операция AND (И), поставленная между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия (должны быть истинными). Логический смысл операции — «конъюнкция».
- Поставленный между двумя условиями, знак OR (ИЛИ) говорит о том, что достаточно, если будет выполняться хотя бы одно из них (одно из двух условий истинно). Логический смысл операции — «дизъюнкция».
- На языке Паскаль XOR — знак логической операции, имеющий смысл «строгая дизъюнкция» и указывающий на то, что необходимо, чтобы одно из двух условий выполнялось (истинно), а другое — не выполнялось (ложно).
- Логическая операция NOT перед логическим выражением или переменной имеет смысл «отрицание» или «инверсия» и указывает на то, что если данная переменная или выражение истинны, то их отрицание — ложь и наоборот.
var n:integer; begin n:=6; if (n>5) and (n 7) or (n 7) xor (n 7) then writeln(‘истина’); end.
| Вариант 1 | Вариант 2 |
![]() |
![]() |
var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; if b>0 then writeln(‘true’) else writeln (‘false’) end.
Построение блок-схем по коду Паскаль
Теперь настало время вспомнить о том, что такое блок-схемы.
Блок схема — ориентированный граф, указывающий на последовательность операций, приводящую к решению поставленной задачи.
Существуют управляющие структуры трех типов:
следование |
ветвление |
повторение или цикл |
Две из трех представленных структур блок-схемы мы уже можем перевести в код Pascal.
Результат: 
Не могу разобраться, как это в Паскале.. .
Например есть ветвление, содержащее IF — ELSE IF — ELSE
Проблема с выделением блока кода (BEGIN — END).
IF then begin
end
ELSE IF .
Например на Python-е так:
if ( условие1 ):
       (операторы)
elif ( условие2 ):
     (операторы)
else:
     (операторы)
Вот можете наподобие этого примера объяснить, как это выглядит в Паскале? Заранее Спасибо 🙂
> dr.Drew
А вот если в коде встречается такой фрагмент:
if ( условие ) then begin
( операторы ) end
else begin if ( условие ) then ( операторы )
Это означает, что последний IF вложен в ветку ELSE, или, что это оператор IF ELSE?
Смотри на примерах:
if A = B then WriteLn(‘равно’) else WriteLn(‘неравно’);
После then и else по одному оператору. Значит операторные скобки не обязательны…
Хотя можно было сделать вот так:
if A = B then begin WriteLn(‘равно’); end
else begin WriteLn(‘неравно’); end;
Оба варианта 100% рабочие.
Но если нужно несколько операторов после then или else, то операторные скобки обязательны:
if A > B then begin A := A + B; B := A — B; A := A — B; end;
(В данном примере числовые значения A и B меняются без использования третьей переменной. )
Как видно из примера, внутри операторных скобок находятся 3 оператора!
Ещё операторные скобки иногда нужны для однозначности трактовки вложенных условий:




следование
ветвление
повторение или цикл