Počet samohlásek
Zadání:
Vytvořte program, ve kterém uživatel zadá text, pro nějž program vypíše počet výskytů jednotlivých samohlásek.
Vstup programu: text
Výstup programu: počet a, e, i, o, u
Rozbor:
V tomto příkladu využijeme toho, že řetězec znaků (String) je uložen stejně jako pole, které má velikost rovnou počtu znaků v řetězci.
Pro zkontrolování jednotlivých znaků využijeme cyklu s předem daným počtem opakování, kde počet opakování představuje počet znaků v textu (délku řetězce). Využijeme toho, že řídicí proměnná se po každém projití cyklu zvýší o jedna a tudíž nám poslouží jako index znaku.
Proměnné použité v programu:
A ... aktuální počet samohlásky „a“ [Integer]
E ... aktuální počet samohlásky „e“ [Integer]
I... aktuální počet samohlásky „i“ [Integer]
O ... aktuální počet samohlásky „o“ [Integer]
U ... aktuální počet samohlásky „u“ [Integer]
j ... řídicí proměnná cyklu [Integer]
T ... zadaný text [String]
Logické sestavení programu:
Nejdříve načteme text T. Nyní musíme vynulovat počítadla samohlásek A, E, I, O, U. Pokračujeme cyklem, kterému zadáme, že jeho řídicí proměnná j do sebe v prvním cyklu uloží hodnotu 1 a bude se každý další cyklus zvětšovat až do chvíle, kdy dosáhne hodnoty představující délku řetězce (length(T)).
1. Dokud je j menší než délka řetězce, bude se dokola provádět tělo cyklu, v kterém budeme kontrolovat, zda znak s indexem j není právě jedna ze samohlásek.
I. Pokud je T[j] jedna ze samohlásek, pak zvýšíme počítadlo příslušné samohlásky.
II. Pokud T[j] není ani jedna ze samohlásek, pak nemusíme dělat nic a pokračujeme dalším příkazem.
2. Pokud je j rovno délce řetězce, provede se cyklus naposledy a pokračuje dalším příkazem za cyklem.
Vypsání jednotlivých počtů samohlásek A, E, I, O, U.