Seriály

Swift akademie pro začátečníky: cykly a pole #6

Vítám vás u dalšího dílu naší akademie. V minulém díle jsme si představili funkce. Už tedy máte solidní zásobu znalostí, abyste si mohli tvořit vlastní prográmky. Nejlepší cesta jak se v programování zlepšit, je psát si vlastní kód co nejčastěji. Nyní se ale přesuneme k dnešnímu tématu. Tentokrát se budeme se učit cykly. 

Cykly: co jsou zač a k čemu slouží? 

Jak už název napovídá, cykly používáme když chceme kód opakovat. Možná si říkáte, že kód můžeme opakovat pomocí funkcí. Jak si v této epizodě ukážeme, cykly, oproti funkcím, mají své výhody. Existuje několik druhů cyklů, my si představíme dva nejpoužívanější. 

For cyklus

Ve for cyklu si stanovíme přesný počet opakování. Tento cyklus používáme, když chceme postupně projít všechny prvky dané skupiny. Cyklus se vždy spustí pro daný prvek člena skupiny. Každému tomuto „běhu“ našeho cyklu se říká iterace. Cyklus píšeme následující syntaxí: 

for položka in skupina

Pokud chceme, aby se kód spustil desetkrát za sebou. Cyklus napíšeme takto: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Uděláme si rozsah čísel od jedné do deseti. Jak můžeme vidět, vždy když nám proběhne jedna iterace, hodnota proměnné i se změní. 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Ukážeme si další příklad: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)
Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Kdybychom nepoužili cyklus, kód bychom napsali takto: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Jak můžeme vidět, Xcode nám žlutě podtrhne i v námi vytvořeném cyklu. Je to takové doporučení, že pokud v našem cyklu nijak nezmiňujeme naší proměnnou, v tomto případě i. Můžeme ji nahradit podtržítkem:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Do teď jsme si s for cyklem jen tak hráli. Teď si ukážeme jeho plné využití. 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Možná koukáte co to na 18. řádce je za syntaxi, kterou zatím neznáme. Je to tzv. pole(array), o tom si ale povíme něco později. V poli můžeme mít několik hodnot, které vždy musíme oddělit čárkou. První položka v našem poli je písmeno A. Námi vytvořený cyklus projede celé naše pole a printnte jednotlivé položky. Výstup by vypadal takto: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

While cyklus

While cyklus funguje o trochu jinak, než cyklus for. While cyklus má tuto syntaxi: 

while podmínka {

}

Dokud bude podmínka pravdivá, cyklus se bude neustále opakovat. Uděláme si příklad: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Vytvoříme si proměnnou i. Hodnota proměnné je momentálně 1. Uděláme si while cyklus, který vždy před spuštěním zkontroluje, zda je proměnná i menší nebo rovna deseti. Pokud je podmínka pravdivá, kód se spustí. 

Pole

Uděláme rychlou odbočku od cyklů a představíme novou věc, která se velmi často používá. Jde o pole, v angličtině Array. Uděláme si pár příkladů: 

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Vytvořili jsme si pole čísel. Kdybychom chtěli vypsat (print) první položku našeho pole, číslo 1, udělali bychom to následující metodou:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Kdybychom kdykoliv chtěli získat položku z pole, napíšeme název našeho pole a do hranatých závorek index pozice naší položky. Kdybychom chtěli z našeho pole získat číslo 1, v tomto případě musíme napsat index 0, protože pozice polí začínají od 0. Kdybychom chtěli číslo 4, index bude 3 atp.

Představíme si tři metody, kterými pole disponují. 

.append() – přidá novou položku

.sort() – seřadí všechny položky abecedně, nebo číselně od nejmenších po největší

.shuffle() – náhodně nám zamíchá položky v našem poli

Ukážeme si je v praxi:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Vytvoříme si novou proměnnou číslo a přidáme ji do našeho pole pomocí metody .append(). Pole zamícháme pomocí .shuffle() a poté seřadíme pomocí .sort(). Výstup by měl vypadat takto:

Zdroj: ceskymac.cz (Autor: Matyáš Himmer)

Shrnutí

  1. Syntaxe cyklu for je for položka in skupina
  2. Syntaxe cyklu while je while podmínka
  3. Položky v poli oddělujeme čárkami 
  4. Pokud napíšeme while true, nás cyklus poběží tak dlouho, dokud ho nezastavíme pomocí slova break

Úspěšně jste prošli šestou epizodou tohoto seriálu. Příští díl bude speciální. Vytvoříte si váš úplně první program. Rád vám na jakékoliv dotazy odpovím v diskuzi. 

Všechen kód, který jsme v tomto díle napsali, můžete nalézt na mém GitHubu.

Štítky

Matyáš Himmer

Fanoušek Applu od roku 2011, rád fotím a programuji. Články píši ve svém volném čase, studuji informační technologie na SSPŠ.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

Close