для чего в программе нужны условные операторы
Условные операторы в Си
Условный оператор if
Условный оператор if может использоваться в форме полной или неполной развилки.
В случае неполной развилки если Условие истинно, то БлокОпераций1 выполняется, если Условие ложно, то БлокОпераций1 не выполняется.
БлокОпераций может состоять из одной операции. В этом случае наличие фигурных скобок, ограничивающих блок, необязательно.
Основными операциями, проверяемыми внутри условного блока, являются операции отношения.
Пример на C :
Результат выполнения
Оператор if может быть вложенным.
Результат выполнения
Логические операции в условных операторах
Условный оператор может проверять
Пример на Си : Найти максимум из 3 чисел
Пример на С++ : Найти максимум из 3 чисел
Тернарные операции
Тернарная условная операция имеет 3 аргумента и возвращает свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Синтаксис тернарной операции в языке Си
Тернарные операции, как и операции условия, могут быть вложенными. Для разделения вложенных операций используются круглые скобки.
Приведенный выше пример с использованием тернарных операций можно представить в виде
Оператор ветвления switch (оператор множественного выбора)
Общая форма записи
Оператор ветвления switch выполняется следующим образом:
Константы в опциях case должны быть целого типа (могут быть символами).
Условные операторы
Условные операторы – это конструкции, которые используют условные выражения для управления ходом выполнения программы.
Условный оператор if
Условный оператор if – используется в случаях, когда выполнение инструкции, или набора инструкций, зависит от некоторого логического выражения.
В языке C#, есть две формы условного оператора if: с неполным и полным ветвлением.
if с неполным ветвлением
Оператор с неполным ветвлением имеет следующий синтаксис:
Для выполнения нескольких инструкция, необходимо взять их в операторные скобки:
if с полным ветвлением
В операторе if с полным ветвлением, дополнительно используется ключевое слово else:
В оператор if, вместо инструкций можно вложить другие операторы ветвления, строя таким образом сложную логику работы приложения..
Пример использования оператора if
Рассмотрим задачу определения какой четверти координатной плоскости принадлежит точка с координатами (x, y). Будем считать, что точка не может лежать на осях.
Код программ для определения в какой четверти лежит заданная точка:
Тернарный оператор в качестве операндов может принимать другие тернарные операторы.
Если переписать код программы из предыдущего примера, с использованием тернарного оператора, то получим:
Как можно видеть, вся логика работы программы уместилась в одну строку кода.
Условный оператор switch
Конструкция switch позволяет сравнивать значение выражения сразу с несколькими вариантами.
Рассмотрим код, который конвертирует оценку пятибалльной шкалы из числа в текстовое представление:
С использованием switch код будет выглядеть так:
Выражение соответствия в скобках после switch, сравнивается с вариантами(метками), которые находяться за ключевым словом case. Если они эквивалентны, то выполняются инструкции до оператора break, который указывает на то, что нужно выйти из блока switch. В случае когда сравниваемое значение не соответствует ни одному из вариантов, выполняется блок default.
Для перехода с одного блока case в другой, можно использовать оператор goto case:
Блок default не обязательный. Если он не указан, а соответствия нет, то происходит выход из switch.
Использование break после операторов return, throw и goto case не обязательное.
Начиная с C# версии 7.0, выражение соответствия может быть любым выражением отличным от null. В предыдущих версиях языка допускались только: целочисленные, символьные, строковые, логические типы данных и перечисления.
Для чего в программе нужны условные операторы
В Паскале разветвляющиеся алгоритмы позволяет реализовать условный оператор. Условный оператор позволяет проверить некоторое логическое выражение и в зависимости от результатов проверки выполнить то или иное действие.
Структура условного оператора в полной форме имеет следующий вид:
IF (логическое выражение) THEN (оператор1) ELSE (оператор2);
Блок-схема условного оператора в полной форме:
В условном операторе после then, а также после else по синтаксису может стоять только один оператор. Если же при выполнении (или невыполнении)логического выражения надо выполнить не одно действие, а несколько, то их надо объединить в единый, составной оператор, т.е. заключить эту последовательность действий в операторные скобки.
Составной оператор имеет вид:
Перед служебным словом Else символ «;» не ставится. Структура условного оператора в неполной форме имеет следующий вид: IF (условие) THEN (оператор); Пример: If A then If A then begin Пример 1: | Программный код на языке Pascal: var n: integer; begin write (‘ Введите целое число : ‘); readln (n); //ввод переменной if n mod 2 = 0 then //определяется четность write (‘Оно четное’) //если выполняется условие четности выводится сообщение «Оно четное» else write (‘Оно нечетное’); //если не выполняется условие четности выводится сообщение «Оно нечетное» readln end |
Пример 2:
Даны два числа, найти наибольшее.
Упражнения «Программирование разветвляющихся алгоритмов»
1. Записать условие, которое является истинным, когда
· каждое из чисел X и Y нечетное;
· только одно из чисел X и Y меньше 20;
· хотя бы одно из чисел X и Y равно нулю;
2. Записать условие, которое является истинным, когда
· каждое из чисел А и В больше 100;
· только одно из чисел А и В четное;
· хотя бы одно из чисел А и В положительно;
· каждое из чисел А, В, С кратно трем;
· только одно из чисел А, В и С меньше 50;
· хотя бы одно из чисел А, В, С отрицательно.
3. Записать условие, которое является истинным, когда
1. целое А кратно двум или трем;
2. целое А не кратно трем и оканчивается нулем.
4. Записать условие, которое является истинным, когда
1. целое N кратно пяти или семи;
2. целое N кратно четырем и не оканчивается нулем.
5. Определите значение переменной С после выполнения фрагмента программы:
if А>В then С:=А+В else С:=А-В;
а) 100 b) 5 с) 105 d)95
6. Укажите правильную запись на языке Паскаль выражения, записанного на русском языке Х>=0 и Х>=3,25 и У
Условные операторы
Бывает, что в процессе выполнения программы требуется реализовать разный набор команд в зависимости от произошедших до этого событий. В языках программирования это достигается с помощью специальных конструкций – условных операторов.
Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.
Оператор if-else
Когда выполнение основной ветки программы доходит до условного оператора if-else, то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true, то выполняется один блок (в Паскале начинается со слова then), если false – то другой (начинается со слова else). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.
Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:
Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только в случая true логическом выражении заголовка. В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.
В примере ниже, если переменная имеет значение меньше нуля, то ее значение изменяется (находится модуль числа). Если же значение переменной изначально больше нуля, то блок кода при операторе if вообще не выполняется, т.к. не соблюдено условие (n Добавить комментарий
Изучаем C++. Часть 3. Ветвление и условные конструкции
Разбираемся, как сделать программу на C++ полезнее, чем обычный калькулятор.
Это третья часть из серии «Глубокое погружение в C++». В прошлый раз мы научились работать с данными: переменными, константами и операциями с ними. Сегодня поговорим о более сложных аспектах языка.
Полезные программы умеют выполнять различные инструкции в зависимости от обстоятельств. Например, браузер отображает сайт, если всё успешно загрузилось, или сообщает об ошибке, если что-то пошло не так. Это называется ветвлением.
Ветвление в программе может быть таким:
Нет ни одной IT-сферы, где не нужно проверять какие-то условия, чтобы выполнить определённые действия: от робототехники до игр. Давайте разбираться, что такое условные конструкции, какими они бывают и как ими пользоваться.
Пишет о программировании, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Логические операции в C++
Есть тип данных bool (булев тип), в котором хранится значение либо истина, либо ложь. Благодаря ему и возможно ветвление.
Чтобы поместить в переменную булева типа какое-то значение, мы можем самостоятельно написать его (true или false) или ввести какое-либо логическое утверждение:
Дальше компьютер проверяет правдивость такого утверждения и возвращает результат.
Для написания таких утверждений необходимы логические операторы:
Вот несколько примеров:
При попытке вывести значение переменной result программа выведет 1 или 0.
ЗаданиеПопробуйте самостоятельно написать несколько логических утверждений и посмотреть, что покажет программа.
Конструкция if
Условная конструкция if позволяет выполнять инструкции только в том случае, если данное логическое утверждение верно. Записывается эта конструкция так:
После того как программа проверит утверждение, она выполнит (или не выполнит) всё, что написано внутри фигурных скобок. Вот пример программы с ветвлением:
Программа работает корректно, но такой код сложно читать из-за большого количества условных конструкций. Чтобы упростить запись, можно использовать оператор else (иначе).
Else используется, чтобы сказать компьютеру, какие инструкции нужно выполнить, если проверяемое утверждение было ложным.
Если нужно проверить несколько условий, то воспользуемся оператором else if.
Программа сначала проверит первое условие и, если оно ложно, будет проверять следующие за ним else if. Если ни одно из условий не было верным, выполняются инструкции внутри else, поэтому оно всегда должно стоять в конце.
Вы можете размещать условные конструкции внутри других условных конструкций:
Есть и более короткие варианты записи. Например, если должна быть выполнена только одна инструкция, то фигурные скобки лучше опустить:
Запись можно сократить ещё сильнее, если вы используете условие, чтобы указать значение для переменной:
Получается запись вида:
Задание Попробуйте написать как можно больше условных конструкций, перед тем как продолжать чтение статьи, — эта тема очень важна.
Булева алгебра
Иногда нам необходимо проверить сразу несколько условий. Например, чтобы выйти на улицу, нужно убедиться, что нет дождя или у нас есть зонт. Чтобы завести машину, нам нужны ключ и бензин в баке.
Такие условия называются сложными, а для их проверки применяется булева алгебра. В C++ для этого есть следующие операторы:
Вот простая таблица, в которой показаны вводные данные и результаты их логических умножений и сложений:
A | B | && (И) | || (ИЛИ) |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 |
1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 |
С оператором НЕ всё ещё проще:
A | !A (НЕ A) |
---|---|
1 | 0 |
0 | 1 |
Вот несколько примеров использования таких операторов: