Smyčka

V informatice je smyčka programovací struktura, která opakuje posloupnost instrukcí, dokud není splněna určitá podmínka. Programátoři používají smyčky k procházení hodnot, sčítání čísel, opakování funkcí a mnoha dalším účelům.

Smyčky podporují všechny moderní programovací jazyky, i když se jejich implementace a syntax mohou lišit. Dva z nejběžnějších typů smyček jsou smyčka while a smyčka for.

Smyčka while

Smyčka while je nejjednodušší formou programovací smyčky. Určuje, že dokud platí určitá podmínka, má se smyčka opakovat. V níže uvedeném příkladu v jazyce PHP bude smyčka while pokračovat, dokud se i nebude rovnat num.

   $i = 1;
   $num = 21;

   while ($i < $num)  // stop when $i equals $num
   {
       echo "$i, ";
       $i++;   // increment $i
   }

Pokud je $i rovno 1 a $num rovno 21, smyčka vypíše 1, 2, 3, 4… atd. až do 20. Poté se smyčka po 20 iteracích zastaví neboli „ukončí“, protože byla splněna podmínka while.

Smyčka for

Smyčka for je podobná smyčce while, ale zjednodušuje zdrojový kód. Příkaz smyčky for definuje počáteční a koncový bod i přírůstek při každé iteraci. Níže je stejná smyčka jako výše, definovaná pomocí smyčky while.

   $num = 21;

   for ($i = 1; $i < $num; $i++)  // stop when $i equals $num
   {
       echo "$i, ";
   }

Ačkoli lze smyčky for a while často používat zaměnitelně, v mnoha případech dává větší smysl použít jednu z nich. Ve většině případů se upřednostňují smyčky for, protože jsou přehlednější a snáze se čtou. V některých situacích však může být příkaz while efektivnější. Následující příkaz v jazyce PHP lze například použít k načtení všech hodnot z výsledku MySQL do pole pomocí jediného řádku kódu.

   while ($row = mysql_fetch_array($result))

NOTE: Protože se smyčky opakují, dokud není splněna určitá podmínka, je důležité zajistit, aby se smyčka v určitém okamžiku ukončila. Pokud podmínka nebude nikdy splněna, smyčka bude pokračovat donekonečna a vytvoří nekonečnou smyčku. Psaní kódu, který umožňuje nekonečné smyčky, je špatný programátorský postup, protože může způsobit zhroucení programů.

Aktualizováno February 3, 2016 od Per C.

quizOtestujte své znalosti

A programming error that slowly consumes all available RAM is called what?

A
Memory leak
0%
B
Buffer overflow
0%
C
Infinite loop
0%
D
Data fragmentation
0%
Correct! Incorrect!     View the Memory Leak definition.
More Quizzes →

Počítačový slovník Tech Terms

Definice Smyčka na této stránce je originální definice napsaná autory TechTerms.com. Pokud chcete na tuto stránku odkazovat nebo tuto definici citovat, použijte prosím zelený citační pruh přímo pod definicí.

Naším cílem je vysvětlovat počítačovou terminologii srozumitelným způsobem. U každé zveřejněné definice usilujeme o přesnost a jednoduchost. Pokud máte zpětnou vazbu nebo chcete navrhnout nový technický pojem, kontaktujte nás.

Newsletter Tech Terms

Rozšiřte své technické znalosti s naším denním nebo týdenním newsletterem! Přihlaste se ještě dnes a dostávejte nové pojmy a kvízy přímo do schránky.

Přihlaste se k bezplatnému newsletteru TechTerms

Jak často chcete dostávat e-mail?

Odhlásit se nebo změnit frekvenci můžete kdykoli pomocí odkazů v každém e-mailu. Dotazy? Prosím kontaktujte nás.

Poznámka: Newsletter je zasílán v angličtině.