-
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ě.