alzheleshikov
?>

У исполнителя Калькулятор три команды, которым присвоены номера: 1. прибавь 1 2. прибавь 3 3. умножь на 2 Сколько есть программ, которые число 3 преобразуют в число 15?

Информатика

Ответы

Natysya7777

Вот такая программа позволяет инвертировать нечётные биты во введённом 16-ти разрядном числе (тип word).

Если что, счёт битов я брал начиная с нуля. Поэтому, младший бит (нулевой) считается чётным. Если вдруг у вас там принято считать биты начиная с единицы, то младший будет нечётным, и тогда в строке где b := 2;  надо поставить единицу вместо двух.

Также, я сделал отображение всех 16 разрядов введённого числа, и числа которое получилось после инверсии битов (то есть, число выводится в двоичном виде, начиная со старших разрядов). Это сделано для удобства проверки работы программы.

После проверки лучше удалить эти две строки (они выделены жирным шрифтом), ведь в задании не сказано выводить числа в двоичном виде.

var

a, b, n: word;

begin

write('Введите целое неотрицательное число: a= ');

readln(a);

b:=32768;for n:=15 downto 0 do begin write((a mod(b*2))div b);b:=b div 2;end;writeln();

b := 2;

for n := 0 to 7 do

begin

if (a mod (b * 2)) div b = 0

then a := a + b

else a := a - b;

b := b * 4;

end;

b:=32768;for n:=15 downto 0 do begin write((a mod(b*2))div b);b:=b div 2;end;writeln();

writeln('После инверсии нечётных битов: a= ', a);

end.


Дано целое неотрицательное число. Получить число, инвертируя его нечетные биты. Решить в паскале
Дано целое неотрицательное число. Получить число, инвертируя его нечетные биты. Решить в паскале
Дано целое неотрицательное число. Получить число, инвертируя его нечетные биты. Решить в паскале
ViktorovnaLarin
Const m=5; n=6;
var 
a:array[1..m,1..n] of integer;
i,j,max,imax,jmax,min,imin,jmin:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to m do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:4);
  end;
  writeln;
 end;
max:=a[1,1]; imax:=1; jmax:=1;
min:=a[1,1]; imin:=1; jmin:=1;
for i:=1 to m do
 for j:=1 to n do
  begin
  if a[i,j]>max then begin max:=a[i,j]; imax:=i; jmax:=j; end;
  if a[i,j]<min then begin min:=a[i,j]; imin:=i; jmin:=j; end;
  end;
writeln('max = a[',imax,',',jmax,'] = ',max);
writeln('min = a[',imin,',',jmin,'] = ',min);
a[imax,jmax]:=min;
a[imin,jmin]:=max;
writeln('Полученный массив:');
for i:=1 to m do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Исходный массив: 
  69   2  25  92  32  43
  98  77  49  29  48   5
  30   8  95  83  37  83
  31   6  47  91  82  65
  86  31  62  70  82  38
max = a[2,1] = 98
min = a[1,2] = 2
Полученный массив:
  69  98  25  92  32  43
   2  77  49  29  48   5
  30   8  95  83  37  83
  31   6  47  91  82  65
  86  31  62  70  82  38

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

У исполнителя Калькулятор три команды, которым присвоены номера: 1. прибавь 1 2. прибавь 3 3. умножь на 2 Сколько есть программ, которые число 3 преобразуют в число 15?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

manyugina1
klodialeit36
Анатольевич1707
nevori
Лилия-Карпухина337
Misyura_Viktoriya1683
saryba
Yeroshkina411
ooost-2022
punchf
mnn99
inris088
alex07071
ii090758
elenachuxina804