14. astea (2023/04/30) laborategi/mintegian egindakoa
- Zerrenda pasatu dugu, deitutako 25en artean 13 ez dira etorri (informazio gehiago eGela zerbitzuan)
- 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | 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.