23. kasu praktikoa: palindromoak

     Teklatu bidez hitz edo esaldi bat jaso eta palindromoa den ala ez adierazten duen programa idatzi. Palindromoa da, ezkerretik eskuinera zein eskuinetik ezkerrera berdin irakurtzen dena. Adibidez: “ama”, edo askoz luzeagoa den “nik enara neraman amaren aranekin”.
     Programak zuriune eta puntuazio-markak ez ditu aintzat hartu behar.
Baina nola jakin karaktere-kate bat palindromoa den ala ez? Erabakitzeko modu bat litzateke karakterez karaktere array batean gorde eta ondoren bere alderantzizkoarekin konparatzea. Katea palindromoa izango da bi array-ak (jatorrizkoa eta alderantzikatua) berdinak direnean.
Kontuz, kasu berezi bezala karaktere bakarreko katea izango genuke, palindromoa
dena baita.

Hona programa:

palindromo.pl
 #!/usr/bin/perl
 # sarrera: teklatu bidez idatzitako esaldia
 # irteera: idatzitakoa palindromoa den ala ez
 use warnings;
 use strict;
 print(“Idatzi esaldi edo hitz bat:n”);
 my $testua = <STDIN>;
 chomp($testua);
 # hitz karaktere ez direnak ezabatu
 $testua =~ s/W//g;
 # Letra larriak xehe bihurtu
 $testua =~ tr/A-Z/a-z/;
 # karakterez-karaktere array-an gorde
 my @karak = split (//, $testua);
 # array-a atzekoz aurrera jarri eta karaktereak
 # elkarrekin itsatsi
 my $atzekozAu = join (“”, reverse(@karak));
 # palindromoa den konprobatu
 if (@karak == 1) {
      print “Letra bakarreko palindromoa!n”;
 }
 elsif ($atzekozAu eq $testua) {
      print “Palindromoa dan”;
 }
 else {
      print “Ez da palindromoan”;
 }

Jaitsi   palindromo.pl   fitxategia

Utzi erantzuna

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