# Jolanta Bachan # 2008-01-21 # zadanie_C_02.pl # Zadanie na zaliczenie use strict ; my @tablica = () ; my $tablica_length = 0 ; my $string = "trudny" ; my $suma = 0 ; my $sqroot = 0 ; my $srednia = 0 ; my $i = 0 ; my $j = 0 ; my $statystyka_filename = "statystyka.txt" ; my $newline = "\n" ; my $error_create = "Cannot create: " ; my $error_create_statystyka = $error_create . $statystyka_filename ; # 1 - Zapytaj uzytkownika, aby wprowadzil dowolna liste znakow (CTRL+Z aby zakonczyc) # i zapisz ja do tablicy. print "Wprowadz liste (CTRL+Z, aby zakonczyc): " ; @tablica = ; # 2 - Sprawdz, ile jest elementow tablicy. $tablica_length = @tablica ; chomp (@tablica) ; for ($i=0; $i<$tablica_length; $i++) { # 3 - Sprawdz, czy znaki w tablicy to liczby. Jesli tak, to policz ile ich jest, # zsumuj je, oblicz pierwiastek kwadratowy z sumy i srednia. Cdn. if ($tablica[$i] =~ /\d/ && $tablica[$i] !~ /[a-zA-Z]/) { $j++ ; $suma = $suma + $tablica[$i] ; # 4 - Jesli elementy tablicy zawieraja litery, to: # -- jesli elementy tablicy maja w sobie ciag "trudny", to zamien ten ciag na "prosty". # -- powtorz te elementy 3 razy i jednej linijce i wydrukuj do standardowego wyjscia. # Tzn. jesli program natrafi na wyraz "mama", to ma go wydrukowac trzykrotnie, # czyli w postaci "mamamamamama". } elsif ($tablica[$i] =~ /[a-zA-Z]/) { if ($tablica[$i] =~ /trudny/) { $tablica[$i] =~ s/trudny/prosty/ ; } print $tablica[$i] x 3 . $newline; } } # 3 - cd. Oblicz pierwiastek kwadratowy z sumy i srednia. $sqroot = sqrt($suma) ; $srednia = $suma/$j; # 5 - Utworz plik statystyka.txt i wydrukuj do niego: # sume liczb, pierwiastek kwadratowy z sumy i srednia liczb. open (OUT, ">$statystyka_filename") || die "$error_create_statystyka:$!" ; print OUT "Suma: $suma." . $newline . "Pierwiaster kwadratowy z sumy: $sqroot." . $newline . "Srednia: $srednia." ; close (OUT) ;