В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

Напишите программу, которая решает следующую задачу, используя логические операции:
В регистрах R1, R2 и R3 записаны коды трех десятичных цифр, составляющих
трехзначное число (соответственно сотни, десятки и единицы). Построить в регистре R0 это число. Например, если R1=31(16-ичная система счисления), R2=32(16-ичная система счисления) и R3=33(16-ичная система счисления), в регистре R0 должно получиться десятичное число 123.

Показать ответ
Ответ:
dgolovenko
dgolovenko
16.03.2023 22:52
Const
   N = 20;
Var
   A:array[1..N] of integer;
   i,M:integer;
Begin
Randomize;
Write('Исходный массив:');
M:=1;
For i:= 1 to N do
    Begin
    A[i]:=random(N+1);
    Write(' ',A[i]);
    if A[i] > A[M] then M:=i;
    End;
WriteLn;
WriteLn('Max = ',A[M],'[',M,']');
if M < N then
   For i:= M to N-1 do
       A[i]:=A[i+1];
M:=1;
For i:= 1 to N-1 do
    if A[i] < A[M] then M:=i;
WriteLn('Min = ',A[M],'[',M,']');
if M < N then
   For i:= M to N-1 do
       A[i]:=A[i+1];
Write('После удаления Max и Min:');
For i:= 1 to N-2 do
    Write(' ',A[i])
End.

Const
   N = 3;
   M = 4;
Var
   A,B,C:array[1..N,1..M] of shortint;
   i,j,Max,t:integer;
Begin
Randomize;
WriteLn('Матрица A:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        A[i,j]:=random(19)-9;
        Write(A[i,j]:2,' ')
        End;
    WriteLn
    End;
WriteLn('Матрица B:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        B[i,j]:=random(19)-9;
        Write(B[i,j]:2,' ');
        End;
    WriteLn
    End;
WriteLn('A+B:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Begin
        C[i,j]:=A[i,j]+B[i,j];
        Write(C[i,j]:3,' ');
        End;
    WriteLn
    End;
For i:= 1 to N do
    Begin
    Max:=i;
    For j:= i+1 to M do
        if C[1,j] > C[1,Max] then Max:=j;
    For j:= 1 to N do
        Begin
        t:=C[j,Max];
        C[j,Max]:=C[j,i];
        C[j,i]:=t
        End;
    End;
WriteLn('Матрица C:');
For i:= 1 to N do
    Begin
    For j:= 1 to M do
        Write(C[i,j]:3,' ');
    WriteLn
    End;
ReadLn
End.
0,0(0 оценок)
Ответ:
ni4ego
ni4ego
15.03.2020 18:54
восьмеричной системе счисления есть цифры: 0, 1, 2, 3, 4, 5, 6, 7.
Сложение цифр можно рассмотреть на двоичном представлении цифр. Так как 8 = 2^3, то двоичное представление восьмиричных чисел просто:
Код:

N8 0 1 2 3 4 5 6 7
N2 000 001 010 011 100 101 110 111

Ваш пример:
Сумма младших разрядов: 48+58=118
Старшая единица переходит в сумму средних цифр (перенос).
Сумма старших разрядов:
18 + 18 = 28
Т.е. При сложении средних чисел должно получиться:
X8 + X8 + 18= 118,
Cтаршая единица результата переходит в сумму старших цифр исходного числа: 18 + 18 + 18 = 38.
Т.о. делаем заключение, что сумма средних цифр должна дать в результате 108. Такой результат можно получить:
48 + 48 = 108.
ответ: Х = 48.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота