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

Template domácího úkolu ke stažení zde. Ke kontrole vstupů použijte funkce z třídy TextIO.
21.3.2018: Zamyslete se nad tím, že délka posloupnosti není omezená a není tedy vhodné vstupní data ukládat do paměti.

Ú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 část třídy Lab02 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 Lab02.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/lab02.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

Rada - spusteni jar souboru bez manifestu z prikazove radky:
java -cp ./soubor.jar cz.cvut.fel.pjv.Main
courses/b0b36pjv/hw/02.txt · Last modified: 2018/03/21 16:43 by mudromar