Shrnutí

V této lekci jste se naučili, že:

  • Cyklus opakuje blok kódu. Jednomu provedení bloku se říká průchod cyklem. Blok odsazujte o 4 mezery.
  • while podmínka do … end opakuje blok, dokud podmínka platí. Něco v bloku se musí měnit, aby podmínka jednou přestala platit. Jinak cyklus nikdy neskončí a tady na webu se program po 5 sekundách zastaví. Co do té doby vypsal, ve výstupu zůstane.
  • for i = 1, 10 do … end počítá od 1 do 10, včetně obou čísel. Proměnnou i cyklus sám udělá lokální a za jeho end je i rovno nil.
  • Třetí číslo je krok: for i = 10, 1, -1 počítá pozpátku a for i = 1, 9, 2 bere každé druhé číslo. Když je začátek za koncem, cyklus proběhne nulakrát. Dejte si pozor na chybu o jedničku.
  • for použijte, když víte, kolikrát se cyklus provede, a while, když to nevíte.
  • Součet: proměnná začíná před cyklem na 0, v cyklu k ní přičtete každou hodnotu (celkem = celkem + hodnota) a za cyklem ji vypíšete. Průměr je součet vydělený počtem hodnot.
  • Počítání: počítadlo začíná na 0 a uvnitř if se zvyšuje o 1. den % 5 == 0 vybere každý pátý den.
  • repeat … until podmínka kontroluje podmínku až po bloku, takže blok proběhne aspoň jednou, a skončí, jakmile podmínka platí. Podmínka může používat lokální proměnné z bloku.
  • break cyklus okamžitě ukončí. Lua nemá continue: zbytek bloku místo toho dejte do if.
  • Cykly se dají vnořovat: vnitřní cyklus proběhne celý v každém průchodu vnějšího. io.write zapíše texty a čísla bez nového řádku a bez tabulátorů a prázdný print() řádek ukončí.

V další lekci poznáte tabulky: v jediné proměnné udrží celý seznam hodnot, třeba všechny Eminy plodiny. Projdete je cykly, které teď znáte.

Pokyny

Procvičte si to na Emině plánu na dalších 12 dní. Cyklem for vypište pro každý den od 1 do 12 jeden řádek. Každý třetí den je na zalévání, každý čtvrtý na trh, a když je den obojím (tady jen dvanáctý), dělá Ema obojí. V ostatních dnech plete záhony. Nejdřív zkontrolujte „obojí“, jinak by dvanáctý den byl jen na zalévání. Program vypíše:

Den 1: pletí
Den 2: pletí
Den 3: zalévání
Den 4: trh
Den 5: pletí
Den 6: zalévání
Den 7: pletí
Den 8: trh
Den 9: zalévání
Den 10: pletí
Den 11: pletí
Den 12: zalévání a trh

Za každý den na trhu Ema utrží 40 mincí. Před cyklem vytvořte lokální proměnnou mince s hodnotou 0 a v cyklu k ní v každém dni s trhem (i ve dvanáctém) přičtěte 40. Za cyklem vypište:

Mince z trhu: 120

Ema šetří na nová vrata do stodoly za 300 mincí a každý další den na trhu jí vynese dalších 40. Na konec programu napište cyklus while, který k proměnné mince přičítá 40, dokud je menší než 300, a tyto dny na trhu počítá v nové proměnné. Za cyklem vypište:

Dalších dní na trhu: 5

Začněte programovat zdarma

Registrací souhlasíte s provozními podmínkami a zásadami ochrany osobních údajů.

Nebo se registrujte pomocí:

10/10