Ezaguna den ariketa hau fitxategiak erabiliz egin!
Erregistroen bi Laborategiko gelan, gehienez, 25 ikasle izango dira. Ikasleen datuak bi arrayetan biltzen dira, array bat lehen azterketari dagokio eta beste arraya bigarren azterketari dagokio. Arrayaren elementuak kateak dira, eta bertan izena eta zenbaki bat / batez banaturik daude, zenbakien kopuru maximoa 9.9 izango eta minimoa 0.0 izango da. Datuak teklatuaren bitartez ematen dira eta ikasleen posizioak arrayetan zaindu behar dira berdinak izan daitezan, hurrengo adibidean erakusten den bezala. asAzterketa1 eta asAzterketa2 abiapuntuko arrayak dira eta ardAzterketak arraya lortu behar dena. Hona hemen datuen adibide bat: asAzterketa1
asAzterketa2
iLuzera
ardAzterketak
iZenbat
|
Datu zerrenda bat array batean gorde daiteke, edo bestela fitxategi batean ere gorde daiteke. Ondoko ariketa egin dezagun: bi fitxategietatik abiatuta aurreko biak nahastuz fitxategi bakarra lortu.
Hona hemen, proposatutako ariketaren hasiera:
program ErregistroenBiFitxategiNahastenEMATEKOA;
type
tsKate30 = string[30];
tsKate250 = string[250];
tfsAgendaZahar = file of tsKate30;
procedure DatuakSartu(sFitxIzen1, sFitxIzen2: tsKate250);
var
f1, f2: tfsAgendaZahar;
iZenbatElementu: integer;
sDatua: tsKate30;
sIzena: tsKate30;
sZenbakiUnitate: tsKate30;
sZenbakiHamarreko: tsKate30;
iZenbakiUnitate: integer;
iZenbakiHamarreko: integer;
n: integer;
begin
assign(f1, sFitxIzen1);
rewrite(f1);
assign(f2, sFitxIzen2);
rewrite(f2);
repeat
write('Zenbat elementu gordeko dira bi fitxategietan? ');
readln(iZenbatElementu);
until iZenbatElementu > 0;
for n:=1 to iZenbatElementu do
begin
write(n, '. lagunaren izena eman: ');
readln(sIzena);
iZenbakiUnitate := random(10); (* 0 eta 9 artean *)
Str(iZenbakiUnitate, sZenbakiUnitate);
iZenbakiHamarreko := random(10); (* 0 eta 9 artean *)
Str(iZenbakiHamarreko, sZenbakiHamarreko);
sDatua := sIzena + '/' + sZenbakiUnitate + '.' + sZenbakiHamarreko;
write(f1, sDatua); (* Fitxategi batean idatzi *)
iZenbakiUnitate := random(10); (* 0 eta 9 artean *)
Str(iZenbakiUnitate, sZenbakiUnitate);
iZenbakiHamarreko := random(10); (* 0 eta 9 artean *)
Str(iZenbakiHamarreko, sZenbakiHamarreko);
sDatua := sIzena + '/' + sZenbakiUnitate + '.' + sZenbakiHamarreko;
write(f2, sDatua); (* Fitxategi batean idatzi *)
end;
close(f1); (* Fitxategiak itxi *)
close(f2);
end;
procedure DatuakIkusi(sFitxIzen: tsKate250);
var
f: tfsAgendaZahar;
sDatua: tsKate30;
begin
assign(f, sFitxIzen);
reset(f);
while not eof(f) do
begin
read(f, sDatua);
writeln(FilePos(f)-1, '. posizioko datua: ', sDatua);
end;
close(f); (* Fitxategia itxi *)
writeln;
end;
{ ============================================================== }
var
sAgendaIzen1, sAgendaIzen2: tsKate250;
begin
write('1. agenda fitxategiaren izena eman: ');
readln(sAgendaIzen1);
write('2. agenda fitxategiaren izena eman: ');
readln(sAgendaIzen2);
DatuakSartu(sAgendaIzen1, sAgendaIzen2);
writeln;
writeln('1. agendaren datuak: ');
DatuakIkusi(sAgendaIzen1);
writeln;
writeln('2. agendaren datuak: ');
DatuakIkusi(sAgendaIzen2);
writeln;
{ hemen idatzi ariketan eskatzen dena }
writeln('Programa amaitzera doa');
readln;
end.
Ariketen iturburu programak
Array datu-mota erabiliz
Fitxategien bitartez
iruzkinik ez:
Argitaratu iruzkina