The Prison Break | Think Like A Coder, Ep 1

1,778,274 views ・ 2019-09-30

TED-Ed


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

Переводчик: Elena McDonnell Редактор: Yulia Kallistratova
00:29
Upon emerging from stasis, Ethic is the unfortunate recipient of three surprises.
0
29937
7440
При выходе из стазиса Этика обнаруживает три неприятных сюрприза.
00:37
The first: a prison cell.
1
37377
2962
Первый — тюремная камера.
00:40
The second: complete amnesia.
2
40339
3165
Второй — полная амнезия.
00:43
And the third: a mysterious stranger has gotten stuck
3
43504
3708
Третий — странный незнакомец застрял,
00:47
squeezing through the bars on her window.
4
47212
3655
пытаясь протиснуться сквозь решётку на окне.
00:50
His name is Hedge, and he has come to help Ethic save the world.
5
50867
5558
Его зовут Хедж, и он хочет помочь Этике спасти мир.
00:56
But first they have to break out of jail.
6
56425
3531
Но сначала им нужно выбраться из тюрьмы.
00:59
Hedge turns his hand into a lockpick and outlines the challenge ahead.
7
59956
6017
Хедж превращает руку в отмычку и описывает задачу, которую им нужно решить.
01:05
Each lock in the prison works in the same unusual way.
8
65973
4650
Каждый замóк в этой тюрьме работает по одному и тому же странному принципу.
01:10
Inside the keyhole is a red dial that can be rotated to one of 100 positions
9
70623
6628
Внутри замкá — красный механизм, который можно установить в одно из 100 положений,
01:17
numbered 1 through 100.
10
77251
2448
пронумерованное от 1 до 100.
01:19
The key for a given cell spins the dial to the right position,
11
79699
4344
Ключ конкретной камеры поворачивает механизм в нужное положение,
01:24
which, when stopped there, makes it turn green and unlocks the door.
12
84043
4870
и остановка в этом положении делает механизм зелёным и открывает дверь.
01:28
It would be out of the question to steal keys from a guard,
13
88913
4715
О краже ключей у охранника не может быть и речи,
01:33
but Hedge has a better idea.
14
93628
3137
но у Хеджа есть идея получше.
01:36
Hedge can carry out Ethic‘s commands.
15
96765
2731
Он может выполнять команды Этики.
01:39
If Ethic tells him to walk 5 steps forward,
16
99496
3200
Если Этика скажет ему сделать пять шагов вперёд,
01:42
turn right, then walk another 5 steps,
17
102696
3475
повернуть направо и сделать ещё пять шагов,
01:46
that’s exactly what he’ll do.
18
106171
3552
то он выполнит всё дословно.
01:49
Hedge needs specific instructions though.
19
109723
3121
Но ему нужны чёткие указания.
01:52
If Ethic says “pick the lock” or “try every combination”
20
112844
4156
Если Этика скажет: «открой замок» или «попробуй все комбинации»,
01:57
that would be too vague, but “spin the dial 5 positions forward” would work.
21
117000
6685
это будет слишком абстрактно,
а вот «поверни механизм на пять положений вперёд» он поймёт.
02:03
Once out of the cell, they will only have a few moments to crack the lock
22
123685
4022
Когда они выберутся из своей камеры, у них будет очень мало времени,
02:07
for the outer prison door too before the guards catch them.
23
127707
4518
чтобы открыть дверь тюрьмы до того, как охранники настигнут их.
02:12
So what instructions will allow Hedge to efficiently open any door?
24
132225
5480
Итак, какие инструкции позволят Хеджу открыть дверь?
[Возможные инструкции: Повернуть диск, проверить цвет, запомнить позицию]
02:20
Pause now to figure it out for yourself.
25
140325
4070
Приостановите видео здесь, если хотите найти ответ самостоятельно.
02:25
Before we explain the solution, here’s a hint.
26
145775
4977
Прежде чем мы объясним решение, вот небольшая подсказка.
02:30
A key programming concept that can help unlock the door is called a loop.
27
150752
6428
Ключевое понятие программирования, которое вам поможет, называется циклом.
02:37
This can be one or more instructions that Hedge will iterate— or repeat—
28
157180
5330
Это может быть одно или несколько указаний, которые Хедж будет повторять
указанное количество раз,
02:42
a specified number of times,
29
162510
4144
02:46
like “jump up and down 100 times.”
30
166654
3411
например, «подпрыгни 100 раз».
02:50
Or an instruction that Hedge will repeat until a condition is met,
31
170065
5180
Или указание, которое Хедж будет выполнять до тех пор,
пока не будет удовлетворено определённое условие,
например, «подпрыгивай до семи вечера».
02:55
such as “keep jumping up and down until it’s 7 o’clock.”
32
175245
4986
03:00
Pause now to figure it out for yourself.
33
180231
6017
Приостановите видео, чтобы найти ответ самостоятельно.
03:06
The first thing that’s clear is that you need to find a way for Hedge
34
186248
3888
Первое, что понятно в этой ситуации, —
это что Хедж должен перебрать все комбинации, чтобы найти правильную.
03:10
to try every combination until one works.
35
190136
4094
03:14
What takes a little more effort is how exactly you do so.
36
194230
4290
Однако нужно разобраться, как именно это сделать.
03:18
One solution would be to instruct Hedge to try every combination in succession.
37
198520
5280
Одно из решений — сказать Хеджу попробовать все положения по очереди.
03:23
Try 1 and check the light.
38
203800
2705
Попробуй 1 и проверь цвет.
03:26
If it turns green, open the door, and if not, try 2.
39
206505
5848
Если он станет зелёным, открой дверь, а если нет — попробуй 2.
03:32
If that doesn’t work try 3. All the way up to 100.
40
212353
5890
Если это не сработает, попробуй 3. И так до 100.
03:38
But it would be tedious to lay that out in its entirety.
41
218243
3574
Но записывать всё это целиком очень утомительно.
03:41
Why write more than 100 lines of code,
42
221817
2436
Зачем писать более 100 строк кода,
03:44
when you can do the same thing with just 3?
43
224253
4135
если можно достичь того же эффекта всего тремя?
03:48
This is where a loop comes in.
44
228388
2295
Вот здесь вам и пригодится цикл.
03:50
There are a few ways to go about this.
45
230683
3225
Есть несколько способов.
03:53
The lock has 100 positions,
46
233908
2355
У запорного механизма 100 положений,
03:56
so Ethic could say “Check the dial’s color, then spin the dial forward once,
47
236263
6051
поэтому Этика может сказать: «Проверь цвет механизма, затем поверни его
на одно положение вперёд, и так 100 раз.
04:02
for 100 repetitions.
48
242314
3882
04:06
Remember where the dial turns green, then have Hedge set it back to that number.”
49
246196
6816
Запомни, где механизм сменяет цвет на зелёный, и верни его в это положение».
04:13
A loop like this, where you specify the number of times it repeats,
50
253012
4167
Такой цикл, где вы указываете количество повторений,
04:17
is called a “for" loop.
51
257179
2986
называется цикл со счётчиком.
04:20
But an even more efficient loop
52
260165
1942
Но есть ещё более рациональный цикл —
04:22
would have Hedge spin the dial one position at a time until it turns green
53
262107
5250
Хедж поворачивает механизм на одно положение вперёд,
до тех пор, пока он не станет зелёным.
04:27
and as soon as that happens, have him stop and open the door.
54
267357
4487
Когда это произойдёт, он должен остановиться и открыть дверь.
04:31
That way if the door unlocks on 1,
55
271844
3409
Таким образом, если дверь откроется на единице,
04:35
he doesn’t need to cycle through all the rest of the numbers.
56
275253
3995
ему не нужно будет проверять все остальные числа.
04:39
This is an “until” loop,
57
279248
3414
Это цикл с постусловием,
04:42
because it involves doing an action until a condition is met.
58
282662
4780
в котором действие выполняется до тех пор, пока не будет удовлетворено условие.
04:47
A similar, alternate approach would be to turn the dial while it’s still red,
59
287442
4769
Другой, но похожий подход — поворачивать механизм вперёд, пока он красного цвета,
04:52
then stop.
60
292211
2099
а затем остановиться.
04:54
That’s called a “while” loop.
61
294310
3732
Это цикл с предусловием.
04:58
Back to the adventure.
62
298042
1888
Но вернёмся к нашей ситуации.
04:59
Hedge loops through the combinations, and the cell opens at 41.
63
299930
7100
Хедж перебирает значения, и камера открывается на числе 41.
05:07
Ethic and Hedge wait until the perfect moment in the guards’ rotation
64
307030
3921
Этика с Хеджем дожидаются удачного момента смены караула
05:10
and make a break for it.
65
310951
3529
и сбегают.
05:14
Soon, Ethic faces a choice: hide inside a mysterious crystal,
66
314480
5407
Этика стоит перед выбором: спрятаться в загадочном кристалле
05:19
or try to crack the outer door and make a run for it.
67
319887
3964
или постараться открыть дверь тюрьмы и оказаться на свободе.
05:23
Ethic chooses to run.
68
323851
2266
Она выбирает свободу.
05:28
The second door takes Hedge longer, requiring him to spin all the way to 93.
69
328227
6416
Вторая дверь отнимает больше времени — Хеджу приходится поворачивать до 93.
05:34
But he gets it open
70
334643
2550
Но он открывает её
05:43
and takes the opportunity to explain why he’s rescued Ethic.
71
343871
4870
и объясняет Этике, почему он пришёл ей на помощь.
05:48
The world is in turmoil:
72
348741
1728
Мир погрузился в хаос:
05:50
robots have taken over, and only Ethic can set things right.
73
350469
4073
власть захватили роботы, и только Этика может всё исправить.
05:54
In order to do so,
74
354542
1153
Для этого им нужно найти три могущественных артефакта,
05:55
they’ll need to collect three powerful artifacts
75
355695
2466
05:58
that are being used for nefarious purposes across the land.
76
358161
3462
которые используются в гнусных целях по всему миру.
06:01
Only then can Ethic return to the world machine— that giant crystal—
77
361623
4348
Только собрав их, Этика сможет вернуться к мировой машине — огромному кристаллу —
06:05
to set things right.
78
365971
1500
и исправить ситуацию.
06:19
Ethic may have escaped the prison…
79
379685
2840
Да, Этика сбежала из тюрьмы...
06:22
but what has she gotten herself into?
80
382525
2930
Но что ждёт её дальше?
Об этом сайте

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

https://forms.gle/WvT1wiN1qDtmnspy7