В каких случаях в программе используется полный условный оператор как он оформляется как он работает

На практике часто приходится при различных условиях выполнять определенные действия. Решить такую задачу помогает оператор условный оператор if. Он может быть записан полным или неполным ветвлением.

Полное ветвление записывается так:

С его помощью можно проверить истинность заданного условия. Если оно истинно – выполняется оператор 1, если ложно – оператор 2.

Неполное ветвление записывается так:

Если условие истинно – выполняется оператор 1, если ложно – оператор завершится.

Условия могут быть простые и составные.

Простые – это те, в которых содержится лишь одно условие, а составные включают несколько условий, связанных логическими выражениями and (И), or (ИЛИ), not (НЕ).

При этом части составного условия берутся в скобки:

Иногда необходимо выполнить несколько последовательных действий, в таком случае необходимо приписывать begin в начале последовательности и end; в конце.

Пример. Фрагмент программы с последовательностью действий при полном ветвлении будет выглядеть следующим образом:

#19. Тернарный условный оператор. Вложенное тернарное условие | Python для начинающих

При полном ветвлении после end, находящегося перед else, точку с запятой не ставим.

Пример. Мама отправила Петю в магазин за яблоками и сказала, чтобы он купил 25 яблок, ни больше ни меньше. Необходимо определить сколько яблок купил Петя (больше, меньше или сколько нужно).

Решение. Для решения данной задачи необходимо использовать условный оператор с полным ветвлением. На ввод поступает количество яблок, которые купил Петя.

Далее идёт проверка условия: количество яблок больше 25? Если нет, то проверяется следующее условие: количество яблок меньше 25? Если нет, то количество яблок соответственно равно 25.

Структура Case

Иногда для решения задач необходимо выбрать одно из заданных значений. Для того чтобы избежать массивных конструкций с множеством if и else, придумали оператор Case, он же оператор выбора. Принцип его действия прост:

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

Общий вид структуры Case выглядит следующим образом:

Источник: maximumtest.ru

Условный оператор и оператор выбора

Если бы все программы были линейными (их операторы выполнялись строго в однажды заданном порядке, без альтернатив), их возможности были бы сильно ограниченными. Несомненно, реальные задачи могут содержать множество альтернатив, и хочется, чтобы программа могла обрабатывать разные случаи и ситуации (вспоминая русские сказки: «направо пойдешь — коня потеряешь», «налево пойдешь…» и пр.).

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

Читайте также:
В чем назначение программы traffic generator

Java SE. Урок 10. Условный оператор if или оператор ветвления

Обычный вариант, содержащий записываемоме по правилам языка программирования условие, имеет две разновидности полную и сокращенную . В полной форме указывают два действия — первое, подлежащее выполнению, если условие выполняется, и второе — выполняемое, если условие ложно. Пример на языке Паскаль: IF D>=0 THEN VYCHKORNI() ELSE WRITELN(‘Действительных корней у данного уравнения нет’); В некоторых языках (например, Nemerle, какой-то из форм, сокращенной или полной, может не быть). Графически условный оператор принято изображать в виде ромба, в котором записывается условие, а из боковых углов исходят линии, соответствующие ветвям выполнения ДА и НЕТ (рис. 6). На блок-схеме видно условие P (предикат) и два действия, S1 и S2, подлежащие выполнению при истинности и ложности условия.

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

Пример на языке РАПИРА: ЕСЛИ ОСТДЕНЕГ>0 ТО ВЫДАТЬ_ДЕНЬГИ(); В качестве условия P могут выступать переменная специального логического типа или некоторое выражение, могущее быть истинным или ложным, например, в случае сравнения двух величин. Условие в операторе может быть и сложным, в нем могут присутствовать логические связки И, ИЛИ, НЕ.

В некоторых языках программирования применяется условный переход . В этом случае действием является передача управления оператору с заданным номером или помеченному указанной в операторе условного перехода меткой. В следующем примере в качестве действия, выполняемого при истинности условия, использован оператор перехода goto . Пример на языке Си: if (summa<0) goto oshibka; Любопытен так называемый арифметический условный оператор. В ранних версиях языка Фортран имелся лишь данный вариант условного оператора, который затем был дополнен описанными выше разновидностями. Выглядит он следующим образом: IF (E) Mneg , Mzero , Mpos . Здесь E – некоторое выражение, значение которого вычисляется (должно быть числом). Затем перечислены три метки программы, переход к которым происходит соответственно, если результат

40 меньше нуля, равен нулю и больше нуля. Ниже приводится пример фрагмента программы на Фортране, вычисляющей корни квадратного уравнения DN = B*B — 4*A*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 < 33 На практике встречаются случаи, когда возможных ситуаций не две, а больше (вспомним камень на развилке из сказки, обычно там предусмотрены три варианта).

Во многих языках программирования существует специальный оператор для поддержки подобных случаев — оператор выбора , или переключатель. Как правило, для ветвления используется набор допустимых значений некоторой переменной (заметим, что переменная должна быть перечислимого , например целого, типа), однако возможен и более универсальный вариант с возможностью указания произвольного условия для каждого варианта, подлежащего обработке. Каждому указанному в операторе выбора значению переменной сопоставляется своя ветвь выполнения программы. Еще одна ветвь может присутствовать для случая, если значение переменной, по которому производится выбор, не соответствует ни одному из указанных. Пример на языке Паскаль:

Источник: studfile.net

Уроки 37 — 38
Условный оператор. Сложные условия
§57. Ветвления

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

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

Для этой цели в языках программирования предусмотрены условные операторы. Например, для того чтобы записать в переменную М максимальное из значений переменных а и b, можно использовать оператор:

Видно, что запись на школьном алгоритмическом языке — это практически точный перевод записи ключевых слов языка Паскаль на русский язык. Обратите внимание, что в языке Паскаль перед ключевым словом else (иначе) точка с запятой не ставится.

В приведённом примере условный оператор записан в полной форме: в обоих случаях (истинно условие или ложно) нужно выполнить некоторые действия. Программа выбора максимального значения может быть написана иначе:

Читайте также:
Как в программе эксель создать формулу

Здесь использован условный оператор в неполной форме, потому что в случае, когда условие ложно, ничего делать не требуется (нет слова иначе и операторов после него).

Для того чтобы сделать текст программы более понятным, всё тело условного оператора сдвинуто вправо. Вообще говоря, это не обязательно: в Паскале вообще вся программа может быть записана в одну строку, а в школьном алгоритмическом языке важно только разбиение программы на строки, а отступы игнорируются. Тем не менее запись с отступами значительно повышает читаемость программ, и мы далее будем её использовать 1 .

1 В некоторых языках, например в языке Python, отступы обязательны и все строки одного уровня вложенности должны иметь одинаковые отступы.

Часто при каком-то условии нужно выполнить сразу несколько действий. Например, в задаче сортировки значений переменных а и b по возрастанию нужно поменять местами значения этих переменных, если а > b:

В школьном алгоритмическом языке форма записи совсем не меняется, а на Паскале после ключевого слова then нужно записать составной оператор, в котором между словами begin и end может быть сколько угодно команд.

Кроме знаков < , >в условиях можно использовать другие знаки отношений: = (больше или равно)» = (равно) и <> (не равно, два знака < , >без пробела).

Внутри условного оператора могут находиться любые операторы, в том числе и другие условные операторы. Например, пусть возраст Андрея записан в переменной а, а возраст Бориса — в переменной b. Нужно определить, кто из них старше. Одним условным оператором тут не обойтись, потому что есть три возможных результата: старше Андрей, старше Борис и оба одного возраста. Решение задачи можно записать так:

Условный оператор, проверяющий равенство, находится внутри блока иначе (else), поэтому он называется вложенным условным оператором. Как видно из этого примера, использование вложенных условных операторов позволяет выбрать один из нескольких (а не только из двух) вариантов.

При работе с вложенными условными операторами в языке Паскаль нужно помнить правило: любой блок else относится к ближайшему предыдущему оператору if, у которого такого блока ещё не было. Например, оператор

может быть записан с выделением структуры так:

Здесь второй блок else относится к ближайшему (второму, вложенному) условному оператору, поэтому буква Б будет выведена только тогда, когда оба условия окажутся ложными.

Следующая страница Сложные условия

Cкачать материалы урока

Источник: xn—-7sbbfb7a7aej.xn--p1ai

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru