1 00:00:00,700 --> 00:00:02,150 Pojďme si říct něco o cyklech. 2 00:00:02,150 --> 00:00:04,600 Máme tady while cyklus s několika řádky kódu, 3 00:00:04,600 --> 00:00:07,615 pomocí kterých mohu napsat tuto zprávu přes celou obrazovku. 4 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í. 5 00:00:12,196 --> 00:00:13,523 Jak to tedy funguje? 6 00:00:13,523 --> 00:00:16,163 K tomuto kódu se můžeme za chvíli vrátit znovu. 7 00:00:16,163 --> 00:00:18,304 Teď se ale vraťme zpět a zamysleme se nad tím, 8 00:00:18,304 --> 00:00:21,552 jak bychom mohli tento program napsat za použití jen toho, co známe. 9 00:00:21,552 --> 00:00:22,741 Tedy bez použití cyklů. 10 00:00:22,921 --> 00:00:27,091 Abychom to dokázali, budeme psát spoustu textu pořád dokola. 11 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. 12 00:00:33,594 --> 00:00:37,022 Nakonec se chceme dostat až na dolní část stránky. 13 00:00:37,022 --> 00:00:38,949 A to bude vyžadovat spoustu práce. 14 00:00:38,949 --> 00:00:40,793 Jelikož spodek je opravdu daleko. 15 00:00:40,793 --> 00:00:43,573 A je to ještě horší, když si uvědomíme, 16 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. 17 00:00:48,068 --> 00:00:51,399 A nyní to ovlivňuje taky tento kód, protože musí být také menší. 18 00:00:51,399 --> 00:00:55,036 A situace se opakuje, čím více textových příkazů máme. 19 00:00:55,036 --> 00:00:58,661 Takže to bude trvat celkem dlouho, než se dostaneme na spodek. 20 00:00:58,661 --> 00:01:00,144 Je to hodně otravné. 21 00:01:00,144 --> 00:01:02,314 Ale naštěstí máme cykly, které nám pomohou. 22 00:01:02,314 --> 00:01:05,220 Od této chvíle, kdykoli uvidíte podobný opakující se kód, 23 00:01:05,220 --> 00:01:06,750 vaše první myšlenka by měla být: 24 00:01:06,750 --> 00:01:08,177 "Můžu použít cyklus?" 25 00:01:08,177 --> 00:01:10,957 Cyklus nám umožní opakovat část kódu znovu, znovu a znovu. 26 00:01:10,957 --> 00:01:13,701 Pokaždé jen s malými změnami. 27 00:01:13,701 --> 00:01:15,768 Zde bychom mohli kód přepsat cyklem. 28 00:01:15,768 --> 00:01:20,358 Abychom mohli začít, musíme napsat "while", závorky a složené závorky. 29 00:01:20,358 --> 00:01:21,788 Dostaneme tuto zprávu. 30 00:01:21,788 --> 00:01:24,276 Ale to jen proto, že jsme to ještě celé nedokončili, 31 00:01:24,276 --> 00:01:26,301 takže se nebojte, zpráva nakonec zmizí. 32 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. 33 00:01:32,942 --> 00:01:37,371 První otázka zní: „Co chci opakovat?“ 34 00:01:37,371 --> 00:01:41,466 To, co chceme opakovat, musí být mezi těmito složenými závorkami. 35 00:01:41,466 --> 00:01:44,188 Takže v tomto případě chceme opakovat "text". 36 00:01:44,188 --> 00:01:46,198 Tak se do toho dejme a vložme to tam. 37 00:01:46,198 --> 00:01:47,881 Je to ale trochu divné, 38 00:01:47,881 --> 00:01:51,737 protože se nyní bude opakovat stejný textový příkaz dokola. 39 00:01:52,848 --> 00:01:54,561 My ale musíme něco změnit. 40 00:01:54,561 --> 00:01:57,620 To nás přivádí k otázce druhé: „Co chceme pokaždé změnit?“ 41 00:01:57,710 --> 00:02:02,660 Chceme změnit pozici "y", a to tak, aby byla 60 a pak 80. 42 00:02:02,660 --> 00:02:05,503 Takže z toho uděláme proměnnou. 43 00:02:05,503 --> 00:02:07,736 Nazvala jsem ji y, protože je to pozice y. 44 00:02:07,736 --> 00:02:10,243 Teď deklarujeme proměnnou zde nahoře. 45 00:02:10,243 --> 00:02:12,217 Začne na hodnotě 40. 46 00:02:12,217 --> 00:02:14,176 A teď už jen musíme upravit proměnnou y. 47 00:02:14,176 --> 00:02:18,071 Můžeme to udělat tak, že napíšeme "y = y + 20;". 48 00:02:18,071 --> 00:02:20,028 Pokaždé se bude zvětšovat. 49 00:02:20,358 --> 00:02:23,338 Můžeme zde využít naši znalost z lekce Incrementing Shortcuts. 50 00:02:24,245 --> 00:02:26,460 Stačí použít zkratku. 51 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: 52 00:02:30,598 --> 00:02:32,705 "Jak dlouho bychom to měli opakovat?" 53 00:02:32,705 --> 00:02:36,531 Chceme to dělat dokola, ale nechceme to dělat navždy. 54 00:02:36,531 --> 00:02:38,539 V případě, že to budeme dělat donekonečna, 55 00:02:38,539 --> 00:02:41,582 zabere to opravdu hodně času a taky to může zmrazit prohlížeč. 56 00:02:43,650 --> 00:02:46,931 Cyklus chceme opakovat do té doby, než se dostaneme na konec stránky. 57 00:02:46,931 --> 00:02:47,901 Což znamená, 58 00:02:47,901 --> 00:02:50,909 že ho cheme opakovat, dokud je y je menší než 400. 59 00:02:50,909 --> 00:02:52,799 Takže to prostě dáme sem a máme to! 60 00:02:53,408 --> 00:02:56,326 Máme tuto zprávu napsanou přes celou obrazovku. 61 00:02:56,396 --> 00:02:59,210 A vidíte, že je to mnohem snazší, než náš předchozí postup. 62 00:02:59,210 --> 00:03:04,175 U toho jsme se za stejnou dobu nedostali ani do čtvrtiny. 63 00:03:04,175 --> 00:03:07,780 Můžeme se toho tedy zbavit a tady máme náš program. 64 00:03:07,780 --> 00:03:11,252 Nyní se pokusíme lépe porozumět tomu, co se děje. 65 00:03:11,252 --> 00:03:13,064 Pro demonstraci si budu vypisovat y. 66 00:03:13,064 --> 00:03:14,924 Napíšu "y je nyní". 67 00:03:14,924 --> 00:03:19,410 Na konec zprávy připíšu y, abychom to mohli vidět. 68 00:03:19,410 --> 00:03:22,138 V tuto chvíli se hodnota mění o 20. 69 00:03:22,868 --> 00:03:25,967 Změníme to jen úpravou proměnné zde. 70 00:03:25,967 --> 00:03:31,426 Nebo to můžeme nastavit na 50 a teď se to mění o 50. 71 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. 72 00:03:35,578 --> 00:03:39,982 Můžete vidět, jak to ovlivňuje místo, kde se program zastaví. 73 00:03:40,672 --> 00:03:45,357 Abyste tomu rozuměli lépe, můžete si to představit jako podmínku if. 74 00:03:45,583 --> 00:03:48,687 Máme zde booleovský výraz, který jste se již naučili. 75 00:03:48,687 --> 00:03:52,033 Poté vytvoříme tělo výrazu, tuto část zde. 76 00:03:52,033 --> 00:03:54,659 Pokračujeme pouze pokud je booleovská podmínka pravdivá. 77 00:03:54,659 --> 00:03:56,729 Jinak prostě skočíme na konec. 78 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. 79 00:04:01,634 --> 00:04:04,774 Ta nám říká: "Vrať se na začátek!" 80 00:04:05,864 --> 00:04:07,202 Tato tajná instrukce značí, 81 00:04:07,202 --> 00:04:11,781 že místo toho, aby cyklus jednoduše pokračoval jako u "if", 82 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. 83 00:04:16,932 --> 00:04:19,964 Pokud je podmínka pravdivá, zopakujeme to ještě jednou. 84 00:04:19,964 --> 00:04:23,238 A asi tušíte, že se podruhé opakuje úplně to samé. 85 00:04:23,526 --> 00:04:25,735 Nejdříve jdeme na začátek. 86 00:04:25,735 --> 00:04:28,057 Je y stále menší než 279? 87 00:04:28,057 --> 00:04:31,565 Pokud ano, zopakujeme to ještě jednou a budeme pokračovat v kontrole. 88 00:04:31,565 --> 00:04:34,407 Až když tomu tak není, jdeme zpět na začátek. 89 00:04:34,407 --> 00:04:38,148 Potom nás to hodí na konec cyklu a budeme pokračovat v našem programu. 90 00:04:38,608 --> 00:04:41,563 Existuje mnohem více zajímavých způsobů, jak cykly používat. 91 00:04:41,563 --> 00:04:42,703 Brzy se o nich dozvíte. 92 00:04:42,703 --> 00:04:44,820 Zatím jste na dobré cestě.