Maturitní otázka č. 4

4. Programování – Řídící struktury

1. Co jsou to řídící struktury a jaké známe?

V klasickém (imperativním) programování se příkazy vykonávají postupně shora dolů. Často ale potřebujeme reagovat na různé stavy (např. uživatel zadal špatné heslo) nebo opakovat určitou operaci. Právě k tomu slouží řídící struktury – určují a mění tok řízení (control flow) programu.

Základní typy řídících struktur:

2. Cykly v programování a jejich využití

Cykly (smyčky) umožňují opakovaně vykonávat určitou část kódu, což šetří čas programátora, zmenšuje velikost programu a umožňuje zpracovávat dynamické množství dat. Dělíme je primárně na tři základní typy, které se liší tím, kdy a jak testují ukončovací podmínku:

3. Prostředky pro větvení programů

Větvení (podmínky) slouží k realizaci rozhodovacích procesů v algoritmu. Většina programovacích jazyků (např. C, Java, Python, C#) k tomu používá tyto dva základní prostředky:

4. Praktický program: Vykreslování hvězdiček

V této ukázce využijeme programovací jazyk Python. Jazyk Python je na tento úkol ideální, jelikož umožňuje jednoduché množení řetězců (znaku hvězdičky) celým číslem. Použijeme v něm jak načtení uživatelského vstupu, tak sekvenci příkazů větvení (if-else) a pochopitelně iterační cyklus for.

# Načtení celého čísla od uživatele
n = int(input("Zadejte celé číslo: "))

# Logická podmínka pro větvení
if n <= 10:
    # Bod A: n <= 10 (postupné snižování od n po 1 hvězdičku)
    # range(start, stop, krok) -> začneme na n, končíme před 0 (tedy u 1), jdeme po -1
    for i in range(n, 0, -1):
        print("*" * i)
else:
    # Bod B: n > 10 (stejný výpis, ale vždy právě 10 řádků, tedy od 10 do 1)
    for i in range(10, 0, -1):
        print("*" * i)

Vysvětlení funkčnosti pro komisi: Program nejprve definovanou řídící strukturou větvení zkontroluje velikost čísla n (např. 5). Větvička `if` zpracuje čísla menší nebo rovna 10. Cyklus for s parametrem zpětného kroku (-1) se postupně postará o výpis požadovaného počtu hvězdiček. V první iteraci "vytiskne n hvězdiček", v další n-1, až po 1. V případě, že uživatel zadá např. 25 (větev `else`), program se z bezpečnostních důvodů (např. přetečení terminálu) omezí a vytiskne právě 10 řádků přesně ve stejném formátu (od deseti hvězdiček po jednu), jak požaduje zadání.

Dokument 28 – Aktivní webovky, redakční systém

Aktivní webovky, redakční systém