Удобнее всего решать с использованием промежуточной двоичной системы, поскольку 16=2⁴, в 8=2³. В силу этого каждая шестнадцатиричная цифра изображается четырьмя битами (тетрадой), а каждая восьмеричная - тремя (триадой). Заменим неизвестные биты символом Х. 1010₁₆ = ХХХ ХХ1 010₈ Запишем изображения битов друг под другом с учетом известной нам информации. Х Х Х Х 1 0 1 0 Х Х Х Х Х 1 0 1 0 Теперь известные биты в конце чисел можно отбросить Х Х Х Х Х Х Х Х Х Очевидно, во втором (восьмеричном числе первый бит нулевой, поскольку оба числа в двоичной записи одинаковы и остается только ₂. Эти четыре бита (обозначим их IJKL) могут дать 16 комбинаций. Но требование, чтобы восьмеричное число имело три цифры, старшая из которых не может быть нулем, запрещает комбинацию IJ=00, поэтому 4 комбинации из 16 надо вычеркнуть. Останется 12.
Program Test;
var
Mas: array[1..10] of integer;
result1: integer;
result2: real;
function Sum(): integer;
var summa: integer;
begin
summa := 0;
for var i := 1 to 10 do
summa := summa + Mas[i];
Sum := summa;
end;
procedure Arifmetic(r1: integer; var A: real);
begin
A := r1 / 10;
end;
Begin
for var i := 1 to 10 do
begin
Write('Введите ', i, ' элемент: ');
Readln(Mas[i]);
end;
result1 := Sum();
Arifmetic(result1, result2);
Writeln();
Writeln('Сумма = ', result1);
Writeln('Среднее арифметическое = ', result2);
End.