Hurrengo adibidean kate bakar bat prozesatzen da:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | (* 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 ; 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 if (sEsaldia[k] >= 'B' ) and (sEsaldia[k] <= 'Z' ) then 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | { Hasierako katearen itxura: - Izena (adibidez: Mari) Bukaerako katearen itxura: - Izena (MariTXU) } program KateaKarakterekaProzesatzenDuenPrograma ; 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