Co je to pseudokód a příklady jeho použití
Pseudokód je jazyk, který se používá k stručnému a jasnému vyjádření myšlenek a algoritmů bez nutnosti používat přesnou syntax kódu.
Co to znamená?
Když programujete, provádíte dvě činnosti.
Snažíte se vyřešit programovací problém
Toto řešení překldádáte do daného programovacího jazyka
Pomocí pseudokódu můžete rozdělit tyto dvě činnosti.
Zde je několik tipů pro psaní pseudokódu:
Používejte jednoduché a srozumitelné věty. Například místo "proměnná cislo je rovna 5" můžete napsat "do proměnné cislo přiřaď hodnotu 5".
Používejte klíčová slova, která odpovídají konkrétním krokům algoritmu. Například použijte slova jako "zadejte", "zobrazte" , "pokud", "jinak" a "pro každý" pro vyjádření konkrétních akcí.
Používejte odsazení k vyjádření vnořených struktur, jako jsou cykly a podmínky.
Vyhněte se používání zkratek, příliš technickým výrazům. Pseudokód by měl být snadno čitelný a srozumitelný i pro osoby, které neumi programovat
Pseudokód nemá žádný formální způsob zápisu, je důležité aby vyhovoval vám samotným.
Příklady pseudokódu
1. Funkce, která pro zadaný řetězec vrátí počet samohlásek
# Vytvořte proměnnou pro počítání samohlásek
# Pro každý znak v řetězci:
# Pokud je znak samohláska:
# Přičtěte jedna do proměnné pro počítání samohlásek
# Vraťte hodnotu proměnné pro počítání samohlásek
def pocet_samohlasek(retezec):
pocet = 0
for znak in retezec.upper():
if znak in "AEIOUY":
pocet += 1
return pocet
# Otestování funkce
print(pocet_samohlasek("sdgsd")) # --> 0
print(pocet_samohlasek("AaYyfgdf")) # --> 4
2. Funkce, která pro zadaný seznam vrátí seznam s dvojnásobky
# Vytvořte nový seznam pro uložení zdvojených čísel
# Pro každé číslo v seznamu čísel:
# Zdvojnásobte číslo a přidejte jej do nového seznamu
# Vraťte nový seznam se zdvojenými čísly
def dvojnasobek(seznam_cisel):
zdvojena_cisla = []
for cislo in seznam_cisel:
zdvojena_cisla.append(cislo * 2)
return zdvojena_cisla
# Testujeme funkci
print(dvojnasobek([1, 2, 3, 4, 5])) # očekáváme výstup: [2, 4, 6, 8, 10]
3. Funkce, která pro zadaný řetězec vrátí nejčastější slova
Vstup: text (string), obsahující řetězec slov oddělených mezerou
Výstup: seznam (list), obsahující nejčastější slova v textu
# Vytvořte slovník pro ukládání počtu výskytů jednotlivých slov
# Pro každé slovo v textu:
# Pokud je slovo již ve slovníku, přičti 1 k počtu výskytů
# Jinak přidej slovo do slovníku s výskytem 1
# Vytvoř seznam nejčastějších slov
# Nastav proměnnou pro nejvyšší počet výskytů na 0
# Pro každé slovo ve slovníku:
# Pokud je počet výskytů slova vyšší než nejvyšší počet výskytů:
# Nastav nejčastější slova na seznam s tímto slovem
# Nastav nejvyšší počet výskytů na počet výskytů tohoto slova
# Jinak pokud je počet výskytů slova roven nejvyššímu počtu výskytů:
# Přidej slovo do seznamu nejčastějších slov
# Vrať seznam nejčastějších slov
def nejcastejsi_slova(text):
vyskyty = {}
for slovo in text.split():
vyskyty[slovo] = vyskyty.get(slovo, 0) + 1
nejcastejsi = []
max_vyskyt = 0
for slovo, pocet in vyskyty.items():
if pocet > max_vyskyt:
nejcastejsi = [slovo]
max_vyskyt = pocet
elif pocet == max_vyskyt:
nejcastejsi.append(slovo)
return nejcastejsi
# Otestování:
print(nejcastejsi_slova("jedno slovo dve slova tři slova")) #--> slova
print(nejcastejsi_slova("slovo jedno slovo jedno")) # --> ["slovo", "jedno"]
print(nejcastejsi_slova("")) # --> []