Programaren kodea:
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | {-------------------------------------------------------------- Esaldi bat hartu eta bere hitzak banatu egiten duen programa --------------------------------------------------------------} program EsaldiBatetikBereHitzakLortu; uses crt; type tKateLuze = string [ 100 ]; function fnsAurrekoakKendu(sEsaldia: tKateLuze): tKateLuze; //var // k: integer; begin writeln ( '/////fnsAurrekoakKendu funtzio barruan/////' ); //k := 1; while sEsaldia[ 1 ] = ' ' do begin delete(sEsaldia, 1 , 1 ); writeln ( 'posizioa ' , 1 , ' denean/////' , sEsaldia, '/////' ); end ; fnsAurrekoakKendu := sEsaldia; end ; function fnsAtzekoakKendu(sEsaldia: tKateLuze): tKateLuze; var iAzkenposizioa: integer ; begin writeln ('\\\\\fnsAtzekoakKendu funtzio barruan\\\\\'); iAzkenposizioa := length(sEsaldia); while sEsaldia[iAzkenposizioa] = ' ' do begin delete(sEsaldia, iAzkenposizioa, 1 ); writeln ( 'posizioa ' , iAzkenposizioa, ' denean\\\\\', sEsaldia,' \\\\\'); iAzkenposizioa := length(sEsaldia); end ; fnsAtzekoakKendu := sEsaldia; end ; function fnsErdikoakKendu(sEsaldia: tKateLuze): tKateLuze; var iNon: integer ; begin writeln ( '|||||fnsErdikoakKendu funtzio barruan|||||' ); repeat iNon := pos( ' ' , sEsaldia); (* zuriune bikotea bilatu *) write ( 'iNon: ' , iNon, ', ' ); delete(sEsaldia, iNon, 1 ); (* bikotetik zuriune bat kendu *) writeln ( 'delete ondoren|||||' , sEsaldia, '|||||' ); until iNon = 0 ; (* azken bikotearen bigarren zuriunea geratzen da *) fnsErdikoakKendu := sEsaldia; end ; procedure HitzakErakutsi(sEsaldia: tKateLuze); var sHitza: tKateLuze ; k, iNon: integer ; begin writeln ( '#####HitzakErakutsi prozedura barruan#####' ); sEsaldia := sEsaldia + ' ' ; k := 1 ; iNon := pos( ' ' , sEsaldia); while iNon <> 0 do begin sHitza := copy(sEsaldia, 1 , iNon- 1 ); delete(sEsaldia, 1 , iNon); // writeln(k, ' itzulian, delete ondoren#####', sEsaldia,'#####'); writeln (k, '. hitza#####' , sHitza, '#####' ); k := k + 1 ; iNon := pos( ' ' , sEsaldia); end ; end ; {---------------------Programa nagusia---------------------} var sEsaldia, sEsaldiBerri1, sEsaldiBerri2, sEsaldiBerri3: tKateLuze; begin clrscr; write ( 'Sarrerako esaldia eman: ' ); readln(sEsaldia); writeln ( '===>' , sEsaldia, '<===' ); writeln ; sEsaldiBerri1 := fnsAurrekoakKendu(sEsaldia); writeln ( '===>' , sEsaldiBerri1, '<===' ); writeln ; sEsaldiBerri2 := fnsAtzekoakKendu (sEsaldiBerri1); writeln ( '===>' , sEsaldiBerri2, '<===' ); writeln ; sEsaldiBerri3 := fnsErdikoakKendu (sEsaldiBerri2); writeln ( '===>' , sEsaldiBerri3, '<===' ); (* esaldi barruan hitzak zuriune bakarrez banaturik daude *) (* hitzak esalditik banatu, horretarako zuriuneak bilatu *) writeln ; HitzakErakutsi(sEsaldiBerri3); writeln ; writeln ( '=======================' ); writeln ( 'RETURN sakatu amaitzeko' ); writeln ( '=======================' ); readln; end . |
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.