2023(e)ko maiatzaren 1(a), astelehena

14. ASTEA | laborategian egin dena

 14. astea (2023/05/02) laborategi/mintegian egindakoa






  • Zerrenda pasatzeko, eGela zerbitzuko 14. saioan egindako programak bidalketaren bitartez. Lanik bidali ez dutenak:


    1. Danel Agirre Olaeta

    2. Izaro Barañano Arrizabalaga

    3. Xabier Garay Berganza

    4. Jon González Belategui

    5. Gaizka Martin Zorrozua

    6. Maider Nogueira Alonso

    7. Asier Ochoa Espiña

    8. Izaro Prieto Sarria

    9. Antxon Zubiaurre Peñalba


















  • 13. astea | fitxategi bat bitan banatu ariketan hasierako fitxategiaren existentzia aztertzen da. Ariketa horren aldaera bat egin dugu: erregistroen fitxategi bat (bi eremu: sNor katea eta rNota zenbakia). Hona hemen egindako programaren abiapuntua:



program FitxategiBatBitanBanatu_EMATEKOA;
uses
crt;
const
iLUZERA = 30;
sBIDEA = 'C:\NireDatuak\';
type
tsKate49 = string[49];
tasIzenenZerrenda = array [1..iLUZERA] of tsKate49;
tsKate200 = string[200];
const
asZERRENDA: tasIzenenZerrenda = ('AGIRRE ROMERO, UNAI', // 01
'ANGULEMA CARAZO, JON ANDER', // 02
'BIKARREGI IGLESIAS, JULEN', // 03
'CANO RUIZ DE HEREDIA, JULIAN', // 04
'CORRAL EGIA, JOSEBA ANDONI', // 05
'DIAZ DE ULZURRUN ROY, LEONOR', // 06
'EGIGUREN MARKINEZ, IRUNE', // 07
'ERKIAGA ANDONEGI, IKER', // 08
'FERNANDEZ FEITO, FELIX', // 09
'GARTZIA DE ALZA GIL, KATALIN', // 10
'HERRANZ MARTINEZ, REBECA', // 11
'IRAGORRI COTANO, KIMETZ', // 12
'JOMA GABILONDO, ASIER', // 13
'KRUGER GARAI, LUDWING', // 14
'LANDA ASTORQUIZA, UNAI', // 15
'LANDAIDA MORENO, XABIER', // 16
'LIBARRENX BOLLAR, IZAR', // 17
'MADARI TOXO, MARIA DEL CARMEN', // 18
'MARTINEZ DE LA CRUZ, IMANOL', // 19
'NARBAIZA ARIZTONDO, MARKEL', // 20
'OSORIO ORTIZ, OLATZ', // 21
'PARIS ECHEVARRIA, AITOR', // 22
'QUINTAS ESCOBAR, AINHOA', // 23
'RADA BARANDIKA, TEODORO', // 24
'SAN JOAN GOIRI, JULIA AUGUSTA', // 25
'SEGUROLA LOPEZ DE MUNAIN, ANE', // 26
'TAPIA FERNANDEZ, ENDIKA', // 27
'URIOSTE ALZAGA, ENEKO', // 28
'VICINAY URCELAY, ELOY', // 29
'ZUATZU ZALAKAIN, ZIGOR'); // 30

type
trdFitxa = record
sNor: tsKate49;
rNota: real;
end;
tfrdFitxategia = file of trdFitxa;


procedure DatuakErakutsi(const rdElem: trdFitxa);
begin
writeln('Ikaslearen izena: ':24, rdElem.sNor);
writeln('Ikaslearen nota: ':24, rdElem.rNota:0:1);
writeln;
end;


procedure FitxategiaIkusi(sFitxIzen: tsKate200);
var
rdElem: trdFitxa;
f: tfrdFitxategia;
begin
assign(f, sFitxIzen);
reset(f);

close(f);
end;


function fnsIzenaLortu(sIzenDeiturak: tsKate49): tsKate49;
var
sIzena: tsKate49;
iKomaNon: integer;
begin

fnsIzenaLortu := sIzena;
end;


procedure DatuakJaso(var rdElem: trdFitxa; iKont: integer);
var
iHamarreko, iUnitate: integer;
begin
rdElem.sNor := fnsIzenaLortu(asZERRENDA[iKont]);

iHamarreko := random(10); // 0 eta 9 artekoa
iUnitate := random(10); // 0 eta 9 artekoa

rdElem.rNota := iUnitate + 0.1*iHamarreko;
end;


procedure FitxategiaSortuEtaSekuentzialkiBete(sFitxIzen: tsKate200);
var
rdElem: trdFitxa;
f: tfrdFitxategia;
iKopurua, k: integer;
begin
assign(f, sFitxIzen);
rewrite(f);

randomize;
iKopurua := random(iLUZERA)+1;
writeln('iKopurua = ', iKopurua);
readln;

for k:=1 to iKopurua do
begin
DatuakJaso(rdElem, k);
write(f, rdElem);
end;

close(f);
end;


procedure FitxategiaBanatu(sFitxIzen, sAprobatuak, sSuspendituak: tsKate200);
var
rdElem: trdFitxa;
f, f_A, f_S: tfrdFitxategia;
begin
assign(f, sFitxIzen);
reset(f);
assign(f_A, sAprobatuak);
rewrite(f_A);
assign(f_S, sSuspendituak);
rewrite(f_S);


close(f);
close(f_A);
close(f_S);
end;


(* ----------------------------programa nagusia---------------------------- *)
var
sFitxIzen, sAprobatuak, sSuspendituak: tsKate200;
begin
clrscr;
writeln;
writeln;

write('Datuen fitxategiaren izena eman (adibidez "Ikasleak"): ');
readln(sFitxIzen);
sFitxIzen := sBIDEA + sFitxIzen + '.dat';
writeln('sFitxIzen |||', sFitxIzen, '|||');

FitxategiaSortuEtaSekuentzialkiBete(sFitxIzen);

writeln('---Denak----------------------------------');
FitxategiaIkusi(sFitxIzen);
writeln;
writeln;

sAprobatuak := sBIDEA + 'Aprobatuak.dat';
sSuspendituak := sBIDEA + 'Suspendituak.dat';

FitxategiaBanatu(sFitxIzen, sAprobatuak, sSuspendituak);

writeln('---Aprobatuak-----------------------------');
FitxategiaIkusi(sAprobatuak);
writeln;
writeln;

writeln('---Suspendituak---------------------------');
FitxategiaIkusi(sSuspendituak);
writeln;
writeln;

writeln;
writeln('=======================');
writeln('RETURN sakatu amaitzeko');
writeln('=======================');
readln;
end.





Aurreko FitxategiBatBitanBanatu.pas programa osaturik:





 

iruzkinik ez:

Argitaratu iruzkina

15. ASTEA | laborategi/mintegian egin dena

15. astea (2023/05/09) laborategi/mintegian egindakoa 25 ikasleetatik 17 ikasleek kontrol-ariketaren bidalketa egin dute Hirugarren ko...