автомобіль може проїхати n кілометрів а день.Скільки днів пройде для проїзду маршруту довжиною m кілометрів ? Програма отримує два ціцлих додотних числа :n і m(python)
1) Один байт = 8 бит, максимальное число 2^8 - 1 = 255, если числа без знака. Для знаковых чисел старший бит отводится под знак числа, следовательно, минимальное число = - 2^7 - 1 = - 127, максимальное число = + 127 2) Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит, в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное = 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита 0000 0110 0100 0111 и записываем в шестнадцатиричном виде 0111(2) = 7(16) 0100(2) = 4(16) 0110(2) =6(16) 0000(2) = 0(16) 1607(16) = 0647(16) или без старшего не значащего нуля = 647(16) 3) для получения дополнительного кода числа, находят обратное число, или инверсию числа, для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1 105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом числа (- а) будет число а. Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2), а) находим обратное 01101001(2) ->(обратное) ->10010110(2) б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105 потому, что отрицательные числа представляются в дополнительном коде. Если для числа - 105 найти дополнительный код, то получим число 105 10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
= - 127, максимальное число = + 127
2) Число 1607, ячейка двухбайтовая, один бит под знак, следовательно, под число отводится 15 бит, в двоичном представлении 1607(10) = 11001000111(2), дополняем до 16 бит, старший бит - знаковый - нулевой, так как число положительное
= 0000011001000111(2) - это двоичное представление в двухбайтовой ячейке, чтобы получить шестнадцатиричное представление, разбиваем число справа - налево по 4 бита
0000 0110 0100 0111 и записываем в шестнадцатиричном виде
0111(2) = 7(16) 0100(2) = 4(16) 0110(2) =6(16) 0000(2) = 0(16)
1607(16) = 0647(16) или без старшего не значащего нуля = 647(16)
3) для получения дополнительного кода числа, находят обратное число, или инверсию числа,
для этого каждый бит числа изменяют на противоположный, 1 на 0, 0 на 1
105(10) = 1101001(2) - это и есть дополнительный код числа - 105, т.е. дополнительным кодом
числа (- а) будет число а.
Найдем дополнительный код в однобайтовой ячейке числа 105(10) = 01101001(2),
а) находим обратное 01101001(2) ->(обратное) ->10010110(2)
б) дополнительный код-> обратный код + 1 ->(дополнительный)->10010111(2), а это число - 105
потому, что отрицательные числа представляются в дополнительном коде.
Если для числа - 105 найти дополнительный код, то получим число 105
10010111(2)->(дополнительный)->01101000+1->01101001 = 69(16) = 16*6+9 = 96+9 = 105
1. Расчертить все поле горизонтальными пунктирными линиями.
НАЧ
ПОКА впереди НЕ стена
НЦ
ДЕЛАЙ линия
ДЕЛАЙ правый переход
ДЕЛАЙ линия
ДЕЛАЙ левый переход
КЦ
КОН
ПРОЦЕДУРА линия
ПОКА впереди НЕ стена
НЦ
ШАГ
ЕСЛИ впереди НЕ стена
ТО
ПРЫЖОК
ВСЁ
КЦ
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА правый переход
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ЕСЛИ впереди НЕ стена
ТО
ПРЫЖОК
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ВСЁ
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА левый переход
ПОВОРОТ
ЕСЛИ впереди НЕ стена
ТО
ПРЫЖОК
ПОВОРОТ
ВСЁ
КОНЕЦ ПРОЦЕДУРЫ
2) Нарисовать квадраты во всех углах поля.
НАЧ
ДЕЛАЙ квадрат
ДЕЛАЙ переход
ДЕЛАЙ квадрат
ДЕЛАЙ переход
ДЕЛАЙ квадрат
ДЕЛАЙ переход
ДЕЛАЙ квадрат
КОН
ПРОЦЕДУРА квадрат
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
ШАГ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
КОНЕЦ ПРОЦЕДУРЫ
ПРОЦЕДУРА переход
ПОКА впереди НЕ стена
НЦ
ПРЫЖОК
КЦ
ПОВОРОТ
ПОВОРОТ
ПОВОРОТ
КОНЕЦ ПРОЦЕДУРЫ