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 a vylepším ji,
všechny její části se změní.
Jak to tedy funguje?
K tomuto kódu se můžeme
za chvíli vrátit znovu.
Teď se ale vraťme zpět a
zamysleme se nad tím,
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 nyní je to jen otázka opakování a času.
Nakonec se chceme dostat
až na dolní část stránky.
A to bude vyžadovat
spoustu práce.
Jelikož spodek je opravdu daleko.
A je to ještě horší,
když si uvědomíme,
že tohle vlastně nebylo 70,
musí to být blíže, musí to být tak 60.
A nyní to ovlivňuje taky tento kód,
protože musí být také menší.
A situace se opakuje, čím
více textových příkazů máme.
Takže to bude trvat celkem dlouho,
než se dostaneme na spodek.
Je to hodně otravné.
Ale naštěstí máme cykly,
které nám pomohou.
Od této chvíle, kdykoli uvidíte
podobný opakující se kód,
vaše první myšlenka by měla být:
"Můžu použít cyklus?"
Cyklus nám umožní opakovat
část kódu znovu, znovu a znovu.
Pokaždé jen s malými změnami.
Zde 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 se do toho dejme
a vložme to tam.
Je to ale trochu divné,
protože se nyní 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.
Teď deklarujeme
proměnnou zde 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 zde využít naši znalost
z lekce Incrementing Shortcuts.
Stačí použít zkratku.
Je to super a zbývá nám
zodpovědět už jenom otázku číslo tři:
"Jak dlouho bychom
to měli opakovat?"
Chceme to dělat dokola, ale
nechceme to dělat 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 cheme 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.
Nyní se pokusíme lépe
porozumět tomu, co se děje.
Pro demonstraci si
budu vypisovat y.
Napíšu "y je nyní".
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.
Nebo to můžeme nastavit 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.
Poté vytvoříme tělo výrazu,
tuto část zde.
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 tuto tajnou věcičku.
Ta nám říká:
"Vrať se na začátek!"
Tato tajná instrukce značí,
ž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 pravdivá,
zopakujeme to ještě jednou.
A asi tušíte, že se podruhé
opakuje úplně to samé.
Nejdříve jdeme na začátek.
Je y stále menší než 279?
Pokud ano, zopakujeme to ještě jednou a
budeme pokračovat v kontrole.
Až když tomu tak není,
jdeme zpět na začátek.
Potom nás to hodí na konec cyklu
a budeme pokračovat v našem programu.
Existuje mnohem více zajímavých
způsobů, jak cykly používat.
Brzy se o nich dozvíte.
Zatím jste na dobré cestě.