02. Блок-схемы. Часть 2 — Условия (C# для новичков)

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

Существует старый анекдот:

“Зачем программист на ночь ставит два стакана рядом с кроватью? — Один с водой, на случай если он захочет попить, а второй пустой, на случай если не захочет.”

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

Условия в C# (да и в других языках программирования) обозначаются словами if (если), else if(если нет, но если) и else (иначе). Это не единственные способы объявления условия, но остановимся пока на них.

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

“Я обогащаю уран. Если всё в порядке, я продолжаю работу. Иначе, я исправляю проблему и продолжаю работу.”

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

Таким образом у нас появилось уже два варианта развития событий исходя из поставленного условия, причём это далеко не предел. Давайте рассмотрим более комплексный пример, с двумя условиями и тремя вариантами развития событий.

 

“Я обогащаю уран. Если всё в порядке, я продолжаю работу. Если нет (не в порядке), но если проблема не велика, я исправляю проблему и продолжаю работу. Иначе я бегу из страны.”

На картинке ниже, вы можете увидеть схему этого условия. Здесь у нас появился второй ромб с условием «Можно ли исправить проблему?», от которого так же идут стрелки — одна, если проблему можно устранить, а вторая если нет.

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

«Если я устал, то я лягу спать, а если нет то продолжу смотреть телевизор»

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

Именно поэтому про программистов и существуют шутки вроде той которую я описал в начале урока. Нам всё приходится измерять в формате «если да» и «если нет». Поэтому когда я хочу поменять лампочку я покупаю две — одну чтобы поменять, а вторую чтобы не поменять.

На этой ноте мы завершим урок про условия, а в следующем уроке мы поговорим про циклы (нет, не те о которых ты сейчас подумал!).

Далее: Блок-схемы. Часть 3 — Циклы

Поделитесь с друзьями:

Опубликовано migs

Добавить комментарий