Průměr
Zadání:
Vytvořte program, ve kterém uživatel zadá libovolný počet hodnot, z nichž program vypočte průměr.
Vstup programu: libovolný počet hodnot Výstup programu: průměr 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 při sčítání by nulová hodnota neměla žádný význam.
Po každém načtení jedné vstupní hodnoty, musíme tuto hodnotu ihned přičíst k současnému součtu předchozích hodnot. Zároveň s tím musíme pokaždé zvýšit počítadlo hodnot POC o 1.
Musíme zde také využít malé finty, protože ve chvíli, kdy zadáme do proměnné 0, která slouží jako ukončovací znak a ne jako další hodnota, stejně program proběhne přes zvýšení počítadla o 1. Tento problém vyřešíme jednoduše tím, že na začátku programu do proměnné POC nahrajeme hodnotu -1.
Proměnné použité v programu:
X ... aktuálně zadaná hodnota [Integer]
SUMA ... součet hodnot [Integer]
POC ... počet hodnot [Integer]
PRUM ... výsledný průměr hodnot [Real]
Logické sestavení programu:
Nejdříve musíme do proměnné SUMA uložit hodnotu 0 a do proměnné POC uložit hodnotu -1. Dále započneme cyklus s podmínkou na konci. Na začátku těla cyklu musíme tedy pokaždé načíst hodnotu X. Tuto hodnotu ihned přičteme k současnému součtu předchozích hodnot a zvýšíme počítadlo POC o 1. Nyní následuje řídicí podmínka cyklu, kde musíme rozhodnout zda X se rovná 0.
1. Pokud se X nerovná 0, opakujeme tělo cyklu.
2. Pokud se X rovná 0, ukončíme cyklus a pokračujeme dalším příkazem.
Nyní můžeme spočítat průměr a následně ho vypsat.