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 parametroa Real edo Integer izan daiteke.
  • Parametro formala Katea bada, uneko parametroa Katea edo Char 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

  1. {01} lerroa: etiketa okerra.
  2. {11} lerroa: prozedurari dei okerra parametro formalak erabiltzen direlako.
  3. {12} lerroa: funtzioari dei okerra parametro formalak erabiltzen direlako.
  4. {12} lerroa: funtzio batek ezin du array bat itzuli (bestalde, emandako sarrera-parametroa
    okerra dela adierazi daiteke ere, ez litzatekeelako beharrezkoa izango).
  5. {17} lerroa: adierazitako indizea arrayarentzat onargarriak diren erakusleen tartetik kanpo
    dagoelako.
  6. {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.

Entradas relacionadas: