2024(e)ko martxoaren 8(a), ostirala

8. astea | kate baten hasieraketa








program KateBatenBokalekinBesteKateBatOsatu ;
const
   iMAX = 80 ;
type
   tsKateLarogei = string[iMAX] ;
 
     
function fnboBokalaDa(cLetra: char): boolean ;
begin
   cLetra := upcase(cLetra) ;
   case cLetra of
      'A',
      'E',
      'I',
      'O',
      'U': begin
              fnboBokalaDa := TRUE ;
           end
      else begin
              fnboBokalaDa := FALSE ;
           end                         
   end ;
end ; 


function fnboKontsonanteaDa(cLetra: char): boolean ;
begin
   cLetra := upcase(cLetra) ;
   if (cLetra >= 'B') and (cLetra <= 'Z') and
      (cLetra <> 'E') and
      (cLetra <> 'I') and
      (cLetra <> 'O') and
      (cLetra <> 'U') then fnboKontsonanteaDa := TRUE
                      else fnboKontsonanteaDa := FALSE ;
end ;


{-------------------------------Programa Nagusia---------------------------}
var
   sKatea, sBokalak, sKontsonanteak, sEzBokalak: tsKateLarogei ;
   iLuzera, k: integer ;
begin
   write('Esaldi bat idatzi: ') ;
   readln(sKatea) ;
   writeln('Esaldia hau da:  ///', sKatea, '///') ;
   iLuzera := length(sKatea) ;
   writeln('///', sKatea, '/// esaldiaren luzera = ', iLuzera) ;   
   writeln ;   
  
   sBokalak := '' ;   { kate baten hasieraketa }
   for k:=1 to length(sKatea) do
   begin
      if fnboBokalaDa(sKatea[k]) then
         sBokalak := sBokalak + sKatea[k] ;
   end ;
   writeln('Bokalen katea:  ///', sBokalak, '///') ;
   iLuzera := length(sBokalak) ;
   writeln('///', sBokalak, '/// katearen luzera = ', iLuzera) ;  
   writeln ;
               
   sKontsonanteak := '' ;   { kate baten hasieraketa }
   for k:=1 to length(sKatea) do
   begin
      if fnboKontsonanteaDa(sKatea[k]) then
         sKontsonanteak := sKontsonanteak + sKatea[k] ;
   end ;
   writeln('Kontsonanten katea:  ///', sKontsonanteak, '///') ;
   iLuzera := length(sKontsonanteak) ;
   writeln('///', sKontsonanteak, '/// katearen luzera = ', iLuzera) ;
   writeln ;
               
   sEzBokalak[0] := chr(ord(0)) ;   { kate baten hasieraketa arraroa }
   for k:=1 to length(sKatea) do    { hobe       sEzBokalak:='';     }
   begin
      if not fnboBokalaDa(sKatea[k]) then
         sEzBokalak := sEzBokalak + sKatea[k] ;
   end ;
   writeln('Bokalak ez direnen katea:  ///', sEzBokalak, '///') ;
   iLuzera := length(sEzBokalak) ;
   writeln('///', sEzBokalak, '/// katearen luzera = ', iLuzera) ;  
   writeln ;
         
   sEzBokalak[0] := chr(0) ;        { hasieraketa arraroa, hobe sEzBokalak:=''; }
                                    { bere ondorioa karaktere-katea hustea da   }
   writeln('0 posizioan ''0'' idatzi ondoren') ;
   writeln('Bokalak ez direnen katea:  ///', sEzBokalak, '///') ;
   iLuzera := length(sEzBokalak) ;
   writeln('///', sEzBokalak, '/// katearen luzera = ', iLuzera) ;  
      
   readln ;
end.


 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.