1 of 27

Типи даних у програмуванні. Числові типи

Нова українська школа

Урок 39

Інформатика 7

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.

2 of 27

Цілі та дійсні числа

Цілі числа належать до класу int, можуть бути як завгодно великими та обмежуються лише доступною пам’яттю.

Тип величини можна визначити за допомогою функції type()

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

3 of 27

Цілі та дійсні числа

Дійсні числа, або числа з рухомою точкою, належать до типу float. Дробове число (величина типу float) може мати до 18 значущих цифр. Існують числа, що містять велику кількість розрядів.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

4 of 27

Цілі та дійсні числа

Знайдемо частку від ділення числа 18 на 3.

Хоча 18 кратне 3, результат ділення належить до типу float.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

5 of 27

Цілі та дійсні числа

Якщо числа цілого або дійсного типу досить великі або занадто малі, то результат виконання операції подається в експоненціальній формі: замість числа 10 вказується:

велика літера

Е

мала літера

е

або

а потім — степінь числа 10. Знак множення не вказують, а замість коми — крапка. Наприклад

1.496Е11

1.496е11

або

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

6 of 27

Цілі та дійсні числа

Число після експоненти вказує степінь числа 10, на яке треба помножити основне число 3.9:

Під час розроблення програми може виникнути потреба в перетворенні значення одного типу даних на значення іншого типу.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

7 of 27

Перетворення типу даних

Функція input() повертає значення рядкового типу (str), а для виконання над введеними даними математичних операцій вони повинні мати числовий тип. У цьому та інших подібних випадках виникає необхідність змінити тип даних.

Для подальшого опрацювання числа при введенні даних потрібно перетворити рядкове значення на числове, а при виведенні може знадобитися перетворення числа на рядок. Ці операції називаються перетворенням типів.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

8 of 27

Перетворення типу даних

Для перетворення типів призначені такі функції:

створює рядок із числа

str()

створює дробове число з рядка або цілого числа

float()

створює ціле число з рядка або дробового числа

int()

Зверніть увагу: дробове число при цьому не округлюється, а лише відкидається дробова частина.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

9 of 27

Перетворення типу даних

Проаналізуймо приклади застосування функцій перетворення типів для різних аргументів, наведені в таблиці:

Вираз

int('25')

int(4.9)

int('4abc56')

str(25)

float(25)

Результат виконання

25

4

П о м и л к а

'25'

25.0

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

10 of 27

Перетворення типу даних

Складемо програму для розв’язування задачі.

Задача. Скільки контейнерів можна розмістити на вантажній платформі розмірами а × b м, якщо сторона квадратної основи контейнера х м?

Сторони контейнерів паралельні краям платформи.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

11 of 27

Перетворення типу даних

Поміркуємо, скільки контейнерів можна по ставити вздовж сторін платформи:

 

Але число контейнерів має бути цілим, тобто

K1 = [a : х], K2 = [b : х]

(квадратні дужки позначають знаходження цілої частини числа).

Тоді загальну кількість знайдемо як добуток:

k1 і k2

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

12 of 27

Перетворення типу даних

Математична модель

Програма

 

a = float(input('a = ?'))

b = float(input('b = ?'))

x = float(input('x = ?'))

k = int(a/x)*int(b/x)

print(k)

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

13 of 27

Перетворення типу даних

Якщо ми запустимо програму на виконання і введемо значення:

то буде виведено значення 15.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

14 of 27

Перетворення типу даних

Розглянемо лінійні записи арифметичних виразів:

Арифметичний вираз

Лінійний запис виразу

 

(2*x-5)/(3+x)+7*x

 

abs((x-1)/(2*x))

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

15 of 27

Перетворення типу даних

Згадаймо математичні оператори Python, розгляньмо таблицю:

Операція

Символ

оператора

Приклад

Результат

Додавання

+

a = 15+3

a = 18

Віднімання

-

b = 15-3

b = 12

Множення

*

c = 8*2

c = 16

Ділення

/

d = 7/2

d = 3.5

Обчислення неповної частки від ділення

//

e = 7//2

e = 3

Обчислення остачі

%

f = 7%2

f = 1

Піднесення до степеня

**

j = 7**2

j = 49

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

16 of 27

Перетворення типу даних

Арифметичні вирази записують у вигляді лінійного ланцюжка, а порядок дій, зокрема для дробів, визначають дужками.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

17 of 27

Перетворення типу даних

Присвоїмо

змінній а значення виразу:

 

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

18 of 27

Стандартні математичні функції

У мові Python для розв’язування різних задач існують вбудовані (стандартні) функції. Їх можна використовувати без підключення модулів. Деякі з них описано в таблиці:

Функція

Що повертає

Приклад

Результат

abs(x)

|x| — модуль x

у = abs(-2.5)

у = 2.5

divmod(a, b)

Неповну частку і остачу від ділення а на b

с, d = divmod(7, 3)

с = 2

d = 1

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

19 of 27

Стандартні математичні функції

round(num[,n])

Число num, округлене до n знаків після коми; якщо аргументу n немає, повертає найближче ціле

х = 1.5278

у = round(x)

z = round(x, 2)

y = 2

z = 1.53

eval(s)

Значення арифметичного виразу, запис якого зберігається в рядку s

а = eval("(3+21)/3+4")

а = 12.0

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

20 of 27

Випадкові числа

Ви вже застосовували випадкові числа для створення ігрових або тестових програм.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

21 of 27

Випадкові числа

from random import*

Згадаймо: щоб використовувати функції для отримання випадкових чисел, слід завантажити модуль random:

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

22 of 27

Випадкові числа

Щоб отримати випадкове число, необхідно викликати одну з функцій:

number1 = 10+random()*50 # Значення від 10.0 до 60.0

print(number1)

# Може бути виведено 52.493371860628294

ціле з діапазону від х1 до х2 (х1х2)

randint(x1, х2)

дробове з проміжку від 0.0 до 1.0

random()

Дробові числа з інших діапазонів отримують за допомогою математичних операцій:

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

23 of 27

Питання для самоперевірки

  1. Обчисліть значення, яке повертає функція:
  2. abs(-6.9); б) divmod(16, 2); в) int(6.9); г) round(6.9).

Результат перевірте в консолі Python.

  1. Як отримати випадкове дробове число в діапазоні від 0 до 100?
  1. Обчисліть значення виразів:

а) 123//100; б) 123%10; в) 123//10%10.

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

24 of 27

Розгадайте ребус

«Ребуси українською» © rebus1.com

Перетворення

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

25 of 27

Домашнє завдання

Проаналізувати

с. 179-184

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

26 of 27

Працюємо за комп’ютером

Сторінка

184

© Вивчаємо інформатику teach-inf.com.ua

Розділ 5

§ 30

27 of 27

Дякую за увагу!

Нова українська школа

Урок 39

Інформатика 7

teach-inf.com.ua

за підручником

Бондаренко О.О. та ін.