Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

організація / Лабораторна робота з організації №5

.docx
Скачиваний:
2
Добавлен:
19.02.2016
Размер:
18.15 Кб
Скачать

Лабораторна робота №5

Дослідження процесу виведення даних на пристрій відображення інформації

Мета: порівняти різні варіанти організації виведення даних на пристрій відображення інформації (на екран монітору персонального комп’ютера), вивчити особливості програмування на мові Borland Pascal 7.0 операції виведення даних на пристрій відображення інформації.

Виконання роботи

  1. Програма, що реалізує різні варіанти виведення графічної інформації на екран монітору:

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 час виведення самий менший.