ZER DAKIDAN: Unitate bat ezin daiteke exekutatu. Unitate batek bi zati ditu: INTERFACE zati publikoa eta IMPLEMENTATION zati pribatua. Pascal lengoaiak unitate desberdinak eskaintzen dizkio gure bezero-programari, adibidez crt unitatea (non clrscr prozedura garatuta dagoen). ZER IKASIKO DUDAN: Unitate batek eskaintzen duen azpiprogramaren izena, guk geuk, gure bezero-programan erabiltzen badugu zer gertatzen da? Konpilazio errorerik sortuko da? Konpilazio errorerik ez bada, bietarik zein azpiprograma exekutatuko da? Bezero-programan idatzitakoa ala unitatean lehendik garaturik zegoena? |
crt UNITATEAREN clrscr PROZEDURA, ETA abs FUNTZIO ESTANDARRA
Dakigunez, crt unitateari esker clrscr prozedura erabil dezakegu. Badakigu ere abs funtzio estandarra lengoaiaren oinarrizko azpiprograma dela, eta funtzio hori aplikatzeko ez dela unitaterik deklaratu behar.
Ariketa__35_IV.pas BEZERO-PROGRAMA
Jarraian erakusten den programa birritan exekutatu. Lehenik iruzkina mantenduz (bezero-programaren clrscr prozedura eta abs funtzioa indargabeturik). Eta ondoren iruzkina kenduz (bezero-programaren clrscr prozedura eta abs funtzioa erabilgarri direlarik):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | {-------------------------------------------------------------- Programaren helburua: unitateetako azpiprogramak "estaltzen" --------------------------------------------------------------} program Ariketa__35_IV; uses crt; (* procedure clrscr; begin writeln; writeln; writeln; writeln('KUKU!!!'); writeln; end; function abs(iOsoa: integer): integer; begin abs := 2*iOsoa; end; *) { ---------------------programa nagusia--------------------- } var iZbk: integer ; begin writeln ( 'Programaren hasierako mezua' ); writeln ( '---------------------------' ); write ( 'RETURN tekla sakatu exekuzioarekin jarraitzeko... ' ); readln; clrscr; writeln ; write ( 'Zenbaki oso bat eman: ' ); readln(iZbk); writeln ; writeln ( 'iZbk=' , iZbk, 'abs(iZbk)=' : 20 , abs (iZbk)); writeln ; writeln ; writeln ; writeln ( 'Programaren bukaerako mezua' ); writeln ( '---------------------------' ); write ( 'EDOZEIN tekla sakatu exekuzioa amaitzeko... ' ); repeat until keypressed; end . |
Unitate batek eskaintzen duen azpiprogramaren izena, guk geuk, gure bezero-programan erabiltzen badugu zer gertatzen da? Adibidez, guk clrscr edo abs programatzen baditugu.
Galdera hauei erantzun:
- Konpilazio errorerik sortuko da?
- Konpilazio errorerik ez bada, bietarik zein azpiprograma exekutatuko da? Bezero-programan idatzitakoa ala unitatean garaturik zegoena?
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.