WEBVTT 00:00:00.700 --> 00:00:02.150 Pojďme si říct něco o cyklech. 00:00:02.150 --> 00:00:04.600 Máme tady while cyklus s několika řádky kódu, 00:00:04.600 --> 00:00:07.615 pomocí kterých mohu napsat tuto zprávu přes celou obrazovku. 00:00:07.615 --> 00:00:12.196 Pokud zprávu změním a vylepším ji, všechny její části se změní. 00:00:12.196 --> 00:00:13.523 Jak to tedy funguje? 00:00:13.523 --> 00:00:16.163 K tomuto kódu se můžeme za chvíli vrátit znovu. 00:00:16.163 --> 00:00:18.304 Teď se ale vraťme zpět a zamysleme se nad tím, 00:00:18.304 --> 00:00:21.552 jak bychom mohli tento program napsat za použití jen toho, co známe. 00:00:21.552 --> 00:00:22.741 Tedy bez použití cyklů. 00:00:22.921 --> 00:00:27.091 Abychom to dokázali, budeme psát spoustu textu pořád dokola. 00:00:27.091 --> 00:00:33.594 Napíšeme "text(message)", umístíme to a nyní je to jen otázka opakování a času. 00:00:33.594 --> 00:00:37.022 Nakonec se chceme dostat až na dolní část stránky. 00:00:37.022 --> 00:00:38.949 A to bude vyžadovat spoustu práce. 00:00:38.949 --> 00:00:40.793 Jelikož spodek je opravdu daleko. 00:00:40.793 --> 00:00:43.573 A je to ještě horší, když si uvědomíme, 00:00:43.573 --> 00:00:48.068 že tohle vlastně nebylo 70, musí to být blíže, musí to být tak 60. 00:00:48.068 --> 00:00:51.399 A nyní to ovlivňuje taky tento kód, protože musí být také menší. 00:00:51.399 --> 00:00:55.036 A situace se opakuje, čím více textových příkazů máme. 00:00:55.036 --> 00:00:58.661 Takže to bude trvat celkem dlouho, než se dostaneme na spodek. 00:00:58.661 --> 00:01:00.144 Je to hodně otravné. 00:01:00.144 --> 00:01:02.314 Ale naštěstí máme cykly, které nám pomohou. 00:01:02.314 --> 00:01:05.220 Od této chvíle, kdykoli uvidíte podobný opakující se kód, 00:01:05.220 --> 00:01:06.750 vaše první myšlenka by měla být: 00:01:06.750 --> 00:01:08.177 "Můžu použít cyklus?" 00:01:08.177 --> 00:01:10.957 Cyklus nám umožní opakovat část kódu znovu, znovu a znovu. 00:01:10.957 --> 00:01:13.701 Pokaždé jen s malými změnami. 00:01:13.701 --> 00:01:15.768 Zde bychom mohli kód přepsat cyklem. 00:01:15.768 --> 00:01:20.358 Abychom mohli začít, musíme napsat "while", závorky a složené závorky. 00:01:20.358 --> 00:01:21.788 Dostaneme tuto zprávu. 00:01:21.788 --> 00:01:24.276 Ale to jen proto, že jsme to ještě celé nedokončili, 00:01:24.276 --> 00:01:26.301 takže se nebojte, zpráva nakonec zmizí. 00:01:26.301 --> 00:01:30.810 Pokaždé, když píšete cyklus, musíte si odpovědět na tři klíčové otázky. 00:01:32.942 --> 00:01:37.371 První otázka zní: „Co chci opakovat?“ 00:01:37.371 --> 00:01:41.466 To, co chceme opakovat, musí být mezi těmito složenými závorkami. 00:01:41.466 --> 00:01:44.188 Takže v tomto případě chceme opakovat "text". 00:01:44.188 --> 00:01:46.198 Tak se do toho dejme a vložme to tam. 00:01:46.198 --> 00:01:47.881 Je to ale trochu divné, 00:01:47.881 --> 00:01:51.737 protože se nyní bude opakovat stejný textový příkaz dokola. 00:01:52.848 --> 00:01:54.561 My ale musíme něco změnit. 00:01:54.561 --> 00:01:57.620 To nás přivádí k otázce druhé: „Co chceme pokaždé změnit?“ 00:01:57.710 --> 00:02:02.660 Chceme změnit pozici "y", a to tak, aby byla 60 a pak 80. 00:02:02.660 --> 00:02:05.503 Takže z toho uděláme proměnnou. 00:02:05.503 --> 00:02:07.736 Nazvala jsem ji y, protože je to pozice y. 00:02:07.736 --> 00:02:10.243 Teď deklarujeme proměnnou zde nahoře. 00:02:10.243 --> 00:02:12.217 Začne na hodnotě 40. 00:02:12.217 --> 00:02:14.176 A teď už jen musíme upravit proměnnou y. 00:02:14.176 --> 00:02:18.071 Můžeme to udělat tak, že napíšeme "y = y + 20;". 00:02:18.071 --> 00:02:20.028 Pokaždé se bude zvětšovat. 00:02:20.358 --> 00:02:23.338 Můžeme zde využít naši znalost z lekce Incrementing Shortcuts. 00:02:24.245 --> 00:02:26.460 Stačí použít zkratku. 00:02:27.519 --> 00:02:30.598 Je to super a zbývá nám zodpovědět už jenom otázku číslo tři: 00:02:30.598 --> 00:02:32.705 "Jak dlouho bychom to měli opakovat?" 00:02:32.705 --> 00:02:36.531 Chceme to dělat dokola, ale nechceme to dělat navždy. 00:02:36.531 --> 00:02:38.539 V případě, že to budeme dělat donekonečna, 00:02:38.539 --> 00:02:41.582 zabere to opravdu hodně času a taky to může zmrazit prohlížeč. 00:02:43.650 --> 00:02:46.931 Cyklus chceme opakovat do té doby, než se dostaneme na konec stránky. 00:02:46.931 --> 00:02:47.901 Což znamená, 00:02:47.901 --> 00:02:50.909 že ho cheme opakovat, dokud je y je menší než 400. 00:02:50.909 --> 00:02:52.799 Takže to prostě dáme sem a máme to! 00:02:53.408 --> 00:02:56.326 Máme tuto zprávu napsanou přes celou obrazovku. 00:02:56.396 --> 00:02:59.210 A vidíte, že je to mnohem snazší, než náš předchozí postup. 00:02:59.210 --> 00:03:04.175 U toho jsme se za stejnou dobu nedostali ani do čtvrtiny. 00:03:04.175 --> 00:03:07.780 Můžeme se toho tedy zbavit a tady máme náš program. 00:03:07.780 --> 00:03:11.252 Nyní se pokusíme lépe porozumět tomu, co se děje. 00:03:11.252 --> 00:03:13.064 Pro demonstraci si budu vypisovat y. 00:03:13.064 --> 00:03:14.924 Napíšu "y je nyní". 00:03:14.924 --> 00:03:19.410 Na konec zprávy připíšu y, abychom to mohli vidět. 00:03:19.410 --> 00:03:22.138 V tuto chvíli se hodnota mění o 20. 00:03:22.868 --> 00:03:25.967 Změníme to jen úpravou proměnné zde. 00:03:25.967 --> 00:03:31.426 Nebo to můžeme nastavit na 50 a teď se to mění o 50. 00:03:31.426 --> 00:03:35.578 Podobně můžete pokračovat a hrát si i s ostatními hodnotami a měnit je. 00:03:35.578 --> 00:03:39.982 Můžete vidět, jak to ovlivňuje místo, kde se program zastaví. 00:03:40.672 --> 00:03:45.357 Abyste tomu rozuměli lépe, můžete si to představit jako podmínku if. 00:03:45.583 --> 00:03:48.687 Máme zde booleovský výraz, který jste se již naučili. 00:03:48.687 --> 00:03:52.033 Poté vytvoříme tělo výrazu, tuto část zde. 00:03:52.033 --> 00:03:54.659 Pokračujeme pouze pokud je booleovská podmínka pravdivá. 00:03:54.659 --> 00:03:56.729 Jinak prostě skočíme na konec. 00:03:56.729 --> 00:04:01.250 Zajímavé je to, že u while cyklu máme na konci tuto tajnou věcičku. 00:04:01.634 --> 00:04:04.774 Ta nám říká: "Vrať se na začátek!" 00:04:05.864 --> 00:04:07.202 Tato tajná instrukce značí, 00:04:07.202 --> 00:04:11.781 že místo toho, aby cyklus jednoduše pokračoval jako u "if", 00:04:11.781 --> 00:04:16.932 vrátí se po každém provedení cyklu na začátek a zkontroluje pravdivost podmínky. 00:04:16.932 --> 00:04:19.964 Pokud je podmínka pravdivá, zopakujeme to ještě jednou. 00:04:19.964 --> 00:04:23.238 A asi tušíte, že se podruhé opakuje úplně to samé. 00:04:23.526 --> 00:04:25.735 Nejdříve jdeme na začátek. 00:04:25.735 --> 00:04:28.057 Je y stále menší než 279? 00:04:28.057 --> 00:04:31.565 Pokud ano, zopakujeme to ještě jednou a budeme pokračovat v kontrole. 00:04:31.565 --> 00:04:34.407 Až když tomu tak není, jdeme zpět na začátek. 00:04:34.407 --> 00:04:38.148 Potom nás to hodí na konec cyklu a budeme pokračovat v našem programu. 00:04:38.608 --> 00:04:41.563 Existuje mnohem více zajímavých způsobů, jak cykly používat. 00:04:41.563 --> 00:04:42.703 Brzy se o nich dozvíte. 00:04:42.703 --> 00:04:44.820 Zatím jste na dobré cestě.