Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Оператор условного перехода в разных языках программирования

Определение 1

Оператор условного перехода — это оператор, который осуществляет исполнение тех или иных операций в зависимости от выполнения заданных условий.

Введение

Практически всегда при формировании программ исполнения какого-нибудь алгоритма возникает необходимость задания некоторого количества разных вариантов решения исходной задачи. Выбор одного из этих вариантов может осуществляться по результатам проверки выполнения некоторого условия. Реализовать такую процедуру можно при посредстве условных операторов, которые есть во всех языках программирования.

Оператор условного перехода в разных языках программирования.

Оператором условного перехода или просто условным оператором является конструкция, которая позволяет поставить исполнение тех или других процедур в зависимость от выполнения определённых условий. Существует несколько форматов условных операторов. Стандартный вариант, который содержит записываемое по правилам языка программирования условие, обладает двумя разновидностями, а именно, полной и сокращенной. В полном формате указывается следующая пара действий:

  • Первое, которое подлежит исполнению в случае, когда условие выполнено.
  • Второе, которое исполняется, если условие не выполнено.

Приведём пример применения условного оператора на языке Паскаль:

IF D>=0 THEN VYCHKORNI()

ELSE WRITELN («Действительных корней данное уравнение не имеет»);

В отдельных языках программирования, например, Nemerle, какой-то из форм, сокращенной или полной, может не быть.

В графическом формате условный оператор изображается в виде ромба, с записанным внутри него условием, а из боковых углов выходят линии, которые соответствуют ветвям выполнения ДА и НЕТ, как показано на рисунке ниже.

Условный оператор. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Условный оператор. Автор24 — интернет-биржа студенческих работ

На приведённой блок-схеме изображено условие P (предикат) и два действия, S1 и S2, которые подлежат исполнению при истинности и ложности условия.

«Оператор условного перехода в разных языках программирования» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

В сокращенном формате условного оператора указывается только действие, подлежащее выполнению в случае, когда условие является истинным. В противном случае просто никаких действий не исполняется, просто осуществляется передача управления следующему по очерёдности записи программы оператору.

Приведём пример на языке программирования РАПИРА:

ЕСЛИ ОСТДЕНЕГ>0 ТО ВЫДАТЬ_ДЕНЬГИ ();

В качестве условия P могут использоваться переменные специальных логических типов или определённое выражение, которое может быть истинным или ложным, к примеру, в варианте сравнения двух величин. В качестве условия в операторе может выступать сложное выражение, в котором могут использоваться логические связки И, ИЛИ, НЕ.

В отдельных языках программирования используется условный переход. В этом варианте действием будет передача управления оператору, имеющему определённый номер или отмеченному заданной в операторе условного перехода меткой. Приведём пример, где в качестве процедуры, выполняемой при истинности условия, применён оператор перехода goto. Например, на языке Си может быть такой вариант:

if (summa∠0) goto oshibka;

Существует ещё вариант так называемого арифметического условного оператора. В ранних версиях языка программирования Фортран присутствовал только этот вариант условного оператора, который позже был дополнен приведёнными выше вариантами. Он записывался следующим образом:

IF (E) Mneg, Mzero, Mpos.

Где E является некоторым выражением, значение которого может быть найдено путём вычислений (должно быть числом). Далее приведены три метки программы, переход к которым выполняется соответственно, если результат меньше нуля, равен нулю и больше нуля. Ниже приведён пример части программы на Фортране, которая вычисляет корни квадратного уравнения:

DN = BB - 4A*C

IF (DN) 90,10,10 10 D = SQRT(DN)

X1 = (-B + D) / (2*A)

X2 = (-B - D) / (2*A)

В языках класса ассемблера, как правило, не предусмотрено разветвление программы по условию одной командой. В них аналогичное действие разбивается на следующие фрагменты:

  1. Выполнение установки флагов процессора, которое осуществляется или автоматически при помощи арифметических и логических команд при равенстве результата нулю, переносе в следующий разряд, получении отрицательного значения, и в других подобных ситуациях, или при помощи применения специальных команд тестирования ячейки и сравнения двух величин.
  2. Реализация перехода по значению заданного условия (флага).

В случае если условие не выполнено, осуществляется переход к очередной. Приведём пример на языке ассемблера PDP-11:

BIT #1,A ; проверка первого разряда А BEQ KZ1; переход, если равен нулю

Или

CMP NOB,#33 ; сравнение NOB с числом 33 BLT KZ1; переход, если NOB

На практике могут повстречаться варианты, когда допустимых ситуаций не две, а большее количество. В очень многих языках программирования имеется специальный оператор, который поддерживает подобные случаи, и называется он оператором выбора, или переключателем. Обычно, для ветвления применяется перечень допустимых значений определённой переменной, которая должна быть перечислимого, к примеру, целого типа. Но возможен и более универсальный вариант, когда имеется возможность указать произвольные условия для каждого варианта, который подлежит обработке. Каждому указанному в операторе выбора значению переменной должна быть сопоставлена отдельная ветвь исполнения программы. Еще одна ветвь может быть добавлена для случая, когда значение переменной, по которому осуществляется выбор, не соответствует ни одному из указанных.

Приведём пример на языке программирования Паскаль:

case NUM of

0:writeln ('Нуль');

1:writeln ('Один');

2:writeln ('Два');

3:writeln ('Три');

4:writeln ('Четыре');

end;

Ещё пример на языке РАПИРА:

ВЫБОР ИЗ

А>Б: А-Б→A ! А=Б: 0 → Б !

А∠Б: Б-А→A

ИНАЧЕ ?"ТАК НЕ ДОЛЖНО БЫТЬ"

ВСЕ

Иногда в программе может возникать потребность в исполнении некоторых повторяющихся действий. Для этих целей могут быть использованы механизмы итерации и рекурсии.

Дата написания статьи: 11.08.2021
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot