Hurrengo adibidean kate bakar bat prozesatzen da:
(* Esaldi bat teklatuz irakurri ondoren, esaldi berberan edukia aldatu karaktereen aldaketa honelaxe izango da: - Alfabetoko bokal bat bada, letra larriz jarri bokal hori. - Alfabetoko kontsonante bat bada, letra xehez jarri kontsonante hori. - Beste edozein karaktere bada, ez aldatu. *) program KateaKarakterekaProzesatzenDuenPrograma_1 ; const iMAX = 35 ; type tsKatea = string[iMAX] ; function fnboBokalaDa(cLetra: char): boolean ; begin case cLetra of 'A', 'E', 'I', 'O', 'U': fnboBokalaDa := TRUE ; 'a', 'e', 'i', 'o', 'u': fnboBokalaDa := TRUE ; else fnboBokalaDa := FALSE ; end ; end ; {-------------------------------Programa Nagusia---------------------------} var sEsaldia: tsKatea ; iLuzera, k: integer ; begin { Karaktere-katea oso-osorik landu behar da. Adibidez, } { karaktere-katea irakurri edo idatzi. Karaktere-katea } { osoki lantzean 0 posizioa automatikoki berrizten da. } write('Esaldi bat idatzi): ') ; readln(sEsaldia) ; writeln('Esaldia hau da: ///', sEsaldia, '///') ; writeln ; iLuzera := length(sEsaldia) ; writeln('///', sEsaldia, '/// esaldiaren luzera = ', iLuzera) ; { Katearen karaktere bat aldatzen bada, kateak duen 0 posizioaren } { edukia ez da eguneratzen, kasu honetan hori oso ondo datorkigu. } for k:=1 to length(sEsaldia) do begin if fnboBokalaDa(sEsaldia[k]) then sEsaldia[k] := upcase(sEsaldia[k]) else sEsaldia[k] := lowercase(sEsaldia[k]) ; end ; iLuzera := length(sEsaldia) ; writeln('///', sEsaldia, '/// esaldi berriaren luzera = ', iLuzera) ; writeln ; readln ; end.
Hurrengo adibidean ere kate bakar bat prozesatzen da:
{ Hasierako katearen itxura: - Izena (adibidez: Mari) Bukaerako katearen itxura: - Izena (MariTXU) } program KateaKarakterekaProzesatzenDuenPrograma_2 ; uses crt ; const iMAX = 35 ; type tsKatea = string[iMAX] ; var sIzena: tsKatea ; iLuzera: integer ; begin clrscr ; { Karaktere-katea oso-osorik landu behar da. Adibidez, } { karaktere-katea irakurri edo idatzi. Karaktere-katea } { osoki lantzean 0 posizioa automatikoki berrizten da. } write('Izen bat idatzi (MARI adibidez): ') ; readln(sIzena) ; writeln('Izena hau da: ///', sIzena, '///') ; iLuzera := length(sIzena) ; writeln('///', sIzena, '/// izenaren luzera = ', iLuzera) ; writeln ; if length(sIzena)+length('TXU') < iMAX then begin { Katearen karaktere bat aldatzen bada, kateak duen 0 posizioaren } { edukia ez da automatikoki eguneratzen, eskuz egin beharko da. } writeln('Izenari TXU txikigarria gehitu (T, X eta U karaktereak esleituz)') ; sIzena[iLuzera+1] := 'T' ; sIzena[iLuzera+2] := 'X' ; sIzena[iLuzera+3] := 'U' ; writeln('Izen berria: ///', sIzena, '///') ; iLuzera := length(sIzena) ; writeln('///', sIzena, '/// izen berriaren luzera = ', iLuzera) ; writeln ; { Karaktere-katea oso-osorik landu behar da. Esate } { baterako kateari beste kate bat gehituz, orduan } { katearen 0 posizioa automatikoki eguneratzen da. } writeln('Izenari TXU txikigarria gehitu (kateen arteko kateaketa burutuz)') ; sIzena := sIzena + 'TXU' ; writeln('Izen berria: ///', sIzena, '///') ; iLuzera := length(sIzena) ; writeln('///', sIzena, '/// izen berriaren luzera = ', iLuzera) ; writeln ; end else writeln(sIzena, ' datuari ezin zaio TXU atzizkia gehitu') ; repeat until keypressed ; end.
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.