ВСЯ информация на компьютере кодируется двоичным кодом (0 и 1)
<span>var l,k:char; m,s:string; n,i,a:integer; begin read(s); l:=s[1]; if ((ord(l)>223) and (ord(l)<256))or((ord(l)>96) and (ord(l)<122)) then begin a:=ord(l)-32;if a<>0 then begin k:=chr(a);if k<>'0' then m:=m+copy(k,1,1) end; end else begin if ord(l)=44 then n:=n+1; m:=m+l; end; l:=s[2]; if ((ord(l)>223) and (ord(l)<256))or((ord(l)>96) and (ord(l)<122)) then begin a:=ord(l)-32;if a<>0 then begin k:=chr(a);if k<>'0' then m:=m+copy(k,1,1) end; end else begin if ord(l)=44 then n:=n+1; m:=m+l; end; l:=s[3]; if ((ord(l)>223) and (ord(l)<256))or((ord(l)>96) and (ord(l)<122)) then begin a:=ord(l)-32;if a<>0 then begin k:=chr(a);if k<>'0' then m:=m+copy(k,1,1) end; end else begin if ord(l)=44 then n:=n+1; m:=m+l; end; l:=s[4]; if ((ord(l)>223) and (ord(l)<256))or((ord(l)>96) and (ord(l)<122)) then begin a:=ord(l)-32;if a<>0 then begin k:=chr(a);if k<>'0' then m:=m+copy(k,1,1) end; end else begin if ord(l)=44 then n:=n+1; m:=m+l; end; l:=s[5]; if ((ord(l)>223) and (ord(l)<256))or((ord(l)>96) and (ord(l)<122)) then<span> begin a:=ord(l)-32;if a<>0 then begin k:=chr(a);if k<>'0' then m:=m+copy(k,1,1) end; end else begin if ord(l)=44 then n:=n+1; m:=m+l; end; l:=s[6]; if ((ord(l)>223) and (ord(l)<256))or((ord(l)>96) and (ord(l)<122)) then begin a:=ord(l)-32;if a<>0 then begin k:=chr(a);if k<>'0' then m:=m+copy(k,1,1) end; end else begin if ord(l)=44 then n:=n+1; m:=m+l; end; writeln(m); writeln(n); end.</span></span>
1. Скорее всего нет, так как за 36 лет появилось много новых дорог и возможно исчезло множество старых. Поэтому отношение актуальной информации к устаревшей будет очень мало
2. 0.0625 гигабайт и 1048576, но мне кажется в условии должно быть наоборот, большее число в гигабайты, меньшее в мегабайты, тогда получится 64 мегабайта и 1024 гигабайта
A) 7,68 б) <span>5000000
2. </span><span>13421772.8
</span>3. <span>11</span>
<u>PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество строк/столбцов в таблице:');
var a:=MatrRandom(n,n,0,1);
a.Println(2); Writeln(2*a.ColCount*'-');
// 1
var k:=0;
for var i:=0 to a.RowCount-1 do
for var j:=0 to a.ColCount-3 do
if (a[i,j]=0) and (a[i,j+1]=0) and (a[i,j+2]=0) then begin
k+=1; break
end;
Writeln('1: ',k);
// 2
k:=0;
for var j:=0 to a.ColCount-1 do
if (a[0,j]=0) and (a[1,j]=1) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=0) and (a[i+1,j]=1)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end
else
if (a[0,j]=1) and (a[1,j]=0) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=1) and (a[i+1,j]=0)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end;
Writeln('2: ',k);
// 3
var r0:=a.Rows.Where(row->row.All(t->t=0)).Count;
var c1:=a.Cols.Where(col->col.All(t->t=1)).Count;
Writeln('3: Нулевых строк ',r0,', единичных колонок ',c1)
end.
<u>Пример</u>
Количество строк/столбцов в таблице: 4
1 1 0 1
0 0 0 1
1 1 1 1
0 1 1 1
--------
1: 1
2: 1
3: Нулевых строк 0, единичных колонок 1