організація / Лабораторна робота з організації №5
.docx
Лабораторна робота №5
Дослідження процесу виведення даних на пристрій відображення інформації
Мета: порівняти різні варіанти організації виведення даних на пристрій відображення інформації (на екран монітору персонального комп’ютера), вивчити особливості програмування на мові Borland Pascal 7.0 операції виведення даних на пристрій відображення інформації.
Виконання роботи
-
Програма, що реалізує різні варіанти виведення графічної інформації на екран монітору:
program lab5;
uses crt,graph,dos;
const
kvadrat: array[1..4] of pointtype = ((x:50;y:50),(x:500;y:50),(x:500;y:450),(x:50;y:450));
var i,j,k:integer;
hour,minuts,second,sec100_1:word;
hour1,minuts1,second1,sec100_2:word;
oldpattern:fillpatterntype;
ch:char;
GraphDevice,GraphMode:integer;
segadr,ofsadr:word;
begin
GraphDevice:=VGA; GraphMode:=VGAHi;
initgraph(GraphDevice,GraphMode,'d:\DOS\bp7\BGI');
setbkcolor(black);
ch:=readkey;
gettime(hour,minuts,second,sec100_1);
{for i:=50 to 450 do begin
for j:=50 to 500 do begin
putpixel(j,i,lightblue);
end;
end;}
{for i:=50 to 450 do begin
setcolor(lightblue);
line(50,i,500,i);
end;}
{getfillpattern(oldpattern);
setfillpattern (oldpattern,lightblue);
fillpoly (4,kvadrat);
readln;}
setactivepage(0);
setvisualpage(0);
for i:=50 to 450 do begin
for j:=50 to 500 do begin
asm
mov ah,0ch
mov al,09h
mov bh,0
mov cx,j
mov dx,i
int 10h
end;
end;
end;
{setactivepage(0);
setvisualpage(0);
segadr:=$a000;
ofsadr:=$0000;
for i:=50 to 450 do begin
for k:=0 to 3 do begin
port[$3c4]:=$02;
case k of
0:port[$3c5]:=$01;
1:port[$3c5]:=$00;
2:port[$3c5]:=$00;
3:port[$3c5]:=$08;
end;
for j:=50 to 500 do begin
ofsadr:=i*80+j;
case k of
0:mem[segadr:ofsadr]:=$ff;
1:mem[segadr:ofsadr]:=$ff;
2:mem[segadr:ofsadr]:=$ff;
3:mem[segadr:ofsadr]:=$ff;
end;
end;
end;
end;
}
ch:=readkey;
closegraph;
gettime(hour1,minuts1,second1,sec100_2);
writeln(hour,' ',minuts,' ',second,' ',sec100_1,' ',hour1,' ',minuts1,' ',second1,' ',sec100_2);
end.
Наводимо чисельні результати і час виконання вимірювань:
Час виведення даних на пристрій відображення процедурою FillPoly становить: 7.0.81-6.51.20=49.61;
Час виведення даних на пристрій відображення процедурою PutPixel становить: 42.68-39.66=3.02;
Час виведення даних на пристрій відображення процедурою Line становить: 22.51-21.3=1.21;
Час виведення даних на пристрій відображення процедурою Assembler становить: 18.37-14.42=3.95;
Висновок: на лабораторній роботі ми порівняли різні варіанти організації виведення даних на пристрій відображення інформації (на екран монітору персонального комп’ютера), вивчили особливості програмування на мові Borland Pascal 7.0 операції виведення даних на пристрій відображення інформації, і визначили, що з чотирьох варіантів які ми змогли протестувати відображення процедурою Line час виведення самий менший.