Program drawFigure;
uses graph;
var
gD,gR:integer;
procedure drawHouse(x,y:word);
const
wallSide=70;
windowSide=20;
var
houseRoof:array[1..4] of pointtype;
begin
setFillStyle(1,10);
bar(x,y-wallSide,x+wallSide,y); rectangle(x,y-wallSide,x+wallSide,y);
setFillStyle(1,1);
bar(x+wallSide div 2-windowSide div 2,y-wallSide+wallSide div 2-windowSide div 2, x+wallSide div 2-windowSide div 2+windowSide,y-wallSide+wallSide div 2-windowSide div 2+windowSide); rectangle(x+wallSide div 2-windowSide div 2,y-wallSide+wallSide div 2-windowSide div 2, x+wallSide div 2-windowSide div 2+windowSide,y-wallSide+wallSide div 2-windowSide div 2+windowSide);
setFillStyle(1,2);
houseRoof[1].x:=x; houseRoof[1].y:=y-wallSide; houseRoof[2].x:=x+wallSide;
houseRoof[2].y:=y-wallSide;
houseRoof[3].x:=x+wallSide div 2; houseRoof[3].y:=y-wallSide-wallSide div 2;
houseRoof[4].x:=x; houseRoof[4].y:=y-wallSide;
fillPoly(4,houseRoof);
end;
procedure drawTree(x,y:word);
const
treeFH=90;
treeFW=8;
var
ci:byte;
branchFH,branchFW:byte;
begin
setFillStyle(1,6);
bar(x,y-treeFH,x+treeFW,y);
for ci:=1 to 6 do
begin
branchFH:=random(5)+1; branchFW:=random(8)+10;
bar(x-branchFW,y-treeFH+ci*10,x,y-treeFH+ci*10+branchFH);
bar(x+treeFW,y-treeFH+ci*10,x+treeFW+branchFW,y-treeFH+ci*10+branchFH);
end;
end;
begin
randomize;
initgraph(gD,gR,'');
drawHouse(100,280); drawHouse(230,270); drawHouse(430,290); drawHouse(330,180);
drawTree(195,278); drawTree(325,275); drawTree(265,350); drawTree(360,290); drawTree(400,240); drawTree(580,285); drawTree(110,370);
readln; closeGraph;
<span>end.</span>
В двоичную:
556:2=278 ост.0
278:2=139 ост.0
139:2=69 ост.1
69:2=34 ост.1
34:2=17 ост.0
17:2=8 ост.1
8:2=4 ост.0
4:2=2 ост.0
2:2=1 ост.0
1:2=0 ост.1
Остатки записываем в обратном порядке (снизу вверх): 1000101100
в восьмеричную:
556:8=69 ост.4
69:8=8 ост.5
8:8=1 ост.0
1:8=0 ост.1
Остатки записываем в обратном порядке (снизу вверх): 1054
в шестнадцатеричную:
556:16=34 ост.12 (С)
34:16=2 ост.2
2:16=0 ост.2
Остатки записываем в обратном порядке (снизу вверх): 22С
1,5 Мб=1,5*1024*1024 байт
Необходимая память для 1 пикселя (глубина цвета):
1,5*1024*1024/(1024*512) = 3 байта = 3*8 бит = 24 бита
Максимальное количество цветов = 2^24 = 16 777 216