2024(e)ko ekainaren 28(a), ostirala

Azterketa: 2024ko uztailaren deialdia


2024ko Uztailaren deialdiko programa: Aparkalekuak


Ariketari lotutako informazioa:
Datu-fitxategiak C:\Datuak karpetan kokatu behar dira. Haien izenak hauek izan daitezke:
  • 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.