Сначала переводим целую часть: 6 (8) = 10 (6) - Шесть в 8-ричной системе равно "Один-ноль" в шестеричной. Теперь переводим дробную часть: Для этого переведем в 10-чную. Первый разряд - разряд 1/8-х, то есть 0,1 (8) = 0,125 (10). умножаем 0,125 на 6 и при каждом умножении целая часть будет цифра нового числа, а дробную часть переносим на следующее умножение, до тех пор, пока дробная часть не будет равна 0. 0,125 * 6 = 0,75, сносим ноль; 0,75 * 6 = 4,5 сносим четыре; остаток: 0,5 * 6 = 3 сносим 3. Остаток ноль - значит конец. Записываем ответ: 6,1 (8) = 10,043 (6) P.s. числа в скобках (8), (10) и (6) - это основания систем счисления и обычно пишутся нижним индексом после числа. ))
Program p1; var a:array[1..7,1..7] of byte; i,j:byte; begin for i:=1 to 7 do begin for j:=1 to 7 do begin if i<=4 then if (j>=i) and (j<=8-i) then a[i,j]:=1 else a[i,j]:=0 else if (j<=i) and (j>=8-i) then a[i,j]:=1 else a[i,j]:=0; Write(a[i,j]:2) end; Writeln end end.
program p2; var a:array[1..6,1..6] of byte; i,j:byte; begin for i:=1 to 6 do begin for j:=1 to 6 do begin a[i,j]:=i+j-1; if a[i,j]>6 then a[i,j]:=a[i,j]-6; Write(a[i,j]:2) end; Writeln end end.
Теперь переводим дробную часть: Для этого переведем в 10-чную. Первый разряд - разряд 1/8-х, то есть 0,1 (8) = 0,125 (10). умножаем 0,125 на 6 и при каждом умножении целая часть будет цифра нового числа, а дробную часть переносим на следующее умножение, до тех пор, пока дробная часть не будет равна 0.
0,125 * 6 = 0,75, сносим ноль; 0,75 * 6 = 4,5 сносим четыре; остаток: 0,5 * 6 = 3 сносим 3. Остаток ноль - значит конец.
Записываем ответ: 6,1 (8) = 10,043 (6)
P.s. числа в скобках (8), (10) и (6) - это основания систем счисления и обычно пишутся нижним индексом после числа. ))
var
a:array[1..7,1..7] of byte;
i,j:byte;
begin
for i:=1 to 7 do
begin
for j:=1 to 7 do
begin
if i<=4 then
if (j>=i) and (j<=8-i) then a[i,j]:=1 else a[i,j]:=0
else
if (j<=i) and (j>=8-i) then a[i,j]:=1 else a[i,j]:=0;
Write(a[i,j]:2)
end;
Writeln
end
end.
Результат выполнения программы:
1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
program p2;
var
a:array[1..6,1..6] of byte;
i,j:byte;
begin
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
a[i,j]:=i+j-1;
if a[i,j]>6 then a[i,j]:=a[i,j]-6;
Write(a[i,j]:2)
end;
Writeln
end
end.
Результат выполнения программы:
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5