Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
karppaul
7 лет назад

Программирование для непрограммистов: три основы алгоритмов

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

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

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

Последовательное выполнение

Самое простое понятие. Шаги, которые выполняются последовательно. Сначала делаем первый шаг, потом второй, и так далее. Здесь всё просто, но нужно помнить, что порядок шагов может быть важен. Вот, например, простой алгоритм похода в магазин:

1) Одеться

2) Взять кошелёк

3) Дойти до магазина

Ветвление

Эта операция ещё называется "условный переход". Иногда нужно проверить какое-то логическое условие, чтобы понять, что делать дальше. Например, при расчёте того же среднего можно проверить, а сколько у нас значений вообще? А вдруг их ноль? Тогда ведь мы не сможем поделить на ноль: ошибка выйдет. 

Как это выглядит на примере похода в магазин:

1) Одеться

2) Взять кошелёк

3) Если идёт дождь - то взять зонт

4) Дойти до магазина

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

Если идёт дождь - то взять зонт, иначе взять солнцезащитные очки

То есть, мы совершаем одно действие, если условие выполняется, и другое - если не выполняется.

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

Цикл

Когда нам необходимо совершить много одинаковых действий, циклы приходят на помощь. Давайте сразу перейдём к примеру похода в магазин:

1) Одеться

2) Взять кошелёк

3) Идти в сторону магазина

4) Если не дошли до магазина - то повторить шаг 3

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

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

1) Одеться

2) Взять кошелёк

3) Пока не дошли до магазина - идти в сторону магазина

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

6
0.050 GOLOS
На Golos с June 2017
Комментарии (7)
Сортировать по:
Сначала старые