Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 14

Алгоритми. Поняття програми.

Мови програмування.
Сучасні мови програмування.
Мова програмування Python
Лекція 1.1
Алгоритм. Програма. Мова програмування

Алгоритм – це послідовність точно визначених дій,


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

низького рівня високого рівня


Властивості алгоритму
• Дискретність (будь-який алгоритм зображається у вигляді
окремих кроків)
• Скінченність (виконання алгоритму припиняється після скінченної
кількості кроків)
• Визначеність (кожний крок алгоритму має бути чітко і однозначно
визначений)
• Зрозумілість (формулювання команд алгоритму має бути
орієнтоване на конкретного виконавця)
• Масовість (алгоритм можна використовувати для розв’язання
цілого класу однотипних задач)
• Результативність (алгоритм повинен забезпечувати
отримання результату після скінченної кількості
кроків)
В залежності від того, хто записує алгоритм і на кого він
орієнтований, існують різні способи запису алгоритмів.
 Словесний спосіб.
 Мова псевдокодів.
 Мова програмування.
 За допомогою блок-схем.
Словесна форма використовується для алгоритмів, орієнтованих на виконавця –
людину.
Приклад. Алгоритм знаходження модуля величини Х
1. Початок.
2. Ввести числове значення величини Х.
3. Якщо Х0, то Yнадати значення Х, інакше Y надати значення –Х.
4. Вивести значення Y.
5. Кінець.

Для запису алгоритмів за допомогою мови псевдокодів використовуються службові


слова та спеціальні правила запису дій. У мові псевдокодів прийнято жорсткі
синтаксичні правила запису команд. Мова псевдокодів розрахована на абстрактного
виконавця.
Блок-схеми є наочною графічною формою запису алгоритмів. Блок-схеми
складаються з геометричних фігур – блоків. Кожний блок відповідає певній дії.

Початок та кінець алгоритму.


Введення або виведення даних.

Вибір напрямку виконання алгоритму в


залежності від виконання умови.

Виконання операцій, дій.


Існує три стандартних типа алгоритмів:

Лінійні алгоритми Розгалужені алгоритми


Лінійним алгоритмом називається такий алгоритм, в якому
команди виконуються послідовно одна за одною.
В основі лінійного алгоритму лежить базова структура
слідування:
S1 S2 ... Sn

- +
Алгоритм, що містить хоча б одну умову, в Умова

результаті перевірки якої здійснюється


S1 S2
перехід до одного з можливих кроків,
називається розгалуженим.
В основі розгалуженого алгоритму лежить
базова структура «розгалуження».
Циклічні алгоритми
Алгоритм, у якому певна послідовність команд
повторюється кілька разів з новими вхідними даними,
називається циклічним.
i – параметр цикла
-
- серія i=n,k,m n – початкове значення
умова параметра цикла
+
+ k – кінцеве значення
параметра цикла
серія - серія
умова m – крок зміни значення
параметра цикла

цикл – “поки” цикл - “доти” цикл з параметром


Компілятори та інтерпретатори

Транслятор – спеціальна програма, яка


перетворює програмний код з тієї чи іншої
мови програмування в машинний код.

Компілятор Интерпретатор
Відразу переводить весь Перекладає програмний
програмний код на код порядково.
машинну мову. Безпосередньо
Створює виконуваний взаємодіє з операційною
exe-файл. системою.
Сучасні мови програмування

https://www.youtube.com/watch?v=c_o6UhZPItE
Історія
Python був розроблений в кінці 1989 р. Гуїдо ван Россум під час різдвяних
канікул, коли його дослідницька лабораторія була закрита і йому просто нікуди
було подітися. Він запозичив багато засобів програмування, властиві іншим
мовам. Гуідо обожнював телевізійну передачу "Літаючий цирк пітона Монті", і
коли прийшов час дати назву своєї мови, він вибрав ім'я Python.
У 1991 р. після випробувань і експериментів у вузькому колі друзів і колег,
Python був розміщений для загального доступу на суд широкої громадськості.
На відміну від інших мов програмування, Python не тільки поширюється
абсолютно безкоштовно, він не має абсолютно ніяких обмежень в умовах
застосування. Ніхто не обмежує комерційне використання програмних продуктів,
написаних на цій мові, без будь-яких ліцензійних відрахувань.
Програмісти також можуть модернізувати мову,
не ставлячи до відома автора.
Особливості Python

• інтерпретована мова програмування


• зрозумілий синтаксис
• повноцінна, універсальна, мова програмування
• поширюється вільно на підставі ліцензії GNU General
Public License
Два режими роботи: інтерактивний і сценарний
Дзен Python
Розробники мови Python дотримуються певної філософії програмування - "Дзен
Пітона". Її автором вважається Тім Пейтерс. Текст виведеться командою import this.
Фраза Переклад
1. Beautiful is better than ugly. Красиве краще за потворне.
2. Explicit is better than implicit. Просте краще за складне.
4. Complex is better than complicated. Складне краще за ускладнене.
5. Flat is better than nested. Плоске краще ніж вкладене.
6. Sparse is better than dense. Розріджене краще ніж щільне.
7. Readability counts. Читабельність важлива.
8. Special cases aren't special enough to break the rules. Виняткові випадки не настільки важливі, щоб порушувати правила.
9. Although practicality beats purity. Однак практичність важливіша за чистоту.
10. Errors should never pass silently. Помилки ніколи не повинні замовчуватися.
11. Unless explicitly silenced. За винятком замовчування, яке задано спеціально.
12. In the face of ambiguity, refuse the temptation to guess. У випадку неоднозначності не піддавайтеся спокусі вгадати.
13. There should be one - and preferably only one - obvious Повинен існувати один - і, бажано, тільки один - очевидний спосіб
way to do it. зробити це.
14. Although that way may not be obvious at first unless Хоча він може бути з першого погляду не очевидний, якщо ти не
you're Dutch. голландець.
15. Now is better than never. Зараз краще, ніж ніколи.
16. Although never is often better than * Right * now. Проте, ніколи частіше краще, ніж прямо зараз.
17. If the implementation is hard to explain, it's a bad idea. Якщо реалізацію складно пояснити - це погана ідея.
18. If the implementation is easy to explain, it may be a good Якщо реалізацію легко пояснити — це може бути хороша ідея.
idea.
19. Namespaces are one honking great idea - Let's do more Простори назв - прекрасна ідея, давайте робити їх більше!
of those!
Хто використовує Python?

• Компанія Google широко використовує Python в своїй пошуковій системі і


оплачує працю творця Python.
• Служба колективного використання відеоматеріалів YouTube в значній мірі
реалізована на мові Python.
• Популярна програма BitTorrent для обміну файлами в пірінгових мережах
(peer-to-peer) написана на мові Python.
• Потужна система тривимірного моделювання і створення мультиплікації Maya
підтримує інтерфейс для управління з сценаріїв на мові Python.
• Такі компанії, як Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm і IBM,
використовують Python для тестування апаратного забезпечення.
• Такі компанії, як Industrial Light & Magic, Pixar і інші, використовують Python у
виробництві анімаційних фільмів.
• Компанії JPMorgan Chase, UBS, Getco і Citadel використовують Python для
прогнозування фінансового ринку.
• NASA, Los Alamos, Fermilab, JPL і інші використовують Python для наукових
обчислень.
• iRobot використовує Python в розробці комерційних роботизованих пристроїв.
• NSA використовує Python для шифрування і аналізу розвідданих.
Як писати програми
Програмне забезпечення
• Сам інтерпретатор з інтерактивною оболонкою IDLE ( htt
p://python.org/download/). Існують версії для Linux, Windows,
MacOS.
• Середовище розробки. Воно для початку необов'язкове, але для
серйозних проектів потрібно щось серйозніше. Наприклад:PyDev,
PyCharm, WingWare, Komodo IDE, Eric, Eclipse, Geany, Spyder, PyScripter.
Інтерактивний режим
В основному інтерпретатор виконує команди порядково: пишеш
рядок, натискаєш Enter, інтерпретатор виконує її, спостерігаєш
результат.
Дякую за увагу!

Ваші запитання

You might also like