Системы счисления
Определение
Виды СС
Алгоритмы перевода
Алгоритмы перевода
Алгоритмы перевода
Алгоритмы перевода
Алгоритмы перевода
Встроенные функции для перевода
Задача 1
Задача 1
Задача 2
Задача 3
Задача 4
Задача 5
Задача 6
Задача 7
Задача 8
Задача 9
Задача 10
Задача 11
Ответы
Задача 1
Задача 1
Задача 2
Задача 3
Задача 4
Задача 5
Задача 6
Задача 7
Задача 8
Задача 9
Задача 10
Задача 11
Ответы
217.09K
Категория: ИнформатикаИнформатика

Занятие 2.3

1. Системы счисления

2. Определение

• Система счисления — способ записи чисел с помощью
цифр.
• Позиционный принцип
• Значение цифры зависит от её позиции в числе:
• Число 1234 в десятичной системе:
1
2
3
4




1×10³ 2×10² 3×10¹ 4×10⁰
1000 + 200 + 30 + 4 = 1234
• Формула: число = Σ(цифра × основание^позиция)

3. Виды СС

• Двоичная – 0, 1 - Компьютеры, логика
• Восьмеричная - 0-7 - Unix права доступа
• Десятичная - 0-9
• Шестнадцатеричная - 0-9, A-F - Цвета,
адреса памяти

4. Алгоритмы перевода

• Из десятичной → в другую (деление)
• 42 в двоичную:
• 42 ÷ 2 = 21, остаток 0
• 21 ÷ 2 = 10, остаток 1
• 10 ÷ 2 = 5, остаток 0
• 5 ÷ 2 = 2, остаток 1
• 2 ÷ 2 = 1, остаток 0
• 1 ÷ 2 = 0, остаток 1
• Ответ: 101010

5. Алгоритмы перевода

• Из десятичной → в другую (деление)
• num = 42
• base = 2
• result = ""
• while num > 0:
result = str(num%base) + result
num //= base
• print(result) #101010

6. Алгоритмы перевода

• Из другой → в десятичную (умножение)
• 101010 (двоичное) в десятичную:
• 1×2⁵ + 0×2⁴ + 1×2³ + 0×2² + 1×2¹ + 0×2⁰
• 32 + 0 + 8 + 0 + 2 + 0 = 42

7. Алгоритмы перевода

• Из другой → в десятичную (умножение)
• base = 2
• num = "101010"
• result = 0
• for i in range(len(num)):
result = result + int(num[len(num)-1 - i]) *
base**i
• print(result)

8. Алгоритмы перевода

• Из двоичной в восьмеричную и
шестнадцатеричную
• Группируем на тройки (8) и на четверки
(16).
• 1111 0000 1010
• ↓


• 15
0
9
• F
0
9

9. Встроенные функции для перевода

• n = 255
• print(bin(n)) # '0b11111111'
• print(oct(n)) # '0o377'
• print(hex(n)) # '0xff’
• print(int('11111111', 2)) # 255
• print(int('377', 8))
# 255
• print(int('ff', 16))
# 255

10. Задача 1

• Значение арифметического выражения 498 + 717 – 7
• записали в системе счисления с основанием 7.
Сколько цифр 6 содержится в этой записи?

11. Задача 1

• num = 49**8+7**17-7
• base = 7
• count6 = 0
• while num > 0:
number = num%base
if number == 6:
count6+=1
num //= base
• print(count6) # 15

12. Задача 2

• Значение арифметического выражения:
32**31 + 8**60 – 32 записали в системе
счисления с основанием 4. Сколько цифр «3»
в этой записи?

13. Задача 3

• Значение арифметического
выражения: 2518 × 510 –– 56 –– 25
• записали в системе счисления с основанием
5. Сколько цифр 4 содержится в этой записи?

14. Задача 4

Значение арифметического выражения
343515 – 6 ∙ 49520 + 5 ∙ 49510 – 3 ∙ 7530 – 550
записали в системе счисления с основанием 7.
Определите количество цифр 6 в записи этого числа.

15. Задача 5

Значение арифметического выражения
3 * 2569 –– 6410 + 2 * 1611 –– 17
записали в системе счисления с основанием 4.
Сколько цифр 3 содержится в этой записи?

16. Задача 6

• Значение арифметического выражения: 728 + 4924
− 72 – записали в системе счисления с
основанием 7. Сколько цифр 6 содержится
в этой записи?

17. Задача 7

• Значение арифметического выражения: 125 + 253
+ 59 – записали в системе счисления с основанием 5.
Сколько значащих нулей содержит эта запись?

18. Задача 8

• Значение арифметического выражения: 5 ⋅ 367 + 610
− 36 записали в системе счисления с основанием 6.
Сколько цифр 5 содержится в этой записи?

19. Задача 9

• Сколько единиц в двоичной записи числа 81023
+ 21024 − 3?

20. Задача 10

• Сколько единиц содержится в двоичной
записи значения выражения: 42015 + 22016
− 5?

21. Задача 11

Значение арифметического выражения
6 ∙ 512395 + 7 ∙ 64396 + 3 ∙ 8398 + 5 ∙ 8393 + 300
записали в системе счисления с основанием
64. Сколько значащих нулей содержится в этой
записи?

22. Ответы


1) 15
2) 74
3) 43
4) 1519
5) 27
6) 26
7) 7
8) 9
9) 1024
10) 2016
11) 587

23. Задача 1


На вход алгоритма подаётся натуральное число N.
Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу: а) если число N
делится на 3, то к этой записи дописываются три последние двоичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 3,
переводится в двоичную запись и дописывается в конец числа.
Полученная таким образом запись является двоичной записью искомого числа
R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 12 = 11002 результатом является число
11001002 = 100, а для исходного числа 4 = 1002 это число 100112 = 19.
Укажите максимальное число R, не превышающее 162, которое может быть
получено с помощью описанного алгоритма. В ответе запишите это число в
десятичной системе счисления.

24. Задача 1


result = []
for n in range(1,1000):
b = bin(n)[2:]
if n%3==0:
b += b[-3:]
else:
o = bin(n%3*3)[2:]
b += o
r = int(b,2)
if r <= 162:
result.append(r)
print(max(result)) # 151

25. Задача 2


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число чѐтное, то к двоичной записи числа слева дописывается 10;
б) если число нечѐтное, то к двоичной записи числа слева дописывается 1 и
справа дописывается 01.
Полученная таким образом запись является двоичной записью искомого числа
R. Например, для исходного числа 410 = 1002 результатом будет являться
число 2010 = 101002, а для исходного числа 510 = 1012 результатом будет
являться число 5310 = 1101012.
Укажите минимальное число N, после обработки которого с помощью этого
алгоритма получается число R, большее, чем 441. В ответе запишите это число
в десятичной системе счисления.

26. Задача 3


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещѐ два разряда по следующему
правилу:
если N чѐтное, в конец числа (справа) дописываются два нуля,
в противном случае справа дописываются две единицы.
Например, двоичная запись 1001 числа 9 будет преобразована в 100111.
Полученная таким образом запись (в ней на два разряда больше, чем в записи
исходного числа N) является двоичной записью числа – результата работы
данного алгоритма.
Укажите максимальное число N, для которого результат работы алгоритма
будет меньше 134. В ответе это число запишите в десятичной системе
счисления

27. Задача 4


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещѐ два разряда по следующему
правилу:
а) складываются все цифры двоичной записи числа N, и остаток от деления
суммы на 2 дописывается в конец числа (справа). Например, запись 11100
преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается
остаток от деления суммы еѐ цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи
исходного числа N) является двоичной записью искомого числа R.
Укажите такое наименьшее число N, для которого результат работы данного
алгоритма больше числа 77. В ответе это число запишите в десятичной
системе счисления.

28. Задача 5


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число R следующим образом.
1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещѐ несколько разрядов по следующему
правилу:
а) если N чѐтное, то к нему справа приписываются два нуля, а слева единица;
б) если N нечѐтное, то к нему справа приписывается в двоичном виде сумма
цифр его двоичной записи;
Полученная таким образом запись (в ней как минимум на один разряд больше,
чем в записи исходного числа N) является двоичной записью искомого числа R.
Например, исходное число 410 = 1002 преобразуется в число 1100002 = 4810, а
исходное число 1310 = 11012 преобразуется в число 1101112 = 5510.
Укажите такое наименьшее число N, для которого число R больше числа 190. В
ответе запишите это число в десятичной системе счисления.

29. Задача 6


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещѐ два разряда по следующему
правилу:
если N нечѐтное, в конец числа (справа) дописывается сначала ноль, а затем
единица.
В противном случае, если N чѐтное, справа дописывается сначала единица, а
затем ноль.
Например, двоичная запись 1001 числа 9 будет преобразована в 100101, а
двоичная запись 1100 числа 12 будет преобразована в 110010. Полученная
таким образом запись (в ней на два разряда больше, чем в записи исходного
числа N) является двоичной записью числа R –– результата работы данного
алгоритма.
Укажите минимальное число R, которое больше 84 и может являться
результатом работы данного алгоритма. В ответе это число запишите в
десятичной системе счисления.

30. Задача 7


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещѐ два разряда по следующему
правилу:
если N чѐтное, в конец числа (справа) дописываются два нуля, в противном
случае справа дописываются две единицы.
Например, двоичная запись 1001 числа 9 будет преобразована в 100111.
Полученная таким образом запись (в ней на два разряда больше, чем в записи
исходного числа N) является двоичной записью числа – результата работы
данного алгоритма.
Укажите максимальное число N, для которого результат работы алгоритма
будет меньше 131. В ответе это число запишите в десятичной системе
счисления.

31. Задача 8


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещѐ два разряда по следующему
правилу:
а) складываются все цифры двоичной записи числа N, и остаток от деления
суммы на 2 дописывается в конец числа (справа). Например, запись 11100
преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается
остаток от деления суммы еѐ цифр на 2.
Полученная таким образом запись (в ней на два разряда больше, чем в записи
исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, которое превышает число 127 и может являться
результатом работы данного алгоритма. В ответе это число запишите в
десятичной системе счисления.

32. Задача 9


На вход алгоритма подаѐтся натуральное число N. Алгоритм строит по нему
новое число R следующим образом.
1. Строится троичная запись числа N.
2. Далее эта запись обрабатывается по следующему правилу:
а) если число N делится на 3, то к этой записи дописываются две последние
троичные цифры;
б) если число N на 3 не делится, то остаток от деления умножается на 5,
переводится в троичную запись и дописывается в конец числа. Полученная
таким образом запись является троичной записью искомого числа R.
3. Результат переводится в десятичную систему и выводится на экран.
Например, для исходного числа 11 = 1023 результатом является число 1021013
= 307, а для исходного числа 12 = 1103 это число 110103 = 111.
Укажите максимальное число N, после обработки которого с помощью этого
алгоритма получается число R, меньшее 159.

33. Задача 10


Автомат получает на вход трѐхзначное число. По этому числу строится новое
число по следующим правилам.
1. Перемножаются первая и вторая, а также вторая и третья цифры исходного
числа.
2. Полученные два числа записываются друг за другом в порядке неубывания
(без разделителей).
Пример. Исходное число: 631. Произведения: 6 × 3 = 18; 3 × 1 = 3.
Результат: 318.
Укажите наибольшее число, при обработке которого автомат выдаст число 621.

34. Задача 11

• Автомат получает на вход трёхзначное число. По этому числу
строится новое число по следующим правилам.
1. Перемножаются все цифры исходного числа.
• 2. Суммируются все цифры исходного числа.
• 3. Полученные два числа записываются друг за другом в
порядке невозрастания (без разделителей).
• Пример. Исходное число: 621. Произведение цифр: 6 × 2 × 1 =
12; сумма цифр: 6 + 2 + 1 = 9. Результат: 129.
• Укажите наибольшее число, при обработке которого автомат
выдаст число 24019.

35. Ответы


1) 151
2) 47
3) 32
4) 19
5) 16
6) 85
7) 32
8) 130
9)16
10) 732
11) 865
English     Русский Правила