Художники | Думай по-кодерски — эпизод 5
-
0:23 - 0:28Светает, и поезд начинает замедляться.
Этика с Хеджем въезжают в лес. -
0:28 - 0:31Наши путешественники
уже нашли первый артефакт — -
0:31 - 0:33Модуль силы —
-
0:33 - 0:37и прибыли в лесополосу №1984,
чтобы завладеть вторым. -
0:37 - 0:42Здесь их встречает
директор колонии Октавия. -
0:42 - 0:44Она основала это поселение
с домами на деревьях -
0:44 - 0:47после того, как роботы
взяли на себя всю работу. -
0:47 - 0:51Оно должно было стать убежищем для всех,
кто хотел заниматься любимым делом, -
0:51 - 0:53творить и самореализовываться.
-
0:53 - 0:55Так всё и было. Но только сначала.
-
0:55 - 0:58Несколько лет назад все
забыли, почему они здесь. -
0:58 - 0:59Они забросили творчество
-
0:59 - 1:03и стали рисовать и вывешивать
только свои портреты -
1:03 - 1:05снова и снова.
-
1:05 - 1:08Местонахождение второго
артефакта хорошо известно. -
1:08 - 1:11Он находится в башне,
охраняемой гарнизоном роботов -
1:11 - 1:15и окружённой бездонным ущельем
и множеством других ловушек. -
1:15 - 1:19Как только башня с модулем
была воздвигнута, -
1:19 - 1:23связь между людьми прервалась.
-
1:23 - 1:25Октавия уже много лет
пытается его выкрасть, -
1:25 - 1:29но как бы она ни старалась,
оборона всегда побеждает. -
1:29 - 1:33Чтобы хотя бы добраться до башни,
нашей команде нужен отвлекающий манёвр. -
1:33 - 1:35У Октавии рождается идея:
-
1:35 - 1:39благонамеренный вандализм,
который должен всколыхнуть народ. -
1:39 - 1:43Все портреты художников квадратной
формы, но разного размера, -
1:43 - 1:47с нечётным количеством
пикселей по каждой стороне. -
1:47 - 1:49Роботы-помощники собирают портреты
-
1:49 - 1:53и развешивают их в общественных местах,
где ими могут любоваться все. -
1:53 - 1:57В течение очень короткого промежутка
времени у Хеджа будет доступ к картинам. -
1:57 - 2:00Если он сможет нанести крест на каждую,
-
2:00 - 2:03люди обвинят в этом роботов-помощников,
-
2:03 - 2:06и это отвлечёт их внимание
от всего остального. -
2:06 - 2:09Но если бы всё было так просто!
-
2:09 - 2:11Хедж не может просто нарисовать крест.
-
2:11 - 2:15Его процессору нужны
очень чёткие инструкции. -
2:15 - 2:17Рассматривая портреты
как квадратные сетки, -
2:17 - 2:21он может заполнять один пиксель,
или одну клетку, за раз. -
2:21 - 2:25Он может двигаться по холсту
по прямой и поворачивать на 90 градусов, -
2:25 - 2:28но не может перемещаться по диагонали.
-
2:28 - 2:30Как Этике нужно запрограммировать Хеджа,
-
2:30 - 2:33чтобы он нарисовал крест
на каждом портрете? -
2:33 - 2:41Приостановите видео, если хотите
найти ответ самостоятельно. -
2:41 - 2:43Вот подсказка.
-
2:43 - 2:46Попробуйте нарисовать
вот такую квадратную сетку -
2:46 - 2:48и запланировать путь Хеджа.
-
2:48 - 2:51Какую схему можно использовать,
чтобы направлять его? -
2:51 - 2:56Приостановите видео, если хотите
найти ответ самостоятельно. -
2:56 - 2:58Задача состоит в том,
чтобы создать набор указаний, -
2:58 - 3:01который будет действительным
для любой квадратной сетки. -
3:01 - 3:04К счастью, одно из преимуществ
программирования состоит в том, -
3:04 - 3:07что, решая одну задачу,
-
3:07 - 3:10вы одновременно решаете
целую группу подобных ей задач. -
3:10 - 3:15Зачастую полезно начать с одного
примера и двигаться к общему. -
3:15 - 3:17Представим, что у нас вот такой квадрат.
-
3:17 - 3:21Хедж может замерить его сторону
и сохранить это число как переменную. -
3:21 - 3:26Теперь нам нужен план того,
как Хедж будет рисовать крест -
3:26 - 3:27по одному пикселю за раз.
-
3:27 - 3:30Существуют разные способы это сделать.
-
3:30 - 3:32Давайте рассмотрим два из них.
-
3:32 - 3:35Что, если Хедж будет двигаться по строкам,
как каретка пишущей машинки? -
3:35 - 3:38Если размер портрета — 9 на 9 пикселей,
-
3:38 - 3:41в первой строке он закрасит клетку,
пропустит следующие семь -
3:41 - 3:43и снова закрасит клетку.
-
3:43 - 3:46Во второй строке он пропустит
первую клетку, закрасит вторую, -
3:46 - 3:47пропустит пять и снова закрасит.
-
3:47 - 3:49И так далее.
-
3:49 - 3:53Здесь схема такова, что клетки,
пропущенные в начале строки, -
3:53 - 3:54увеличиваются на одну,
-
3:54 - 3:58а пиксели, пропущенные в середине,
уменьшаются на два. -
3:58 - 4:01Всё немного усложняется,
когда Хедж достигает центра. -
4:01 - 4:04В этой строке будет закрашен
всего один пиксель. -
4:04 - 4:06Затем всё повторяется
в обратном направлении. -
4:06 - 4:10Количество пропущенных пикселей слева
уменьшается на один с каждой строкой, -
4:10 - 4:14а в середине — увеличивается на два.
-
4:14 - 4:17Если дать Хеджу такие указания
с помощью серии циклов, -
4:17 - 4:19то это вполне приемлемое решение.
-
4:19 - 4:23Его основной недостаток — то, что тут
необходимо много логических заключений: -
4:23 - 4:26нужно знать, что делать в центре,
когда нужно изменить направление, -
4:26 - 4:29и как именно это сделать.
-
4:29 - 4:31Можем ли мы найти способ,
-
4:31 - 4:35в котором логика остаётся
постоянной от начала до конца? -
4:35 - 4:40Основная идея — это рассматривать сетку
как набор концентрических квадратов. -
4:40 - 4:43В каждом из этих квадратов
схема одинакова: -
4:43 - 4:47закрашенные пиксели в углах
и незакрашенные между ними. -
4:47 - 4:50Поэтому если мы сможем найти
способ окрасить один квадрат, -
4:50 - 4:55перейти на следующий и повторить это
действие, то мы сможем окрасить их все. -
4:55 - 4:57Окраска наружного квадрата очень проста.
-
4:57 - 5:00Начни в углу и закрась этот пиксель.
-
5:00 - 5:02Если мы обозначим длину
стороны картины как n, -
5:02 - 5:05то нужно переместиться
вперёд на n-1 клеток. -
5:05 - 5:07Закрась этот пиксель и поверни направо.
-
5:07 - 5:11А теперь повтори всё это ещё два раза.
-
5:11 - 5:15Теперь переместись вперёд на одну
клетку меньше, поверни направо -
5:15 - 5:16переместись на одну клетку,
-
5:16 - 5:19и ты окажешься в следующем
концентрическом квадрате -
5:19 - 5:22и сможешь проделать все действия заново.
-
5:22 - 5:28Каждый квадрат на n-2 пикселей меньше,
чем предыдущий, по длине и ширине, -
5:28 - 5:32и эта спиральная схема
продолжается до самого центра -
5:32 - 5:37с помощью цикла и переменной, задающей,
на сколько клеток перемещается Хедж. -
5:37 - 5:39Какой из этих методов лучше?
-
5:39 - 5:41Всё зависит от того, что для вас важно.
-
5:41 - 5:45Преимущество спирали в том,
что вырабатывается одна схема -
5:45 - 5:48и от начала до конца
используется одна и та же логика. -
5:48 - 5:50Преимущество способа каретки в том,
-
5:50 - 5:52что это более обобщённое решение,
-
5:52 - 5:56то есть его гораздо легче адаптировать
под другие схемы рисунка. -
5:56 - 5:59Этике подойдёт любой из этих способов.
-
5:59 - 6:01Происходит следующее.
-
6:01 - 6:04Хедж быстро перечёркивает все портреты.
-
6:04 - 6:09В считанные секунды по лесу
разносятся крики возмущения. -
6:09 - 6:12Гарнизон роботов, охраняющий
башню, покидает свой пост, -
6:12 - 6:14чтобы успокоить взволнованную толпу,
-
6:14 - 6:17а Этика, Хедж и Октавия
незаметно ускользают... -
6:17 - 6:20и чуть не падают в ущелье,
-
6:20 - 6:23пролегающее между ними и башней.
- Title:
- Художники | Думай по-кодерски — эпизод 5
- Speaker:
- Алекс Розенталь
- Description:
-
Посмотреть урок полностью: https://ed.ted.com/lessons/the-artists-think-like-a-coder-ep-5
Перед вами пятый эпизод нашего мультипликационного сериала «Думай по-кодерски». В этом сериале из десяти эпизодов вы познакомитесь с девушкой по имени Этика и её напарником, роботом Хеджем, которые пытаются спасти мир. Они отправляются на поиск трёх артефактов, но по пути им придётся разгадать множество головоломок, связанных с программированием.
Урок — Алекс Розенталь, мультипликация — Kozmonot Animation Studio.
- Video Language:
- English
- Team:
closed TED
- Project:
- TED-Ed
- Duration:
- 06:25
![]() |
Retired user approved Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Retired user accepted Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Retired user edited Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Elena McDonnell edited Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Elena McDonnell edited Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Elena McDonnell edited Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Elena McDonnell edited Russian subtitles for The Artists | Think Like A Coder, Ep 5 | |
![]() |
Elena McDonnell edited Russian subtitles for The Artists | Think Like A Coder, Ep 5 |