2024(e)ko otsailaren 19(a), astelehena

CHAR datu-mota


DEFINIZIOA

CHAR datu-motako aldagairi karaktere esaten diogu, eta hitzak zein esaldiak osatzeko behar diren elementuak dira, adibidez honako hauek ditugu:
  • bokalak
  • kontsonanteak
  • zuriunea
  • puntuazio zeinuak (koma, puntua, puntu eta koma, bi puntuak, ...)
  • zenbakizko karaktereak edo zifrak: 0, 1, 2, ..., 9
  • sinboloak: (, ), {, }, [, ], @, #, ... 
  • kontrolerako karaktereak (hurrengo lerroa, lerro hasiera, atzera, ezabatu, ...)
ASCII taula

Karaktereak adierazteko karaktere bakoitzari zenbaki bat esleitzen zaio, eta horrela osatzen da American Standard Code for Information Interchange taula, ASCII taula. ASCII taula ordenaturik dago eta 256 elementuz osaturik dago (256 karaktere: byte batek ematen dituen 28=256 kodeak).

ASCII taularen lehen erdiari ASCII taula estandarra esaten zaio, taula estandarrak 128 karaktere biltzen ditu (0 kodean hasita eta 127 kodean bukatuta). ASCII taula estandarrak letra eta sinbolo arruntenak biltzen ditu eta 7 bit behar dira denak adierazi ahal izateko (27=128).

ASCII taularen bigarren erdiari ASCII taula luzatua (edo hedatua) esaten zaio, taula hedatuak ere 128 karaktere biltzen ditu (128 kodean hasita eta 255 kodean bukatuta). ASCII taula hedatuak karaktere bereziak eta karaktere grafikoak biltzen ditu.

Hona hemen ASCII estandar taulari dagokion irudi bat:

Ikusi zenbakien ikurrek duten (0, 1, 2, ..., 9) kokapena zein den. Berdin alfabetoa letra larrietan emanik eta alfabetoa minuskuletan emanik.

Hauxe da ASCII hedatua taulari dagokion irudi bat:

Ikusi ñ eta Ñ karaktereak non dauden. Berdin zenbait karaktere grafiko edo alfabeto grekoaren zenbait karaktere. Ikusi ere sinbolo edo ikur matematiko bereziak biltzen direla.

Karaktere bereziak erabiltzen duen programa hau bukaerako adibideetan erakusten da:
CHAR DATU-MOTA ERABILTZEN: OINARRIZKO ERAGIKETAK

var
cLetra1, cLetra2, cLetra3, cLetra4, cLetra5, cLetra6 : char ;
begin
readln(cLetra1) ;     { karaktere bat teklatuz irakurri }
cLetra2 := '7' ;      { '7' karakterea esleitu }
cLetra3 := 'H' ;      { 'H' karakterea esleitu }
writeln(cLetra3) ;    { karaktere aldagai baten edukia pantailaratu }
cLetra4 := 'A' ;      { 'A' karakterea esleitu }
cLetra5 := #65 ;      { 'A' karakterea esleitu, kode hamartarra }
cLetra6 := #$41 ;     { 'A' karakterea esleitu, kode hamaseitarra }
CHAR DATU-MOTA: KONPARAKETAK

Bi karakteen arteko alderaketa egitean ASCII taularen posizioak alderatzen dira, horrela daukagu:

'0' < '9' < 'A' < 'Z' < 'a' < 'z' < 'ñ' < 'Ñ' < 'α'

Hori dela eta,  honako hau egin daiteke:
if cLetra = 'R' then
Edo honako hau:
readln(cAukera);
case cAukera of
   'a', 'A' : begin
                 writeln('Lehen aukera') ;
              end ;
   'b', 'B' : begin
                 writeln('Bigarren aukera') ;
              end ;
   'c', 'C' : begin
                 writeln('Hirugarren aukera') ;
              end ;
end ;
FUNTZIO ETA PROZEDURA ESTANDARRAK
  • upcase funtzioa: letra minuskula letra larri bihurtzen du
  • lowercase funtzioa: letra larri letra minuskula bihurtzen du
  • chr funtzioa: zenbaki bat hartu eta dagokion karakterea itzultzen du
  • ord funtzioa: karaktere bat hartu eta dagokion zenbakia (dagokion ordinala) itzultzen du
  • pred funtzioa: letra bat hartu eta bere aurreko letra itzultzen du
  • succ funtzioa: letra bat hartu eta bere ondoko letra itzultzen du
  • clrscr prozedura: pantaila garbitzen du eta kurtsorea goian eta ezkerrean kokatzen du, crt unitatea beharrezkoa da
  • readkey funtzioa: karaktere bat irakurtzen du teklatutik, ez dago return sakatu beharrik eta crt unitatea derrigorrezkoa da
  • keypressed funtzio boolerra: karaktere bat teklatutik irakurtzean true itzultzen du, honek ere Crt unitatea beharrezkoa du 
Funtzio eta prozedura estandarren zenbait dei:
cLetra := upcase('a') ;      { cLetra aldagaian 'A' gorde }
cLetra := upcase('6') ;      { cLetra aldagaian '6' gorde }
cLetra := lowercase('B') ;   { cLetra aldagaian 'b' gorde }
cLetra := lowercase('8') ;   { cLetra aldagaian '8' gorde }
cLetra := chr(65) ;          { cLetra aldagaian 'A' gorde }
iZenbk := ord('B') ;         { iZenbk aldagaian 66 gorde }
cLetra := pred('B') ;        { cLetra aldagaian 'A' gorde }
cLetra := succ('B') ;        { cLetra aldagaian 'C' gorde }
cLetra := 'B' ;              { cLetra aldagaian 'B' gorde }
succ(cLetra) ;               { cLetra aldagaian 'C' gorde }
cLetra := 'B' ;              { cLetra aldagaian 'B' gorde }
pred(cLetra) ;               { cLetra aldagaian 'A' gorde }
clrscr ;                     { pantaila garbitu }
cLetra := readkey ;          { cLetra aldagaian karaktere bat gorde }
repeat
until keypressed ;           { itxaron tekla bat sakatu arte }
PARAMETRO IZATEAN JOKAMOLDEA

Karakterea datu-mota sinplea izanik azpiprograma batean honela agertuko da jokamoldearen arabera:
  • Irteerakoa denean VAR marka izango du aurrean
  • Sarrerakoa denean ez du inolako markarik izango
ADIBIDEAK

Hona hemen karaktereen 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.