You are on page 1of 46

Середовище програмування Pycharm.

Змінні, логічний тип даних, числа та


операції з ними

Strilchuk Galyna
Програмування

● Алгоритми і логічні послідовності


● Синтаксис
● Бібліотеки

2
Програмування

3
Що вміє робити комп'ютер?

Основні вміння:

● виконує обчислення
мільярд обчислень за секунду!
● запам'ятовує результати
100-ні гігабайт пам’яті!

Які види розрахунків?

● машинна мова
● те, що визначено програмістом
4
Програмування

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


орієнтовані на конкретні команди процесора

● Асемблер це комп'ютерна програма, що генерує


об'єктний двійковий код з заданої (як правило у
текстовому вигляді) послідовності машинних
інструкцій.

● створення програми за допомогою символьних


умовних позначень, які називають мнемониками

● перетворення однієї машинної інструкції в одну


команду асемблера називається транслітерацією
5
Програмування
Високорівнева мова програмування це мова програмування, розроблена для
швидкого і зручного використання програмістом. Основна риса високорівневих мов —
це абстракція, тобто введення смислових конструкцій, які коротко описують такі
структури даних і операції над ними

● Фреймворки
● RAD
● Дидактичні мови

6
Особливості Python

Інтерпретованість

● код програми не перетворюється


попередньо повністю у машинний
код для виконання
● виконується рядок за рядком з
допомогою спеціальної програми-
інтерпретатора
● вимагає більше часу на виконання
програми

7
Особливості Python

Основою реалізації компільованої мови є


компілятор, який переводить сирцевий
код в форму машинного коду.

Python

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

Парадигма це спосіб концептуалізації, що визначає організацію обчислень і


структурування роботи, яку виконує комп'ютер.

Те, як програміст розглядає роботу програми; наприклад, за ООП — як множини


об'єктів, тоді як за ФП — як послідовності обчислень функцій без станів.

9
Процедурна мова
програмування надає
можливість програмісту
Процедурне визначати кожен крок в процесі
програмування виконання завдання.

Особливість таких мов


програмування полягає в тому,
що завдання розбиваються на
кроки і вирішуються крок за
кроком.

C
Pascal
Функціональне програмування є
способом створення програм, в
яких

Функціональне ● єдиною дією є виклик


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

Lisp, Scheme, Haskell


Структурне програмування -
методологія розробки
Структурне програмного забезпечення, в
основі якої лежить
програмування представлення програми у
вигляді ієрархічної структури
блоків.
Об'єктно-орієнтоване
програмування розглядає
програму як множину «об'єктів»,
Об'єктно- що взаємодіють між собою.
орієнтоване Основу ООП складають чотири
програмування основні концепції: інкапсуляція,
успадкування, поліморфізм та
абстракція

Java

C#, C++

Python, Ruby
Як створюють програми?
Як створюють програми?

1. постановка завдання
2. формалізація (математична постановка задачі)
3. вибір (або розробка) методу рішення
4. розробка алгоритму (алгоритмізація)
5. складання програми (програмування), введення її в пам'ять
6. налагодження програми, її тестування
7. обчислення й обробка результатів
Рецепт програми

Задача: Знайти квадратний корінь


Квадратний корінь числа x є y таким, що y * y = x

1) Припустимо, є число g
2) Якщо отримано g * g досить
близьке до x, зупиняємося і
кажемо, що g - це відповідь
Рецепт програми

Задача: Знайти квадратний корінь


Квадратний корінь числа x є y таким, що y * y = x

3) В іншому випадку зробити нову здогадку,


взявши середнє значення
gіx/g
4) Використовуючи нову здогадку, повторіть
процес до закриття
Програма
1. Текстовий редактор. Так як текст програми записується за допомогою
ключових слів, що звичайно походять від слів англійської мови, і набору
стандартних символів для запису всіляких операцій, то формувати цей
текст можна в будь-якому редакторі, одержуючи в результаті текстовий
файл із вихідним текстом програми.

18
Програма

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


машинний код.

Компілятор це комп'ютерна програма , що перетворює (компілює)


вихідний код, написаний певною мовою програмування, на семантично
еквівалентний код в іншій мові програмування (target language), який
зазвичай необхідний для виконання програми машиною.

● Аналіз
● Синтез

19
Програма

Відлагоджувач (debugger) це комп'ютерна програма, яка


використовується для тестування і виправлення вад інших програм. Як
варіант, код для розгляду може бути запущено на емуляторі інструкцій,
що дозволяє більший контроль зупинки процесу при заданих умовах.

20
Програма

3. Похідний текст великої програми складається, як правило, з


декількох модулів (файлів з вихідними текстами), тому що зберігати всі
тексти в одному файлі незручно - у них складно орієнтуватися. Кожний
модуль компілюється в окремий файл із об'єктним кодом, які потім
треба об'єднати в одне ціле.

Модуль — функціонально завершений фрагмент програми,


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

21
Програма

4. Додавання машинного коду підпрограм, що реалізують різні


стандартні функції (наприклад, що обчислюють математичні функції sin
або ln). Такі функції утримуються в бібліотеках , які постачаються разом
з компілятором.

Бібліотека це збірка об'єктів чи підпрограм для вирішення близьких за


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

22
Програма

5. Об'єктний код обробляється спеціальною програмою - редактором


зв'язків або збирачем, що виконує зв'язування об'єктних модулів і
машинного коду стандартних функцій, Знаходячи їх у бібліотеках, він
формує на виході працездатний додаток - здійсненний код для
конкретної платформи.

Здійсненний код - це закінчена програма, яку можна запустити на будь-


якому комп'ютері, де встановлена операційна система, для якої ця
програма створювалася.

23
Програма

24
План лекції

● Особливості Python
● Середовище програмування
● Синтаксис Python
● Змінні
● Числа, логічний тип данних, рядки
● Операції в Python

2
Python

Лекція 1. Базовий синтаксис


Базовий синтаксис Python. Основні алгоритмічні конструкції. Середовище роботи в Python
Лекція 2. Типи даних, робота з текстовими даними
Вбудовані типи даних. Обробка текстів. Операції над рядками. Методи рядків. Регулярні вирази.
Лекція 3. Логічні вирази. Умовні оператори. Розгалужені та лінійні цикли.
Лекція 4. Структури даних і функції.Списки і кортежі. Словники, множини. Функція: визначення і виклик.
Лекція 5. Декоратори та генератори. Рекурсія. Обробка послідовностей. Ітератори.
Лекція 6. Виключення і файли. Помилки і виключення. Обробка виключень. Конструкції для обробки виключень.
Лекція 7. Файловий ввід-вивід. Читання рядків. Робота з двійковими файлами.
Python

Лекція 8. Модулі та пакети. Оператори імпорту. Відносний і абсолютний імпорт


Лекція 9. Основні структури
Відносини між класами. Спадкування. Метод класу. Метакласи.
Класи та об'єкти на основі класів
Лекція 10. Об'єктно-орієнтоване програмування
Основні поняття. Абстракція і декомпозиція. Об'єкти. Типи і класи. Інкапсуляція
Лекція 11. Мережні додатки на Python.
Мережні додатки на Python. Модулі для клієнта www. Робота з базою даних. Створення та наповнення бази
даних. Вибірки з бази даних.
Лекція 12. Багатопотокові обчислення.
Багатопотокові обчислення. Візуалізація роботи потоків.
Створення додатків із графічним інтерфейсом користувача
Лекція 13. Інтеграція Python з іншими мовами програмування.
Інтеграція Python і інших систем програмування. Будова інтерпретатора мови Python. Оптимізація.
Python

Лабораторна робота №1
Знайомство із середовищем програмування.
Алгоритми послідовної (лінійної) структури. Числа та операції над ними.
Лабораторна робота №4
Логічний тип даних. Алгоритми розгалудження.
Задача циклів та умов.
Лабораторна робота №3
Списки: одновимірні та двовимірні масиви. Рядки символів. Множини. Використання множин. Обробка текстових
можин.
Лабораторна робота №4
Математичні бібліотеки в Python. Побудова графіків математичних функцій у мові Python
Лабораторна робота №5
Файли даних. Робота з файлами. Модульний принцип організації програми
Лабораторна робота №6
Реалізація додатка із графічним інтерфейсом за використання біліотек.
Лабораторна робота №7
Об’єктно-орієнтоване програмування у мові Python
Стилі програмування Python

Підтримка різних стилів


програмування

Python може використовуватися для

● поцедурного програмування
● об'єктно-орієнтованого
програмування
● функціонального програмування
● структурне програмування
29
Особливості Python
Типізація
Немає попереднього оголошення типів -
тип змінної виводиться в процесі
виконання

x=2
print(x)

30
Особливості Python
Типізація
Немає попереднього оголошення типів -
тип змінної виводиться в процесі
виконання

x = 3 + “f”

31
Iнтроспекція ● Програмі на Python доступна вся
інформація про себе: список
змінних, функцій, класів,
інформація про методи класів і
т.п.
● Інформацію про себе
здебільшого можна
модифікувати
● У процесі роботи програми,
програма може створювати нові
класи та функції і змінювати вже
існуючі
IDE для Python

● CPython (написаний на C) - основна реалізація


● PyPy (написаний на Python)
● Jython (написаний на Java)
● IronPython (написаний на C #)
● та інші

Різні інтерпретатори орієнтовані на різні платформи (.Net, Java)


Більшість інтерпретаторів - під ліберальної вільною ліцензією
CPython виступає в якості стандарту

33
IDE для Python

34
IDE для Python

35
IDE для Python

x=2
x = x + int( False )
print(x)

константи
змінні
оператори
вбудовані слова (функції)
вбудований глобальний об'єкт

36
IDE для Python

Змінні

● Python є мовою з динамічною типізацією. Він визначає тип даних змінної


виходячи із значення, яке їй присвоєно.

● Назва змінної в Python має починатися з алфавітного символу або зі знака


підкреслення і може містити алфавітно-цифрові символи і знак
підкреслення.

and del for is raise assert elseif from lambda return


break else global not try class except if or while
continue exec import pass yield def finally in print
37
IDE для Python

Змінні
● Кожна змінна має свій ідентифікатор
● Ідентифікатор - це деякий цілочисельне значення, за допомогою якого унікально
адресується об'єкт

a=2
print (id(a)) 1473406064
b=4
print (id(b)) 1473406096
a=b
print (id(a)) 1473406096

38
Типи даних у Python

Коментарі

x = 2 # присвоєння
x = x + int( False )
''' додавання до числа
числового еквіваленту логічної функції'''
print(x) # виведення значення

● коментар починається символом # i закінчується кінцем рядка


● для багаторядкових коментарів можна використовувати символ ‘ ‘ ‘

39
Типи даних у Python

None (невизначене значення змінної)

x = None
print ( type ( x ) )

<class 'NoneType'>

● використовується для перевірки значень та дій, які можуть завершитись


невдачею

40
Типи даних у Python

Логічні типи (Boolean Type)


a=b
print(a==b)
True
print(a>b) False

● застосовується булева алгебра

❏ І (логічне множення) (AND, &, *),


❏ АБО (логічне додавання) (OR, |, +),
❏ виключальне АБО (множення з переносом) (xor, NEQV, ^),
❏ еквівалентність (рівняння) (EQV, =, ==)
❏ інверсія (NOT, ~, !)
❏ порівняння (>, <, <=, >=)
41
Числа (Numeric Type)

● int
● long
● float
● complex

42
Числа (Numeric Type)

int - ціле число


● У мові програмування Python вбудована функція int () повертає ціле
число в десятковій системі числення (клас int).

● Якщо викликати функцію int () без аргументів, вона поверне 0.

a=0o110
print(a) 72
print(0o110) 72
print(0x110) 272
print(oct(110)) 0o156
print(hex(110)) 0x6e
43
Числа (Numeric Type)

float - число з плаваючою крапкою

a = 10
b=2

print ( type (a/b)) <class 'float'>


print ( type (a*b)) <class 'int'>
print ( type (a**b) <class 'float'>

Числа з плаваючою крапкою (float point) - дробові числа (наприклад, 1.45, -3.789654,
0.00453). Примітка: роздільником цілої і дробової частини служить крапка, а не кома.

44
Числа (Numeric Type)

E-нотація

В e-нотації наше число виводиться на екран як 3.8E16 або як 3.8e16. В даному випадку
буква E позначає ступінь 10. Тобто фактично у нас написано 3.8 × 10**16.

0.0000000000001752
1.752 * 10**-13
1.752e-13

45
Числа (Numeric Type)

complex - комплексне число

print (1+2j)
(1+2j)
print ( type (-5.3+10j))
<class 'complex'>

зберігає пару значень типу float, одне з яких представляє дійсну частину
комплексного числа, а інше – уявну (наприклад, 1+2j, -5+10j, 0.44+0.08j)

46

You might also like