На этой странице ниже смотрите и читайте
1 занятие видеокурса «Алгоритмическое мышление»

Видеокурс «Алгоритмическое мышление»

Глава 1. Что такое алгоритмическое мышление?
1.1 Отличия алгоритмического мышления

Начнем мы с того, что обсудим, для кого этот курс и что вы получите, когда этот курс пройдете. Дело в том, что существует несколько видов мышления.

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

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

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

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

Житейская логика подразумевает процесс сканирования. То есть вы зашли куда-то и начинаете искать глазами чайник, заварку, сахар, одноразовые чашки, ложки, вы начинаете смотреть по сторонам. Чем отличается алгоритмическое мышление? А теперь представьте, что там есть автомат для приготовления, куда бросаешь монетки и можно получить напиток, чем отличается? Здесь у нас есть процесс сканирования, а в алгоритмическом мышлении есть заданность. Вот это очень важный момент, вот этот автомат для продажи чего-то уже в себе всё содержит, уже всё дано.

Второй момент – случайное выполнение. Это значит, что вы решили приготовить себе чай и что вы первое сделаете? Нальете себе кипяток, а потом туда пакетик с чаем или вы сначала положите пакетик с чаем в кружку, а потом нальете кипяток? Сахар после или в самом начале, в какой последовательности? Для житейской логики без разницы, происходит случайное выполнение. В алгоритмическом мышлении такой вольности нет в принципе, там есть четкая последовательность. Но на самом деле эти составляющие еще не ключевые, а сейчас мы рассмотрим ключевые.

Вот представьте, вы начали какой-то процесс, например, лить кипяток и одновременно начнете размешивать ложечкой, то есть вы делаете одновременно два процесса: одной рукой льете, другой размешиваете, это нормально. Здесь некоторая параллельность – это житейская логика. Так вот, главный принцип алгоритмического мышления – это дискретность. Что это значит? Вот это очень важный момент, теперь начинаем уже некоторое формальное объяснение.

Итак, алгоритм – это некоторая последовательность операций для достижения результата, при этом каждая операция называется «шагом алгоритма» и у этой последовательности есть первая важнейшая составляющая – дискретность. Дискретность – в переводе «прерывность», это значит, что сначала выполняется один шаг и во время этого выполнения шага исполнитель или программа ничего другого не делают, они выполняют только шаг алгоритма. Это значит, что в алгоритмическом мышлении если написано «налить кипяток» - это значит ничего больше не происходит, с момента начала наливания кипятка и до момента окончания ничего больше не происходит, дискретность, отделяется один шаг от другого.

Теперь дальше, если мы говорим о житейской логике, предположим, ктото у вас с этим чаем задает вопрос: вам чай какой сделать? Покрепче или как? И в житейской логике появляется неопределенность. Что такое «чай покрепче» или «не надо слишком сладко»? Непонятно. Так вот в алгоритмах пункт называется «однозначность». В алгоритме должно быть написано «положи два кусочка сахара/две ложки сахара/две ложки такого-то размера сахара» или «заваривать 2 минуты», абсолютная однозначность, никаких отступлений быть не может и это уже очень сильно отличается от нашей житейской логики.

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

Так вот в алгоритмическом мышлении последний пятый пункт – это результативность. Это значит, что в конце этого алгоритма, когда он полностью закончен, то может быть только два варианта или результата, который вам нужен. Если это кофейный автомат, то он нальет вам чай, кофе или какао ровно столько, сколько в нем заложено, соответственно, столько сахара, сколько нужно, столько сливок, сколько нужно и так далее. То есть он получит готовый результат. Или другой вариант алгоритма – он выдаст сообщение об ошибке, то есть на экране этого автомата появится, что автомат неисправен. Никаких других вариантов быть не может, либо мы получаем результат, либо сообщение об ошибке. И вот эти вот три принципа - дискретность, однозначность и результативность и являются главными признаками алгоритмического мышления.

Теперь возникает важный вопрос: легко ли овладеть алгоритмическим мышлением? Житейской логике нас учат с детства и для нас она самоочевидна. Когда вы только начинаете изучать алгоритмы, только изучаете сам принцип, когда решения дискретны, однозначны и результативны, то это кажется каким-то странным, невозможным способом решения проблемы. Но через какое-то время, когда вы начнете кататься на велосипеде, то для вас это становится автоматическим, простым, вы даже не задумываетесь, берете велосипед и едете.

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

Подведем итоги.

(Чтобы увеличить изображение выше, нажмите на него)

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

И у алгоритма есть свойства:

1. Дискретность (прерывность) – каждый шаг выполняется отдельно.
2. Однозначность (ясность) – каждый шаг описывается максимально
точно.
3. Результативность – за конечное число шагов алгоритм должен:

-или привести к результату,
-или сообщить об ошибке.

Закажите полный видеокурс
«Алгоритмическое мышление» и узнайте:

Глава 1. Что такое алгоритмическое мышление?

1.1 Отличия алгоритмического мышления (на этой странице)
1.2 Рецепт как пример алгоритма
1.3 Google Apps
1.4 Ручная работа с электронной таблицей

Глава 2. Запись алгоритмов

2.1 Критерии оценки алгоритма
2.2 Блок-схемы
2.3 Google Apps Script
2.4 Минимальная программа GAS

Глава 3. Состав алгоритмов

3.1 Основные блоки алгоритмов
3.2 Вычисление
3.3 Условие
3.4 Цикл

Глава 4. Вложенные алгоритмы

4.1 Декомпозиция задачи
4.2 Типы данных
4.3 Работа с таблицами
4.4 Работа с текстом

Глава 5. Правила построения алгоритмов

5.1 Составление алгоритма
5.2 Как автоматизировать хаос
5.3 Использование готовых функций
5.4 Использование компьютеров

Глава 6. Переход к автоматизации

6.1 Что такое структуры данных?
6.2 Программирование с классами
6.3 Триггеры
6.4 Работа с файлами

Глава 7. Готовое приложение

7.1 Постановка задачи
7.2 Построение алгоритма
7.3 Отладка программы
7.4 Получение готового приложения

Научитесь создавать работающие алгоритмы!

Заказать видеокурс «Алгоритмическое мышление»

Цена 3 000 руб.

Заказать курс сейчас!
arrow