14. astea (2024/04/29) laborategi/mintegian egindakoa | [P0B9I] laborategian
- Zerrenda ez dugu pasatu tutoretza bat izan delako. Egindakoa eGela bitartez jarraituko du etxean ikasleak
- Hau ez dugu egin teoriako ikasgelan ikusiko dugu. 13. astea | fitxategi bat bitan banatu ariketaren aldaera bat egin dugu: erregistroen fitxategi bat (bi eremu: sNor katea eta rNota zenbakia). Hona hemen egindako programa:
program FitxategiBatBitanBanatu; 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; k: integer; begin assign(f, sFitxIzen); reset(f); k := 0; while not eof(f) do begin read(f, rdElem); k := k+1 ; writeln(k:4,'. ikaslea'); DatuakErakutsi(rdElem); end; close(f); end ; function fnsIzenaLortu(sIzenDeiturak: tsKate49): tsKate49; var sIzena: tsKate49; iKomaNon: integer; begin iKomaNon := pos(',', sIzenDeiturak); sIzena := copy(sIzenDeiturak, iKomaNon+2, length(sIzenDeiturak)-(iKomaNon+1)); //writeln('sIzena >>>', sIzena, '<<<'); fnsIzenaLortu := sIzena; end; procedure DatuakJaso(var rdElem: trdFitxa); var iZbk: integer; iHamarreko, iUnitate: integer; begin iZbk:= random(iLUZERA)+1; rdElem.sNor := fnsIzenaLortu(asZERRENDA[iZbk]) ; iHamarreko := random(9); iUnitate := random(9); rdElem.rNota := iUnitate + 0.1*iHamarreko; end; procedure FitxategiaSortuEtaDatuzBete(sFitxIzen: tsKate200); var rdElem: trdFitxa; f: tfrdFitxategia; iKopurua, k: integer; begin assign(f, sFitxIzen); rewrite(f); randomize; iKopurua := random(20)+1; writeln('iKopurua = ', iKopurua); readln; for k:=1 to iKopurua do begin DatuakJaso(rdElem); 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); while not eof(f) do begin read(f, rdElem); if rdElem.rNota >= 5.0 then write(f_A, rdElem) else write(f_S, rdElem); end; 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, '<<<<<<'); FitxategiaSortuEtaDatuzBete(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.
- 13. astea | fitxategi bat bitan banatu ariketa aztertu dugu ere, kasu honetan zenbakien fitxategi batetik abiatzen da beste bi fitxategi berri eskuratzeko. Eta kasu honetan hasierako fitxategiaren existentzia aztertzen da
- Bilaketa ariketa: Fitxategi baten elementua beste fitxategi batean bilatu ondoren bere informazio guztia pantailaratu dugu
- Blogeko 13. astea | kaosa sortzen (fitxategi ordenatu bat desordenatzen) ariketa egin dugu egin dugu non array laguntzaileak beharko diren
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.