Автомат обрабатывает натуральное число n по следующему алгоритму: 1. строится двоичная запись числа n. 2. запись «переворачивается», то есть читается справа налево. если при этом появляются ведущие нули, они отбрасываются. 3. полученное число переводится в десятичную запись и выводится на экран. пример. дано число n = 58. алгоритм работает следующим образом: 1. двоичная запись числа n: 111010. 2. запись справа налево: 10111 (ведущий ноль отброшен). 3. на экран выводится десятичное значение полученного числа 23. какое наибольшее число, не превышающее 100, после обработки автоматом даёт результат 11
1) program Array16;
var
i:integer; // счетчик в цикле
N:integer;
a: array [1..10] of integer;
begin
writeln('Введите N (N<10)');
readln(N); // ввод размера массива
for i:=1 to N do
begin
write('a[',i,']=');
readln(A[i]); // ручной ввод значений массива
end;
writeln('Результат');
for i:=1 to N do
begin
// вычисление и вывод элементов в указанном порядке
write(' ',a[(i div 2+1)*((i) mod 2)+ n*((i+1)mod 2)-((i div 2)-1)*((i+1) mod 2)]);
end;
end.
2) Var A:array[1..100] of integer;
i,n:byte;
Begin
write('Введите n<=100: ');readln(n);
For i:=1 to n do
Begin
A[i]:=random(31);
write(A[i]:3);
End;
writeln;
For i:=1 to n div 2 do
write(A[i]:3,A[n-i+1]:3);
if n mod 2 <>0 then write(A[n div 2+1]:3);
End.