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.