курси програмування для дітей безкоштовно

11. Системи числення у Python

Системи числення у Pythonі | Python для дітей | ITisFuture

Системи числення у Python

На цьому уроці ми зануримося у системи числення у Python. Ви навчитеся переводити у двійкову, вісімкову чи шістнядцяткову систему без будь-яких проблем. А ще ви дізнаєтеся купу цікавих і веселих фактів про все на світі, звісно, якщо зможете перевести числа з цих фактів у правильну систему числення.

Як перевести число з десяткової системи числення у двійкову, вісімкову чи шістнадцяткову у Python програмах

Ми з вами звикли до десяткової системи числення, але комп’ютери для своєї роботи використовують інші системи.

Двійкова система числення використовується для запису будь-яких даних у комп’ютері на низкому рівні. Комп’ютер дуже гарно розуміє два сигнали: вкл (ON) і викл (OFF), для їх позначення використовуються 1 та 0. Щоб зрозуміти, як комп працює з цими сиглналами, уявіть собі кабелі , які знаходяться в середині комп’ютера. До кожного з цих кабелів може бути підключена напруга вкл/ON/1 або ні викл/OFF/0. Щоб записати число чи букву у комп’ютер його перекодовують у двійковий код.

Мем про двійкову систему | Урок про системи числення у Python | Python для дітей | ITisFuture

Наприклад, число 19 у двійковій системі числення буде виглядати як 10011. А літера Q буде мати такий код 01010001.

Зараз всі комп’ютери використовують двійкову систему числення, хоча вже не один рік ходять чутки про перехід на трійкову чи навіть 4-кову систему, але за рівень чуток це не виходить. Всі ІТ-шники з пелюшок вчаться переводити числа з десякової у двійкову систему, щоб зрозуміти, як працюють комп’ютери.

Вісімкова система числення – не сильно розповсуджена, але використовується у Linux та Unix-подібних системах для позначення доступу до файлу. До неї входять такі числа : 0,1,2,3,4,5,6,7

Шістнадцяткова система числення – використовується для кодування кольорів та для кодів помилок у багатьох програмах. До неї входять такі числа : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Числа у двійковій bin, вісімковій oct, шістнадцятковій hex системах числення | Урок про системи числення у Python | Python для дітей | ITisFuture

Студентів-ітшників вчать переводити з систему в систему вручну, але для нас за все потурбується Python. Для переведення в інші системи числення використовуються такі функції:

bin(x) – перетворення цілого числа у двійковий рядок.

hex(х) – перетворення цілого числа в шістнадцятковий рядок.

oct(х) – перетворення цілого числа у вісімковий рядок.

print(bin(100))
print(oct(100))
print(hex(100))
Мем про перших програмістів | Урок про системи числення у Python | Python для дітей | ITisFuture

1: Нижче подані деякі факти. Переведіть числа з тексту в усі системи числення.

Комп’ютерну мишу вигадав Дуглас Енгельбарт у 1964 році.

Біт байт кілобайт мегабайт. Урок про системи числення у Python | Python для дітей | ITisFuture

1024 гігабайти дорівнюють 1 терабайту

Переводимо число з двійкової, вісімкової чи шістнадцяткової системи числення в десяткову.

int([object], [основа системи числення]) – функція для переводу цілого числа з однієї системи числення у іншу. За замовчанням система числення десяткова, але можна задати будь-яку основу від 2 до 36 включно.

2: Давайте переведемо число з цього факту в 10-кову систему. 

Середній рівень IQ у світі становить 0b1100100. 

print(int('0b1100100',2))

3: Почитайте факти з таблички. Оберіть по одному на кожну систему числення і переведіть подані числа в  в 10-кову систему.  

(Якщо число починається з 0b – це двійковій запис,
Якщо число починається з 0o– це вісімковий запис,
Якщо число починається з 0х – це 16-ковий запис)

0b11110000  кульок з гелієм треба, щоб підняти в повітря одного кота середніх розмірів

Блоха може стрибнути на висоту, яка перевищує її власний зріст у 0o202 разів. Якби блоха була людського зросту, то могла б стрибнути на 0o346 м.

Урок про системи числення | Python для дітей | ITisFuture

У середньому людина бачить понад 0x5b4 снів щороку. Більшість наших снів ми просто не запам’ятаємо, тому вважаємо, що нам нічого не сниться.

Щодня у світі 0o64570 дерев йде лише на виготовлення туалетного паперу.

Законодавство США допускало відправлення дітей поштою до 0o3571 року.

Пластик повністю розкладається у землі за 0x1c2 років, а скло – за 0xfa0 років.

В Антарктиді існує єдина річка – Онікс, вона тече лише 0o74 днів на рік.

Найдовший політ курки тривав 0b1101 секунд.

Щодня 0x3c людей стають мільйонерами.

Середня хмара важить близько 0b111110100 тонн, стільки ж важать 0b1010000 слонів.

Щоб зарядити один iPhone треба 0b1001010011 апельсинів

Найстаріше дерево у світі (секвоя) знаходиться в США, штат Каліфорнія. Його вік – 0x12eb роки.

4: Переведіть в двійкову систему всі перші 100 чисел. Виведіть їх на екран в форматі: 

Числа у двійковій системі  | уроки Python для дітей | ITisFuture

Коди символів

Код символу можна визначити за допомогою функції ord. 

Знайти символ за його кодом можна за допомогою chr

print (ord('c'))
print (chr(99))

Отримаємо:

99
c

5: Пригадайте літеру, яка в англійській і українській мові пишеться однаково (наприклад, а). Виведіть на екран коди таких символів:  

  • код для великої і маленької літери англійського алфавіту
  • код для великої і маленької літери українського алфавіту
  • код для якогось спецсимволу (наприклад @) 

6: Запишіть у змінну  myString слово або фразу (будь-якою мовою). Закодуйте кожну букву у фразі (виведіть код букви на екран.)

Підказка: 

for symbol in myString:
#symbol - буде містити одну літеру.

Додаткові завдання на урок: системи числення у Python

7: Запишіть в вісімковій системі всі числа від 111 до 222. 

8: Запишіть в 16-ковій системі всі парні числа від 6666 до 7777. 

9: У цих списках зашифровані назви тваринок. Розгадайте, які тваринки були зашифровані.

animal1=[1031 , 1078, 1072, 1095, 1086, 1082 ]

animal2=[1082, 1080, 1090]

animal3=[1040, 1082, 1091, 1083, 1072]

Підказка : Використай for i in animal1:

10: На  сайті https://htmlcolorcodes.com/color-picker/ оберіть 2 своїх улюблених кольори. Запишіть їх 16-ковий код у програму (поряд з ришіткою, наприклад для червоного це FF0000). Переведіь це число в 10-кову, 2-ву та 8-ву систему.

Жарт про двійкову систему | Урок про системи числення у Python | Python для дітей | ITisFuture

💻1️⃣0️⃣1️⃣💻
👩– А чого з Максимом посварилися ? 

🤦‍♀️– Я зла на нього. Казав, я тобі на день народження 101 троянду подарую.  Я вже очікувала величезний букет, а він подарував лише 5 троянд. На моє питання – а де 101 ? – відповідає, що у двійковому коді 101 то п’ять. Айтішник…

Уроки програмування для дітей. Домашня робота

Домашня робота

1: Переведи день, місяць і рік свого народження у всі системи числення і виведіть на екран в форматі:  

10-кова: Я народилася  9 числа   2  місяця  2010  року
2-кова:  Я народилася  0b1001 числа   0b10  місяця  0b11111011010  року
8-кова:  Я народилася  0o11 числа   0o2  місяця  0o3732  року
16-кова: Я народилася  0x9 числа   0x2  місяця  0x7da  року

2: Переведіть цифри у відповідні системи (текст додавати в програму не треба):
червоні цифри з 2-кової в 10-ву систему (не забудьта про префікс для двійкових чисел)
зелені з 8-кової  в 10-ву систему
сині  з 16-кової  в 10-ву систему

Двійковий вірш Було їй 1100 років,
Вона ходила на уроки
системи числення у Python | Python для дітей | ITisFuture

Було їй 1100 років,
Вона ходила на уроки
До 110-го аж класу,
Носила 1000 зошитів щоразу.
Крокуючи десятком ніг,
Вона ходила вздовж доріг.
Рук, вух, очей по 10 мала,
І все, що поруч, помічала.
Коли виходила гуляти,
За нею бігло цуценятко.
І цей її 100-ногий друг
Мав один хвіст і 10 вух.
Все дуже дивним тут здається,

Нехай же відповідь дадуть:
У чому ж тут суть?

День програміста святкується в 0b100000000 день року (0o15 вересня, у високосний рік на день раніше). Вибір числа 0o400 не випадковий – воно виходить від виведення двійки у восьму ступінь. Саме таку кількість чисел можна виразити за допомогою одного восьмирозрядного байта

Урок про системи числення у Python | Python для дітей | ITisFuture
Урок про системи числення у Python | Python для дітей | ITisFuture

Максимальний рекорд, зареєстрований в грі Pac-Man, становить 0x32dcf0 очок.

3: Розшифруйте назву кольору, про який ідеться в тексті і зашифруйте свій улюблений колір так само:

Шифр: 118, 105, 111, 108, 101, 116

До середини 19 століття ***** пігмент добували виключно з рідкісних молюсків, що мешкали на ліванському узбережжі. Переробивши 10 тис. молюсків, вдавалося отримати близько 70 г барвника. Як ви розумієте, це був дуже трудомісткий та дорогий процес.
Не дивно, що *** вважався королівським кольором, оскільки коштував більше за золото. Відповідно, витрачати такий цінний ресурс на прапори, які цілодобово висять просто неба і швидко починають вимагати заміни, нікому й на думку не спадало, тому цей колір майже відсутній на прапорах різних країн. Але… Не без винятків
Ми все-таки знайшли два винятки із «**** правила»: у крихітній кількості **** представлений на прапорах Домініки та Нікарагуа. 

Уроки програмування для дітей ускладнені завдання level up

Level Up!

1: Користувач має ввести число, для переводу в іншу систему числення (в 10-ковому вигляді) і систему числення. А програма має перевести це число у обрану систему числення

Приклад:

Введіть число для переводу: 1567
Введіть систему, в яку хочете перевести: 16
0x61f

2: Подивіться відео двійкову систему числення і дайте відповіді на питання нижче. (Відповіді можете написати у коментарі до програми. Можна писати відповіді українською або англійською).  

Підказка: внизу справа є кнопка ⚙️, яка дозволяє включити субтитри (є і українські). Також через неї можна виставити повільнішу швидкість відтворення.

Системи числення. Двійкова система
  • What represents the number 1 in binary? What about the number 0?
  • What is a bit?
  • In the decimal system, number positions are 1, 10, 100, 1000. What positions does a binary number have?
  • How many wires do we need to store numbers up to 4 billion?
  • How does a computer store images?

3:  Напишіть програму, яка кодує число виводячи замість кожної букви наступний символ за абеткою

Закодувати слово: Абетка

Ваш код: Бвжулб
  • Двійковий календар | Урок про системи числення у Python | Python для дітей | ITisFuture
  • Мем про двійкову bin систему числення | Урок про системи числення у Python | Python для дітей | ITisFuture
  • Типів людей всього 10 | Урок про системи числення у Python | Python для дітей | ITisFuture

Готові до наступних кроків ? Тисніть тут, щоб подивитися список уроків.

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *