-
Pojďme si říct něco o cyklech.
-
Máme tady while cyklus
s několika řádky kódu,
-
pomocí kterých mohu napsat tuto
zprávu přes celou obrazovku.
-
Pokud zprávu změním,
všechny její části se změní.
-
Jak to tedy funguje?
-
K tomuto kódu se vrátíme
za chvíli.
-
Teď ale začneme tím,
že se zamyslíme,
-
jak bychom mohli tento program
napsat za použití jen toho, co známe.
-
Tedy bez použití cyklů.
-
Abychom to dokázali, budeme
psát spoustu textu pořád dokola.
-
Napíšeme "text(message)", umístíme to
a teď je to jen otázka opakování.
-
Nakonec se chceme dostat
až na dolní část stránky.
-
A to bude vyžadovat
spoustu práce.
-
Jelikož spodek je opravdu daleko.
-
A bylo by to ještě horší,
když si uvědomíme,
-
že tohle vlastně nebylo 70,
musí to být blíž, musí to být třeba 60.
-
A teď to ovlivňuje taky tento kód,
protože musí být taky jinde.
-
A situace se opakuje, čím
víc textových příkazů máme.
-
Takže to bude trvat celkem dlouho,
než se dostaneme dolů.
-
A je to docela otrava.
-
Ale naštěstí máme cykly.
-
Od této chvíle, kdykoli uvidíte
podobný opakující se kód,
-
mělo by vás hned napadnout:
-
"Můžu použít cyklus?"
-
Cyklus nám umožní opakovat
část kódu znovu a znovu.
-
Pokaždé jen s malými změnami.
-
Tady bychom mohli kód
přepsat cyklem.
-
Abychom mohli začít, musíme napsat
"while", závorky a složené závorky.
-
Dostaneme tuto zprávu.
-
Ale to jen proto, že jsme
to ještě celé nedokončili,
-
takže se nebojte,
zpráva nakonec zmizí.
-
Pokaždé, když píšete cyklus, musíte
si odpovědět na tři klíčové otázky.
-
První otázka zní:
„Co chci opakovat?“
-
To, co chceme opakovat,
musí být mezi těmito složenými závorkami.
-
Takže v tomto případě
chceme opakovat "text".
-
Tak pojďme na to,
vložíme ho tam.
-
Je to ale trochu divné,
-
protože se teď bude opakovat
stejný textový příkaz dokola.
-
My ale musíme něco změnit.
-
To nás přivádí k otázce druhé:
„Co chceme pokaždé změnit?“
-
Chceme změnit pozici "y",
a to tak, aby byla 60 a pak 80.
-
Takže z toho uděláme proměnnou.
-
Nazvala jsem ji y,
protože je to pozice y.
-
Takže zadefinujeme
proměnnou tady nahoře.
-
Začne na hodnotě 40.
-
A teď už jen musíme
upravit proměnnou y.
-
Můžeme to udělat tak,
že napíšeme "y = y + 20;".
-
Pokaždé se bude zvětšovat.
-
Můžeme tady využít naše znalosti
z lekce Zkratky pro zvětšování.
-
Stačí použít zkratku.
-
To je super a zbývá nám
už jen otázka číslo tři:
-
"Jak dlouho bychom
to měli opakovat?"
-
Chceme to dělat dokola, ale
ne navždy.
-
V případě, že to budeme
dělat donekonečna,
-
zabere to opravdu hodně času a
taky to může zmrazit prohlížeč.
-
Cyklus chceme opakovat do té doby,
než se dostaneme na konec stránky.
-
Což znamená,
-
že ho chceme opakovat,
dokud je y je menší než 400.
-
Takže to prostě dáme sem
a máme to!
-
Máme tuto zprávu
napsanou přes celou obrazovku.
-
A vidíte, že je to mnohem snazší,
než náš předchozí postup.
-
U toho jsme se za stejnou dobu
nedostali ani do čtvrtiny.
-
Můžeme se toho tedy zbavit
a tady máme náš program.
-
Teď se pokusíme lépe
porozumět tomu, co se děje.
-
Na ukázku si
budu vypisovat hodnoty y.
-
Napíšu "y je nyní"
-
a na konec zprávy připíšu y,
abychom to mohli vidět.
-
V tuto chvíli se hodnota
mění o 20.
-
Změníme to jen úpravou
proměnné zde.
-
Můžeme to nastavit třeba na 50
a teď se to mění o 50.
-
Podobně můžete pokračovat a hrát si i
s ostatními hodnotami a měnit je.
-
Můžete vidět, jak to ovlivňuje místo,
kde se program zastaví.
-
Abyste tomu rozuměli lépe, můžete
si to představit jako podmínku if.
-
Máme zde booleovský výraz,
který jste se již naučili.
-
Pak vytvoříme tělo výrazu,
tuto část zde.
-
A pokračujeme pouze pokud je
booleovská podmínka pravdivá.
-
Jinak prostě skočíme na konec.
-
Zajímavé je to, že u while cyklu
máme na konci takovou tajnou věcičku.
-
Ta nám říká:
"Vrať se na začátek!"
-
Tato tajná instrukce říká,
-
že místo toho, aby cyklus
jednoduše pokračoval jako u "if",
-
vrátí se po každém provedení cyklu na
začátek a zkontroluje pravdivost podmínky.
-
Pokud je podmínka pořád pravdivá,
zopakuje to ještě jednou.
-
A asi tušíte, že se podruhé
opakuje úplně to samé.
-
Nejdřív jdeme na začátek.
-
Je y pořád menší než 279?
-
Pokud ano, zopakujeme to ještě jednou a
budeme pokračovat v kontrole.
-
Až když tomu tak není,
-
pak nás to hodí na konec cyklu
a budeme pokračovat v našem programu.
-
Existuje mnohem víc zajímavých
způsobů, jak cykly používat.
-
Brzy se o nich dozvíte.
-
Zatím vám to jde skvěle!