Maximum z kladných čı́sel
Zadání:
Vytvořte program, ve kterém uživatel zadá libovolný počet hodnot, z nichž program vypíše největší.
Vstup programu: libovolný počet hodnot Výstup programu: největší z hodnot
Rozbor:
Musíme mít nějakou hodnotu, kterou uživatel ukončí řadu čísel (tedy cyklus). V našem příkladu jsme zvolili hodnotu -1, tudíž jsme příklad omezit pouze na kladné hodnoty.
Po každém načtení jedné vstupní hodnoty musíme tuto hodnotu porovnat s aktuálně největší hodnotou.
Pokud je nová hodnota větší než maximum, stane se právě tato nová hodnota maximem. Tento postup budeme opakovat při každém průchodu cyklem.
Proměnné použité v programu:
X ... aktuálně zadaná hodnota [Integer]
MAX ... aktuálně největší hodnota [Integer]
Logické sestavení programu:
Nejdříve musíme do proměnné MAX 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 už budeme porovnávat). 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 - 1?“.
1. Pokud se X nerovná -1, pokračujeme v těle cyklu.
Na začátku těla cyklu musíme rozhodnout, zda aktuálně načtená hodnota X je větší než MAX.
I. Pokud je X větší než MAX, uložíme do proměnné MAX právě hodnotu X.
II. Pokud X není větší než MAX, nemusíme dělat nic a pokračujeme dál.
Načteme novou hodnotu X a vracíme se k řídicí podmínce cyklu.
2. Pokud se X rovná -1, nepokračujeme v těle cyklu, ale dalším příkazem za cyklem.
Vypsání největší hodnoty (MAX).