Programazio kontzeptuak: parametroak, funtzioak, erregistroak eta lengoaiak
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en vasco con un tamaño de 4,99 KB
Parametroen bateragarritasuna
Parametroak balioz pasatzen badira, uneko parametroen datu-motak eta parametro formalenak bateragarriak izan daitezke. Parametroak sarrerak direnean (balioz pasatzen dira), uneko parametroa eta parametro formala bateragarriak onartzen dira. Adibidez:
- Parametro formala
Real
bada, uneko parametroaReal
edoInteger
izan daiteke. - Parametro formala
Katea
bada, uneko parametroaKatea
edoChar
izan daiteke.
Parametroen lotura
Uneko parametroak eta parametro formalak ordenaren bidez lotuta daude, ez identifikadorearen bidez.
Parametro formalen deklarazioa
Parametro formalak azpiprogramaren goiburuan deklaratzen dira (programa nagusiko independenteak dira).
Parametroen datu-motak
Uneko parametroek eta parametro formalek beti datu-mota berbera daukate erreferentziaz pasatutako parametroentzat (Irteera edo Sarrera/Irteera), baina sarrera-parametroetan ez da derrigorrezkoa.
Funtzioen erabilera balioak itzultzeko
Ezin dira funtzioak erabili bi balio itzultzeko.
Array-ak eta beraien luzera
- Arraya eta bere luzera sarrera parametroak dira.
- Array-ekin lan egiteko ezinbestekoa da bere luzera jakitea.
Aldagaien hasieraketa
Balio1
baturaren hasierako balioa da, hortaz 0-ra hasieratu behar da, eta Balio2
berreduraren kalkuluaren hasierako balioa da, hortaz 1-era hasieratu behar da.
Espresioen datu-motak
Espresioaren balioa datu-mota ordinala izan behar da (Osoa
edo Char
).
WITH erabilera
WITH
ez da arrayekin erabiltzen, erregistroekin baizik.WITH
ez da datu-motekin erabiltzen, erregistro aldagaiekin baizik.
Array baten eremuetara sarrera
argIrakasgaiak[5].sIrakasgaia := 'Informatika';
argIrakasgaiak[5].iKurtsoa := 1;
argIrakasgaiak
aldagaia array bat da, eta arrayaren barruan 5. posizioa eta bere barneko bi eremuak modu egokian zehazten direlako (hau zuzena da).
Esleipen erroreak
Ezin zaiolako esleitu karaktere motako aldagai bati string motako balio bat.
Procedure eta VAR
Procedure
-etan VAR
irteerako parametroen aurrean jartzen da.
Adibide programa (akatsak)
{01} PROGRAM Arrai eta Erregistro ;
TYPE
{02} taA = ARRAY['A'..'C'] OF Char ;
{03} trR = RECORD
{04} A: Char ;
{05} B: Integer ;
{06} C: Real ;
{07} END ;
{08} { Azpiprogramak garatzeko blokea }
VAR
{09} a: taA ;
{10} r: trR ;
BEGIN
{11} BeteA (VAR a: taA) ;
{12} r := BeteR (CONST r: trR) ;
{13} a[r.A] := 'a' ;
{14} IF a['A'] = r.A THEN
{15} WriteLn('Berdinak') ;
{16} r.A := Chr(Ord(Trunc(r.C))) ;
{17} r.B := Ord(a['a']) ;
{18} r.B := r.C + r.B ;
WriteLn('Sakatu RETURN programa amaitzeko') ;
ReadLn ;
END.
Akatsen zerrenda
- {01} lerroa: etiketa okerra.
- {11} lerroa: prozedurari dei okerra parametro formalak erabiltzen direlako.
- {12} lerroa: funtzioari dei okerra parametro formalak erabiltzen direlako.
- {12} lerroa: funtzio batek ezin du array bat itzuli (bestalde, emandako sarrera-parametroa
okerra dela adierazi daiteke ere, ez litzatekeelako beharrezkoa izango). - {17} lerroa: adierazitako indizea arrayarentzat onargarriak diren erakusleen tartetik kanpo
dagoelako. - {18} lerroa: esleipen errorea, batuketaren emaitza zenbaki erreal bat denez ezin da zenbaki oso
batean gorde.
Fitxategi logikoak eta fisikoak
Fitxategi logikoaren edukia ez da fitxategi fisikoaren kopia zehatza izango, baizik eta fitxategi fisikoari buruzko informazioa (hala nola izena, datu mota, kokapena).
Programazio-lengoaiei buruzko oharrak
- Makina-lengoaian instrukzioak zuzenean makinak ulertzen duen lengoaian (0ak eta 1ak) adierazten dira, eta bere programak zuzenean exekutagarriak dira inolako itzulpenik gabe (A okerra).
- Mihiztadura-lengoaian mnemoteknikoak erabiltzen dira oinarrizko instrukzioen ordez programen sorrera errazteko. Kasu honetan mnemoteknikoak makina lengoaiara itzuli behar dira programa exekutatu ahal izateko (B zuzena).
- Goi-mailako lengoaietan itzulpen konplexuago bat egin behar da, goi mailako lengoaian adierazitako instrukzio bat oinarrizko instrukzio ugarien exekuzioa ekar dezakeelako (C zuzena).
- Lengoai konpilatuen kasuan, konpiladore bat eta linker (edo estekatzaile) bat beharrezkoak dira programa exekutagarria lortzeko.
- Lengoai interpretatuen kasuan, interpretatzaile bat beharrezkoa da programa exekutatu ahala instrukzio bakoitza itzulia izan dadin.
- Behe-mailako lengoaiak prozesadore-arkitektura bati lotuta daude.
Funtzio baten deia (adibidea)
Emaitza := Kalkuluak (Datu1, Datu2, Datu3, Datu4);
Funtzioen murrizketak
Funtzio batek ezin du array bat itzuli.