
- •Лабораторная работа №1
- •Ход работы:
- •Лабораторная работа №2
- •Ход работы:
- •Задание для самостоятельного решения
- •Лабораторная работа №3
- •Ход работы:
- •Задание для самостоятельного решения
- •Учреждение образования «Гомельский торгово-экономический колледж» Белкоопсоюза
- •Лабораторная работа №4
- •Динамическое создание объектов
- •Динамические объекты. Деструкторы
- •Ход работы:
- •Задание для самостоятельного решения
- •Учреждение образования «Гомельский торгово-экономический колледж» Белкоопсоюза
- •Лабораторная работа №5
- •Procedure tForm1.Button2Click (Sender: tObject); {обработка массива}
- •Задание для самостоятельного решения
- •Учреждение образования «Гомельский торгово-экономический колледж» Белкоопсоюза
- •Лабораторная работа №6
- •Ход работы:
Ход работы:
Задание 1. Наберите и проанализируйте программу. Определите в данной программе все объекты, методы, а также принципы наследования и полиморфизма, применяемые к этим объектам с использованием библиотеки VCL. Объясните результаты выполнения программы.
program demojlist;
uses graph, crt, monsters;
const n = 30;
type
pnode = ^node;
node = record f
pm : pmonstr; next : pnode; end; list = object
constructor tirit: procedure add(pm : pmonstr); procedure draw; destructor done; .private
beg : pnode; end;
constructor list.init;
begin beg := nil ,
end;
procedure list.add(pm : pmonstr); var p : pnode: begin new(p);
p^.pm := pm; pA.next := beg; beg := p; , end;
procedure list.draw; 'var p : pnode; begin
p := beg;
while p <> nil do begin
p*.pirT.draw;
р := pA.next; end; end; destructor list.done; var p : pnode; begin
while beg <> nil do begin
p := beg;
dispose(p*.pm, done);
beg := p'.next;
dispose(p); end end; procedure report(message: string);
var s ; string;
begin
str(MemAvail, s);
outtext(message + s);
moveto(0, GetY + 12); end; var
stado : list:
x. у : integer;
gd, grrt : integer;
p : pmonstr;
i : word; begin
gd :- detect;
initgraph(gd. gm. '...');
if graphresult <> grOk then begin
write!n('ошибка инициализации графики'); exit end; randomize;
report Г доступно в начале программы: '); stado.init;
for i := 1 to n do begin , case random(2) of
: p := new(pmonstr, init(random(600), random(440), 10, 8));
: p := new(pdaemon, init(random(600), random(440). 10, 8, 6)); end;
st;ado.add(p); { добавление объекта в список } end:
reportC доступно после выделения памяти: '); stado.draw;
stado.done;
report(' доступно после освобождения памяти: ');
readln;
end.