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

Length funtzioa


function length(sKatea: StringDatuMota): integer;


Helburua: karaktere-kate baten luzera logikoa lortu.
Emaitza: zenbaki bat, katearen luzera efektiboa; hau da, katearen 0 posizioari dagokion ordinala.

Nahiz eta bere barnean begiratzerik ez daukagun, suposatzekoa da Length funtzio estandarra honela garaturik dagoela:
function length(sKatea: string): integer;
begin
    length := ord(sKatea[0]);
end;
LengthAdibidea adibiderako ikusi KateaErakustenDuenPrograma.pas programa eta ZeroPosizioa.pas programa. 


Hemen handiegia den kate bat irakurtzean gertatzen dena:
{
            11111111112 
   12345678901234567890
   
   KrokodiLO bErDe@ PoziK daGO
   krOkOdIlO bErdE@ pOz
}

program MaiuskulakMinuskulak ;
type
   DM_Kate20 = string[20] ;

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 ;

var
   sEsaldia : DM_Kate20 ;
   k : integer ;
begin
   writeln('//////////////////////////////////////') ;
   writeln ;
   writln('Esaldia eman:    ') ;
   readln(sEsaldia) ;
 
   writeln('Irakurritakoa |||', sEsaldia, '|||') ;
    
   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 ;
 
   writeLn('Emaitza       |||', sEsaldia, '|||') ;
 
   writeln ;
   writeln('//////////////////////////////////////') ;
   readln ;
end.

 

iruzkinik ez:

Argitaratu iruzkina

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