Teklatuaren bidez sartutako esaldia palindromoa den aztertu behar du programak. Horretarako, honako azpiprograma haek derrigorrez erabili behar dira:
- Esaldiaren karaktere alfabetikoak letra larriz idazten dituen funtzioa
- Alfabetikoak ez diren esaldiko karaktereak kentzen dituen funtzioa
- Aurreko azpiprogramak aplikatu ondoren, esaldia palindromoa den aztertzen duen funtzio boolearra
Palindromoa: Definizioz, aurretik atzera eta atzetik aurrera irakurketa berdina duen esaldia.
Adibidez:
- Zein?, Ni ez [ZEINNIEZ]
- Atara zarata!!! [ATARAZARATA]
- Iker! Ireki [IKERIREKI]
- Ama zen ene zama [AMAZENENEZAMA]
- Nik enara neraman amaren aranekin [NIKENARANERAMANAMARENARANEKIN]
- Ze nekeza inori atea irekitzea eztikeria eta ironia zekenez [ZENEKEZAINORIATEAIREKITZEAEZTIKERIAETAIRONIAZEKENEZ]
Ñ eta ñ kontsonante berezien prozesaketa da egin gabe geratu da laborategian. Hona hemen azalpena.
- Hasteko, froga ezazu upcase funtzio estandarrak ñ kontsonantea hartzen badu ez duela bihurtzen Ñ karakterea, beraz eskuz egin beharko dugu.
-
Horrez gain, ñ karakterea katean identifikatzeko ezin daiteke egin normala den konparaketa hau:
0 | HAU TXARTO DAGO12(* katearen k-garren karakterea ñ da? *)
{ HAU EZ }
if
sEsaldi[k] =
'ñ'
then
Derrigorrez, ASCII taularen araberako ñ karaktereari dagokion ordinala erabili beharko dugu, 164 zenbakia. Horrela:
0 | HAU ONDO DAGO 12(* katearen k-garren karakterearen ordinala 164 da? *)
{ HAU BAI }
if
ord(sEsaldi[k]) =
164
then
-
Bukatzeko, ñ karakterea identifikaturik daukagunean ezin dugu bere ordez Ñ jarri esleipen arruntaren bitartez:
0 | HAU TXARTO DAGO12(* katearen k-garren karakterea orain Ñ gorde *)
{HAU EZ}
sEsaldi[k] :=
'Ñ'
;
Derrigorrez, berriro ere, ASCII taularen araberako Ñ karaktereari dagokion ordinala erabili beharko dugu, 165 zenbakia. Horrela:
0 | HAU ONDO DAGO 12(* k-garren posizioan 165 ordinalari dagokion Ñ karakterea gorde *)
sEsaldi[k] := chr(
165
);
(* k-garren posizioan Ñ gorde *)
{ HAU BAI }
Programa osatuaren kodea:
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.