2023(e)ko martxoaren 10(a), ostirala

8. astea | kate baten hasieraketa


















Kateen azpiprogramak: length()
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
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(ord(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