Программу надо сформатировать и тогда её структура будет видна лучше. А чтобы понять, как идет выполнение, в нужных точках ставим промежуточную выдачу - это называется "трассировкой".
var s, k: integer; label met; begin s:=-12; k:=90; Writeln('s=',s,', k=',k); s:=s+10; Writeln('s=',s); met: Writeln('Метка met:'); k:=k+10; Write('k=',k); if k<200 then s:=50 else s:=s+k; Writeln(', s=',s); if k<200 then goto met; Writeln('Результат: s=',s) end.
3542816 (из 10 в 2 систему исчисления) схема проста делим число на два до тех пор пока не останется 1(т.е. поделили, затем еще раз, и еще раз, и еще) надеюсь что такое остаток от деления ясно, так вот остатки от деления это и есть двоичная система, но записывать число необходимо справа налево результат 3542816(10) = 1101100000111100100000(2) 110011101 (из 2 в 10) умножаем на 2 в степени числа, степень числа считается справа налево начиная с 0., т.е 1*2:0+0*2^1+1*2^2+ 1*2^3+ 1*2^4 результат 110011101(2) = 413(10) 11010111 (из 2 в 8) там должна быть таблица, уверен вы ее записывали, смысл в том чтобы по три цифры (справа считая) переводим в 8чную систему справа налево-111-010-011 результат 11010111(2) = 327(8) 152FC4 (з 16 в 10, из 10 в 2) так же как и из двоичной в десятичную но теперь числа умножаем не на 2 а на 16, т.е 4*16^0+12*16^1? а как из десятичной в двоичную уже рассказывал, результат 152FC4(16) = 1388484(10) 1388484(10) = 101010010111111000100(2)
А чтобы понять, как идет выполнение, в нужных точках ставим промежуточную выдачу - это называется "трассировкой".
var
s, k: integer;
label
met;
begin
s:=-12;
k:=90;
Writeln('s=',s,', k=',k);
s:=s+10;
Writeln('s=',s);
met:
Writeln('Метка met:');
k:=k+10; Write('k=',k);
if k<200 then s:=50 else s:=s+k;
Writeln(', s=',s);
if k<200 then goto met;
Writeln('Результат: s=',s)
end.
Результат выполнения программы:
s=-12, k=90
s=-2
Метка met:
k=100, s=50
Метка met:
k=110, s=50
Метка met:
k=120, s=50
Метка met:
k=130, s=50
Метка met:
k=140, s=50
Метка met:
k=150, s=50
Метка met:
k=160, s=50
Метка met:
k=170, s=50
Метка met:
k=180, s=50
Метка met:
k=190, s=50
Метка met:
k=200, s=250
Результат: s=250