дешифровки: Const sh = '_.,'; Var St : String; i : Integer; Function DeCode(S : String; Tabl : String; k : Integer) : String; Var j,n : Integer; Begin For j:=1 to Length(S) do Begin n:=Pos(S[j],sh); If n>0 then Begin n:=n+k; While n>Length(sh) do n:=n-Length(sh); While n<=0 do n:=n+Length(sh); S[j]:=sh[n]; end end; DeCode:=S; end; Begin St:='ЗЫФЙГФШРЦ . ШД'; Writeln(Decode(St,sh,-6)); //For i:=-10 to 10 do Writeln(Decode(St,sh,i)); end.
Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение: 1)Cначала заполняем массив случайными числами от 2 до 5 (включительно) 2)Потом выводим его (Для проверки) 3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:
program N_0547847; var b, c, d, f, i:integer; a: array [1..20] of integer; begin; randomize; b:=0; c:=0; d:=0; f:=0; for i:=1 to 20 do begin a[i]:=random(4)+2; write(a[i],' '); end; writeln; for i:=1 to 20 do begin if a[i]=2 then b:=b+1; if a[i]=3 then c:=c+1; if a[i]=4 then d:=d+1; if a[i]=5 then f:=f+1; end; writeln('Двоек: ', b); writeln('Троек: ', c); writeln('Четверок: ',d); writeln('Пятерок: ',f); end.
1)
6-ричный :
0
1
2
3
4
5
8-ричный:
0
1
2
3
4
5
6
13-ричный:
0
1
2
3
4
5
6
7
8
9
A
B
C
2)
В двоичной:
0110111001011101111000100110101011110011011110111110000100011001010011В четверичной:
0123101112132021222330313233100101102103В семеричной:
012345610111213141516100101102103104105В одиннацатеричной:
0123456789A1011121314151617183)
11100010110304002321010848100107B00AB300F02F1FA4)
101111010032133220362635666CDD7ABD7C2CFABF2E5)
1.
Наибольшее число в двоичной тремя цифрами:
111
Перевод в десятичную:
8
2.
Наибольшее число в пятеричной тремя цифрами:
444
Перевод в десятичную:
4*4^2 + 4*4^1 + 4*4^0=84
3.
Наибольшее число в двенадцатеричной тремя цифрами:
BBB либо [12] [12] [12]
Перевод в десятичную:
12*12^2 + 12*12^1 + 12*12^0=1884
6)
1.
1010111 {2}
1*2^6 + 1*2^4 + 1*2^2 + 1*2^1 + 1*2^0=87
2.
255 {8}
2*8^2 + 5*8^1 + 5*8^0=173
3.
C7 {16}
13*16^1 + 7*16^0=215
7)
1.
68
В двоичную:
64+4=2^6 + 2^2=1000100
В восьмеричную:
001 000 100=105
В шестнадцатеричную:
1000 0100=95
2.
465
В двоичную:
256+128+64+16+1=2^8 + 2^7 + 2^6 + 2^4 + 2^0=111010001
В восьмеричную:
111 010 001=731
В шестнадцатеричную:
0001 1101 0001=1D1
3.
294
В двоичную:
256+32+4+2=2^8 + 2^5 + 2^2 +2^1=100100110
В восьмеричную:
100 100 110=446
В шестнадцатеричную:
0001 0010 0110=126
P.s.
Перевод из двоичной в шестнадцатеричную (а также в восьмеричную, если отбросить первый ноль) :
0. 0000 |8
0001 |80010 |80011 |80100 |80101 |80110 |80111 |810001001(A) 1010(B) 1011(C) 1100(D) 1101(E) 1110(F) 1111