Ветвление. Условный оператор
Ход выполнения программы может быть линейным, то есть таким, когда выражения выполняются друг за другом, начиная с первого и заканчивая последним. Ни одна строка кода программы не пропускается.
Однако чаще в программах бывает не так. При выполнении кода, в зависимости от тех или иных условий, некоторые его участки могут быть опущены, в то время как другие – выполнены. Иными словами, в программе может присутствовать ветвление, которое реализуется условным оператором – особой конструкцией языка программирования.
Проведем аналогию с реальностью. Человек живет по расписанию. Можно сказать, расписание – это алгоритм для человека, его программный код, подлежащий выполнению. В расписании на 18.00 стоит поход в бассейн. Однако экземпляр биоробота класса Homo sapiens через свои рецепторы-сенсоры получает информацию, что воду из бассейна слили. Разумно было бы отменить занятие по плаванию, то есть изменить ход выполнения программы-расписания. Одним из условий посещения бассейна должно быть его функционирование, иначе должны выполняться другие действия.
Подобная нелинейность действий может быть реализована в компьютерной программе. Например, часть кода будет выполняться лишь при определенном значении конкретной переменной. В языках программирования используется приблизительно такая конструкция условного оператора:
if логическое_выражение
Перевести на человеческий язык можно так: если логическое выражение возвращает истину, то выполняются выражения внутри фигурных скобок; если логическое выражение возвращает ложь, то код внутри фигурных скобок не выполняется. С английского «if» переводится как «если».
Конструкция if логическое_выражение называется заголовком условного оператора. Выражения внутри фигурных скобок – телом условного оператора. Тело может содержать как множество выражений, так и всего одно.
Пример использования условного оператора в языке программирования Python:
if n 100: a = a + b
В Питоне вместо фигурных скобок используется двоеточие. Обособление вложенного кода, то есть тела оператора, достигается за счет отступов. В программировании принято делать отступ равным четырем пробелам. Можно использовать клавишу табуляции ( Tab ) на клавиатуре.
Большинство сред программирования автоматически создают отступ, как только вы поставите двоеточие и перейдете на новую строку. Однако при работе в интерактивном режиме отступы надо добавлять вручную.
Нахождение в теле условного оператора здесь обозначается тремя точками. При создании файла со скриптом таких точек быть не должно, как и приглашения >>> .
Python считается языком с ясным синтаксисом и легко читаемым кодом. Это достигается сведением к минимуму таких вспомогательных элементов как различные скобки и точка с запятой. Для разделения выражений используется переход на новую строку, а для обозначения вложенных выражений – отступы от начала строки. В других языках данный стиль программирования также используется, но лишь для удобочитаемости кода человеком. В Питоне же такой стиль возведен в ранг синтаксического правила.
Данный пример вырван из контекста и сам по-себе не является рабочим. Полная версия программы могла бы выглядеть так:
a = 50 b = 10 n = 98 if n 100: a = a + b print(a)
Последняя строчка кода print(a) уже не относится к условному оператору, что обозначено отсутствием перед ней отступа. Она не является вложенной в условный оператор, значит, не принадлежит ему.
Поскольку переменная n равна 98, а это меньше 100, то a станет равной 60. Это значение будет выведено на экран. Если переменная n изначально была бы связана, например, со значением 101, то на экран было бы выведено 50. Потому что при n , равной 101, логическое выражение в заголовке условного оператора вернуло бы ложь. Значит, тело не было бы выполнено, и переменная a не изменилась бы.
Структуру программы можно изобразить следующим образом:
Основная ветка программы выполняется всегда, а вложенный код лишь тогда, когда в темно-зеленой строчке, обозначающей заголовок условного оператора, случается истина.
Для небольших программ иногда чертят так называемые блок-схемы, отражающие алгоритм выполнения. В языке блок-схем различные части кода обозначаются своими фигурами. Так блоку последовательно выполняемых действий соответствует прямоугольник, ветвлению – ромб. Для кода выше блок-схема может выглядеть так:

Условный оператор может включать не одну ветку, а две, реализуя тем самым полноценное ветвление.

В случае возврата логическим выражением False поток выполнения программы не возвращается сразу в основную ветку. На случай False существует другой вложенный код, отличный от случая True . Другими словами, встретившись с расширенной версией условного оператора, поток выполнения программы не вернется в основную ветку, не выполнив хоть какой-нибудь вложенный код.
В языках программирования разделение на две ветви достигается с помощью добавления блока else, получается так называемое if–else (если-иначе). Синтаксис выглядит примерно так:
if логическое_выражение < выражение 1; выражение 2; … >else
Если условие при инструкции if оказывается ложным, то выполняется блок кода при инструкции else . Ситуация, при которой бы выполнились обе ветви, невозможна. Либо код, принадлежащий if , либо код, принадлежащий еlse . Никак иначе. В заголовке else никогда не бывает логического выражения.
Пример программы с веткой else на языке Python:
tovar1 = 50 tovar2 = 32 if tovar1 + tovar2 > 99: print("99 рублей недостаточно") else: print("Чек оплачен")
Следует иметь в виду, что логическое выражение при if может выглядеть нестандартно, то есть не так просто, как a > b и тому подобное. Там может стоять просто одна переменная, число, слово True или False , а также сложное логическое выражение, когда два простых соединяются через логически and или or .
a = ? if a: a = 1
Если вместо знака вопроса будет стоять 0, то с логической точки зрения это False , значит выражение в if не будет выполнено. Если a будет связано с любым другим числом, то оно будет расцениваться как True , и тело условного оператора выполнится. Другой пример:
a = 5 > 0 if a: print(a)
Здесь a уже связана с булевым значением. В данном случае это True . Отметим, что в выражении a = 5 > 0 присваивание выполняется после оператора сравнения, так что подвыражение 5 > 0 выполнится первым, после чего его результат будет присвоен переменной a . На будущее, если вы сомневаетесь в последовательности выполнения операторов, используйте скобки, например так: a = (5 > 0) .
if a > 0 and a b: print(b - a)
Тут, чтобы вложенный код выполнился, a должно быть больше нуля и одновременно меньше b . Также в Питоне, в отличие от других языков программирования, позволительна такая сокращенная запись сложного логического выражения:
if 0 a b: print(b - a)
Практическая работа
- Напишите программу, которая просит пользователя что-нибудь ввести с клавиатуры. Если он вводит какие-нибудь данные, то на экране должно выводиться сообщение «ОК». Если он не вводит данные, а просто нажимает Enter , то программа ничего не выводит на экран.
- Напишите программу, которая запрашивает у пользователя число. Если оно больше нуля, то в ответ на экран выводится число 1. Если введенное число не является положительным, то на экран должно выводиться -1.
Примеры решения и дополнительные уроки в pdf-версии курса
X Скрыть Наверх
Python. Введение в программирование
Как на языке python записывается полное и неполное ветвление
УПС, страница пропала с радаров.
*размещая тексты в комментариях ниже, вы автоматически соглашаетесь с пользовательским соглашением
Вам может понравиться Все решебники
Латюшин, Шапкин
Рабочая тетрадь
Колесов, Маш, Беляев
Атанасян 7-9 класс
Атанасян, Бутузов
Бунимович, Кузнецова, Минаева
Рабочая тетрадь
Колягин, Ткачёва, Фёдорова
©Reshak.ru — сборник решебников для учеников старших и средних классов. Здесь можно найти решебники, ГДЗ, переводы текстов по школьной программе. Практически весь материал, собранный на сайте — авторский с подробными пояснениями профильными специалистами. Вы сможете скачать гдз, решебники, улучшить школьные оценки, повысить знания, получить намного больше свободного времени.
Главная задача сайта: помогать школьникам и родителям в решении домашнего задания. Кроме того, весь материал совершенствуется, добавляются новые сборники решений.
Теоретический материал по теме «Полное и неполное ветвление» для языков программирования Паскаль и Питон


Презентация к уроку информатики по теме «Полное и неполное ветвление» по основам программирования на языке Паскаль или Питон.
Полное и неполное ветвление. Основы программирование Паскаль и Питон_.pptx
Полное и неполное ветвление Основы программирование

Полное и неполное ветвление
Основы программирование
На Паскале и Питоне
Разработчик: Черевичкина И.Н.
Конструкция «Полное ветвление»

Конструкция «Полное ветвление»
IF A>B THEN
Begin D:=A+B end
ELSE
Begin D:=ABS(A+B) end;
Конструкция «Неполное ветвление»
Алгоритмическая конструкция «Ветвление»
Синтаксис оператора ветвления на

Синтаксис оператора ветвления на
If (условие) THEN
begin действие 1; действие2; end
ELSE
begin действие 3; действие 4; end;
Если (условие), то Блок действий1 , иначе Блок действий_2
if (условие):
действие 1
действие2
else:
действие 3
действие 4
Оператор IF (УСЛОВИЕ).. THEN[…ELSE] —
![Оператор IF (УСЛОВИЕ).. THEN[…ELSE] -](https://fs.znanio.ru/d5aff2/c7/1e/c41dde5a08f14f47d71de4779ade0b130b.jpg)
Оператор IF (УСЛОВИЕ).. THEN[…ELSE] — УСЛОВНЫЙ оператор.
Условия в программировании пишутся при помощи знаков сравнения:
С двух сторон от знака сравнения могут стоять ПЕРЕМЕННЫЕ или ВЫРАЖЕНИЯ (функции или числовые).
Результат сравнения всегда логический: TRUE (Истина) или FALSE (Ложь).
В зависимости от результата условия при ИСТИНЕ оператор выполняет команды веточки THEN, а при ЛЖИ – веточки ELSE, если она есть.
IF A >15 THEN WRITE(‘ЧИСЛО’,A,’>15’)
ELSE WRITE(‘ЧИСЛО ‘,A,’не больше 15’) ;
При А=9 результат ложь
Оператор if (УСЛОВИЕ): .. […else] —
![Оператор if (УСЛОВИЕ): .. […else] -](https://fs.znanio.ru/d5aff2/f3/21/fda1619c5966bff338c0a83cdd25f82366.jpg)
Оператор if (УСЛОВИЕ): .. […else] — УСЛОВНЫЙ оператор.
Условия в программировании пишутся при помощи знаков сравнения:
> — больше
< - меньше
>= — больше, либо равно
!= — не равно
== — равно
С двух сторон от знака сравнения могут стоять ПЕРЕМЕННЫЕ или ВЫРАЖЕНИЯ (функции или числовые).
Результат сравнения всегда логический: TRUE (Истина) или FALSE (Ложь).
В зависимости от результата условия при ИСТИНЕ оператор выполняет команды веточки «Да» (истина), а при ЛЖИ – веточки else, если она есть.
if A >15:
print(‘ЧИСЛО’,A,’>15’)
else:
print(“ЧИСЛО “ ,A,’не больше 15’) ;
Python: запись полного и неполного ветвления на языке Python
Как на языке Python записывается полное и неполное ветвление?
На языке Python для записи полного и неполного ветвления используется условный оператор if и операторы сравнения.
Полное ветвление:
Полное ветвление выполняется, когда у нас есть блок кода, который должен выполниться только в случае, когда условие истинно. Если условие ложно, то блок кода пропускается. Пример использования полного ветвления:
score = 80 if score >= 90: print("Отличная оценка!") else: print("Хорошая оценка!")
Неполное ветвление:
Неполное ветвление выполняется, когда у нас есть блок кода, который должен выполниться только в случае, когда условие истинно. Если условие ложно, то блок кода пропускается, и выполнение программы продолжается далее. Пример использования неполного ветвления:
age = 18 if age >= 18: print("Вы достигли совершеннолетия!") print("Добро пожаловать!")
В этих примерах if проверяет условия (score >= 90 и age >= 18) и выполняет соответствующий блок кода, если условие истинно. Если условие не выполняется, то соответствующий блок кода пропускается.
Детальный ответ
В языке Python полное и неполное ветвление осуществляется с помощью конструкции условного оператора «if». Этот оператор позволяет выполнять определенный блок кода только в том случае, если определенное условие истинно. Полное ветвление представляет собой конструкцию с ключевыми словами «if», «elif» и «else». Эта конструкция позволяет проверить несколько условий последовательно и выполнить соответствующий блок кода только для первого удовлетворенного условия.
if условие1: # Блок кода выполняется, если условие1 истинно elif условие2: # Блок кода выполняется, если условие1 ложно, а условие2 истинно else: # Блок кода выполняется, если предыдущие условия ложны
Неполное ветвление представляет собой конструкцию с ключевыми словами «if» и «else». В этом случае выполняется только один из двух блоков кода, в зависимости от истинности условия.
if условие: # Блок кода выполняется, если условие истинно else: # Блок кода выполняется, если условие ложно
age = 20 # Полное ветвление if age < 18: print("Вы несовершеннолетний") elif age >= 18 and age < 65: print("Вы взрослый") else: print("Вы пожилой человек") # Неполное ветвление if age >= 18: print("Вы совершеннолетний") else: print("Вы несовершеннолетний")
В обоих примерах используется переменная «age», которая хранит возраст человека. В первом примере мы проверяем возраст и выводим соответствующее сообщение, в зависимости от условия. Во втором примере мы проверяем, является ли человек совершеннолетним или нет, и выводим соответствующее сообщение. Таким образом, полное и неполное ветвление позволяют управлять выполнением кода в зависимости от условий и делают Python гибким языком программирования.
