Počet slov v textu
Zadání:
Vytvořte program, ve kterém uživatel zadá text, v němž program zjistí počet slov.
Vstup programu: text
Výstup programu: počet slov
Rozbor:
Musíme mít nějaký znak, kterým uživatel ukončí posloupnost znaků (tedy cyklus). V našem příkladu jsme zvolili ꞌ.ꞌ (tečku), čímž jsme text omezili na zadání jedné věty.
Slova budeme počítat pomocí mezer (které jsou také znakem). Ale pozor, mezer bude vždy o jednu méně než slov.
Po každém načtení jednoho znaku musíme zjistit, zda se nejedná o mezeru.
Proměnné použité v programu:
ZNAK ... aktuálně zadaný znak (jeden znak textu) [Char]
MEZ ... počet výskytů mezery [Integer]
Logické sestavení programu:
Nejdříve musíme do proměnné MEZ uložit hodnotu 0 (protože si nemůžeme být jisti, co tam bylo za hodnotu, a při prvním průchodu cyklem ji použijeme jako operand). Nyní musíme, ještě před započetím cyklu, načíst první znak textu ZNAK. Dále pokračujeme cyklem, jehož řídicí podmínka zní:
„Je ZNAK různý od ꞌ.ꞌ?“.
1. Pokud ZNAK neodpovídá ꞌ.ꞌ, pokračujeme v těle cyklu.
Na začátku těla cyklu musíme rozhodnout, zda aktuálně načtený ZNAK je mezera.
I. Pokud ZNAK je mezera, zvýšíme MEZ o 1.
II. Pokud ZNAK není mezera, nemusíme dělat nic a pokračujeme dál.
Načteme nový ZNAK a vracíme se k řídicí podmínce cyklu.
2. Pokud ZNAK odpovídá ꞌ.ꞌ, nepokračujeme v těle cyklu, ale dalším příkazem za cyklem.
Vypsání počtu slov, takže počtu mezer MEZ + 1 .