//Pascal ABC.NET Версия 2.2 Сборка 790 var ma:array[1..10,1..10] of integer; ar:array[1..10] of integer; i,j,s:integer; begin; randomize; writeln('Matrix:'); for i:=1 to 10 do begin; writeln; for j:=1 to 10 do begin; ma[i,j]:=random(-10,10); write(ma[i,j]:5); if ma[i,j]<0 then ar[i]+=ma[i,j]; end; end; writeln; writeln('Final array:'); for i:=1 to 10 do writeln(ar[i]); end.
Для того, чтобы эта программа заработала надо добавить перед описанием процедуры F следующую строчку: procedure G(n: integer);forward; Так как в процедуре F есть вызов процедуры G описанной дальше по тексту программы. После исправления кода и запуска программы с F(12) получим 17 звездочек. По шагам это будет выглядеть так:
Вызов процедуры F и выполнение * n = 12 * n = 12 Вызов процедуры G и выполнение * n = 11 * n = 11 Вызов процедуры F и выполнение * n = 9 * n = 9 Вызов процедуры G и выполнение * n = 8 * n = 8 Вызов процедуры Fи выполнение * n = 6 * n = 6 Вызов процедуры G и выполнение * n = 5 * n = 5 Вызов процедуры F и выполнение * n = 3 * n = 3 Вызов процедуры G и выполнение * n = 2 * n = 2 Вызов процедуры F и выполнение * n = 0
При такой постановке вопроса, про числовые значения - это так, отвлечь от сути. 14 бит - это 14/8 ≈ 2 байта. И все.
А если речь о том, что в байтовом коде число представялется каким-то особым образом - то надо указаывать в вопросе.