Використання циклів з масивами (відео версія)
-
0:01 - 0:04Ми повернулися до програми, що виводить
масив моїх друзів. -
0:04 - 0:06Але є дещо, що справді дратує мене.
-
0:07 - 0:11Кожного разу додаючи нового друга в масив,
мені потрібно ввести нову текстову команду -
0:11 - 0:13Скажемо, я додаю Вінстона.
-
0:13 - 0:15Що ж, він автоматично не виводиться.
-
0:15 - 0:20Якщо я хочу, щоб він, щоб показався, мені
слід ввести 'text(myFriends[3]',а потім -
0:20 - 0:25змінити положення у, і тоді ми побачимо,
Вїнстона. Так що це занадто багато роботи. -
0:25 - 0:31Я хочу щоб кожного разу додаючи когось в
масив команда тексту вводилась автоматично -
0:32 - 0:35І так, ви пам'ятаєте, що ми вчили цикли?
-
0:35 - 0:38Цикли є чудовим способом щоб повторити той
самий кусочок коду багато разів підряд. -
0:38 - 0:43Наприклад, якщо б ми хотіли мати купу
дерев в ряд або повітряних куль. -
0:43 - 0:50Як виявилось, цикли це хороший спосіб щоб
запустити код по кожному елементі в масиві -
0:50 - 0:54Насправді, ви будете використовувати цикл
майже зажди, коли ви використовуєте масив. -
0:54 - 0:56Вони працюють дуже добре разом.
-
0:57 - 1:02Отже, використаємо цикл щоб показати імена
моїх друзів замість цих текстових команд -
1:02 - 1:04щоб показати що я маю на увазі.
-
1:04 - 1:07Тому, ми розпочнемо з трьох питань які ми
ставимо собі кожного разу створюючи цикл. -
1:07 - 1:12По-перше, що я хочу повторити. Подивимось
тут. Що повторюється? текстова команда. -
1:13 - 1:16Що я хочу змінювати кожного разу?
Отже, подивлюсь, що відрізняється. -
1:16 - 1:25Позиція "y" і цей показник, так? Отже,
кількість друзів та "y" позиція -
1:26 - 1:29І як довго нам слід повторюати? Будемо
продовжати до тих пір, поки -
1:29 - 1:31не закінчаться друзі.
-
1:34 - 1:37Отже, тепер ми знаємо, що ми хочемо,
і можемо зробити наш цикл. -
1:37 - 1:41Ми починаємо зі змінною лічильника, щоб
відстежувати, де ми знаходимося в циклі. -
1:41 - 1:44Так що ми скажемо "var friendNum = 0;"
-
1:44 - 1:50Ми почнемо з нуля, тому що пам'ятаєте, що
0 є першим елементом в масиві, а не 1. -
1:50 - 1:57Тоді у нас є умовний цикл. Отже ми введемо
"while(friendNum < my friends.length)". -
1:58 - 2:03Тоді, поточну змінну лічильника порівняємо
з загальною кількостю речей в масиві -
2:03 - 2:06всередині циклу де ми використовуємо
нашу текствову команду. -
2:06 - 2:11Отже, введемо:"text(myFriends[" а тоді
тут замість числа, поставимо "friendNum" -
2:11 - 2:14так як"friendNum" відображає поточне чилсо
-
2:14 - 2:18І тоді ми встановимо одну позицію зараз.
-
2:18 - 2:25Це дало нам нескінченну помилку циклу,
так як ми нічого не змінили в friendNum. -
2:25 - 2:29Пам'ятайте, що нам потрібно збільшувати
friendNum кожен раз, інакше цикл триватиме -
2:29 - 2:32вічно, тому що ця умова завжди істинна.
-
2:33 - 2:38Бачу трапилось щось. Я закоментую старий
код, і я побачу, що сталося. -
2:38 - 2:44Зараз ми маємо те, що показали всі імена,
але вони всі один на одному. -
2:44 - 2:49Отже, нам потрібно змінити свою позицію у.
тому просто введемо 'friendNum*30' -
2:49 - 2:55Добре, але Софія за екраном і вона
не буде дуже радою дізнавшись про це. -
2:55 - 2:59Отже, просто додамо 30 до цього. І тепер
всі вони зміщуються на 30. -
2:59 - 3:04Гарно! Так що тепер ви бачите, що у нас є
цикл, що відображає наш масив. -
3:04 - 3:08І це означає, що якщо ми додамо більше
таких людей, як OhNoEsGuy, або можливо -
3:08 - 3:11навіть Сал і якщо просто додати його в
масив, то він буде моїм другом. -
3:11 - 3:14Відмінно! Тепер він мій приятель.
-
3:15 - 3:19Бачите, що він просто автоматично показує
нових друзів, так як це завжди проходить -
3:19 - 3:20через весь масив.
-
3:21 - 3:24Отже, ми можемо видалити наш старий код.
Нам він більше не потрібний -
3:24 - 3:28І давайте просто переглянемо цей код
тут і подивимось, що він робить. -
3:28 - 3:31Таким чином, ми починаємо "friendNum"
рівне нулю. -
3:31 - 3:34Ми перевіряємо, чи friendNum менше
поточної довжини. -
3:34 - 3:38Таким чином, уявіть собі, що 0 менше 6
Це істина. -
3:38 - 3:42І тоді всередині тут, ми ввели
text, my freinds friendNum. -
3:42 - 3:47І це стане нулем, в перший раз.
А потім 30 плюс нуль помножити на 30. -
3:47 - 3:56Код відображає Софію в 10 і 30. Ось що він
робить. А тоді FriendNum ++. стає 1. -
3:56 - 4:00Потім він йде назад знову і каже: "Добре,
чи 1 менше, ніж myFriends.length? Звісно" -
4:00 - 4:02І так продовжується далі і далі і далі.
-
4:02 - 4:08Ми нарешті добрались до Сал. Пам'ятайте,
що насправді Сал шостий елемент в масиві, -
4:08 - 4:13але його показник 5, так як ми починаємо
з нуля. Отже, п'ять менше за шість? Звісно -
4:13 - 4:15Так що він відображає myFriends 5
-
4:15 - 4:22І тоді стає шість, і ми говоримо, "шість
менше, ніж шість?" Ні. рівні. -
4:22 - 4:25І це буде не істинною. Так що ми ніколи не
покажемо шостий елемент, -
4:25 - 4:29це добре, так як немає нічого в індексі
шість. -
4:29 - 4:33Є шостий елемент, але нічого в індексі 6.
-
4:33 - 4:39це можливо досить заплутано, щодо 1 та 0
і робити все це, але ви впораєтесь з цим. -
4:40 - 4:41Гаразд. Отже, це наш цикл.
-
4:41 - 4:46Тепер, якщо хочете, можете використовувати
цикл for, якщо ви віддаєте перевагу їм. -
4:46 - 4:54Для циклу for введемо 'for,' а потім 'var
friendNum = 0;' і тоді матимемо нашу умову -
4:54 - 4:57'friendNum < myFriends.length'
-
4:58 - 5:02а потім наше зростання: 'friendNum++'
-
5:02 - 5:07І потім всередині циклу for ми можемо
просто поставити саме цей рядок коду сюди. -
5:07 - 5:12І я просто зміню "x" щоб ви побачили
Він робить точно те ж саме. -
5:12 - 5:16Отже, це залижить від вас, який з них ви
використовуєте, але справа в тому, щоб -
5:16 - 5:19використовувати цикл з масивами,
тому що це зробить вас дуже могутніми.
- Title:
- Використання циклів з масивами (відео версія)
- Description:
-
Це просто показ екрану нашої інтерактивної бесіди щодо кодування, готової щоб полегшити створення перекладу і субтитрів. Краще дивитися наші бесіди тут:
https://www.khanacademy.org/cs/programming/ - Video Language:
- English
- Duration:
- 05:22
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) | ||
Іван Соломаха edited Ukrainian subtitles for Looping through Arrays (Video Version) |