28. kasu praktikoa: datuak grafikoki bistaratu

      Askotan, datu sorta bat aurkezten digutenean, errazagoa izan ohi da datu horiek interpretatzea grafikoki adieraziz gero. Esaterako, hauteskundeen berri ematean, jasotako boto kopurua bera baino adierazgarriagoa izaten da alderdi bakoitzak lortu duen boto-portzentajea. Gauzak horrela, emaitzak barra bidezko grafiko batez bistaratuko dituen azpiprograma garatuko dugu, datu sorta bat aurkeztu behar dugunean erabili ahal izan dezagun.
      Hona hemen, adibide gisa, komando-lerrotik datu sorta pasatu eta grafikoki bistaratzen dituen bistaratu.pl programaren irteera:

>perl bistaratu.pl 50 10 26 28
DATUAK   PORTZENTAIA   GRAFIKOA
104          %100
**************************************************
10             9.62          ****
16            15.38         *******
28            26.92         *************
50            48.08         ************************
>

Programa bera:

bistaratu.pl
 #!/usr/local/bin/perl
 use warnings;
 use strict;
 # Funtzio deia. Argumentua komando-lerrotik jasotako datuak
 grafikoa(@ARGV);
 # Funtzioaren definizioa
 sub grafikoa {
      # Datuen array-a jaso argumentu gisa
      my @datuak = @_;
      my $batura = 0;
      my $portzentaia;
      my $zenbatIzar;
      # %100 kalkulatu: balio guztien batura
      foreach my $balio (@ARGV) {
            $batura = $batura + $balio;
             # edo $batura += $balio;
      }
      # Grafikoaren goiburukoa
      print (“DATUAKtPORTZENTAIAtGRAFIKOAn”);
      print (“$batura t %100tt”);
      # Datuen %100 adierazteko 50 izartxo
      print (“*” x 50);
      print (“nn”);
 # Datuak ordenatu eta grafikoki bistaratu
        foreach my $balio (sort ({$a <=> $b} @datuak)) {
                # Datu bakoitzaren portzentaia
                $portzentaia = ($balio / $batura) * 100;
                # Bistaratzeko formatua
                printf(“%s t %4.2f tt”, $balio, $portzentaia);
                # Portzentaiari dagozkion izartxoak
                $zenbatIzar = int($portzentaia * 0.5);
                print (“*” x $zenbatIzar);
                print(“n”);
        }
 }

     Programaren muina grafikoa() azpiprograman dago. Horrek, argumentu gisa zenbakizko datuen array bat jaso eta datuok barra bidezko grafiko bidez adierazten ditu.

Jaitsi   bistaratu.pl   fitxategia

Utzi erantzuna

Zure e-posta helbidea ez da argitaratuko. Beharrezko eremuak * markatuta daude