[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.70,0:00:02.15,Default,,0000,0000,0000,,Pojďme si říct něco o cyklech. Dialogue: 0,0:00:02.15,0:00:04.60,Default,,0000,0000,0000,,Máme tady while cyklus \Ns několika řádky kódu, Dialogue: 0,0:00:04.60,0:00:07.62,Default,,0000,0000,0000,,pomocí kterých mohu napsat tuto \Nzprávu přes celou obrazovku. Dialogue: 0,0:00:07.62,0:00:12.20,Default,,0000,0000,0000,,Pokud zprávu změním a vylepším ji,\Nvšechny její části se změní. Dialogue: 0,0:00:12.20,0:00:13.52,Default,,0000,0000,0000,,Jak to tedy funguje? Dialogue: 0,0:00:13.52,0:00:16.16,Default,,0000,0000,0000,,K tomuto kódu se můžeme \Nza chvíli vrátit znovu. Dialogue: 0,0:00:16.16,0:00:18.30,Default,,0000,0000,0000,,Teď se ale vraťme zpět a\Nzamysleme se nad tím, Dialogue: 0,0:00:18.30,0:00:21.55,Default,,0000,0000,0000,,jak bychom mohli tento program \Nnapsat za použití jen toho, co známe. Dialogue: 0,0:00:21.55,0:00:22.74,Default,,0000,0000,0000,,Tedy bez použití cyklů. Dialogue: 0,0:00:22.92,0:00:27.09,Default,,0000,0000,0000,,Abychom to dokázali, budeme \Npsát spoustu textu pořád dokola. Dialogue: 0,0:00:27.09,0:00:33.59,Default,,0000,0000,0000,,Napíšeme "text(message)", umístíme to\Na nyní je to jen otázka opakování a času. Dialogue: 0,0:00:33.59,0:00:37.02,Default,,0000,0000,0000,,Nakonec se chceme dostat \Naž na dolní část stránky. Dialogue: 0,0:00:37.02,0:00:38.95,Default,,0000,0000,0000,,A to bude vyžadovat \Nspoustu práce. Dialogue: 0,0:00:38.95,0:00:40.79,Default,,0000,0000,0000,,Jelikož spodek je opravdu daleko. Dialogue: 0,0:00:40.79,0:00:43.57,Default,,0000,0000,0000,,A je to ještě horší, \Nkdyž si uvědomíme, Dialogue: 0,0:00:43.57,0:00:48.07,Default,,0000,0000,0000,,že tohle vlastně nebylo 70, \Nmusí to být blíže, musí to být tak 60. Dialogue: 0,0:00:48.07,0:00:51.40,Default,,0000,0000,0000,,A nyní to ovlivňuje taky tento kód, \Nprotože musí být také menší. Dialogue: 0,0:00:51.40,0:00:55.04,Default,,0000,0000,0000,,A situace se opakuje, čím \Nvíce textových příkazů máme. Dialogue: 0,0:00:55.04,0:00:58.66,Default,,0000,0000,0000,,Takže to bude trvat celkem dlouho,\Nnež se dostaneme na spodek. Dialogue: 0,0:00:58.66,0:01:00.14,Default,,0000,0000,0000,,Je to hodně otravné. Dialogue: 0,0:01:00.14,0:01:02.31,Default,,0000,0000,0000,,Ale naštěstí máme cykly, \Nkteré nám pomohou. Dialogue: 0,0:01:02.31,0:01:05.22,Default,,0000,0000,0000,,Od této chvíle, kdykoli uvidíte \Npodobný opakující se kód, Dialogue: 0,0:01:05.22,0:01:06.75,Default,,0000,0000,0000,,vaše první myšlenka by měla být: Dialogue: 0,0:01:06.75,0:01:08.18,Default,,0000,0000,0000,,"Můžu použít cyklus?" Dialogue: 0,0:01:08.18,0:01:10.96,Default,,0000,0000,0000,,Cyklus nám umožní opakovat \Nčást kódu znovu, znovu a znovu. Dialogue: 0,0:01:10.96,0:01:13.70,Default,,0000,0000,0000,,Pokaždé jen s malými změnami. Dialogue: 0,0:01:13.70,0:01:15.77,Default,,0000,0000,0000,,Zde bychom mohli kód \Npřepsat cyklem. Dialogue: 0,0:01:15.77,0:01:20.36,Default,,0000,0000,0000,,Abychom mohli začít, musíme napsat \N"while", závorky a složené závorky. Dialogue: 0,0:01:20.36,0:01:21.79,Default,,0000,0000,0000,,Dostaneme tuto zprávu. Dialogue: 0,0:01:21.79,0:01:24.28,Default,,0000,0000,0000,,Ale to jen proto, že jsme \Nto ještě celé nedokončili, Dialogue: 0,0:01:24.28,0:01:26.30,Default,,0000,0000,0000,,takže se nebojte,\Nzpráva nakonec zmizí. Dialogue: 0,0:01:26.30,0:01:30.81,Default,,0000,0000,0000,,Pokaždé, když píšete cyklus, musíte \Nsi odpovědět na tři klíčové otázky. Dialogue: 0,0:01:32.94,0:01:37.37,Default,,0000,0000,0000,,První otázka zní: \N„Co chci opakovat?“ Dialogue: 0,0:01:37.37,0:01:41.47,Default,,0000,0000,0000,,To, co chceme opakovat, \Nmusí být mezi těmito složenými závorkami. Dialogue: 0,0:01:41.47,0:01:44.19,Default,,0000,0000,0000,,Takže v tomto případě \Nchceme opakovat "text". Dialogue: 0,0:01:44.19,0:01:46.20,Default,,0000,0000,0000,,Tak se do toho dejme \Na vložme to tam. Dialogue: 0,0:01:46.20,0:01:47.88,Default,,0000,0000,0000,,Je to ale trochu divné, Dialogue: 0,0:01:47.88,0:01:51.74,Default,,0000,0000,0000,,protože se nyní bude opakovat \Nstejný textový příkaz dokola. Dialogue: 0,0:01:52.85,0:01:54.56,Default,,0000,0000,0000,,My ale musíme něco změnit. Dialogue: 0,0:01:54.56,0:01:57.62,Default,,0000,0000,0000,,To nás přivádí k otázce druhé:\N„Co chceme pokaždé změnit?“ Dialogue: 0,0:01:57.71,0:02:02.66,Default,,0000,0000,0000,,Chceme změnit pozici "y", \Na to tak, aby byla 60 a pak 80. Dialogue: 0,0:02:02.66,0:02:05.50,Default,,0000,0000,0000,,Takže z toho uděláme proměnnou. Dialogue: 0,0:02:05.50,0:02:07.74,Default,,0000,0000,0000,,Nazvala jsem ji y, \Nprotože je to pozice y. Dialogue: 0,0:02:07.74,0:02:10.24,Default,,0000,0000,0000,,Teď deklarujeme \Nproměnnou zde nahoře. Dialogue: 0,0:02:10.24,0:02:12.22,Default,,0000,0000,0000,,Začne na hodnotě 40. Dialogue: 0,0:02:12.22,0:02:14.18,Default,,0000,0000,0000,,A teď už jen musíme\Nupravit proměnnou y. Dialogue: 0,0:02:14.18,0:02:18.07,Default,,0000,0000,0000,,Můžeme to udělat tak, \Nže napíšeme "y = y + 20;". Dialogue: 0,0:02:18.07,0:02:20.03,Default,,0000,0000,0000,,Pokaždé se bude zvětšovat. Dialogue: 0,0:02:20.36,0:02:23.34,Default,,0000,0000,0000,,Můžeme zde využít naši znalost \Nz lekce Incrementing Shortcuts. Dialogue: 0,0:02:24.24,0:02:26.46,Default,,0000,0000,0000,,Stačí použít zkratku. Dialogue: 0,0:02:27.52,0:02:30.60,Default,,0000,0000,0000,,Je to super a zbývá nám \Nzodpovědět už jenom otázku číslo tři: Dialogue: 0,0:02:30.60,0:02:32.70,Default,,0000,0000,0000,,"Jak dlouho bychom \Nto měli opakovat?" Dialogue: 0,0:02:32.70,0:02:36.53,Default,,0000,0000,0000,,Chceme to dělat dokola, ale \Nnechceme to dělat navždy. Dialogue: 0,0:02:36.53,0:02:38.54,Default,,0000,0000,0000,,V případě, že to budeme\Ndělat donekonečna, Dialogue: 0,0:02:38.54,0:02:41.58,Default,,0000,0000,0000,,zabere to opravdu hodně času a\Ntaky to může zmrazit prohlížeč. Dialogue: 0,0:02:43.65,0:02:46.93,Default,,0000,0000,0000,,Cyklus chceme opakovat do té doby,\Nnež se dostaneme na konec stránky. Dialogue: 0,0:02:46.93,0:02:47.90,Default,,0000,0000,0000,,Což znamená, Dialogue: 0,0:02:47.90,0:02:50.91,Default,,0000,0000,0000,,že ho cheme opakovat, \Ndokud je y je menší než 400. Dialogue: 0,0:02:50.91,0:02:52.80,Default,,0000,0000,0000,,Takže to prostě dáme sem\Na máme to! Dialogue: 0,0:02:53.41,0:02:56.33,Default,,0000,0000,0000,,Máme tuto zprávu \Nnapsanou přes celou obrazovku. Dialogue: 0,0:02:56.40,0:02:59.21,Default,,0000,0000,0000,,A vidíte, že je to mnohem snazší, \Nnež náš předchozí postup. Dialogue: 0,0:02:59.21,0:03:04.18,Default,,0000,0000,0000,,U toho jsme se za stejnou dobu\Nnedostali ani do čtvrtiny. Dialogue: 0,0:03:04.18,0:03:07.78,Default,,0000,0000,0000,,Můžeme se toho tedy zbavit \Na tady máme náš program. Dialogue: 0,0:03:07.78,0:03:11.25,Default,,0000,0000,0000,,Nyní se pokusíme lépe \Nporozumět tomu, co se děje. Dialogue: 0,0:03:11.25,0:03:13.06,Default,,0000,0000,0000,,Pro demonstraci si \Nbudu vypisovat y. Dialogue: 0,0:03:13.06,0:03:14.92,Default,,0000,0000,0000,,Napíšu "y je nyní". Dialogue: 0,0:03:14.92,0:03:19.41,Default,,0000,0000,0000,,Na konec zprávy připíšu y, \Nabychom to mohli vidět. Dialogue: 0,0:03:19.41,0:03:22.14,Default,,0000,0000,0000,,V tuto chvíli se hodnota \Nmění o 20. Dialogue: 0,0:03:22.87,0:03:25.97,Default,,0000,0000,0000,,Změníme to jen úpravou \Nproměnné zde. Dialogue: 0,0:03:25.97,0:03:31.43,Default,,0000,0000,0000,,Nebo to můžeme nastavit na 50\Na teď se to mění o 50. Dialogue: 0,0:03:31.43,0:03:35.58,Default,,0000,0000,0000,,Podobně můžete pokračovat a hrát si i \Ns ostatními hodnotami a měnit je. Dialogue: 0,0:03:35.58,0:03:39.98,Default,,0000,0000,0000,,Můžete vidět, jak to ovlivňuje místo,\Nkde se program zastaví. Dialogue: 0,0:03:40.67,0:03:45.36,Default,,0000,0000,0000,,Abyste tomu rozuměli lépe, můžete \Nsi to představit jako podmínku if. Dialogue: 0,0:03:45.58,0:03:48.69,Default,,0000,0000,0000,,Máme zde booleovský výraz,\Nkterý jste se již naučili. Dialogue: 0,0:03:48.69,0:03:52.03,Default,,0000,0000,0000,,Poté vytvoříme tělo výrazu,\Ntuto část zde. Dialogue: 0,0:03:52.03,0:03:54.66,Default,,0000,0000,0000,,Pokračujeme pouze pokud je\Nbooleovská podmínka pravdivá. Dialogue: 0,0:03:54.66,0:03:56.73,Default,,0000,0000,0000,,Jinak prostě skočíme na konec. Dialogue: 0,0:03:56.73,0:04:01.25,Default,,0000,0000,0000,,Zajímavé je to, že u while cyklu\Nmáme na konci tuto tajnou věcičku. Dialogue: 0,0:04:01.63,0:04:04.77,Default,,0000,0000,0000,,Ta nám říká:\N"Vrať se na začátek!" Dialogue: 0,0:04:05.86,0:04:07.20,Default,,0000,0000,0000,,Tato tajná instrukce značí, Dialogue: 0,0:04:07.20,0:04:11.78,Default,,0000,0000,0000,,že místo toho, aby cyklus \Njednoduše pokračoval jako u "if", Dialogue: 0,0:04:11.78,0:04:16.93,Default,,0000,0000,0000,,vrátí se po každém provedení cyklu na \Nzačátek a zkontroluje pravdivost podmínky. Dialogue: 0,0:04:16.93,0:04:19.96,Default,,0000,0000,0000,,Pokud je podmínka pravdivá,\Nzopakujeme to ještě jednou. Dialogue: 0,0:04:19.96,0:04:23.24,Default,,0000,0000,0000,,A asi tušíte, že se podruhé \Nopakuje úplně to samé. Dialogue: 0,0:04:23.53,0:04:25.74,Default,,0000,0000,0000,,Nejdříve jdeme na začátek. Dialogue: 0,0:04:25.74,0:04:28.06,Default,,0000,0000,0000,,Je y stále menší než 279? Dialogue: 0,0:04:28.06,0:04:31.56,Default,,0000,0000,0000,,Pokud ano, zopakujeme to ještě jednou a\Nbudeme pokračovat v kontrole. Dialogue: 0,0:04:31.56,0:04:34.41,Default,,0000,0000,0000,,Až když tomu tak není, \Njdeme zpět na začátek. Dialogue: 0,0:04:34.41,0:04:38.15,Default,,0000,0000,0000,,Potom nás to hodí na konec cyklu\Na budeme pokračovat v našem programu. Dialogue: 0,0:04:38.61,0:04:41.56,Default,,0000,0000,0000,,Existuje mnohem více zajímavých \Nzpůsobů, jak cykly používat. Dialogue: 0,0:04:41.56,0:04:42.70,Default,,0000,0000,0000,,Brzy se o nich dozvíte. Dialogue: 0,0:04:42.70,0:04:44.82,Default,,0000,0000,0000,,Zatím jste na dobré cestě.