You are on page 1of 11

Лабораторна робота 1

Функції ведення, виведення та математичні операції в Python


Мета роботи: Ознайомитись з середовищем розробки Python. Вивчити основні типи даних,
команди введення і виведення даних.
Рейтинг лабораторної роботи №1
№ п.п Вид діяльності Рейтинговий Deadline
студента бал
1 Написання коду 0,5 Вересень
2 Захист роботи 0,5
3 Звіт з роботи 0,5
4 Якість роботи 1
Разом за роботу 2,5

Теоретичний матеріал
Python- це мова об'єктно-орієнтована, мова, що інтерпретується, мова надвисокого рівня.
Програмування на Python дозволяє швидко і якісно отримувати необхідні програмні модулі.
В комплекті разом з інтерпретатором Python йде IDLE (інтегроване середовище розробки).
За своєю суттю воно подібне до інтерпретатора, запущеного в інтерактивному режимі з
розширеним набором можливостей (підсвічування синтаксису, перегляд об'єктів, налагодження
і т.п.).
Для запуску IDLE в Windows необхідно перейти в папку Python в меню "Пуск" і знайти
там ярлик з ім'ям "IDLE (Python 3.X XX-bit)".
Для запуску редактора програми (коду) слід виконати команду File-> New File або
поєднання клавіш Ctrl + N.
Будь-яка Python-програма складається з послідовності допустимих символів, записаних в
певному порядку і за певними правилами.
Програма включає в себе:
 коментарі;
 команди;
 знаки пунктуації;
 ідентифікатори;
 ключові слова.
Коментарі в Python позначаються символом #, що передує тексту коментаря, до кінця
рядка (тобто в Python всі коментарі є однорядковими), при цьому не допускається використання
перед символом # лапок:

Рис.1. Вікно файлу коду із записом коментаря


Знаки пунктуації
В алфавіт Python входить достатня кількість знаків пунктуації, які використовуються для
різних цілей. Наприклад, знаки "+" або "*" можуть використовуватися для додавання і множення,
а знак коми "," - для поділу параметрів функцій.
Ідентифікатори
Ідентифікатори в Python це імена використовуються для позначення змінної, функції,
класу, модуля або іншого об'єкта.
Ключові слова
Деякі слова мають в Python спеціальне призначення і являють собою керуючі конструкції мови.
Ключові слова в Python
False – хибність.
True - істина.
None - "порожній" об'єкт.
and - логічне І.
with / as - менеджер контексту.
assert умова - збуджує виключення, якщо умова помилкова.
break - вихід з циклу.
class - призначений для користувача тип, що складається з методів і атрибутів.
continue - перехід на наступну ітерацію циклу.
def - визначення функції.
del - видалення об'єкта.
elif - в іншому випадку, якщо.
else - см. for / else або if / else.
except - перехопити виняток.
finally – у купі з інструкцією try, виконує інструкції незалежно від того, чи було
виключення чи ні.
for - цикл for.
from - імпорт декількох функцій з модуля.
global - дозволяє зробити значення змінної, присвоєне їй всередині функції, доступним і
за межами цієї функції.
if - якщо.
import - імпорт модуля.
in - перевірка на входження.
is - чи посилаються 2 об'єкти на одне і те ж місце в пам'яті.
lambda - визначення анонімної функції.
nonlocal - дозволяє зробити значення змінної, присвоєне їй всередині функції, доступним
в осяжний інструкції.
not - логічне НЕ.
or - логічне АБО.
pass – конструкція, що нічого не робить.
raise - викинути виключення.
return - повернути результат.
try - виконати інструкції перехоплення виключення.
while - цикл while.
yield - визначення функції-генератора.
Типи даних
1. None (невизначене значення змінної)
2. Логічні змінні (Boolean Type)
3. Числа (Numeric Type)
 int - ціле число
 float - число з плаваючою точкою
 complex - комплексне число
4. Списки (Sequence Type)
 list - список
 tuple - кортеж
 range - діапазон
5. Рядки (Text Sequence Type)
 str

Введення і виведення даних


Введення даних здійснюється за допомогою команди input (список введення):
a = input ()
print (a)
У дужках функції можна вказати повідомлення - коментар до даних, що вводяться:
a = input ( "Введіть кількість елементів:")
Команда input () за замовчуванням сприймає вхідні дані як рядок символів. Тому, щоб
ввести цілочисельне значення, слід вказати тип даних int ():
a = int (input ())
Для введення дійсних чисел застосовується команда
a = float (input ())
Виведення даних здійснюється за допомогою команди print (список виведення):
a = 1
b = 2
print (a)
print (a + b)
print ( 'сума =', a + b)
Існує можливість запису команд в один рядок, розділяючи їх через крапку з комою. Однак
не слід часто використовувати такий спосіб, це знижує читабельність:
a = 1; b = 2; print (a)
print (a + b)
print ( 'сума =', a + b)
У команді print може здаватися сепаратор - роздільник між елементами виведення:
x = 2
y = 5
print (x, "+", y, "=", x + y, sep = "")
Результат відобразиться з пробілами між елементами: 2 + 5 = 7
Форматоване виведення
Для форматованого виведення використовується метод format() функції print():
Рядковий метод format() повертає отформатированную версію рядка, замінюючи
ідентифікатори у фігурних дужках {}. Ідентифікатори можуть бути позиційними, числовими
індексами, ключами словників, іменами змінних.
Синтаксис команди format:
поле заміни: = "{" [ім'я поля] [ "!" перетворення] [ ":" специфікація] "}"
ім'я поля: = arg_name ( "." ім'я атрибута | "[" індекс "]") *
перетворення: = "r" (внутрішнє уявлення) | "S" (людське уявлення)
специфікація: = см. нижче
Аргументів у format () може бути більше, ніж ідентифікаторів в рядку. В такому випадку
зайві ідентифікатори ігноруються.
Ідентифікатори можуть бути або індексами аргументів, або ключами:

Рис. 2. Код застосування формату виведення

Рис.3. Результат форматування виведення


В результаті виведеться число 11, а перед ним два пробіли, так як вказано чотири
знакомісця для виведення. Або з кількома аргументами:

Рис.4. Код форматування виведення цілих чисел

Рис.5. Результат форматування


В результаті кожне з значень виводиться з розрахунку 4 знакомісця.
Специфікація формата
Специфікація [[fill]align][sign][#][0][width][,][.precision][type]

Заповнювач символ кроме '{' или '}'


Вирівнювання "<" | ">" | "=" | "^"
Знак числа "+" | "-" | " "
Ширина integer
Точність integer
Тип "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"
Тип Значення
'd', 'i', 'u' Десяткове число
'o' Число в вісімковій системі числення.
'x' Число в шістнадцятковій системі числення (букви в нижньому регістрі).
'X' Число в шістнадцятковій системі числення (літери у верхньому регістрі).
'e' Число з плаваючою точкою з експонентою (експонента в нижньому регістрі).
'E' Число з плаваючою точкою з експонентою (експонента в верхньому регістрі).
'f', 'F' Число з плаваючою крапкою (звичайний формат).
'g' Число з плаваючою крапкою. з експонентою (експонента в нижньому регістрі), якщо вона
менше, ніж -4 або точності, інакше звичайний формат.
'G' Число з плаваючою крапкою. з експонентою (експонента в верхньому регістрі), якщо вона
менше, ніж -4 або точності, інакше звичайний формат.
'c' Символ (рядок з одного символу або число, що є кодом символу)
's' Рядок.
'%' Число множиться на 100, відображається число з плаваючою точкою, а за ним знак%.

Для форматування дійсних чисел з плаваючою точкою використовується наступна


команда:
print('{0:.2f}'.format(вещественное число))

Рис. 6. Застосування формату для дійсного числа


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

Рис. 7. Результат форматування виведення дійсного числа

Математичні функції та операції в Python


Цілі числа (int)
Числа в Python 3 підтримують набір звичайних математичних операцій:
x+y Додавання
x-y Віднімання
x*y Множення
x/y Ділення
x // y Отримати цілу частину від ділення
x%y Остача від ділення
-x Зміна знака числа
abs(x) Модуль числа
x ** y Піднесення у степінь
pow(x, y) x в степені y
.

Рис. 8. Приклад застосування простих операцій над цілими числами


Дійсні числа (float)
Дійсні числа підтримують ті самі операції, що і цілі. Однак (через представлення чисел в
комп'ютері) дійсні числа неточні, і це може привести до помилок.

Рис. 9. Приклад застосування простих операцій над дійсними числами


Бібліотека (модуль) math
У стандартну поставку Python входить бібліотека math, в якій міститься велика кількість
математичних функцій. Для роботи з даним модулем його попередньо потрібно імпортувати
командою import math.
Назва функції Опис
Функції в бібліотеці math
ceil(x) Повертає округлене x як найближче ціле значення типу int, яке дорівнює або
перевищує x (округлення "вгору").
fabs(x) Повертає абсолютне значення (модуль) числа x. В Python є вбудована функція abs,
але вона повертає модуль числа з тим же типом, що число, тут же завжди float abs
(fabs).
factorial(x) Повертає факторіал цілого числа x, якщо x не ціле виникає виключення ValueError.
floor(x) На противагу ceil (x) повертає округлене x як найближче ціле значення типу int,
менше або рівне x (округлення "вниз").
fsum(iterable) Повертає float суму від числових елементів об'єкта iterable.
isinf(x) Перевіряє, чи є float об'єкт x плюс або мінус нескінченністю, результат відповідно
True або False.
isnan(x) Перевіряє, чи є float об'єкт x об'єктом NaN (not a number).
modf(x) Повертає дробову і цілу частину float числа. Обидва результати зберігають знак
вихідного числа x і представлені типом float.
trunc(x) Повертає цілу частину числа x у вигляді int об'єкта.
Степеневі та логарифмічні функції
exp(x) Повертає e**x.
log(x[, base]) При передачі функції одного аргументу x, повертає натуральний логарифм x
(логарифм за основою e = 2.7182 ...). При передачі двох аргументів, другий береться
як основа логарифма.
log10(x) Повертає десятковий логарифм x.
pow(x, y) Повертає x в ступені y. На відміну від операції ** перетворює обидва аргументи в
тип float.
sqrt(x) Квадратний корінь (square root) з x.
Основа натуральних логарифмів e = 2.71828.
Тригонометричні функції
acos(x) Повертає арккосинус x, в радіанах.
asin(x) Повертає арксинус x, в радіанах.
atan(x) Повертає арктангенс x, в радіанах.
cos(x) Повертає косинус x, де x виражений в радіанах.
hypot(x, y) Повертає sqrt (x ** 2 + y ** 2). Зручно для обчислення гіпотенузи і довжини вектора.
sin(x) Повертає синус x, де x виражений в радіанах.
tan(x) Повертає тангенс x, де x виражений в радіанах.
pi Константа π = 3.1415 ...
Перетворення кутів
degrees(x) Конвертує значення кута x з радіан в градуси.
radians(x) Конвертує значення кута x з градусів в радіани.

Рис. 10. Приклад програми з використанням тригонометричних функцій модуля math

Рис.11. Результат виконання програми із застосуванням тригонометричних функцій модуля math


Приклад завдання 1
Напишіть програму, яка запитує у користувача дані згідно з варіантом 0:
Вариант 0
- возраст ("Сколько Вам лет?")
( "Ваши фамилия, имя, отчество?")
- место жительства ("Где вы живете?")
После этого выводила бы три строки:
"Ваше имя"
"Ваш возраст"
"Вы живете в"
Рішення

Рис. 12. Приклад фрагменту коду завдання 1

Рис.13. Результат виконання фрагменту завдання 1


Приклад завдання 2
У тому самому файлі програми напишіть код, який обчислює заданий арифметичний
вираз при заданих змінних.

Введення змінних здійснюється з клавіатури. Вивести результат з 2-ма знаками після


коми.

Рис. 14.Код програми прикладу розрахунку виразу

Рис. 15. Результат розрахунку значення виразу

Завдання для самостійної роботи (за варіантами)


Завдання складається з двох частин. Перша частина (Завдання 1) демонструє застосування
функцій введення та виведення з форматуванням даних, що виводяться. Друга частина
(Завдання 2) вимагає розрахунку виразу із застосуванням математичних функцій з модуля math.
Завдання 1. Напишіть програму, яка запитувала б у користувача:
Варіант 1
Ім'я, Прізвище, Вік, де проживає
- прізвище, ім'я ( "Ваші прізвище, ім'я?")
- вік ( "Скільки Вам років?")
- місце проживання ( "Де ви живете?")
Після цього виводила б три рядки:
"Ваші прізвище, ім'я є:"
"Ваш вік"
"Ви живете в"
Варіант 2
Ім'я, Дата народження, Освіта
- ім'я ( "Ваше, ім'я?")
- дата народження ( "Ваша дата народження?")
- освіту ( "Де Ви вчитеся?")
Після цього виводила б три рядки:
"Ваше ім'я"
"Дата народження"
"Ви вчитеся в"
Варіант 3
Прізвище, де проживає
- Прізвище ( "Ваше прізвище?")
- місце проживання ( "Де Ви живете?")
Після цього виводила б два рядки:
"Ваше прізвище"
"Ви живете в"
Варіант 4
Прізвище, Місце народження, улюблена музика
- Прізвище, ( "Ваше прізвище?")
- місце народження ( "Де Ви народилися?")
- музика ( "Яка музика подобається?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ви народилися в"
"Ваша улюблена музика"
Варіант 5
Ім'я, Прізвище, ПІБ мами, ПІБ батька
- ПІБ (наприклад, "Ваші прізвище, ім'я, по батькові?")
- вік ( "Скільки Вам років?")
- місце проживання ( "Де Ви живете?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище, по батькові"
"Ваш вік"
"Ви живете в"
Варіант 6
Ім'я, Улюблений предмет в школі, Номер класу
- ім'я ( "Ваше ім'я?")
- улюблений предмет ( "Який Ваш улюблений предмет в школі?")
- номер класу ( "В якому класі Ви навчаєтесь?")
Після цього виводила б три рядки:
"Ваше ім'я"
"Ваш улюблений предмет в школі"
"Ви вчитеся в класі номер"
Варіант 7
Ім'я, Прізвище, По батькові, місце народження
- ПІБ (наприклад, "Ваші прізвище, ім'я, по батькові?")
- місце народження ( "Де ви народилися?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище, по батькові"
В окремому рядку
"Місце народження:"
Варіант 8
Ім'я, Прізвище, По батькові, Хобі
- ПІБ (наприклад, "Ваші прізвище, ім'я, по батькові?")
- хобі ( "Чим Ви захоплюєтеся?")
Після цього виводила б два рядки:
"Ваші ім'я, прізвище, по батькові"
"Ваше хобі"
Варіант 9
Ім'я, Прізвище, улюблений спорт
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- освіту ( "В якій школі Ви вчитеся?")
- ПІБ Вашого керівника по інформатики ( "ПІБ Вашого керівника по інформатики?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ви вчитеся в школі номер:"
"ПІБ Вашого керівника з інформатики"
Варіант 10
Ім'я, Прізвище, Улюблений предмет в школі (в інституті), ПІБ класного керівника (куратора)
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- улюблений предмет в школі ( "Який Ваш улюблений предмет в школі?")
- ПІБ класного керівника ( "ПІБ Вашого класного керівника?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ваш улюблений предмет в школі"
"ПІБ Вашого класного керівника"
Варіант 11
Ім'я, Прізвище, Вік, Дата народження
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- вік ( "Скільки Вам років?")
- дата народження ( "Коли Ви народилися?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ваш вік"
"Дата Вашого народження"
Варіант 12
Ім'я, Прізвище, де проживає, Родовища
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- місце народження ( "Де Ви народилися?")
- місце проживання ( "Де Ви живете?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ви народилися в"
"Ви живете в"
Варіант 13
Ім'я, Прізвище, Вік, Номер телефону
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- вік ( "Скільки тобі років?")
- номер телефону ( "Номер Вашого телефону?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ваш вік"
"Ваш номер телефону"
Варіант 14
Ім'я, Прізвище, Країна, Край, Місто
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- країна ( "В якій країні Ви живете?")
- місто ( "У якому місті Ви живете?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"Ви живете в країні"
"Ви живете в краї"
"Ви живете в місті"
Варіант 15
Ім'я, Прізвище, ПІБ Вашого класного керівника
- Прізвище, ім'я ( "Ваші прізвище, ім'я?")
- ПІБ Вашого класного керівника ( "ПІБ Вашого класного керівника?")
Після цього виводила б три рядки:
"Ваші ім'я, прізвище"
"ПІБ Вашого керівника з інформатики"
"ПІБ Вашого класного керівника"
Завдання 2: Обчислити значення заданого виразу відповідно до варіантів при
заданих користувачем з клавіатури значеннях параметрів A, B, C, D.
Студент може ускладнити формулу для розрахунку і отримати додаткові бали за якість роботи

1 X=(2A - B2)/(D(SinC - 4.5)) 15. X=((1 - A)CeA)/((1-B)CosD)


2 X=(2.3 + AB2)/(0.4 + CeD) 16. X=(ACosA(1 + B3))/(C(1 - D2))
3. X=(-2.25(A + 2BC))/(B - D1/2) 17. X=A/(1 + B/(C + Ln(D + A)))
4. X=2ASin(B/2) + DC1/2 18. X=(CosA + SinB)/(LnC + LnD)1/2
5. X=(A - |B/C|)/(2.75Sin2D) 19. X=(ACos2B + 1)1/2LnC/D
6 X=(|A - B|2C2)/(1 - tgD2) 20. X=Arctg(4A/(B2C) - 1)1/2
7. X=e((SinA + SinB)/(C + D)) 21. X=A2 + |SinB/(C - D)1/2|
8. X=(1 - A)/(1 + A)+|(B - 2D)/C2| 22. X=(|A| + |B|)2/(D - C1/2)
9. X=(A2-B2)(C-D)/(e(A2 - B2))1/2 23. X=(A1/2 + B2)eC+D/(|A| - |B|)
10. X=(1-B)/(1+B)+ |(C-2A)/C2| 24. X=1/2Ln((1+SinA)/(1- SinB)2)
11. X=Sin3ACos2B/(eC + 1 + SinD) 25. X=Sin3CCos2A/(eA + 1 + SinB)
12. X=|1-B||1-A|/((1+SinC)(1+CosC))1/2 26. X=(1/(A2-B2)1/2)+(3C3/(C2-D2)1/2)
13. X=(ASinB+BCosA)/(1-SinC*|B+D|) 27. X=(eACos(B/2+D/C))/(DC+SinC)
14. X=A2/|1-B|+B2/|1-D|+C2/LnA 28. X=(A-4B)2/(1+(1+SinC)(1+CosC))

Список літератури
1. https://github.com/tkovalyuk/Basics-of-programming
2. МакГрат М. Программирование на Python для начинающих. –Москва: Эксмо. – 192 с.
3. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2011. –
1280 с.
4. Лутц М. Программирование на Python, том I, 2. – Пер. с англ. – СПб.: Символ-Плюс,
2011. – 992 с.
5. Васильев А. Н. Python на примерах. Практический курс ·по программированию. -
СПб.:Наука и Техника, 2016. - 432 с.
6. Доусон М. Программируем на Python. - СПб.: Питер, 2014. - 416 с.
7. Рейтц К., Шлюссер Т. Автостопом по Python. — СПб.: Питер, 2017. — 336 с.

You might also like