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

Разработай программу на языке python по блок-схемам, пред ставленным на рисунках 2 и 3. вычисли результат, подставив заданные значения переменных а, е в блок-схему, по блок-схеме (рис, 2).
по блок-схеме 3). a) - 1, = 2, = 5. б) 2, = 3 a) 5, 2, = 6, = 0) a 1, - 1, = 2,

Показать ответ
Ответ:
MAK222222
MAK222222
30.05.2022 21:05
1. Первая цифра отводится на знак (1 - это -, 0 - это +). Остальные 7 - число в двоичной системе счисления. Причём если число отрицательное, то исходное двоичное число инвертируется, и к нему прибавляется 1.
а) 33 | 16 | 8 | 4 | 2 | 1 - в двоичной системе оно выглядит как 100001
      1 |  0  | 0 | 0 | 0 | 1
Так как оно положительное, то в начале ставится 0. Так как чисел всего 6, а не 7, то после первого нуля следует поставить ещё один.
ответ: 0'0100001
б) -63₁₀ = -111111₂ (переводить уже не буду подробно)
Так как число отрицательное, то в начале ставим 1, так как цифр 6, то ставим после 1 0.
1'0111111
Инвертируем:
1'1000000
Прибавляем 1:
1'1000001
ответ: 1'1000001
в) -254₁₀ = -11111110
Так как цифр 8, то последнюю отбрасываем, а далее по алгоритму:
1'1111111 >> 1'0000000 >> 1'0000001
ответ: 1'0000001

2.' ' '                   . . . . .
а) 11110  б)  10101010
   + 1101     -       11011
=101011     =10001111
в)   1101
     *  101
      1101
+1101
=1000001
Всё, как в обычной арифметике.
0,0(0 оценок)
Ответ:
shulbert
shulbert
28.11.2020 17:10
Var
A:array[1..1000] of integer;
B:array[1..3] of integer;
i,N:integer;
Begin
Write('N = ');ReadLn(N);
For i:= 1 to N do
    Begin
    Read(A[i]);
    if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i];
    if A[i] mod 2 = 0 then B[2]:=B[2]+A[i];
    End;
WriteLn;
For i:= 1 to N do
    Write(A[i],' ');
B[3]:=B[1]+B[2];
WriteLn('B[1] = ',B[1]);
WriteLn('B[2] = ',B[2]);
WriteLn('B[3] = ',B[3]);
End.

или так:

Var
A:array of integer;
B:array[1..3] of integer;
i,N:integer;
Begin
Write('N = ');ReadLn(N);
A:=new integer[N];
For i:= 0 to N-1 do
    Begin
    Read(A[i]);
    if A[i] mod 2 <> 0 then B[1]:=B[1]+A[i];
    if A[i] mod 2 = 0 then B[2]:=B[2]+A[i];
    End;
WriteLn;
For i:= 0 to N-1 do
    Write(A[i],' ');
B[3]:=B[1]+B[2];
WriteLn('B[1] = ',B[1]);
WriteLn('B[2] = ',B[2]);
WriteLn('B[3] = ',B[3]);
End.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота