Цель занятия:
Получить практические навыки в разработке:
1. Динамических одномерных массивов
2. Динамических двумерных массивов
3. Однонаправленных списков
ЗАДАНИЕ:
Ввести число nобрабатываемых элементов и значения элементов массива.
Изменить значения элементов массива. Данные хранить в дисковых файлах.
Алгоритм программы:
ТЕКСТ ПРОГРАММЫ:
program dyn_vect(res);
uses crt;type
Intptr=^integer;
var
n:integer;
p:intptr;
name_inp, name_out:string;
res:text;
s:string;
procedure inp_vect_class(name_inp:string; var n:integer; varp:intptr);
var
i, elsize: integer;
ntp: pointer;
segp, ofsp:word;
pi:intptr;
dat: text;
begin
assign (dat, name_inp); reset (dat);
readln(dat,n);elsize := sizeof(integer);
getmem (ntp, n* elsize);
p:= intptr (ntp);
segp:=seg(p^); ofsp:=ofs(p^);
for i:=0 to (n-1) do
begin
pi:=(ptr(segp,ofsp+ i*elsize));
readln(dat,pi^);
end;
close (dat);
end;
procedure inp_vect_modern (name_inp:string; var n:integer; var p:intptr);
var
i, elsize: integer;ntp: pointer;
plong: longint;
pi:intptr;
dat: text;
begin
assign (dat, name_inp); reset (dat);
readln(dat,n);
elsize := sizeof(integer);getmem (ntp, n* elsize);
p:= intptr (ntp);
plong:= longint(p);
for i:=0 to (n-1) do
begin
pi:=intptr (plong + i*elsize);
readln(dat,pi^);end;
close (dat);
end;
procedure out_vect (name_out:string; n:integer; p:intptr);
var
i, elsize: integer;
segp, ofsp:word;
pi:intptr;
res: text;begin
assign (res, name_out); append (res);
writeln(res,#10,' Число элементов =',n:3);
writeln(res, ' Значения элементов:',#10);
elsize := sizeof(integer);...
Получить практические навыки в разработке:
1. Динамических одномерных массивов
2. Динамических двумерных массивов
3. Однонаправленных списков
ЗАДАНИЕ:
Ввести число nобрабатываемых элементов и значения элементов массива.
Изменить значения элементов массива. Данные хранить в дисковых файлах.
Алгоритм программы:
ТЕКСТ ПРОГРАММЫ:
program dyn_vect(res);
uses crt;type
Intptr=^integer;
var
n:integer;
p:intptr;
name_inp, name_out:string;
res:text;
s:string;
procedure inp_vect_class(name_inp:string; var n:integer; varp:intptr);
var
i, elsize: integer;
ntp: pointer;
segp, ofsp:word;
pi:intptr;
dat: text;
begin
assign (dat, name_inp); reset (dat);
readln(dat,n);elsize := sizeof(integer);
getmem (ntp, n* elsize);
p:= intptr (ntp);
segp:=seg(p^); ofsp:=ofs(p^);
for i:=0 to (n-1) do
begin
pi:=(ptr(segp,ofsp+ i*elsize));
readln(dat,pi^);
end;
close (dat);
end;
procedure inp_vect_modern (name_inp:string; var n:integer; var p:intptr);
var
i, elsize: integer;ntp: pointer;
plong: longint;
pi:intptr;
dat: text;
begin
assign (dat, name_inp); reset (dat);
readln(dat,n);
elsize := sizeof(integer);getmem (ntp, n* elsize);
p:= intptr (ntp);
plong:= longint(p);
for i:=0 to (n-1) do
begin
pi:=intptr (plong + i*elsize);
readln(dat,pi^);end;
close (dat);
end;
procedure out_vect (name_out:string; n:integer; p:intptr);
var
i, elsize: integer;
segp, ofsp:word;
pi:intptr;
res: text;begin
assign (res, name_out); append (res);
writeln(res,#10,' Число элементов =',n:3);
writeln(res, ' Значения элементов:',#10);
elsize := sizeof(integer);...
Поделиться рефератом
Расскажи своим однокурсникам об этом материале и вообще о СкачатьРеферат