GYMNÁZIUM, VLAŠIM, TYLOVA
Autor | Ing. Marta Bechyňová |
Číslo materiálu | 4_1_INF_12 |
K dispozici na | http://www.ivt.mzf.cz/algoritmizace-a-programovani/uvod-do-algoritmu/8-resene-priklady/priklad-5/ |
Datum vytvoření |
|
Druh učebního materiálu | webová stránka |
Ročník | 1. |
Anotace | webová stránka pro vytvoření vývojového diagramu a programu v Pascalu pro výpočet aritmetického průměru |
Klíčová slova | algoritmus, aritmetický průměr |
Vzdělávací oblast | Informační a komunikační technologie |
Očekávaný výstup | Studenti se naučí vytvořit vývojový diagram a program v Pascalu pro výpočet aritmetického průměru. |
Zdroje a citace | [online]. [cit. 2012-10-19]. Dostupné z: http://www.spsemoh.cz/vyuka/algor/index.htm
|
Příklad 5.
- Formulace problémuSestavte algoritmus, který vypočítá aritmetický průměr z posloupnosti celých kladných čísel končící nulou, která do posloupnosti nepatří.
a) předpokládejte, že posloupnost není prázdná
b) posloupnost může být prázdná (hned první přečtené číslo je 0). - Analýza úlohyVstupní údaje: jedno z čísel posloupnosti C
Výstupní údaje: aritmetický průměr PRUMER (počet čísel POCET, součet čísel SUMA)
Analýza: aritmetický průměr se počítá podělením součtu členů posloupnosti jejich počtem.
a) Protože nevíme, kolik čísel bude posloupnost obsahovat (víme jen, že minimálně jedno), budeme průběžně během čtení jednotlivých členů posloupnosti aktualizovat počet a součet čísel. Pro čtení zvolíme cyklus s podmínkou na konci, protože první číslo je určitě členem posloupnosti a bude se tedy zpracovávat.
b) V případě, že posloupnost bude prázdná, nelze počítat průměr, protože počet čísel je nula a nulou nelze dělit. Pro čtení posloupnosti zvolíme cyklus s podmínkou na začátku, abychom nezpracovávali nulu, pokud by byla hned první. - Sestavení algoritmu a)
Vývojový diagram:
Zápis programu var C,POCET,SUMA : integer; PRUMER : REAL; begin POCET:=0; SUMA:=0; readln(C); repeat POCET:=POCET+1; SUMA:=SUMA+C; readln(C); until C=0; PRUMER:=SUMA/POCET; writeln('Průměr : ',PRUMER); end.
- Sestavení algoritmu b)
Vývojový diagram:
Zápis programu
var C,POCET,SUMA : integer; PRUMER : REAL; begin POCET:=0; SUMA:=0; readln(C); while c<>0 do begin POCET:=POCET+1; SUMA:=SUMA+C; readln(C); end; if POCET>0 then begin PRUMER:=SUMA/POCET; writeln('Průměr : ',PRUMER); end else writeln('Prázdná posloupnost'); end.
Příklady:
- Sestavte algoritmus, který vypočítá aritmetický průměr z posloupnosti známek končících nulou a zjistí počet pětek.
- Sestavte algoritmus, který vypočítá průměrný počet žáků ve třídě po zadání počtu žáků v jednotlivých třídách, zadávání ukončete nulou.
- Sestavte algoritmus, který průměrnou hmotnost žáka z posloupnosti hmotností jednotlivých žáků končících nulou.
Přidejte odpověď