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

STRING datu-mota


DEFINIZIOA

STRING datu-motako aldagaiari karaktere-kate esaten diogu, edo laburrako kate besterik gabe.

String datu-motako aldagaiaren definizioa: elkarrekin batera prozesatzen den karaktereen segida.

String datu-motako aldagaiak, hitzak edo esaldiak gordetzeko balio du, string bat zenbait karakterez osaturiko katea izango da. Horregatik, String aldagaia definitzean memorian zenbat karaktere biltegitu nahi den zehaztu beharra dago.

String batek aurredefiniturik dauzka bere indizeak. Katearen lehen karaktereari 1 indizea dagokio, bigarrenari 2 eta hurrenez-hurren horrela jarraituz katearen karaktere guztiak atzeman daitezke.

Karaktere-kateak 0 posizio bat dauka bere barnean integraturik eta, ondoko irudian erakusten den bezala, 0 posizio horrek helburu berezia betetzen du.
ESKEMA

String bakoitzaren datuen arabera zero posizioak zer gordetzen du?

DATU-MOTAK DISEINATZEN ETA ALDAGAIAK SORTZEN
type
   tKateLuze = string[100] ;
   tKateMotz = string[10] ;
   tKate25   = string[25] ;
var
   sHelbidea       : tKateLuze ;
   sIzen1          : tKateMotz ;
   sIzen2          : tKateMotz ;
   sIzen3          : tKateMotz ;
   sHerria         : tKate25 ;
   sKaterikLuzeena : string ;     { 255 karaktere biltegitzeko aldagaia }
begin
   writeln(sizeof(string)) ;      { 256 = 255 karaktere + zero posizioa }
   writeln(sizeof(tKateLuze)) ;   { 101 = 100 karaktere + zero posizioa }
   writeln(sizeof(sHelbidea)) ;   { 101 = 100 karaktere + zero posizioa }
   writeln(sizeof(tKateMotz)) ;   {  11 = 10  karaktere + zero posizioa }
   writeln(sizeof(sIzen1)) ;      {  11 = 10  karaktere + zero posizioa }
   writeln(sizeof(tKate25)) ;     {  26 = 25  karaktere + zero posizioa }
   writeln(sizeof(sHerria)) ;     {  26 = 25  karaktere + zero posizioa }
   ...
Ikusi Datu-motak Pascal lengoaian artikulua
ERAGIKETAK: IDATZI-IRAKURRI, ESLEIPENA ETA KATEAKETA (Ikusi Datu-motak Pascal lengoaian artikulua)
Kate bat bere osotasunean irakur eta idatz daiteke, horregatik ondoko aginduak zuzenak dira:
writeln(sHelbidea) ;
readln(sIzen1) ;
Kate batean beste kate baten edukia jarri daiteke esleipenaren bitartez:
sHelbidea := sIzen1 ;
Kate batean beste kate batzuen edukia gorde daiteke + eragilea erabiliz:
sHelbidea := '-----' + sIzen1 + '-----' + sHerria ;
ERAGIKETAK: KONPARAKETAK

Kateen arteko alderaketak edo konparaketak. Bi kateen artean alderaketa egiteko, kateen karaktereak banan-banan arakatu behar dira. Alderaketak honelaxe egin  daitezke:
Bi kasu:
Batetik = eragilea:
Deiturak := 'Beloki' ;     
if Deiturak = 'Beloki' then

if Deiturak='Beloki' then   sententziak
TRUE balio dezan kate biren karaktere
guztiek binaka kointziditu beharko lukete

Bestetik, gainerako (>, <, >=, <=, <>) bost eragileak:
Deiturak := 'Uonegan' ;     
if Deiturak < 'uonegan' then

Beste bost eragileak (> < >= <= <>) aplikatzean,
konpiladoreak karaktereak binaka tratatzen ditu
ere, baina IF-THEN aginduaren emaitza jakin
bezain laster alderaketa gehiagorik ez du egiten

Honekin jarraituz, gerta daiteke bi kateek hasierako
karaktere guztiakak berberak edukitzea baina, bata
bestea baino luzeagoa izatea. Adibidez, 'Uoneg'
eta 'Uonegan' kate biak desberdinak dira eta
goiko konparaketaren emaitza TRUE da: karaktere
bikoteak berdinak direnean, kate laburra kate luzea
baino txikiagoa dela kontsideratzen delako
LAN EGITEKO BALIABIDEAK

Kateekin lan egiteko aurredefinituriko funtzio eta prozedurak erabili behar dira.

Hona hemen funtzioen zerrenda:
Zerrenda honetako azken funtzioaren ordez + eragilea erabil daiteke kateaketak burutzeko.

Hona hemen prozeduren zerrenda:
PARAMETRO IZATEAN JOKAMOLDEA

Kate bat ez dugu kontsideratuko datu-mota egituratua, datu-mota soila baizik. Horregatik, azpiprograma batean honela agertuko da jokamoldearen arabera:
  • Irteerakoa denean VAR marka izango du aurrean
  • Sarrerakoa denean ez du inolako markarik izango
ADIBIDEAK

Hona hemen karaktere-kateen zenbait programa:   
INTEGER REAL BOOLEAN CHAR STRING ARRAY RECORD FILE


 

iruzkinik ez:

Argitaratu iruzkina

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