Warning
This page is located in archive.

Lab06 - Výpočet statistiky číselné posloupnosti

Úkoly:

Napište program, který vypočte průměrnou hodnotu a směrodatnou odchylku z posloupnosti čísel zadaných na standardní vstup. Při implementaci se inspirujte příkladem přesměrování standardního vstupu ze souboru.

  • Rozšiřte tento program pro výpočet statistiky (průměr a odchylka) z každých 10 vstupních čísel. Tyto dvě hodnoty vypište na jeden řádek standardního výstupu na tři desetinná místa a čísla oddělte mezerou, tj. formátování “%.3f %.3f”.
  • Na začátek řádku vypište počet hodnot, ze kterých jsou průměr a odchylka vypočítany na dvě místa, tj. formátování “%2d”.
  • Při detekci konce vstupního souboru vypište dílčí výsledek z příslušného počtu hodnot, ale pouze pokud je počet hodnot použitých k výpočtu vyšší než 1.
  • Rozlište mezi výstupem na standardní výstup a na standardní chybový výstup. Program implementujte jako další část třídy Lab06 v metodě pojmenované homework a zajistěte, že bude tato metoda volána po spuštění programu bez argumentu nebo v případě uvedení prvního argumentu jiného než 1, 2, 3 nebo 4.
  • Detekci konce vstupu indikujte výpisem 'End of input detected!' na standardní chybový výstup.
Odevzdávejte soubory Lab06.java, Start.java a TextIO.java.
V případě, že na řádku není detekováno číslo, program řádek přeskočí a pokračuje ve čtení vstupu do konce souboru. Tuto situace indikujte výpisem na standardní chybový výstup s uvedením čísla řádku, na kterém k této události došlo.
Pro výpočet směrodatné odchylky lze použít průměrnou hodnotu a průměr z mocniny sledované veličiny viz http://cs.wikipedia.org/wiki/Sm%C4%9Brodatn%C3%A1_odchylka nebo http://en.wikipedia.org/wiki/Standard_deviation.

--- Ukázka výstupu standardního a standardního chybového výstupu
java -jar dist/lab06.jar <long_input.txt
A number has not been parsed from line 6
10 41,900 28,027
10 54,700 20,303
10 53,100 23,015
10 48,100 23,369
10 55,300 31,947
10 51,800 18,936
10 53,800 23,849
10 38,500 30,434
A number has not been parsed from line 86
10 41,200 29,570
End of input detected!
 8 43,500 30,765

courses/a0b36pr1/hw/lab06.txt · Last modified: 2015/11/10 09:59 by hrstkon1