# Jolanta Bachan # 2007-01-21 # Zadanie A # Zadanie na zaliczenie use strict ; my $liczby_filename = "liczby.txt" ; my $liczby_posortowane_filename = "liczby_posorwowane.txt" ; my @liczby = () ; my @liczby_posortowane ; my $suma = 0 ; my $iloczyn = 1 ; my $srednia = 0 ; my $sqroot = 0 ; my $ilosc_liczb = 0 ; my $i = 0 ; my $newline = "\n" ; my $error_open = "Cannot open " ; my $error_create = "Cannot create " ; my $error_open_liczby = $error_open . $liczby_filename ; my $error_create_liczby_posortowane = $error_create . $liczby_posortowane_filename ; # 1 - Otworz plik "liczby.txt". # 2 - Wpisz liczby do tablicy. open (IN, $liczby_filename) || die "$error_open_liczby: $!" ; while () { @liczby = split (/, /, $_) ; } # 3 - Sprawdz, ile jest elementow w tablicy. $ilosc_liczb = @liczby ; chomp (@liczby) ; # 4 - Posortuj liczby. @liczby_posortowane = sort(@liczby) ; # 5 - Posortowane liczby drukuj do pliku "liczby_posortowane.txt" # (kazda liczba ma byc na osobnej linii). open (OUT, ">$liczby_posortowane_filename") || die "$error_create_liczby_posortowane: $!" ; for ($i=0; $i<$ilosc_liczb ; $i++) { print OUT $liczby_posortowane[$i] . $newline ; } close (OUT) ; # 6 - Dodaj liczby, policz srednia. Pomnoz liczby jedna przez druga # i znajdz pierwiastek kwadratowy z iloczynu. for ($i=0; $i<$ilosc_liczb ; $i++) { $suma = $suma + $liczby_posortowane[$i] ; $iloczyn = $iloczyn * $liczby_posortowane[$i] ; } $srednia = $suma/$ilosc_liczb ; $sqroot = sqrt($iloczyn) ; # 7 - Drukuj sume, srednia, iloczyn i pierwiastek kwadratowy # do wyjscia standardowego. print "Suma: $suma." . $newline . "Srednia: $srednia." . $newline . "Iloczyn: $iloczyn." . $newline . "Kwadrat z iloczynu: $sqroot." ;