<span>Переводим целую часть числа. Заменяем каждый разряд на код из таблицы.</span>
Двоичная СС Восьмеричная СС
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
<span>Получаем число:</span>
<span>774</span>8<span> = 111111100</span>2
Переводим дробную часть числа.
Получаем число:
08 = 0002
Переводим целую часть числа. Для этого разделим исходный код на группы по 4 разряда.
111111100 = 0001 1111 1100
Затем заменяем каждую группу на код из таблицы.
Двоичная СС шестнадцатеричная СС
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
<span>Получаем число:</span>
<span>0001 1111 1100 </span>2<span> = 1FC</span>16
Var
a,i,n:integer;
b:array [1..50] of integer;
begin
readln(n);
for i:= 1 to n do
readln(b[i]);
i:=1;
a:=0;
while (b[i]<>0) and (i<=n) do
begin
if b[i] mod 2 =0 then a:=a+b[i];
inc(i);
end;
writeln('Сумма четных элементов = ',a);
end.
Var a:array [1..10] of integer;
j,sum:integer;
begin
sum:=0;
randomize;
for j:=1 to 10 do
begin
a[j]:=random(11)+20;
write (a[j],' ');
sum:=sum+a[j];
end;
writeln;
writeln ('Summa: ',sum);
readln;
end.
<em>// PascalABC.NET 3.3, сборка 1634 от 14.02.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var aInd:=a.IndexesOf(t->t.IsOdd and (t mod 7=0));
if aInd.Count=0 then Writeln('Нет нечетных чисел, кратных 7')
else begin
Write('Номера нечетных элементов, кратных 7: ');
aInd.Select(i->i+1).Println(',')
end
end.
<u>Пример</u>
n= 20
-38 -50 51 -90 66 -7 49 37 -91 2 69 44 -83 73 68 -99 72 -18 80 32
Номера нечетных элементов, кратных 7: 6,7,9