если я всё правильно понимаю, длина слова получится 254 байта
решать можно так:
для простоты перевести всё в десятичные числа, затем сравнить размер двух областей памяти (до начала слова и от его начала до конца ОЗУ)
адрес последнего машинного слова: FE(hex) = 254(dec)
объём ОЗУ: 1/2кбайта = 1024/2 байт = 512 байт (адреса от 0 до 511)
объём области памяти до начала слова (адреса от 0 до 253):
253 - 0 + 1 = 254 байта
объём области памяти от начала слова до конца ОЗУ (адреса от 254 до 511):
511 - 254 + 1 = 258 байт
т.к. области почти равны, то очевидно, что первая- это и есть искомая длина машинного слова (в этой области разместилось первое слово). В конце второй области, после второго слова, останется неиспользованные 4 байта.
program r;
const n=20;
var mas:array [0..n,0..n] of byte;
i,j,g,m,a,x1,y1,x2,y2,maxx,maxy,minx,miny:integer;
begin
readln (a);
for i:=1 to n do
for j:=1 to m do
mas[i,j]:=0;
for g:=1 to a do
begin
Readln (x1,y1,x2,y2);
if x1>x2 then begin maxX:=x1;minX:=x2;end
else begin maxX:=x2; minX:=x1; end;
if y1>y2 then begin maxY:=y1;minY:=y2;end
else begin maxY:=y2; minY:=y1;end;
m:=0;
for i:=miny+1 to maxy do
for j:=minx+1 to maxx do
if mas[i,j]=0 then begin mas [i,j]:=1;m:=m+1;end;
for i:=1 to n do
begin
for j:=1 to n do
write (mas[i,j]);
writeln;
end;
writeln (m);
end;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Что такое контрафактное по, примеры