Počet záporných a kladných čı́sel
Zadání:
Vytvořte program, ve kterém uživatel zadá libovolný počet hodnot, pro něž program vypíše, kolik bylo záporných a kolik kladných.
Vstup programu: libovolný počet hodnot
Výstup programu: počet kladných, počet záporných hodnot
Rozbor:
Musíme mít nějaké číslo, kterým uživatel ukončí řadu čísel (tedy cyklus). V našem příkladu jsme zvolili 0, protože ta v našem příkladu nehraje roli. Nepatří ani do kladných ani do záporných čísel.
Po každém načtení jedné vstupní hodnoty (pokud se nejedná o ukončovací znak) musíme zjistit, zda je hodnota kladná nebo záporná. Tento postup budeme opakovat při každém průchodu cyklem.
Proměnné použité v programu:
X ... aktuálně zadaná hodnota [Integer]
KLAD ... aktuální počet kladných hodnot [Integer]
ZAP ... aktuální počet záporných hodnot [Integer]
Logické sestavení programu:
Nejdříve musíme do proměnných KLAD a ZAP uložit hodnotu 0 (protože si nemůžeme být jisti, co tam bylo za hodnoty, a při prvním průchodu cyklem budeme proměnné používat jako operandy). Nyní musíme, ještě před započetím cyklu, načíst první hodnotu X. Dále pokračujeme cyklem, jehož řídicí podmínka zní: „Je X různé od 0?“.
1. Pokud se X nerovná 0, pokračujeme v těle cyklu.
Na začátku těla cyklu musíme rozhodnout, zda se jedná o kladné nebo záporné číslo.
I. Pokud je X větší než 0, zvýšíme proměnnou KLAD o 1.
II. Pokud X není větší než 0, zvýšíme proměnnou ZAP o 1.
Načteme novou hodnotu X a vracíme se k řídící podmínce cyklu.
2. Pokud se X rovná 0, nepokračujeme v těle cyklu, ale dalším příkazem za cyklem.
Vypsání ZAP a KLAD.