Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.
Алгоритм и синтаксис
Условный оператор позволяет выбрать и выполнить один из двух входящих в него операторов в зависимости от значения логического выражения.
if <логическое выражение>
then
<оператор 1>
else
<оператор 2>
Сначала вычисляется значение логического выражения, расположенного за служебным словом if. Если его результат ИСТИНА true, то выполняется <оператор 1>, расположенный после слова then, а действия после else пропускаются; если же результат ЛОЖЬ false, то, наоборот, действия после слова then пропускаются, а после else выполняется <оператор 2>.
Условный оператор может не иметь конструкции else, тогда он называется сокращенным условным оператором.
Простой пример
if (a>5)
then
b:=4
else
b:=6;
end;
Читается так: если if переменная a больше 5 (a>5), то then присвоить переменной b значение 4 b:=4, иначе (если переменная а меньше или равна пяти) присвоить переменной b значение 6 b:=6;.
Логическое выражение
Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:
- < - меньше, чем...
- > - больше, чем...
- <= - меньше, чем... или равно
- >= - больше, чем... или равно
- <> - не равно
- = - равно
Выражение, о котором после подстановки в него значений переменных можно сказать, истинно (верно) оно или ложно (неверно), называется булевым (логическим) выражением.
Составное логическое выражение
Логическое выражение может быть составным, для этого применяются следующие логические выражения:
- and - и
- or - или
- not - не
Например
if ((d < 0) or (d=13)) then
Читается так: если d меньше нуля или равен 13, то что-то делаем.
Операция not
Операция not (НЕ) имеет один операнд и образует его логическое отрицание. Результат операции not есть False, если операнд True, и True, если операнд имеет значение False.
if (not (a<15) or not (b<30)) then
Так же вместо логического выражения можно использовать логическую переменную.
Операторы
В качестве операторов <оператор 1> и <оператор 2> в ветвях условного оператора if может использоваться любой оператор языка Паскаль, но только один!
Составной оператор
Если возникает необходимость разместить там более одного оператора, следует использовать специальный составной оператор:
begin
<оператор 1>;
<оператор 2>;
...
<оператор N>
end;
Ключевые слова begin и end называются "операторными скобками" и позволяют линейню последовательность операторов представить в программе составным оператором
Каждый оператор, входящий в составной (<оператор 1>, <оператор 2> и т.д.), может быть в свою очередь простым, структурным или составным оператором.
Код программы для примера
program sostop;
var
x, y: real;
begin
writeln('Введите значеня Х');
read(x);
writeln('x =', x);
if abs(x) <= 1 then
begin
y := -x*x + 1;
writeln('y = ', y)
end
else
writeln('Функция не определена');
end.
И снова вы можете скачать файл с заданиями, чтобы попрактиковаться в использовании условного оператора.
Удачи!