Программа с условным оператором это

Способность управлять программным потоком позволяет делать выборочное выполнение отдельных участков кода, а это весьма ценная особенность программирования. Оператор выбора if позволяет нам выполнять или не выполнять определенные участки кода ,в зависимости от того является ли истинным или ложным условие этого оператора. Одно из самых важных назначений оператора выбора if так это то, что он позволяет программе совершить действие на выбор, в зависимости от того, какие данные ввел пользователь. Банальный пример использования if — это проверка введенного пользователем пароля, если пароль правильный, программа разрешает пользователю совершить какое-то действие, если пароль введен неправильный, то программа не позволит пользователю получить доступ к ограниченным ресурсам.

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

Читаем программы с условным оператором | Информатика ОГЭ 2022 | Умскул

Перед тем как начать разбираться в структуре оператора if , стоит обратить внимание на такие значения как ИСТИНА и ЛОЖЬ в контексте программирования и компьютерной терминологии.

Истинное значение ( ИСТИНА ) имеет значение отличное от нуля, ЛОЖЬ эквивалентна нулю. При использовании операторов сравнения, оператор будет возвращать единицу, если выражение сравнения — истинно, или — 0, если условное выражение ложно. Например, выражение 3 == 2 вернет значение 0, так как три не равно двум. Выражение 5 == 5 оценивается как истинное и вернет значение 1. Если вам сложно это понять, попробуйте сделать вывод на экран этих выражений, например: printf ( «%d», 7 == 0 );

В процессе программирования, часто приходится сравнивать одни переменные с другими и на основе этих сравнений управлять программным потоком. Есть цэлый список операторов, который позволяет выполнять сравнения, вот он:

== равно 5 == 5 это истина
!= не равно 3 != 2 и это истина
> больше 7 > 6 — истина
>= больше или равно 1 >= 1 истина
меньше 5 < 5 — ложь
меньше или равно 3

Скорее всего вы знакомы с этими операторами сравнения, но на всякий случай, я показал их в таблице выше. Они не должны быть сложными для вашего понимания, большинство из этих операторов вы изучили в школе на уроках математики. Теперь вы понимаете, что такое ИСТИНА и ЛОЖЬ , пора испытать оператор выбора if в бою. Структура if :

Задание 6. Программа с условным оператором. ОГЭ. Информатика. 9 класс


if ( условное выражение ) // тут располагается один оператор, который выполнится, если условное выражение — истинно

Вот вам простой пример использования оператора if :

if ( 7 > 6 ) printf( «Семь больше шести» );

В этом примере программа оценивает условное выражение — «семь больше шести?» Чтобы увидеть результат работы этого фрагмента кода просто вставьте его в функцию main() и не забудьте включить заголовок stdio.h , запускаем программу и видим результат — true . Конструкция оператора выбора if c фигурными скобочками:

if ( TRUE ) < /* весь код который помещен внутрь скобок — выполнится */ >

Если не использовать фигурные скобочки, то к телу оператора if будет относиться только один, первый оператор. Если же необходимо управлять несколькими операторами, то необходимо поместить их в фигурные скобочки. Я рекомендую всегда ставить скобки, после объявления if — это хороший тон программирования и вы никогда не запутаетесь в своем коде, так как такое объявление наиболее понятное.

Читайте также:
Как удалить программу Outlook с компьютера

Оператор else

Иногда, когда условное выражение — ложное, было бы удобно, чтобы выполнялся некоторый код, отличный от того кода ,который выполняется при ИСТИННОМ условии. Как же это делается?
Вот пример использования оператора if else :

if ( TRUE ) < /* выполняется этот код ,если условие истинно */ >else < /* выполняется этот код ,если условие ложно */ >

Конструкция else if

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

Вы можете использовать оператор if else сразу после оператора выбора if , после его тела. В таком случае, если условие первого оператора выбора — ИСТИННО , тогда конструкция else if будет игнорироваться, тогда как в противном случае, если условие первого оператора выбора — ЛОЖНО , начнет выполнятся проверка в конструкции else if . То есть если условие одного оператора if будет истинно, то другие проверяться не будут. Теперь чтобы все это хорошо закрепить в голове и понять, давайте рассмотрим простой пример с использование конструкций операторов выбора.

#include #include int main() < int age; // без переменной никак. printf( «Сколько вам лет? » ); // спрашиваем пользователя о его возрасте scanf( «%d», // ввод пользователем количества лет if ( age < 100 ) < // если введенный возраст меньше 100 printf («Вы очень молоды!n» ); // просто показываем что программа сработала верно. >else if ( age == 100 ) < // используем else для примера printf( «Молодость уже позадиn» ); // n — символ перевода на новую строку. >else < printf( «Столько не живутn» ); // если ни одно из выше-перечисленных условий не подошло, то программа покажет этот вариант ответа >return 0; >

Рассмотрим интересные условные выражения с использование логических операторов.

Логические операторы позволяют создавать более сложные условные выражения. Например, если вы хотите проверить, является ли ваша переменная больше 0 но меньше 10, в таком случае вам достаточно воспользоваться логическим оператором — И. Вот так это делается — var > 0 and var < 10 . В языке СИ есть точно такой же же оператор, только обозначается он иначе — .
При использовании операторов if часто необходимо проверить несколько различных условий, поэтому очень важно понимать логические операторы OR, NOT и AND. Логические операторы работают точно так же как и операторы сравнения: они возвращают 0, если имеют ложное значение или 1, если логическое выражение — истинное.
Подробнее о логических операциях вы можете прочитать в этом разделе по С++.

Источник: cppstudio.com

7.2 – Операторы if и блоки

Первая категория инструкций управления порядком выполнения программы, о которой мы поговорим, – это условные операторы. Условный оператор – это оператор, который указывает, следует ли выполнять какие-то связанные с ним инструкции.

C++ поддерживает два основных типа условных операторов: операторы if (которые мы представили в уроке «4.10 – Знакомство с операторами if », и о которых мы поговорим далее) и операторы switch (которые мы рассмотрим через пару уроков).

Краткое описание оператора if

Самый базовый тип условных операторов в C++ – это оператор if . Оператор if принимает форму:

if (условие) инструкция_выполняемая_если_условие_истинно;

или с необязательным оператором else :

if (условие) инструкция_выполняемая_если_условие_истинно; else инструкция_выполняемая_если_условие_ложно;

Если условие истинно, выполняется инструкция_выполняемая_если_условие_истинно . Если условие вычисляется как ложное, и есть необязательный оператор else , выполняется инструкция_выполняемая_если_условие_ложно .

Вот простая программа, которая использует оператор if с необязательным оператором else :

#include int main() < std::cout ; std::cin >> x; if (x > 10) std::cout

Эта программа работает так, как вы ожидаете:

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

Enter a number: 15 15 is greater than 10
Enter a number: 4 4 is not greater than 10

if или else с несколькими инструкциями

Начинающие программисты часто пробуют сделать что-то вроде этого:

#include int main() < std::cout ; std::cin >> x; if (x > 140) std::cout

Однако посмотрим, что выведет программа при запуске:

Enter your height (in cm): 180 You are tall enough to ride. Too bad!

Эта программа работает не так, как ожидалось, потому что инструкция_выполняемая_если_условие_истинно и инструкция_выполняемая_если_условие_ложно могут быть только одной инструкцией. Отступ здесь нас обманывает – приведенная выше программа выполняется так, как если бы она была написана следующим образом:

#include int main() < std::cout ; std::cin >> x; if (x > 140) std::cout

Это проясняет, что « Too bad! » будет выводиться всегда.

Однако часто возникает необходимость выполнить несколько инструкций на основе какого-либо условия. Для этого мы можем использовать составную инструкцию (блок):

#include int main() < std::cout ; std::cin >> x; if (x > 140) std::cout return 0; >

Помните, что блоки обрабатываются как одна инструкция, поэтому теперь всё работает как положено:

Enter your height (in cm): 180 You are tall enough to ride.
Enter your height (in cm): 130 You are not tall enough to ride. Too bad!

Вставлять или не вставлять в блоки одиночные инструкции

В сообществе программистов ведутся споры о том, должны ли одиночные инструкции, следующие за if или else , явно заключаться в блоки или нет.

Обычно это объясняется двумя причинами. Сначала рассмотрим следующий фрагмент:

if (age >= 21) purchaseBeer();

Теперь предположим, что мы торопимся и изменяем эту программу, чтобы добавить еще одну способность:

if (age >= 21) purchaseBeer(); gamble(); // будет выполняться всегда

К сожалению, мы разрешили несовершеннолетним играть в азартные игры. Удачи в тюрьме!

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

if (age >= 21) addBeerToCart(); checkout();

Допустим, мы подозреваем, что с функцией addBeerToCart() что-то не так, поэтому закомментируем ее:

if (age >= 21) // addBeerToCart(); checkout();

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

Ни одна из этих проблем не возникает, если вы всегда используете блоки после операторов if или else .

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

Сообщество, похоже, больше поддерживает использование блоков всегда, чем их не использование, хотя эта рекомендация определенно не является повсеместной.

Лучшая практика

Рассмотрите возможность помещения одиночных инструкций, связанных с if или else , в блоки.

Альтернативный вариант – поместить одиночные инструкции в одну строку с if или else :

if (age >= 21) purchaseBeer();

Это позволяет избежать обоих упомянутых выше недостатков за небольшую плату за счет читабельности.

Неявные блоки

Если программист не объявляет блок в части инструкции оператора if или оператора else , компилятор неявно объявляет его сам. Таким образом:

if (условие) инструкция_выполняемая_если_условие_истинно; else инструкция_выполняемая_если_условие_ложно;
if (условие) < инструкция_выполняемая_если_условие_истинно; >else

В большинстве случаев это не имеет значения. Однако начинающие программисты иногда пытаются сделать что-то вроде этого:

#include int main() < if (true) int x< 5 >; else int x< 6 >; std::cout

Это не скомпилируется, так как компилятор выдаст ошибку, что идентификатор x не определен. Это потому, что приведенный выше пример эквивалентен:

#include int main() < if (true) < int x< 5 >; > // x уничтожается здесь else < int x< 6 >; > // x уничтожается здесь std::cout

Читайте также:
Какие программы есть при рождении ребенка

В этом контексте более ясно, что переменная x имеет область видимости блока и уничтожается в конце блока. К тому времени, когда мы дойдем до строки std::cout , x уже не будет существовать.

Программа с условным оператором это

Условные конструкции — один из базовых компонентов многих языков программирования, которые направляют работу программы по одному из путей в зависимости от определенных условий. Одной из таких конструкций в языке программирования C# является конструкция if..else

Конструкция if/else проверяет истинность некоторого условия и в зависимости от результатов проверки выполняет определенный код.

Ее простейшая форма состоит из блока if :

if(условие)

После ключевого слова if ставится условие. Условие должно представлять значение типа bool . Это может быть непосредственно значение типа bool или результат условного выражения или другого выражения, которое возвращает значение типа bool . И если это условие истинно (равно true ), то срабатывает код, который помещен далее после условия внутри фигурных скобок.

int num1 = 8; int num2 = 6; if(num1 > num2) < Console.WriteLine($»Число больше числа «); >

В данном случае у нас первое число больше второго, поэтому выражение num1 > num2 истинно и возвращает true , следовательно, управление переходит к строке Console.WriteLine(«Число больше числа «);

Если блок if содержит одну инструкцию, то мы можем его сократить, убрав фигурные скобки:

int num1 = 8; int num2 = 6; if (num1 > num2) Console.WriteLine($»Число больше числа «); // или так if (num1 > num2) Console.WriteLine($»Число больше числа «);

Также мы можем соединить сразу несколько условий, используя логические операторы:

int num1 = 8; int num2 = 6; if(num1 > num2 num1==8) < Console.WriteLine($»Число больше числа «); >

В данном случае блок if будет выполняться, если num1 > num2 равно true и num1==8 равно true .

Выражение else

Но что, если мы захотим, чтобы при несоблюдении условия также выполнялись какие-либо действия? В этом случае мы можем добавить блок else :

int num1 = 8; int num2 = 6; if(num1 > num2) < Console.WriteLine($»Число больше числа «); > else < Console.WriteLine($»Число меньше числа «); >

Блок else выполняется, если условие после if ложно, то есть равно false . Если блок else содержит толко одну инструкцию, то оять же мы можем его сократить, убрав фигурные скобки:

int num1 = 8; int num2 = 6; if(num1 > num2) Console.WriteLine($»Число больше числа «); else Console.WriteLine($»Число меньше числа «);

else if

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

int num1 = 8; int num2 = 6; if(num1 > num2) < Console.WriteLine($»Число больше числа «); > else if (num1 < num2) < Console.WriteLine($»Число меньше числа «); > else

При необходимости можно добавить несколько выражений else if :

string name = «Alex»; if (name == «Tom») Console.WriteLine(«Вас зовут Tomas»); else if (name == «Bob») Console.WriteLine(«Вас зовут Robert»); else if (name == «Mike») Console.WriteLine(«Вас зовут Michael»); else Console.WriteLine(«Неизвестное имя»);

Тернарная операция

Тернарную операция также позволяет проверить некоторое условие и в зависимости от его истинности выполнить некоторые действия. Она имеет следующий синтаксис:

[первый операнд — условие] ? [второй операнд] : [третий операнд]

Здесь сразу три операнда. В зависимости от условия тернарная операция возвращает второй или третий операнд: если условие равно true , то возвращается второй операнд; если условие равно false , то третий. Например:

int x=3; int y=2; int z = x < y ? (x+y) : (x-y); Console.WriteLine(z); // 1

Результат тернарной операции (то есть второй или третий операнд в зависимости от условия) присваивается переменной z.

Источник: metanit.com

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