2024ko Uztailaren deialdiko programa: Aparkalekuak
Ariketari lotutako informazioa:
- 2024-06-28_Aparkalekuak.pdf (ariketaren enuntziatua)
- 2024-06-28_Aparkalekuak.pas bezero-programa (adibidez C:\GurePrograma karpetan koka daiteke)
- konst.pas unitatea (adibidez C:\GurePrograma karpetan kokatuko da)
- motak.pas unitatea (adibidez C:\GurePrograma karpetan kokatuko da)
- apark.pas unitatea (adibidez C:\GurePrograma karpetan kokatuko da)
- gaur.pas unitatea (adibidez C:\GurePrograma karpetan kokatuko da)
- HISTORIKOA.DAT datu-fitxategia
- BEZPERAKOA.DAT datu-fitxategia
- GARABIA.DAT datu-fitxategia
2024-06-28_Aparkalekuak.pas bezero-programak lau unitate behar ditu. Hona hemen, lau unitateen interfaze atalak:
Konstanteak:unit konst;
INTERFACE
const
ZENBAT_APARKALEKU = 100; { Parking-ak 100 aparkaleku-plaza ditu }
GAU_BATEN_KOSTUA = 15; { Gau bat igarotzearen kostua }
MINUTU_BATEN_KOSTUA = 0.011; { Minutu bakoitzeko kostua }
GAU_KOPURU_MAXIMOA = 2; { Zenbat gau onartzen dira }
MAX = 4080; { Array laguntzailearen neurria }
sBIDEA = 'C:\Datuak\'; { Datu-fitxategiak kokatzeko direktorioa }
(* ---------------------------- interfazearen amaiera -------------------------- *)
Datu-motak:unit motak;
INTERFACE
uses
konst, crt, sysutils;
type
integer = smallint; { INTEGER datu-motek 2 byte hartzera behartzen da }
real = double; { REAL datu-motek 8 byte erabiltzera behartzen da }
tsKate8 = string[8];
tsKate200 = string[200];
tsKate10 = string[10];
tsKate2 = string[2];
trdData = record
iUrtea, iHila, iEguna: integer;
end;
trdUnea = record
iOrduak, iMinutuak, iSegundoak: integer;
end;
trdAutoarenDatuak = record
sMatrikula : tsKate8;
rdSarreraData: trdData;
rdSarreraUnea: trdUnea;
rdIrteeraData: trdData;
rdIrteeraUnea: trdUnea;
iGauKopurua : integer;
rZenbatekoa : real;
end;
tardParking = array[1..MAX] of trdAutoarenDatuak;
tfParking = file of trdAutoarenDatuak;
tfGaurkoData = file of trdData; { azterketan ez da eskatzen }
(* ---------------------------- interfazearen amaiera -------------------------- *)
Datu-fitxategien edukia erakusteko. HISTORIKOA.DAT, BEZPERAKOA.DAT eta GARABIA.DAT datu-fitxategien informazioa pantailaratzeko erabiltzen den unitatea. Hauxe da apark unitatearen interfazea: unit apark;
INTERFACE
uses
konst, motak, crt, sysutils;
procedure prFitxategiaErakutsi(sFitxIzen: tsKate200);
procedure prAutoBatenDatuakErakutsi(const rdAutoa: trdAutoarenDatuak);
(* ---------------------------- interfazearen amaiera -------------------------- *)
Dataren eguna hasieratzeko, eskuratzeko, pantailaratzeko eta automatikoki inkrementatzeko unitatea. Data iraunkorki gordetzeko GAURKOEGUNA.DAT fitxategia erabiltzen da, GAURKOEGUNA.DAT fitxategiak trdData datu-motako elementu bakarra dauka. GAURKOEGUNA.DAT fitxategia 2024-06-15 balioarekin sortzen da HISTORIKOA.DAT datu-fitxategiaren sorrerarekin batera; gero, programaren exekuzio bakoitzeko, GAURKOEGUNA.DAT fitxategiak gordetzen duen data egun batez inkrementatzen da. Hauxe da gaur unitatearen interfazea: {
Data eta ordua automatikoki hartzen direnez, unitate honek data
nola aldatzen den egunez egun simulatzeko balio du. Horretarako,
fitxategi bat erabiltzen da, non 2024-06-15 data gordetzen den
hasieran, eta egunak aurrera joan ahala 2024 urteko egutegia
jarraitzen den.
}
unit gaur;
INTERFACE
uses
konst, motak, crt, sysutils;
procedure prDatarenFitxategiaHasieratu(sFitxIzenGaurkoData: tsKate200);
procedure prDataEskuratu(sFitxIzenGaurkoData: tsKate200; var rdGaurkoData: trdData);
procedure prDataPantailaratu(const rdGaurkoData: trdData);
procedure EgunBatGehiago(const rdGaurkoData: trdData; var rdBiharkoData: trdData);
procedure prDataInkrementatu(sFitxIzenGaurkoData: tsKate200);
(* ---------------------------- interfazearen amaiera -------------------------- *)
2024ko Uztailaren deialdiko teoria
1-C | 2-D | 3-B | 4-C | 5-D | 6-C | 7-D
Galderei dagozkien programak:

iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.