Добро пожаловать в раздел "Основы программирования"

сайта "Try Objective-c - программирование для начинающих"!

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

  Если вы никогда раньше не программировали, то приступать к изучению абсолютно любого языка программирования следует именно с данных основ программирования - в противном случае понимание многих вещей в дальнейшем будет довольно затруднительно.

  Сам процесс обучения программированию довольно трудоемок, но если у вас есть цель - то у вас все получится!

  Заучивать весь представленный материал нет необходимости. Главное - чтобы вы понимали саму суть здесь изложенного.

» » 1.20 Оператор ветвления - if, комментарии

Категория:

Информация к новости
  • Просмотров: 7691
  • Автор: Midav
  • Дата: 10-10-2012, 00:34
10-10-2012, 00:34

1.20 Оператор ветвления - if, комментарии



Быстрая навигация:
Оператор ветвления - if
Оператор ветвления (или оператор условия) рассматривался нами когда мы знакомились с темой структурного программирования.

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


Схематичное изображение условного оператора if
1.20 Оператор ветвления - if, комментарии



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


Ветвление может быть:
- простейшим - когда по результату логического выражения выполняется КАКОЕ ТО действие (if)
- более сложным - когда выполняется ТО ИЛИ ИНОЕ действие (if - else)
- сложным - когда используются вложенные друг в друга операторы if (elif)


Кстати, в нашей с вами обычной жизни мы также повсеместно сталкиваемся с принятием решения на основе Булевой алгебры.

Например:
Если у меня хватит денег - я куплю картошки
Если денег не хватит - я пойду домой



В общем виде запись условного оператора if выглядит так:
- сначала идет ключевое слово if (от английского "если");
- затем – логическое выражение проверяемое на истинность высказывания (оно может быть заключено в круглые скобки), после которого ставится двоеточие, обозначающее конец заголовка оператора.
- затем – любая последовательность выражений (или тело условного оператора), которая будет выполняться в случае, если условие в заголовке оператора истинно.



одиночный if - "если"

- ЕСЛИ на улице идет дождь, я буду сидеть дома


Т.е. мы сперва проверяем условие: идет ли дождь.
- если дождь идет, то это является ИСТИНОЙ и мы выполняем конкретное действие - мы никуда не идем и сидим дома.

В виде программы это будет записано так:
if (идет дождь):
	сижу дома


В такой записи при ложности высказывания оператор не выполняется.

Пример:
number = 4
if number > 0:
    print("Данное число положительное")


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



if - else

"если - тогда"


Однако в данном варианте мы не можем ничего сделать в случае, если дождя нет, или у нас есть зонтик.
По условиям данного алгоритма не предусмотрено выполнения других шагов.
Чуть чуть изменим условие программы несколько усложнив ее позволяя произвести какое либо действие в случае, если условия ложно:
- ЕСЛИ на улице идет дождь, я буду сидеть дома
- ЕСЛИ дождя нет - ТОГДА я пойду на улицу


Теперь сперва мы проверяем условие: идет ли дождь.
- если дождь идет, то это является ИСТИНОЙ и я выполняю определенное действие согласно условию: никуда не иду.
- ЕСЛИ же дождя нет - я иду на улицу


В виде программы это будет записано так:
if (идет дождь):
	сижу дома 
else:
	иду на улицу


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

number = 4
if number > 0:
    print("Данное число положительное")
if number < 0:
    print("Данное число отрицательное")


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

Если 4 заменить на отрицательное число, то будет выведена вторая запись:
Данное число отрицательное



Однако выглядит этот код не очень хорошо... и мы модифицируем его следующим образом:
number_new = 4
if number_new > 0:
    print('Это число положительное!')
else:
    print('Это число отрицательное!')


Расшифровывается данный код так:
Если значение переменной number_new больше нуля - вывести сообщение: "Это число положительное!"; в противном случае вывести сообщение: "Это число отрицательное!"


elif (иначе если...)

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

Схематичное изображение if - elif
1.20 Оператор ветвления - if, комментарии


Описание данного варианта условных операторов:
if (Условие 1):
    Оператор 1
elif (Условие 2):
    Оператор 2
elif (Условие 3):
    Оператор 3
else:
    Оператор 4

Работает данная конструкция следующим образом:
- сначала проверяется первое условие и, если оно истинно, то выполняется первая последовательность выражения.
Далее программа выполняется за оператором 4, т.е. условия 2, 3 и 4 пропускаются.
- если первое условие ложно (Ложь, False) - проверяется второе условие (после первого elif в нашем коде) и в случае его истинности выполняется Оператор 2 и программа снова продолжает выполняться за оператором 4
- и так далее...
- до последней ветки с else выполнение программы доходит только в том случае, если все предшествующие условия оказались ложными.

Рассмотрим нашу предыдущую программу немного видоизмененную для того, чтобы проиллюстрировать использование условного оператора с альтернативными ветками.
number_null = 0
if number_null > 0:
    print('Это число положительное!')
elif number_null < 0:
    print('Это число отрицательное!')
else:
    print('Это число - ноль!')

1
Присваиваем переменной number_null любое из трех чисел: отрицательное, положительное или ноль.
В данном случае мы выбрали ноль.

2
Условный оператор проверяет истинность выражения в котором утверждается, что переменная number_null больше 0.

3
Если это условие истинно, то вызывается функция print() и на монитор выводится строка "Это число положительное!" и программа на этом завершается;

4
В противном случае проверяется истинность утверждения, что переменная number_null меньше 0.

5
Если это условие истинно, то вызывается функция print() и на монитор выводится строка "Это число отрицательное!" и программа на этом завершается;

6
Если все проверки оказались ложными, то выполняется последний оператор else и программа выводит сообщение о том, что значение переменной number_null - ноль! и завершается.


Поэкспериментируйте с данными вышеприведенных программных кодах...

Метки к статье: Python, оператор ветвления, условный оператор

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *