а) Если адрессация 32-х разрядная, то число ячеек - .
б) Максимальный объмем адрессуемой памяти - = 4гб. Вспомните траблу с тем, что на 32-х разрядных ОС (которые задействуют проц в виртуальном режиме - могут использовать его как 32-х разрядный, если он даже 64-х) видимый максимальный объмем ОЗУ не больше этого предела, хоть пусть стоят плашки по 32гб.
в) Ну, если считать, что первый адрес - 0, то последний - 1
П.С. Число ячеек = объему памяти в байтах, так как можно адрессовать каждый байт - было сказано, что "при каждой операции... 32 бита данных", это говорит, что регистры тоже 32-х разрядные, но если вы видели какой-нибудь из языков ассемблера, то там можно обращаться к частям регистров, вплоть до размера части в 8 бит. Это на практике.
П.С.С. Сказано что проц теоретический, возможно, подразумевается, что ячейки не 1 байт, а 4 байта, т.е число ячеек в 4 раза меньше - . Выбирайте, что вам кажется более подходящим, препод вам известнее :)
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;
end.