10 інформатика

Page 1


interactive.ranok.com.ua

і, сподіваємося, в майбутньому пов’яжете

діяльність. У 10 класі ви будете працювати з новими програмними засобами. Ви зануритеся у світ статистики, фінансових розрахунків, інфографіки; навчитеся автоматизувати процес оформлення текстового документа, створювати та опрацьовувати графічні зображення у векторному та растровому графічних редакторах. Під час опанування курсу багато навчального часу приділяється мовам програмування та структуруванню даних. Пропонований підручник — серед перших, де вивчаються основи об’єктно-орієнтованого програмування. Оволодіння основами алгоритмізації і програмування здійснюється на основі мови Python і середовища програмування IDLE.

Підручник, який ви тримаєте в руках, — ваш надійний помічник.

— виконуйте їх на комп’ютері з натхненням, повторюйте теоретичний матеріал і викладайте основні положення на папері.

Описи практичних робіт, запропонованих до курсу інформатики, ви знайдете на сайті «Інтерактивне навчання» (interactive.ranok.com.ua).

Скориставшись цим посиланням, ви також зможете пройти комп’ютерне тестування з автоматичною перевіркою результату.

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

початковий і середній

на комп’ютері.

1.1.Класифікаціяіскладовімовпрограмування

Комп’ютерна програма (англ. Computer Program) — це послідовність команд (інструкцій), що забезпечує реалізацію на комп’ютері конкретного алгоритму.

Команда (інструкція) — це вказівка, що визначає, яку дію (операцію) слід виконувати.

його особливості.

Практично кожний тип комп’ютера мав власну мову програмування низького рівня. Одна й та сама програма не могла виконуватися на комп’ютері іншого типу, що суттєво обмежувало можливість обміну програмами.

Програми для перших ЕОМ розробляли саме «машинними» мовами. Це був складний процес, тому невдовзі з’явилися мови символьного кодування. Команди подавалися вже не двійковим кодом, а символами. Перетворення символьного коду в машинні команди здійснюється автоматично.

Зазвичай команди сучасних мов програмування записують англійськими літерами з використанням символів, які містяться на клавіатурі. Але в комп’ютері зберігаються й виконуються команди, які подано фізичними сигналами (наприклад, двома рівнями остаточної магнітної індукції, двома значеннями електричної напруги, наявністю та відсутністю світлового променя тощо). Значення фізичних сигналів ототожнюються з математичними значеннями 0 і 1, тобто двійковими символами. Програми, що подано сукупністю 0 і 1, називають машинними, або машинним кодом. Він указує, яку саме дію слід

виконати процесору.

Використовуються різні структури команд. Найчастіше команди складаються з операційної та адресної частин. В операційній частині зазначається яку дію (операцію) слід вико-

нати, а в адресній — виконати над якими даними (приклад). У нашому випадку код А3 може бути операційною частиною

й означати, наприклад, операцію Додати, а В7 і С5 — адресною частиною, яка визначає місце збереження даних, над якими слід виконати операцію. Уже на перших етапах розвитку

Першою мовою високого рівня, яка набула широкого визнання серед програмістів світу, була Fortran. Її було розроблено корпорацією IBM (США) у 1954 році. Мова Fortran наближена до мови алгебри та

орієнтована на розв’язування обчислювальних задач.

У 1960 році групою вчених різних країн створено мову

Algol-60, теж орієнтовану на розв’язування обчислювальних задач.

День програміста святкують у 256-й день року (у високосний рік це 12 вересня, а в невисокосний — 13 вересня). Як ви думаєте, чому обрано саме

цей день?

Вибір пояснюється тим, що це число символічне, воно тісно

з комп’ютерами, але

не асоціюється з конкретними особами чи кодами спеціаль-

ностей. Число 256 відповідає кількості символів, які можна

подати за допомогою одного

байта.

типами даних.

сійного програмування

мови. • За орієнтацією на клас задач мови програмування поділяють на універсальні та спеціалізовані. Універсальні

задач. До таких мов належать PL/1, Algol, Pascal, C тощо. Особливим

VisualBasic, Delphi й ін. Спеціалізовані мови враховують специфіку

Починаючи

Однією з перших спеціалізованих мов була мова COBOL, розроблена в США 1961 року й орієнтована на розв’язування економічних задач. Згодом з’явилися десятки різних спеціалізованих мов, наприклад, Simula — мова моделювання, LISP — мова для інформаційно-логічних задач, RPG — мова для розв’язування навчальних задач тощо.

Будь-яка мова програмування високого рівня, як і будьяка інша мова, має основні складові (рис. 2): алфавіт, синтаксис, семантику.

Алфавіт

Набір символів, із яких утворюються команди програми й інші

Кожна мова має власний алфавіт. Але більшість із

них містить англійські літери, цифри, знаки арифметичних операцій (+, *, –, /), знаки відношень (більше, дорівнює й ін.), синтаксичні знаки (крапка, крапка з комою тощо)

Синтаксис

Сукупність правил запису команд та інших конструкцій мови.

Порушення правил синтаксису виявляється автоматично, про що програміст отримує повідомлення

семантично коди різні: i = 0; while (i<5) {i++;} та i = 0; do {i++;} while (i<=4) Семантика Мова програмування має словник — певну кількість слів, правила вживання

1

3

4

Сукупність правил тлумачення та виконання конструкцій мови програмування.

Наприклад, два коди, наведені далі, мають однакову логіку (виконують однакові дії), результати

Вважається, що першим пристроєм із програмним керуванням був ткацький верстат, побудований Жозефом Марі Жаккаром у 1804 році. Верстат здійснив революцію в ткацькій промисловості: Жаккар віднайшов можливість за допомогою перфокарт програмувати візерунки на тканинах.

свідомого

програми, яку називають початковим кодом, у комп’ютер

редактор зв’язків «склеює» окремі двійкові модулі

яка називається програмою, що виконується, і яка вже призначена для виконання. Цей процес (етапи 1–3) подано схемою (рис. 2).

Початковий код програми

Об’єктний модуль

Редактор зв’язків

Бібліотека підпрограм

різних напрямків. Одні з них розробляють

переносить окремі функції із сервера до клієнта.

У разі клацання посилання, що

містить аплет, він автоматично

завантажується на комп’ютер

і запускається в браузері.

Потребу в розробці мов ООП

із використанням байт-коду на

початку 1990-х років зумовлено розвитком виробництва по-

бутових приладів зі вбудованими контролерами на різних типах процесорів.

Спочатку виникла потреба

в програмах і компіляторах

для кожного типу процесора.

Та розробка компілятора виявилася справою доволі до-

рогою. Так з’явилася ідея створити мову для розробки коду, придатного для виконання на будь-якому типі процесора.

За рік виник ла потреба в мові, яку можна було б використовувати на будь-якому типі процесора. Це було зумовлене розвитком Всесвітньої павутини й Інтернету, які об’єднали різні типи комп’ютерів із різними процесорами й ОС.

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

використовуються інтегровані

середовищами є, наприклад, IntelliJ IDEA, Eclipse.

ант Ultimate Edition середовища

1

Яку методику програмування підтримує

яку ви вивчали? Чи користувалися ви об’єктно­ орієнтованими мовами програмування?

Матеріал нашого підручника зорієнтовано

роботу з мовою програмування Python*, яка підтримує об’єктноорієнтований і процедурний методи програмування з інтерпретацією команд (інструкцій).

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

з реляційними базами даних.

Мова Python має потужну стандартну бібліотеку, яку користувач може розширювати власними бібліотеками й бібліотеками інших користувачів. Наприклад, розширення .NumPy містить реалізацію різноманітних математичних обчислень, модуль tkinter дає змогу реалізувати графічний інтерфейс користувача.

Програми можуть розроблятися в консольному режимі (такі програми мають розширення .py) і з графічним інтерфейсом (програми мають розширення .pyw).

Програма мовою Python — це звичайний текстовий файл, інструкції (команди) якого виконуються інтерпретатором для кожного рядка. Під час першого запуску програми створюється байт-код, який зберігається у файлі з розширенням .pyw. Якщо після цього програма не змінювалася, то в процесі наступних її запусків буде виконуватися байт-код. Усі дані мови, у тому числі прості типи даних (числа, рядки) є об’єктами. У змінній зберігається не сам об’єкт, а посилання на нього, тобто адреса пам’яті, у якій зберігається об’єкт. Структура проекту мовою Python складається з окремих модулів. Модуль — це будь-який файл із програмним кодом.

Рис. 2. Найпростіша структура

вався вами у 8 і 9

вид трансляції

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

Розглянемо способи запуску інтерактивного режиму роботи інтерпретатора IDLE

• За допомогою командного рядка ОС Windows (щоб його відкрити, слід

Пуск і виконати команду Командний рядок).

го рядка слід увести команду

в такому вигляді:

#Починаємо вивчати мову Python print ("Python підтримує ООП і процедурний стиль") #повідомлення

print ("Найбільших успіхів") #побажання

Тут знак # — це коментар, який жодним чином не впливає на роботу інтерпретатора (все, що пишеться після нього, не виконується). Він може бути розташований як на початку рядка програми, так і наприкінці кожної команди.

Команда print забезпечує виведення на

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

Хід виконання

1. Для введення програми запускаємо інтерпретатор мови Python середовища IDLE.

Одразу після знака запрошення (>>>) уводимо перший рядок програми (#Починаємо вивчати мову Python) і натискаємо клавішу Enter.

3. Знак запрошення з'явиться на наступному рядку, після якого уводимо команду другого рядка програми (print ("Python

процедурний стиль") #повідомлення і натискаємо клавішу Enter. 4. Система виведе повідомлення "Python підтримує ООП і процедурний стиль" , а

окремому рядку, але команди можна розміщувати й у кількох рядках. Наприклад, команду x=130+82+45 можна розмістити у два рядки за такими варіантами: x = 130 + 82 \ x = (130 + 82 + 45 або + 45)

У мові Python відсутні спеціальні засоби для виділення блоків, наприклад фігурні дужки або конструкція begin…end. Якщо команда містить блок, то кожна команда блока мовою Python відокремлюється від початку рядка спеціальним відступом чотирма пробілами. Якщо кількість пробілів різна, інтерпретатор видає повідомлення про фатальну помилку. Щоб завершити роботу інтерактивного режиму, необхідно натиснути сполучення

1

2

3

5

6

режимі?

4 Які переваги має інтерактивний режим

8

1

2

Способи запуску файла програмного коду на виконання:

• із командного рядка середовища програмування;

• клацанням ярлика файла;

• за допомогою користувацького інтерфейсу середо-

вища IDLE.

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

Файли модулів — це програми, які називають також

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

Припустимо, що потрібно створити файл із кодом, який виконує складання чисел 65 і 279 та множення числа 21 на число 15.

1. Запускаємо середовище програмування IDLE (Python3.x 32-bit). У відкритому вікні Python3.x Shell виконуємо команду File → New File.

2. У вікно Untitled, яке відкрилося, уводимо програму так, як зображено на рис. 1.

Останньою в програмі є команда input(). Наразі ця команда відіграє допоміжну роль. За її допомогою результат виконання програми буде відображатися

1

2

3

1

правильним.

2 Завантажте середовище IDLE, викличте створену в пункті 1 програму з файла f_01, замініть у програмі операцію

3

4

та інших типів виразів.

2.1. Основні елементи мови Python

Пригадайте елементи мови програмування, яку ви вивчали.

Чи всі символи клавіатури комп’ютера ви використовували в процесі введення програм?

Будь-яка конструкція мови програмування створюється

з алфавіту. Алфавіт мови Python містить символи, що розташовані на клавіатурі комп’ютера (рис. 1). Із символів алфавіту створюються лексеми (token).

Лексема — це мінімальна одиниця мови, яка має певне самостійне значення і яку розуміє транслятор. Якщо транслятор її не розуміє, то видається повідомлення про помилку в програмі. За замовчуванням символи

дуються в системі UTF-8.

Розрізняють такі види лексем:

• ключові (зарезервовані) слова (keywords);

• ідентифікатори (identifiers);

• літерали (константи);

• операції;

• знаки пунктуації.

У мові Python використовується кілька десятків ключових (зарезервованих) слів (наприклад, int, list, input, print, float тощо). З їх призначенням будемо знайомитися поступово, у міру потреби в їх застосуванні.

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

Python використовують багато відомих кампаній у всьому світі. Серед них Google, Facebook, Yahoo, NASA, Dropbox, IBM, Red Hat, Pinterest.

Приклад 1.

>>> x_1 = 87 #змінна х_1

має тип int і значення 87

>>> x_2 = 21.45 #змінна х_2

має тип float і значення 21.45 >>> s_1 = 'проект' #змінна s_1

має тип str і значення «проект»

>>> s_2 = "байт" #змінна s_2

має тип str і значення «байт»

Приклад 2.

>>> x = y = [7, 15] #створюється

ніби два об’єкти

>>> x, y #виведення

значень x і y

([7,15], [7,15]) #двічі виво -

дяться значення одного об’єкта

Цілі числа (int) 45, 365

Дійсні числа (float) 36.5, 213.75

Рядки (str) 'Python', "процесор"

Логічні дані (bool) true, false

Списки (list) [40, [3, 'монітор'], 32]

Словники (dict) {'айфон': 'сон', 'doc': 'nm'}

Кортежі (tuple) (5, 'sp', 31, 'M')

Множини (set) set('abc'), {'a', 'b', 'c'}

Як уже зазначалося, у мові Python застосовується

ня, оскільки їхній тип

Цей тип визначається значенням, розташованим праворуч

значається знаком (=) (приклад 1). В одному рядку можна присвоїти однакові значення кільком змінним, наприклад: >>> x = y = z = 441 #змінні x, y, z мають тип int і значення 441 Ще раз зазначимо, що після виконання оператора присвоювання в змінній зберігається

Приклад 3.

>>> y[0] = 50 #зміна значення нульового елемента об’єкта y

>>> x, y #виведення

значень x і y

([50, 15], [50, 15]) #значення x і y

однакові, хоча х не змінювали

>>> x = [21, 807]

>>> y = [21, 807]

>>> x_1, x_2, x_3 = 13, 105, 27

>>> x_1, x_2, x_3 (13, 105, 27)

Кількість елементів

своювання має бути однакова, інакше

лення про синтаксичну помилку.

Наприклад, помилку буде видано для такої інструкції:

>>> x, y, z = (2, 44, 50, 65)

Позбавитися цього явища можна

У такому разі ця змінна містить

чень (приклад 5).

1

цілі числа?

2 Яким ідентифікатором позначаються дійсні числа?

3 Які базові типи даних використовуються найчастіше?

4 Сформулюйте правило запису ідентифікаторів

5

1

ac_1, 2ba, x–1, –z_1.

2 Змінним x, y, z

ром присвоювання, відповідно, такі

ня: 3, 37, 45.

3 Доведіть, що після виконання операторів: >>> a1 = [5, 20] >>> a2 = [5, 20]

Приклад 4.

>>> x = y = [60, 90] #змінні x і y посилаються на один об’єкт >>> x is y

True

>>> x = [23, 20] #змінні x і y посилаються на

>>> y = [23, 20] >>> x is y

False

Приклад 5.

>>> x_1, x_2, *x_3 = (46, 7, 21, 14)

#змінна x_3 набуде

>>> x_1, x_2, x_3

(46, 7, [21, 14])

21 і 14

>>> x_1, *x_2, x_3 = (4, 7, 33, 17)

#змінна x_2 набуде

>>> x_1, x_2, x_3 (4, [7, 33], 17)

7

33

Приклад 1. >>> x_2 = 300

>>> type(x_2) #визначення

типу змінної x_2

<class ‹int›> #змінна x_2

посилається на тип int

Приклад 2.

>>> bool(0), bool(1), bool([4,6]), bool(""), bool("файл") (False, True, True, False, True)

Приклад 3.

>>> int(13.5), int("71"), int("A", 16), int("71", 8) (13, 71, 10, 57)

(пояснення: значення функції int("71", 8) має двійкове значення 111001, що еквівалентно 57)

Приклад 4.

>>> float(25), float("13.75") (25.0, 13.75)

Приклад 5.

>>> str(149), str([21, 16, 35]), str({"x" :10}) ('149', '[21, 16, 35]', "{'x'10}")

Приклад 6.

>>> list("2468") #перетворення рядка

['2', '4', '6', '8'] #список >>> list((2,4,6,8)) #перетворення кортежу [2, 4, 6, 8] #список

x_1 посилається на тип str >>> x_1 = 3.8 #тепер змінна x_1 посилається на тип float Змінна x_1 спочатку

тип

— на тип float. Для визначення останнього типу даних, на який

них на інший. bool([об’єкт]) —

str(об’єкт)

з’явиться запрошення на введення значення змінної x. Уведемо, наприклад, число 26 і натиснемо клавішу Enter. З’явиться таке саме запрошення

для введення значення змінної y. Уведемо, наприклад, число 9 і натиснемо Enter. У результаті отримаємо результат 35. Після того як змінні в програмі вже не потрібні, їх можна видалити за допомогою функції del. Спроба використати змінні х або y після виконання такого фрагмента

1

2

3

4 На скільки

1

2

3

• додавання (+)

• віднімання (–)

• множення (*)

• ділення (/)

операндів.

Залежно від типу

виконання операцій над числами. Якщо операція виконується

Один із варіантів імпортування можна реалізувати за допомогою інструкції: from decimal import Decimal. Наприклад, можна виконати такі інструкції: >>> from decimal import Decimal #імпортування >>> Decimal("1.123") – Decimal(" 0.5") #виконання операції Decimal(' 0.623') #результат

Оператори порівняння порівнюють значення об’єкта, який розташовано ліворуч від оператора, зі значенням об’єкта, який розташовано праворуч від цього оператора. Якщо умова виконується, повертається значення True, інакше — False.

Склад, позначення та приклади використання операторів наведено в табл. 3.

Таблиця 3. Оператори порівняння

Позначення Назва Пояснення Приклад == Дорівнює

Якщо значення операндів однакові, повертається значення True, інакше — False >>> 23 == 40 False

Не дорівнює Якщо значення операндів не однакові, повертається

значення True, інакше — False >>> != 13 True

справа, повертається значення True, інакше — False >>> 5 > 204 False

<Менше

<= Менше

повертається

True, інакше — False >>> 5 < 204 True

правому, повертається значення True, інакше — False >>> 17 >= 17 True

дорівнює правому, повертається значення True, інакше — False >>> 43

not (ні), or (або), and (і). Вони виконуються над

типу,

Повторення (призначене

in

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

True

>>> "оператор" in "Результатом

False Перевірка

послідовності до іншої not in Якщо одна послідовність

повідомлення False, інакше — True. Приклад: >>> "байт" not in "біт" True >>> "байт" not in "байт і біт" False

Над рядками

присвоюванням (табл. 6). Таблиця 6. Операції з присвоюванням

Операція

існують чіткі

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

• Не можна застосовувати підрядкові й надрядкові символи. Наприклад, вираз 2.5*(a–b2) є неправильним. Його слід записати так: 2.5*(a–b*b).

• Не можна записувати дві або більше операцій безпосередньо одна за одною. Наприклад, вираз a*–b є некоректним. Його слід записати так: a*(–b).

• Кожній дужці, що відкривається, у виразі має відповідати дужка, що закривається.

• Типи операндів виразу мають бути узгоджені. Якщо автоматично вони не узгоджуються, слід використати засоби перетворення

1

2

3

4 Які існують типи операторів?

5 У чому полягає сутність ділення за модулем?

6 Поясніть сутність оператора !=.

7 Як виконується логічний оператор

Числа можуть подаватися в десятковій, двійковій, вісімковій і шістнадцятковій системах числення. У процесі виконання арифметичних операцій над числами в різних системах

числення вони автоматично перетворюються на десяткову систему числення.

float([<число

round(<число>[,<кількість знаків після коми>]))

abs(число)

Повертає

ціле, якщо кількість знаків не вказана, а також кількість знаків після коми, якщо вона вказана

Повертає абсолютне

pow(<число>,<степінь>) Повертає число в степені

max(<числа через кому>)

min(<числа через кому>)Повертає

sum([<числа>],<початкове значення>)

Модуль math містить константи: число pi:

>>> import math

>>> math.pi 3.14159265389793

число e:

>>> math.e 2.718281828459045

>>> int(8.7), int("57") (8, 57)

>>> float(23), float("11.7") (23.00, 11.7)

>>> round(0.47), round(45.347, 1) (0, 45.3)

>>> abs(22), abs (–66) (22, 66)

>>> pow(10, 2), pow (2, 4) (100, 16)

>>> max(9, 4, 7), max(5, 9.7, 3) (9, 9.7)

>>> min(21, 5, 19), min(7, 2.5, 6) (5, 2.5)

>>> sum([4, 5, 7]), sum([12, 3], 33) (16, 48)

Модуль random містить функції, які генерують випадкові числа.

uniform(початок,кінець)

randint(початок,кінець)

>>> random.uniform(3, 9) 4.951275580428769

>>> random.choice(«Python») 'h'

1

3.

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

Існують три типи розгалуження: одноальтернативне (неповне галуження), двоальтернативне (повне галуження) і багатоальтернативне (вибір, варіант).

• Одноальтернативне розгалуження Графічну схему одноальтернативного розгалуження зображено на рис. 1. Одноальтернативне розгалуження

Приклад 1.

І варіант запису: if x > 4:

y = 2 * x + 5; z = y + x * x

ІІ варіант запису: if x > 4:

y = 2 * x + 5; z = y + x * x В один рядок 2 оператори записують через «;».

структури:

значень, одразу виконується Оператор (рис. 6). У мові Python розгалуження за багатьма варіантами вибору реалізується оператором такої структури: if <вираз> == <значення_1>: <блок_1 > elif <вираз> == <значення_2>: <блок_2>

elif <вираз> == <значення_N>: <блок_N> else: <блок_N+1>

Отже, кожне значення виразу має бути унікальним

1

2

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

3 Дано ціле число n. Розробіть програму, за допомогою якої це число збільшується на 7, якщо воно більше 15, і зменшується на 5, якщо воно менше або дорівнює 15.

4 Тренерка формує команду для гри в баскетбол з учениць, які на

Текст філософії «The Zen of Python» («Дзен Пайтона»)

• Гарне краще за потворне.

• Явне краще за неявне.

• Просте краще за складне.

• Складне краще за заплутане.

• Плоске краще за вкладене.

• Розріджене краще за щільне.

• Легкість читання має значення.

• Особливі випадки не є настільки особливими, щоб

порушувати правила. Хоча практичність є важливішою за бездоганність.

• Помилки ніколи не повинні проходити непомітно. Якщо

їх приховування не прописано явно.

• Зустрівши неоднозначність, опирайтеся спокусі вгадати.

другого оператора if y = 2 * a * x else:

першого оператора if y = 2

1

2

3

4

5

6

порядок виконання коду (див. рис. 3), якщо вводяться такі значення: а=0, х=0.

Завдання для самостійного виконання

1 Дано три дійсних числа a, b, c. Якщо a>b>c, кожне число збільшується вдвічі, інакше — кожне число зменшується на одиницю. Розробіть програму реалізації цього завдання.

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

3 Дано три сторони трикутника. Розробіть програму для визначення, чи є цей трикутник рівнобедреним.

4 Літак вилітає за розкладом із Києва в Мюнхен, якщо швидкість вітру в Києві менше v, а хмарність у Мюнхені не менше h. Розробіть програму для визначення, чи вилетить літак за розкладом.

5 Шкільна команда шахістів із трьох учнів потрапляє до фінальних міських змагань у випадку, якщо у відбірних змаганнях кожен учень набере не менше 5 очок. Розробіть програму, за допомогою якої визначається,

3.3. Реалізація циклічнихалгоритмів

Пригадате, яку алгоритмічну структуру називають повторенням (циклом), які існують види циклів.

Для запису алгоритмів із повторенням (циклів) мовою Python використовують два види операторів циклу: з параметром та з умовою.

 3.3.1. Цикли з параметрами

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

Серію інструкцій, які виконуються багаторазово під час

виконання циклу, називають тілом циклу. У циклах із параметром (циклах зі змінною циклу) кількість повторень інструкцій тіла циклу заздалегідь відома.

Існують різні варіанти циклів із параметрами. Структуру

одного з них зображено на рис. 1. Тут змінна i — це параметр циклу (змінна циклу).

значення

На рис. 2 наведено фрагмент блок-схеми циклічного алгоритму для отримання таблиці множення на 8. Результат множення чисел від 1 до 10 на 8 отримується у

p

одразу виводиться. У цьому алгоритмі тілом циклу є інструкції p=8*i, Виведення p, i=i+1, які виконуються 10 разів (можна

записати скорочено і+=1). Інструкція i=1 виконує підготовку до реалізації інструкцій тіла циклу, а за допомогою інструкції i≤10

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

ше 10, виконання циклу

Такий

реалізації циклів із параметром

після

завершення циклу виконуватиметься блок інструкцій, що міститься після слова else

сторони якого набувають таких значень: 2, 5, 9, 10, то цикл буде виконуватися 4 рази для значень змінної циклу 2, 5, 9 і 10. Найпростіша структура оператора for така: for <змінна циклу> in <об'єкт>:

3

Розробити програму реалізації алгоритму

отримання таблиці множення на 8.

Блок-схему алгоритму отримання таблиці

множення на 8 зображено на рис. 2, а програму його реалізації — на рис. 3.

У цьому прикладі застосовується функція range(). Загальна структура цієї функції така: range ([<початок>,] <кінець> [, <крок> ])

Як бачимо, обов’язковим є лише параметр кінець. Саме така

функції range(10) формується діапазон чисел від

жодного разу. У мові Python цикли з передумовою реалізуються оператором while, який має таку структуру:

<початкове значення> while <умова>): <блок інструкцій тіла циклу> <зміна початкового значення>

[ else:

<інструкції, які не виконуються, якщо не використовується оператор break>

<умова>

вираз,

тільки умова

), виконання операторів тіла циклу припиняється й управління передається першому оператору, розташованому за оператором циклу. У мові Python відсутній оператор, який безпосередньо реалі-

такий варіант циклу. У мові Python цикли з післяумовою можна реалізувати такою конструкцією оператора while: while True : <блок інструкцій тіла циклу> if <умова> : break

1

2

3

4

5

6

7

8

a = 3, 4, 5, 6, 7; b = 2, 4, 6, 8, 10, 12.

16.

1

2

3

4

У мові програмування Python лінійні й табличні структури

4.1. Списки, стеки, черги

Приклад 1. [5, "файл", "w", 21, [1, 2, 3]].

зменшувати кількість елементів, здійснювати пошук потрібних

Приклад 2.

>>> al_1 = ["файл", 21, 13, "5"]

>>> al_1

['файл', 21, 13, '5']

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

Значення елементів списку можна змінювати шляхом присвоювання їм нових

значень

Елементи списку можна

присвоїти кільком

змінним

Якщо елементів списку

більше кількості змінних, зайві елементи можна

присвоїти одній змінній, поміченій зірочкою

Операція зрізу (виділення

елементів) має формат: <ім’я списку> [початок: кінець: крок]. Усі параметри є необов’язковими

>>> a_1 = [7, 20, "миша"]

>>> a_1[2] 'миша' # виведення другого елемента

>>> b_1 = [21, 11, 17, 24]

>>> b_1 [2] = 15

>>> b_1

[21, 11, 15, 24]

>>> x1, x2, x3 = [3, 7, 5]

>>> x1, x2, x3 (3, 7, 5)

>>> x1, *x2, x3 = [1, 3, 7, 5]

>>> x1, x2, x3 (1, [3, 7], 5)

>>> a = [1, 2, 3, 4, 5, 6] >>> a[1:4]

[2, 3, 4]

Списки можна об’єднувати >>> a1 = [1, 2, 3, 4] >>> a2 = [5, 6, 7] >>> a1 + a2

[1, 2, 3, 4, 5, 6, 7]

# елементи списку

# 3 змінним

# виведення значень змінних

# змінній x2 присвоюються два

# значення: 3 і 7

# виведення значень змінних

# виділення елементів з 1 до 3

# включно

# об’єднання списків

>>> list("процесор")

['п', 'р', 'о', 'ц', 'е', 'с', 'о', 'р'] #

>>> a = [1, 4, 6,8]

>>> len(a) 4

Отримати список із випадковими числами з іншого

списку можна за допомогою функції sample (послідовність, кількість елементів) з модуля random

Перетворити список у рядок можна різними засобами. Найпростіший із них — використання функції str

Максимальне та мінімальне значення в списку можна знайти за допомогою, відповідно; функцій max() і min()

Для отримання випадкового елемента зі списку слід імпортувати модуль random і скористатися функцією

choice (послідовність) або

функцією sample (послідовність, кількість елементів)

Метод append(об’єкт) —

додає один об’єкт у кінець

списку

Метод extend("послідовність") — додає елементи послідовності в кінець

списку

Метод insert(індекс,

об’єкт) — вставляє один

об’єкт у вказану позицію

списку

Метод pop(індекс) —

елемент зі списку

>>> import random

>>> random.sample(range(51), 6)

[48, 11, 46, 3, 21, 0]

>>> a1 = ["file1", 25, "file2", 21]

>>> str(a1) "['file1', 25, 'file2', 21]"

>>> a1 = [44, 20, 3, 17, 25, 16]

>>> max(a1), min(a1)

(44, 3)

>>> import random >>> random.choice("a", "ab", "c", "ca", "f"])

'ab'

>>> a1 = [1, "as", 2]

>>> a1.append("bmv")

>>> a1

[1, 'as', 2, 'bmv']

>>> a1 = [1, 2, "web"] >>> a1.extend("file, 7")

>>> a1

[1, 2, 'web', 'f', 'i', 'l', 'e', ',', ' ', '7']

>>> a1 = [3, "vin", 5] >>> a1.insert(1, "file")

>>> a1

[3, 'file', 'vin', 5]

>>> b1 = [7, "com", 5]

>>> b1.pop(2)

5

>>> b1

[7, 'com']

>>> del b1[1]

>>>

# імпортування модуля random # шість випадкових чисел # у діапазоні 0–51

# список # перетворення списку в рядок

виведення максимального # та мінімального елементів

# імпортування модуля random # виведення випадкового

на прикладах.

# список

# додавання елемента bmv

# у кінець списку # виведення списку

# список

# додавання елементів у список

# виведення списку

# список # додавання в 1 позицію списку

# елемента

# виведення списку

Метод remove(значення) — видаляє зі списку перший

елемент, який містить вказане значення

Метод clear() — видаляє зі списку всі елементи

Метод index(значення [, початок [,кінець]]) — повертає індекс елемента, який має вказане значення. За замовчуванням параметрів початок і кінець пошук елемента буде виконуватися від початку до кінця списку

Метод count(значення) — використовується для визначення кількості елементів зі вказаним значенням. Якщо елемент відсутній

у списку, повертається значення 0

Сортування елементів списку

реалізується за допомогою методу sort(), який має таку загальну структуру: sort([key = None][,reverse = False]).

Як бачимо, параметри є необов’язковими. За замовчуванням сортування виконується за зростанням значень елементів з урахуванням регістра. Для сортування

за зменшенням слід указати другий параметр таким: reverse=True:

Зазначимо, що метод sort()

перетворює старий список у новий

>>> a1 = [3, 5, "lad", 7, "lad"] >>> a1.remove ("lad"); a1

[3, 5, 7, 'lad'] # видалення елемента "lad" із

# позиції

>>> b1 = [5, 11, 8, 7, 20] >>> b1.clear(); b1 []

>>> b1 = [10, 7, 55, 16, 8, 20] >>> b1.index(16)

3 # виведення індексу елемента # зі значенням 16

>>> c1 = [7, 13, 14, 7, 7, 5]

>>> c1.count(7)

3 # виведення кількості елементів # зі значенням 7

>>> a1 = [17, 100, 20, 3, 8, 16, 25]

>>> a1.sort(reverse=True)

>>> a1

[100, 25, 20, 17, 16, 8, 3]

# список # сортування

>>> b1 = [39, 16, 21, 7, 23, 15]

>>> sorted(b1)

[7, 15, 16, 21, 23, 39]

>>> b1

[39, 16, 21, 7, 23, 15] #

Робота зі стеком у програму-

ванні деякою мірою нагадує

роботу зі стосом книжок: на

першу книжку кладеться друга, на другу — третя, на третю — четверта і так далі. Щоб

узяти першу книжку, покладену в стос, необхідно зняти спо-

чатку четверту, потім третю, далі другу і, нарешті, першу.

>>> stack = [2, 5, 7] # створення списку

>>> stack.append(12) # додавання у вершину стеку числа

>>> stack

[2, 5, 7, 12]

stack.pop()

[2, 5, 7]

stack.pop()

що додається до черги, опиняється в її кінці, а елемент, який видаляється із черги, перебуває на її початку. У мові Python для роботи з чергою також використовуються списки (приклад 4).

 4.1.4. Багатовимірні списки

У багатовимірних (або вкладених) списках кожна група

елементів списку береться у квадратні дужки. Двовимірний

список можна створити, наприклад, так:

>>> a1 = [[1, 2, 3], [4, "файл", "s"], [5, 6, 7]]

Але для наочності краще записувати так:

>>> a1 = [

[1, 2, 3], [4, "файл", "s"], [5, 6, 7]]

>>> a1

[[1, 2, 3], [4, 'файл', 's'], [5, 6, 7]]

Для звернення до елемента багатовимірного списку слід у квадратних дужках указати всі його індекси. Наприклад, звернутися до першого елемента першої групи двовимірного списку можна так:

>>> a1[1][1]

'файл'

Звертатися до всіх або частини елементів списку можна за допомогою операторів циклу for і while, а також функції range(), яка розглядалася раніше. Наприклад, за допомогою

оператора циклу for до них можна звернутися так: >>> b1 = ["файл", 5, 25, "ц"] >>> for і in b1: print (і, end=" ") # натиснути Enter

файл, 5, 25, ц

Приклад 4.

>>> zherg = ["Олег", "Олена", "Ліда"]

>>> zherg.append("Сашко")

>>> zherg.append("Ліза")

>>> zherg

['Олег', 'Олена', 'Ліда', 'Сашко', 'Ліза']

>>> zherg.pop(0)

'Олег'

>>> zherg

['Олена', 'Ліда', 'Сашко', 'Ліза']

Приклад 5.

Запитання для перевірки знань

1 Що називають списком?

2 Як створюється список?

3 Як можна замінити значення елемента списку?

4 Як здійснюється об’єднання списків?

5 Для чого призначена функція list()?

6 Як перетворюється список у рядок?

7 Як можна отримати випадкові елементи з іншого списку?

8 Для чого призначений метод append()?

9 Поясніть сутність методу insert().

10 Для чого призначений метод remove()?

11 Поясніть, як виконується сортування елементів списку. Завдання

1 Дано список [13, 19, 11, 7, 18]. Вилучте

2

3

6

Кортеж у математиці — упорядкована та скінченна сукупність

елементів (нескінченний кортеж називається сімейством).

Кількість елементів у кортежі визначає його довжину. Наприклад, кортеж із двох елементів (тобто довжини 2) називають

двійкою, із трьох елементів — трійкою і т. д. Кортеж із n елементів називають n-кою.

Діапазони підтримують доступ до елемента за його індексом, отримання зрізу, перевірку на входження і невходження, функції len(), max(), min(), методи index() і count().

у випадковому порядку.

мовчуванням значення параметра початок

колекція унікальних (тих, що не повторюються)

'т', 'м', 'н', 'о', 'р'}

8, 4, 8, 2, 4, 7])

{8, 2, 4, 5, 7}

set()

set()

Метод union() — призначений для об’єднання множин в одну

Метод add() — додає елемент до множини

Функція len() — визначає кількість елементів у множині

Метод a.update(b) — додає

елементи множини b

до множини a

Оператор in — перевіряє наяв-

ність елемента в множині.

Повертає значення True, якщо множина містить елемент, інакше — значення False

Оператор перевірки на рівність (==) — повертає значення True, якщо множини рівні, інакше — значення False

Метод discard(елемент) —

видаляє з множини елемент, якщо його значення міститься в множині

Метод remove() — видаляє

елемент зі множини та повертає KeyError, якщо такого елемента не існує

>>> a = set([3, 5, 7]) >>> a.union(set([7, 9, 11]))

{3, 5, 7, 9, 11}

>>> b = set([1, 2, 3])

>>> b.add(4) >>> b

{1, 2, 3, 4}

>>> len(set([4, 5, 7, 9, 10]))

множина а

# множина b # додавання у множину b значення 4 # виведення множини

5 # визначення кількості елементів

>>> a = set([1, 2])

>>> a.update(set([5, 6, 7]))

>>> a

{1, 2, 5, 6, 7}

>>> a = set([1, 2, 3, 4, 5])

>>> 3 in a, 6 in a

(True, False)

>>> set([1, 2, 3]) == set([3, 4, 5]) False

>>> a = set([1, 2, 3, 4, 5])

>>> a.discard(2)

>>> a {1, 3, 4, 5}

>>>> a = set([0, 1, 4, 81] >>>> remove(6) Keyerror

# множина а

# множина а

# перевірка наявності в множині

# чисел 3 і 6

# перевірка на рівність двох

# множина а

# видалення елемента

2 # виведення

# множина а # видалення елемента зі значенням 6 # такого елемента не існує

Мова Python підтримує також генератор множин, синтаксис якого схожий на синтаксис генератора списку, але вираз

Ключем може бути будь-який

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

змінювати. Словники не є по-

слідовностями, тому такі за-

гальні операції, як отримання

зрізу, конкатенації та інші вони не підтримують.

Хеш-таблиця — структура даних, яка реалізує інтерфейс

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

за допомогою індексу, а за допомогою ключа.

Для зручності можна уявити словник як невпорядковану множину пар виду ключ і значення. Пари розділяються комами, весь словник перебуває у фігурних {} дужках.

Словники можна створювати різними способами.

• Використати функцію dict(). Ця функція має чотири формати. Нижче наведено два основні формати:

1) dict (ключ1=значення1, …, ключN=значенняN):

>>> a1 = dict(a2=5, a3=7, a4=8) #

>>> a1

{'a4': 8, 'a3': 7, 'a2': 5}

2) dict (словник) :

>>> b1 = dict({"b2": 5, "b3": 7, "b4": 8})

>>> b1

{'b3': 7, 'b2': 5, 'b4': 8}

• Указати всі елементи словника всередині фігурних дужок:

>>> a1 = {"a2": 5, "a3": 7, "a4": 8}

a1

{'a4': 8, 'a3': 7, 'a2': 5}

Цей спосіб застосовується найчастіше. Щоб створити порожній словник, можна використати функцію

час

a1 = ["m", "n"]

a2 = [3, 6]

list(zip(a1, a2))

[('m', 3), ('n', 6)]

>>> a3 = dict(zip(a1, a2))

a3

{'n': 6, 'm': 3}

Щоб звернутися до елемента словника, потрібно вказати

його ключ (число, рядок або

кортеж) у квадратних дужках.

Якщо елемент зі вказаним

ключем у словнику відсутній, генерується виняток KeyError

Перевірити наявність ключа у словнику можна за

допомогою оператора in.

Якщо ключ у словнику є, генерується значення True, інакше — False

Метод get(ключ) повертає

значення, яке відповідає

ключу. Якщо ключ відсутній, повертається значення None

Змінити елемент словника або

додати новий елемент можна за допомогою його ключа

>>> a = {2: "файл", "n": "пам’ять", (1, 3): "процесор"}

>>> a[2], a["n"], a[(1, 3)] ('файл', 'пам’ять', 'процесор')

# словник

# звернення до елементів словника

За допомогою функції len()

у словнику можна визначити

кількість ключів

За допомогою оператора del можна видалити елемент зі

словника, вказавши його

ключ у квадратних дужках

Метод discard (елемент) вида-

ляє з множини елемент, якщо

його значення міститься в

множині

Метод keys() повертає об’єкт із

ключами словника; його можна

циклу for.

>>> a = {1: "as", "kl": 5} >>> "kl" in a True

# словник

# перевірка наявності у словнику ключа kl

>>> a = {"p": 21, 37: "байт", "sk": "біт"}

>>> a.get("p"), a.get("sk"), a.get(38) (21, "біт", None)

>>> a = {"b": 25, "c": 100} >>> a["b"] = 300

>>> a[2] = "astra" >>> a {2:'astra', 'c': 100, 'b': 300}

>>> a = {1: "один", 2: "два", 3: "три"}

>>> len (a)

3

>>> a = {"sd": "система", "sf": "принтер", "sh": 25}

>>> del a["sf"]

>>> a

{'sd': 'система', 'sh': 25}

>>> a = set([1, 2, 3, 4, 5])

>>> a.discard(2)

>>> a

{1, 3, 4, 5}

>>> a = {"x":1, "y":2, "z":3}

>>> for i in a.keys(): print("({0} : {1})". format(i, a[i]), end=" ")

(y:2) (z:3) (x:1)

# словник

# повернення значень

# словник а

# зміна значення, що

"b"

# додавання нового елемента # виведення оновленого словника

# словник а

# визначення кількості ключів у словнику

# словник а

# видалення елемента з ключем sf

# виведення нового словника

Метод values() повертає об’єкт dict_values, який містить усі значення словника

Метод pop(ключ [, значення за

замовчуванням]) вилучає зі словника елемент зі вказаним

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

виняток KeyError

Приклад 2.

>>> x = ["a", "b", "c"]

>>> values = [5, 6, 7]

>>> {m: n for (m, n) in zip(x, values)}

{'c': 7, 'a': 5, 'b': 6}

>>> x = {1:"a", 2:"b"}

>>> x.update({3:"c", 4:"d"})

>>> x {1: 'a', 2: 'b', 3: 'c', 4: 'd'}

>>> x = {"a": 1, "b": 2}

>>> x.values()

dict_values([1, 2])

>>> list(x.values())

[1, 2]

>>> x = {"a": 5, "b": 6, "c": 7} >>> x.pop("b"), x.pop("d", 8)

(6, 8) >>> x {'c': 7, 'a': 5}

# об’єкт dict_values ()

словника

Для розв’язування математичних

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

У мові Python масиви визначено в модулі array, який міс-

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

Таким чином користувачу не потрібно розробляти масиви, слід просто знати, як їх використовувати. Далі розглянемо

 4.4.1. Одновимірні

Чи можна назвати перелік навчальних

Індексами

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

5 (це можливо лише у випадку, коли елемент із цим індексом

1

2

3

Завдання для самостійного виконання

1 Створіть масив, елементами якого є рядки: 'звук', 'колонка', 'кодування', 'модель'. Виведіть масив на екран.

2 Створіть масив, елементами якого є цілі числа: 21, 40, 53, 17, 33, що вводяться з клавіатури. Виведіть масив на екран.

3 Створіть масив, елементами якого є 10 випадкових чисел у діапазоні

часто

трицями. Елементи двовимірного

дужки,

дратні дужки, які відокремлюються комою. Усередині рядка елементи також

Приклад 6.

>>> mas = [[34, 23 ,6 ,9], [35, 11, 54, 23],[15 ,40, 3, 44]] >>> mas [1][2] 54.

Із прикладами 7–9 можна ознайомитися на сайті interactive. ranok.com.ua.

Тут використано прямокутні масиви (кількість стовпців у

кожному рядку однакова). Деякі мови, наприклад Java, підтримують масиви з різною кількістю стовпців у рядках, — їх на-

ця. Потім до отриманої суми

ментів стовпців нульового

значень елементів рядків двовимірного масиву обчислюють так само, як

ться

1

рядки та стовпці двовимірного масиву?

2 Який тип можуть мати

3 Як здійснюється звернення до елементів двовимірного масиву?

4 Які операції

1

елемент першого рядка.

2 У двовимірному

[[5, 3, 12],[13, 7, 7], [21, 6, 8]]

4

3

[[34, 11, 23, 19], [18, 19, 37, 51],[77, 20, 35, 55]]

масиві [[77, 32, 23 ,3], [44, 21, 23, 9], [80, 5, 2, 4]] визначте рядок із

Вказівники мають фундаментальне значення в будь-якій мові програмування.

Вказівник — це тип даних, який використовується для зберігання адрес змінних і об’єктів.

Адреса містить номери комірок пам’яті або спеціальне зна-

чення (часто нульове), яке свідчить про те, що звернення до

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

Сутність і принципи використання вказівників у типізованих мовах програмування (Pascal, Java, C++ та ін.) майже ідентичні.

У мовах із динамічною типізацією даних, якою є мова Python, наявна суттєва відмінність — змінні не оголошуються, а вказівник присвоюється об’єктам. Вказівники не мають типу, тип

Інструкція_1

Інструкція_2

Інструкція_3

Інструкція_4

Інструкція_5

Інструкція_6

Інструкція_7

Інструкція_8

Інструкція_9

Інструкція_10

Інструкція_11

Звернення

Звернення

Функції_2

Звернення

про-

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

для її збереження. Окрім цього, зменшуються трудовитрати

програміста. Наприклад, якщо необхідно змінити інструкцію, то вона змінюється лише один раз у самій функції, а не в багатьох місцях основної програми. Користувацькі функції оголошуються (визначаються) за допомогою інструкції def, яка має таку структуру: def <ім’я функції> ([параметри]): <тіло функції> [return<результат>]

Як бачимо, існують функції з параметрами і без параметрів. Ім’я функції — це звичайний унікальний ідентифікатор латинськими буквами. Ім’я функції складається з малих символів.

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

нення до функцій. Параметри відокремлюються один від одного комою. Якщо функція не має параметрів, зазначаються лише порожні круглі дужки. Якщо тіло функції не містить інструкцій, слід розмістити оператор pass, який жодних дій не виконує. Наприклад:

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

Параметрам функцій можна передавати не лише

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

1

2

3

4

5

6

звернення до функції із основної програми.

7 Які переваги

Який,

Пригадаємо, що в розглянутих прикладах кількість параметрів в оголошенні функції і кількість аргументів у інструкції звернення була однаковою. Водночас значення першого аргументу передається першому параметру функції, значення другого аргументу — другому параметру. Наприклад, якщо оголошено функцію def sum(x, y): def sum(x, y): return x + y,

і виконується до неї звернення: sum(a, b), то значення аргу-

менту а передається параметру x, а значення b — параметру y. Такий варіант є основним (класичним), і застосовується в багатьох мовах програмування. Разом із тим, можливості

функцій мови Python значно ширші за можливості класичних

функцій.

У випадку 1) функція може бути реалізована за умови, що

значення деяким параметрам присвоєне в

функції.

Якщо оголошено функцію def sum(x, y=5): def sum(x, y=5): return x + y,

то до неї можна звернутися так: sum(a)

x набуде значення a, параметр y — значення 5. Параметри, яким присвоюються значення в

оголошення функції, називають необов’язковими. Необов’язкові параметри повинні розміщуватися після обов’язкових.

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

Мова Python реалізує анонімні функції, які ще

лямбда-функціями. Ці функції

1

2

3

4

1

a * b2 – 2 * a, якщо a > b і виразу a

ним обов’язковим та одним необов’язковим

параметрами.

2 Складіть програму з використанням однієї функції зі змінною кількістю

числення сум чисел 1, 3, 5, 7, 9 і 6, 8, 10.

3 Складіть програму з використанням анонімних функцій

значень виразів 3 / 7 + 5 * 8 / 3, 2 * x + x / y і (3 * x + 5) / (y – 2) для відомих значень x і y.

4 Функція має три параметри: обов’язковий,

5

2 + 1 =

3 + 2 =

5 + 3 =

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

ротному порядку вони виконуються.

Наприклад, якщо рекурсивна функція обчислює числа Фібоначчі, то запам’ятовуються всі дії f(n) = f(n–2) + f(n–1) до тих пір, поки не буде знайдене опорне значення, а потім у зворотному порядку виконується обчислення.

Отже, для обчислення рекурсивних

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

Пригадаємо, що рекурентне обчислення значення функції на кожному кроці

ньому кроці.

Уже відомий вам алгоритм

1) f(6) = f(5) + f(4); 2) f(5) = f(4) + f(3); 3) f(4) = f(3) + f(2); 4) f(3) = f(2) + f(1).

зображено на рис.

Опишемо порядок виконання програми. 1. В основній програмі уводяться числа x і n. Припустимо, що уведені значення x=2 і n=3. Після цього здійснюється звернення до функції st із параметрами st(2, 3). У результаті в стеку ви-

діляється перший блок пам’яті (вершина стеку)

й управління передається умовному оператору.

Оскільки на цьому етапі вираз n -= 0 набуває значення False, то виконується гілка else. Тут у виразі st(x, n–1)*x робиться спроба

st(2, 2), тобто виконується звернення до самої функції st із новими значеннями

st(2, 0). У стеку виділяється четвертий блок пам’яті, але виконується гілка then, а функція st набуває значення 1. У результаті функція st більше не викликається і здійснюється повернення в

5.

0), яке дорівнює одиниці, оскільки в стеку реалізується

6.

st(2, 3)

1 st(2, 3) = st(2, 2)*2

2 st(2, 2) = st(2, 1)*2

3 st(2, 1) = st(2, 0)*2

4 st(2, 0) = 1

Класичним варіантом рекурсивної функції є

обчислення факторіалу заданого числа n, яке виконується за формулою n! = n * (n–1)!, якщо n>0, і n! = 1, якщо n=0.

Програму обчислення факторіалу наведено на рис. 2.

st(2, 3) = 2*4 ( 8)

st(2, 2) = 2*2 (4)

st(2, 1) = 1*2 (2)

1

2

3

2

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

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

b.py): def funct_1(): y = 7.7 / 3.2 print(y)

Імпортування модуля реалізується інструкцією import <ім’я модуля>. За допомогою однієї інструкції import можна імпортувати кілька модулів, наприклад, імпортувати модулі math і random можна за допомогою інструкції: import math, random

Після імпортування модуля можна отримати доступ до його атрибутів, які відокремлюються від назви модуля крапкою, наприклад, math.pi:

>>> import math

>>> math.pi

3.141592653589793

Якщо атрибут не знайдено, генерується виняток AttributeError. Для того щоб цей виняток не генерувався, можна у функції getattr() указати значення за замовчуванням, наприклад:

>>> import math

>>> print(getattr (math, “ant”, “Відсутній”))

Відсутній

Перевірити наявність атрибута в модулі можна за допомогою функції hasattr(модуль, назва атрибута). Якщо атрибут існує, повертається значення True.

>>> import math

>>> hasattr(math, «pi»)

True

Інколи доцільно користуватися не іменем модуля, а його псевдонімом. Наприклад, псевдоніми доцільно застосовувати, якщо ім’я модуля довге. Але якщо оголошено псевдонім модуля, то після цього іменем модуля користуватися не можна. Псевдонім указується в інструкції імпортування модуля

>>> import math as p

>>> print(p.pi)

3.141592653589793

Приклад.

>>> from random import randint, uniform as un # імпортування двох функцій

>>> print(randint(2, 10)) # звернення до функції randint

3

>>> print(un(1, 9))

звернення до функції uniform через псевдонім 1.207729134588777

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

ловні файли програм, які не

передбачалося імпортувати до інших модулів. Але для фай-

лів, які планується імпортувати в інші, розширення .py слід

обов’язково вказувати.

(ООП).

6.1.Елементи

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

якими об’єктами

• наслідування;

• поліморфізм;

• інкапсуляція.

прикладах.

Для загального

Клас (Class) — об’єкт, що складається

і змінних (атрибутів), які описують цей об’єкт.

Метод (Method) — сукупність інструкцій мови опрацювання даних.

Змінна класу (Class variable) — звичайна змінна, що визначається всередині класу (а не всередині методів класу), яка є до-

ступною для всіх екземплярів цього класу.

Екземпляр класу (Instance) — окремий об’єкт класу.

Змінна екземпляра класу (Instance variable) — змінна, що визначена всередині

класу.

Використання принципів ООП у мові Python не є обов’язковим. Залежно від особливостей задачі, програму можна розробляти на основі принципів як процедурного програмування, так і ООП. Така унікальність мови дає змогу розробляти досить компактні програми, адже не для кожної задачі ОПП є оптимальним.

Гібридна мова поєднує властивості як процедурного, так і об’єктно-орієнтованого програмування. Саме до них належить мова Python.

Переваги ООП стають відчутними лише в

та маніпулювання

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

• об’єкти мови Python нагадують убудовані типи, які було описано раніше;

• програма складається з окремих, достатньо незалежних частин, що суттєво полегшує її розуміння й читання;

• нова програма може розроблятися не «з нуля», а шляхом адаптування вже наявного

6.2.Створення класів і об’єктів

Пригадайте, які елементи ООП ви вже використовували.

У мові Python реалізація принципів ООП практично зво-

диться до виконання виразу: <об’єкт>.<атрибут>. Цей вираз уже

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

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

пов’язаних об’єктів. У такому разі в процесі реалізації виразу <об’єкт>.<атрибут> інтерпретатор починає пошук зазначеного атрибута в дереві пов’язаних об’єктів у такому порядку: спочатку атрибут відшукується в цьому самому об’єкті,

крапкою. Наприклад, до змінної ask із методу класу

звернутися так: self.ask.

Структуру класу можна подати детальніше:

class <ім’я класу> ([суперклас_1, суперклас_2,…]): змінна = значення def ім’я методу (self,…): self.змінна = значення …

Необхідно чітко розуміти, що в результаті виконання ін-

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

допомогою інструкції:

<екземпляр класу>.<ім’я методу> ([параметри])

Приклад 1.

Для усвідомлення сутності ООП спочатку

цій програмі оголошено змінну (атрибут)

з іменем а і два екземпляри

predm і klas оголошені поза межами методів. Тому обидва об’єкти (ob1 і ob2) набувають властивості, які мають ці змінні, тобто інформатика і 8. А потім за допомогою методів ці властивості змінюються. У програмі метод func_1 має параметри self і a1, а метод func_2 — параметри self і a2. Ці методи виконують

Зважаючи на те, що в першій інструкції змінні викликаються з екземпляра ob1, а в другій інструкції

1

2

3

4

1

набуває значення «інформатика», а змінна a2 — «фізика». Створіть програму з двома об’єктами, але без методу, за допомогою якої з використанням першого об’єкта виводиться слово інформатика, а з використанням другого — фізика.

2 Змінна а1 набуває значення «байт». Створіть програму з двома об’єктами і функцією. Метод викликається спочатку з першого, потім

3

6.3.Конструктор

створення екземпляра ob1 класу K17_09 викликається конструктор, у результаті чого параметр self набуває значення екземпляра класу ob1, параметр а1 — значення Динамо, параметр а2 — значення Київ, параметр а3 — значення 7. Потім викликається функція func1 із параметром а3. У ній визначається, до якої групи потрапляє команда «Динамо» і назва цієї групи

запам’ятовується в змінній p3 екземпляра класу ob1. Далі виконуються аналогічні дії

2

Завдання для самостійного виконання

1 Створіть програму з конструктором, за допомогою якої із набору «Київ», « — столиця», «України» створюється повідомлення Київ — столиця України.

2 Створіть програму з конструктором і методом обчислення значення виразу (a2 + b2) / 2, якщо значення a і b уводяться з клавіатури.

3 Конструктор має такі значення параметрів: self, a1 = 3, a2 = 4. Створіть програму множення

значень параметрів конструктора, за умови, що він викликається — з першого об’єкта без аргументів,

5 і 6, а з третього

6.4.Наслідування

1

2

3

6

1

2

3

7. Поліформізм, перевизначення

методів, модулі користувача

7.1.Поліморфізм

Пригадайте, із якими принципами об’єктно-орієнтованого

програмування ви вже знайомі. Поясніть їх сутність.

Поліморфізм (від грец. πολύς — багато, µορφή — форма)

означає "багато форм". Кожна мова ООП має свої особливості

поліморфізму.

Розглянемо основні прояви поліморфізму в мові Python.

• Тип об’єктів визначає синтаксичний

• Перезавантаження операторів

Сутність перезавантаження операторів полягає в тому, що

за

допомогою спеціальних методів, які інколи називають ма-

гічними, одні й ті самі оператори виконують різні дії над

об’єктами. Ці методи, так само, як і метод __init__, на початку й наприкінці мають два знаки підкреслення. За аналогією з методом __init__, вони викликаються автоматично, коли

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

порядок виконання програми. 1. Після запуску програми створюється ек-

земпляр класу ob1. Викликається конструктор, і параметр а1 набуває значення 21; це значення присвоюється змінній p1 об’єкта ob1. Далі виконується інструкція ob1+15. Операція додавання (+) перехоплюється методом __add__ і за допомогою наступної операції виконується звичайна операція додавання двох чисел (числа 21 до числа 15).

2. Далі управління передається інструкції print (ob1), здійснюється перехоплення методом __str__, число 36 перетворюється у звичайний рядок і за допомогою інструкції print (ob1) виводиться на екран.

3. Створюється екземпляр класу ob2. Виконуються дії у тому самому порядку, як описано в пункті 1, але для значень 'Пере' і 'завантаження'.

4. Створюється екземпляр класу

1 Розробіть програму, у якій виконується оператор (+) над даними: 21.5, 4, 37 ; «Київ», «–21», а також оператор (*) над даними: 48, 5; «7», «Україна».

2 Розробіть програму з використанням методу __add__ додавання чисел 143.5 і 32.4, а також об’єднання рядків «ай» і «фон».

3 Дано масив чисел a[1], a[2], a[3], a[4], a[5]. Якщо перше число більше останнього, то в першому класі обчислюється добуток чисел масиву, інакше — в другому класі — їх сума.

4 Розробіть програму

5

в ієрархічній структурі класів, якщо

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

то він відшукується також у найближчому

Суперклас

Метод _4

Метод _1

Підклас_1

Метод _2

Звернення до методу_2

Звернення до методу_1

Підклас_2

Метод _3

Звернення до методу_3

Звернення до методу_4

Рис. 1. Варіант

Відсутній

Виконання

Виконання

Виконання

Відсутній

Відсутній

Виконання

методу

1

Рис. 1. Програма, побудована на основі композиційного підходу

Опишемо порядок виконання програми.

1. Після запуску програми виконується інструкція ob = Kl8_07 (30, 20), створюється об’єкт ob класу Kl8_07 і викликається його конструктор. У результаті аргумент 30 передається параметру x, а аргумент 20 — параметру y.

Обчислюється загальна площа аркуша, яка зберігається в змінній plzag цього об’єкта (self.plzag).

2. Управління передається інструкції ob.func1 (4, 6, 5), викликається метод func1 класу Kl8_07 і значення 4 передається параметру r1, значення 6 — параметру r2 і значення 5 — параметру a.

3. Далі створюється об’єкт p1 класу Kl8_07a (який, у свою чергу, є об’єктом класу Kl8_07), автоматично

self.p2 = Kl8_07b(r2), обчислюється

з радіусом r2, яка зберігається

plcolo об’єкта self.p2.

4. Виконується інструкція self.p3 = Kl8_07b (a). Викликається конструктор класу Kl8_07b, обчислюється площа трикутника, яка зберігається в змінній pltrik об’єкта self.p3. Далі в змінних self.k1 і self.k2 запам’ятовуються кількість кіл, відповідно, першого і другого типу.

5. Управління передається

1

2

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

2 У порожній басейн розміром l, p, h одночасно одна помпа починає закачувати воду в басейн продуктивністю v1 м3 на годину, а друга викачувати

7.4. Створення та використання модулів

користувача

імпортування файла розширення не вказується. Інструкція імпортування модуля має таку структуру: import <ім’я модуля> За замовчуванням інтерпретатор Python

модуля в

Приклад

розробити програму, яка є основною програмою, до якої

1

2

3

1

2

У мові Python існує понад 50 класів стандартних винятків. Так, виняток ValueError може з’явитися, коли в методі index() фрагмент, що виконується, не входить у рядок: >>>"принтер".index ("миша")

try :

<блок, у якому перехоплюється виняток> [except [<виняток 1> [as <об’єкт винятку>]]:

<блок, який виконується в разі виникнення винятку 1> …

[except [<виняток N> [as <об’єкт>]]:

<блок, який виконується в разі виникнення винятку N>]] [else:

<блок, який виконується, якщо виняток не виник>] [finally:

<блок, який виконується в будь-якому випадку>]

Інструкції, винятки яких необхідно перехоплювати, мають розміщуватися всередині блока try.

ка except вказується клас винятку,

Якщо уведене число y дорівнює нулю, то ділення на нуль

перехоплюється класом винятку ZeroDivisionError, виводиться

повідомлення ділення на 0. Після цього виконання програми триває й видається повідомлення програма завершена. Зміст варіанта виведення на екран у цьому разі

таким, як на рис. 4. Рис. 4. Варіант виконання програми

Отже, якщо в програмі передбачено опрацювання

Запитання для перевірки знань

1 Що називають винятком у програмі?

2 Які стандартні винятки можуть виникати?

3 Що повідомляється користувачу, коли виникає виняток?

4 За допомогою якої інструкції

ся винятки?

5 Яку структуру має блок try?

6 Для чого призначена інструкція raise?

Завдання для самостійного виконання

1 Генеруються два цілих випадкових числа в діапазоні 0–2. Перше число ділиться

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

2 Розробіть програму уведення двох чисел та їх додавання, якщо перше число більше другого, інакше — віднімання другого від першого. Зробіть помилку в записі оператора умовного переходу

су робить зручнішою роботу

програмою. Графічні об’єкти

на екрані, деякі

них потребують зовнішньої

наприклад клацання кнопки миші. Далі програма вико-

відповідну передбачувану

Якщо клацнути іншу кнопку — програма може виконувати іншу запрограмовану дію.

tkinter

і створюється графічний інтерфейс. Прикладами віджетів є кнопка, смуга прокручування, прапорець, перемикач та інші. Кожному об’єкту в бібліотеці відповідає свій клас. Напри-

Для створення графічного інтерфейсу користувача необхідно знати перелік об’єктів бібліотеки tkinter, їх призначення й можливості, порядок розміщення об’єктів у вікні та події, які можуть виникати під час взаємодії з ними. Саме в такій послідовності й розроблено цей підрозділ.

Опишемо алгоритм створення графічного інтерфейсу мо-

("Button_1".<func_1>).

ла — з’явиться результат

натиснемо кнопку Додавання й уведемо

числа. Можливий результат описаних взаємодій

опрацювання. Вікно для уведення даних

можна перемістити в інше місце екрана так, щоб ці вікна не перетиналися.

Натиснемо спочатку, наприклад, копку До-

давання й уведемо два числа — результат до-

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

Приклад 2.

На рис. 5 зображено код програми, яка реалізує ті самі функції, що

класу.

різниця між

1

2

3

4

ться введення з клавіатури трьох чисел. Після натиснення кнопки обчислюється середнє

2 Розробіть програму, за допомогою

3

Кнопки

Радіокнопки (перемикачі)

Мітки Однорядкове текстове поле

Прапорці

Рис. 1. Об’єкти бібліотеки tkinter

Загальна структура конструктора створення кнопки така: <змінна> = Button [(<параметр_1>,<параметр_2>,<параметр_3,…>)],

де параметр_1 (якщо він указаний) називають батьківським.

Цей параметр визначає посилання на об’єкт, у якому створюється кнопка.

Списки

Приклад 2.

За допомогою інструкції: lab = Label(root, text=“виконана функція func1”, font=“Arial 12”)

у головне вікно буде виведено 12 кеглем шрифту Arial повідомлення «виконана функція func1».

Приклад 3.

Створити однорядкове текстове поле можна за допомогою такої інструкції: ent = Entry(root, width=18, bd=5)

тут ent — ім’я змінної, із яким пов’язується текстове поле, bd — скорочення від borderwidth (ширина межі).

<змінна> = Label(root, <параметр_1 >, <параметр_2>,…) Змінна може мати будь-яке ім’я. Далі будемо використовувати ім’я lab. Параметри мають таку саму структуру, як і параметри кнопки (приклад 2).

• Однорядкове текстове поле використовується для введення тексту користувачем

• Багаторядкове текстове поле також

Приклад 4.

Створити багаторядкове текстове поле можна за допомогою інструкції:

tex = Text(root, width=30, font=“Arial 12”, wrap=Word)

Тут властивість wrap визначає, що слова не будуть розриватися в процесі перенесення тексту на новий рядок. За допомогою інструкції var = IntVar() створюється

віджета,

зміну значення відповідної змінної.

До таких класів належать: StringVar() — для опрацювання рядків; IntVar() — для опрацювання цілих чисел; DoubleVar() — для опрацювання дійсних чисел; BoolenVar() — для опрацювання булевих значень. Для створення радіокнопок викликається клас Radiobutton. Створити дві радіокнопки можна, наприклад, за допомогою таких інструкцій: var = IntVar(0) var.set(1)

rad1 = Radiobutton(root, text=‘Перша’, variable=var, value=1)

rad2 = Radiobutton(root, text=‘Друга’,variable=var, value=2)

або кілька пунктів залежно від значення параметра selectmode. Для створення списку викликається клас Listbox. Розглянемо такий фрагмент інструкцій: a = ['кнопка', 'мітка', 'прапорець', 'перемикач'] lis = Listbox(root, selectmode=SINGLE, height=3) for i in a: lis.insert(END, i)

За допомогою першої інструкції оголошується тип даних список з іменем а. Він містить чотири рядки. За допомогою другої інструкції створюється об’єкт-список, який пов’язаний зі змінною lis. Після створення об’єкта-списку він є порожнім. Заповнюється список значеннями за допомогою методу insert в операторі циклу. Значення SINGLE параметра selectmode створює можливість вибрати з чотирьох виведених у список рядків лише один.

Приклад 5.

Створити два прапорці можна, наприклад, за допомогою таких інструкцій:

a1 = IntVar()

a2 = IntVar()

ch1 = Checkbutton(root, text="Перший", variable=a1, onvalue=1, offvalue=0)

ch2 = Checkbutton(root, text = "Другий", variable=a2, onvalue=2, offvalue=0)

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

ти об’єкт (список або текстове поле), для якого вона створюється. Для створення смуги прокручування викликається клас Scrollbar. Наприклад, створити вертикальну смугу прокручування для текстового поля (попередньо створеного) можна за допомогою інструкції: sc = Scrollbar(root, command=tx.yview)

Тут tx — змінна текстового поля, yview — вертикальне розташування смуги прокручування, параметр command зв’язує вертикальну смугу прокручування з текстовим полем tx. • Вікно верхнього рівня є дочірнім головного вікна й найчастіше застосовується для групування об’єктів

top = Toplevel(root, relief=SUNKEN, width=200, height=100, bd=15, bg=“lightblue”)

Приклад

1

2

3

4

5

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

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

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

8.3.Опрацювання

6

7

смуги прокручування.

9 Які вікна належать до верхнього

4 Розробіть програму, за допомогою якої у головному вікні розміщується кнопка, два прапорці та об’єкт-список. Після натиснення кнопки в об’єкт-список виводяться рядки: Черкаси, Чернігів,

Раніше вже було описано склад, призначення й технологію розміщення об’єктів бібліотеки tkinter у вікнах. Перейдемо до розгляду методики використання об’єктів графічного інтерфейсу для управління програмою. Описаний склад

об’єктів графічного інтерфейсу мови Python фактично є стандартом для багатьох мов ООП. Разом

Приклад 1.

Натиснення клавіші Enter позначається так: <Return>, а клавіші пробіл — <space>.

Натиснення клавіш Ctrl+Shift

позначається так: "<Control-Shift>",

а тиснення клавіш Ctrl+z так: "<Control-z>".

що для опрацювання тієї чи іншої події попередньо необхідно

віджет, над яким виконується діяння, саму подію і функцію, яка повинна опрацьовувати

зв’язування реалізується спеціальними методами, наприклад, методом bind, який нами вже використовувався в програмі.

Розглянемо опрацювання подій на прикладах.

Приклад 3. Банкомат функціонує в спрощеному режимі:

тиснути кнопку Enter. Якщо уведено

(1234),

різних об’єктів, подій і методів. Один із варіантів програми зображено на рис. 3. Після запуску програми в головному вікні висвітиться мітка lb1 із написом ПІН-код і порожній однорядковий текстовий рядок ent для введення ПІН-коду. Після введення ПІН-коду слід на-

1

2

3

1

2

3

8.4. Меню

Для розміщення в головному меню пункту меню використовується метод add_cascade. Наприклад, щоб розмістити пункт меню File у головному вікні, слід виконати команду: <змінна-посилання на головне вікно>.add_cascade(label=»File», menu=<змінна-посилання на основне меню>) Для додавання підпункту (команди) до пункту меню використовується метод add_command(). Наприклад, щоб розмістити в пункті меню File команду Close, слід виконати команду: <змінна-посилання на основне меню>.add_command(label=«Close»)

Приклад 2. На рис. 3 зображено програму, за допомогою якої виконуються такі дії. Після запуску програми на екрані з’явиться вікно з пунктами меню File і Help. Якщо після цього у відкритому меню File клацнути пункт New, то відбудеться звернення до функції func1. У результаті на екрані відкриється ще одне порожнє вікно.

Якщо клацнути пункт Exit, програма припинить виконання й

1 Який метод використовується для створення меню?

2 Для чого призначений метод add_command()?

3 Наведіть приклад команди створення пункту меню Edit.

5 Як зв’язуються підпункти меню з відповідни-

1 Розробіть програму, за допомогою якої у головному вікні створюється меню Help, що містить підпункти Adoub IDLE, IDLE HELP, Python Docs і Turtle Demo.

2 Розробіть програму, за допомогою якої у головному вікні створюється меню Options, що містить підпункти Configure IDLE та Configure Extensions, а також пункт меню Windows.

3 Розробіть програму, за допомогою якої у головному вікні створюється меню з пунктом Edit і його підпунктами Gut і Copy, а також

вікна

пункт меню Debug із підпунктом Configure IDLE.

4 Розробіть програму, за допомогою якої створюється меню з пунктами File і Help. Пункт File містить підпункти New і Exit. Виконання команди New викликає відкриття ще одного вікна,

Exit

5 Розробіть програму,

типи

Вікно для відкриття файлів створюють

askopenfilename(),

Приклад 1. Розробимо програму, за допомогою якої у головному вікні створюється багаторядкове

Розглянемо ще один тип діалогових вікон, які призначені для попередження користувача про можливі наслідки подальшого виконання програми й отримання від нього відповіді типу «Так» або «Ні». Такий тип діалогових

в модулі tkinter.messagebox. Тому на початку програми необхідно імпортувати цей модуль.

1

2

3

1

2

8.6.Графічні примітиви об’єкта Canvas

Графічні об’єкти будь-якої складності

графічних об’єктів?

Об’єкт Canvas (полотно) — це віджет бібліотеки tkinter, на якому можуть бути розміщені інші віджети: геометричні фігури, малюнки, фотозображення тощо.

Властивості об’єктів, які розміщено на полотні, можна змінювати та переміщувати. Створення полотна в головному вікні виконується за допомогою інструкції: <змінна> = Canvas(root, параметри)

Параметрами можуть бути розміри полотна (у пікселях), колір заливки й ін. Canvas має систему координат, початок яких розташовується в лівому верхньому куті полотна. Першою завжди вказується координата x, а другою — координата y. Геометричні фігури, що розміщуються на полотні, називають графічними примітивами. Для кожного примітива існує відповідний метод створення: Метод Структура

Метод створення ліній — create_line()

Приклад 1. Інструкцією xol = Canvas (root, width=350, height=450) створюється полотно шириною 350 та висотою 450 пікселів із посиланням на змінну xol.

Має таку загальну структуру: <змінна-посилання на полотно>.create_line(кординати початку і кінця лінії [,інші параметри])

Метод створення прямокутника — create_rectangle() Загальна структура інструкції створення прямокутника така: <змінна посилання на полотно>.create_rectangle(координати верхнього лівого кута, координати правого нижнього кута [,інші параметри])

Метод створення багатокутника — create_polygon()

Метод створення еліпса — create_oval()

Структура інструкції створення багатокутника така:

<змінна посилання на полотно>.create_polygon(координати вершин [,інші параметри])

Загальна структура інструкції створення еліпса така: <змінна посилання на полотно>.create_oval(координати верхнього лівого кута й координати правого нижнього

так: kolo = cnv.create_oval([160,10], [120, 60], fill="yellow")

має унікальні ідентифікатори, тому властивості кожного з них

незалежно один від одного. Але інколи в процесі

виконання програми доцільно одночасно змінити ту саму

властивість кількох об’єктів.

У мові Python це можна зробити за допомогою тегів, які мають ім’я

об’єктам. Звернення до такого тега дає змогу змінити

cnv.move(kolo, 0, 40)

з іменем

на 40 пікселів. • Метод itemconfig() змінює властивості, перелічені в методі. Структура інструкції використання цього методу трохи відрізняється від інструкції застосування методу move(). Наприклад, за допомогою інструкції cnv

3

світ споживання. Головна ідея цієї моделі — об’єднати

і розрізнену пропозицію, використовуючи принципи бартеру й оренди. Концепція проявляється

глобальні онлайн­сервіси (рис. 1):

• Uber (мобільний застосунок для пошуку,

• BlaBlaCar (платформа для

• Airbnb (онлайн­сервіс

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

комплекс апаратних

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

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

• створення глобального інформаційного

безпечує

1

2

3

(сер. XVI ст.)

(кін. XIX ст.)

4

2.2. Навчання в Інтернеті

в будь­якому куточку світу. Усе більшою популярністю користуються відкриті

курси провідних університетів світу, розміщені на платформах Coursera, Udacity, ЕdX та ін. (див. рисунок). На Всесвітньо­

му економічному форумі в Давосі (2018 рік) зазначалося, що

онлайн­освіта змінює світ. Сoursera — проект у галузі масової онлайн­освіти, який

засновано у квітні 2012 року професорами інформатики Стенфордського університету Ендрю Нґ та Дафною Коллер. Наразі Сoursera має 100 університетів­партнерів, в тому числі 33 університети США та близько 5 млн користувачів. Сoursera пропонує близько 500 курсів за освітніми категоріями, що охоплюють гуманітарні науки, біологію, медицину, соціальні науки, математику, бізнес, економіку та фінанси, комп’ютерні науки та багато інших.

Курси на Coursera включають відеолекції з субтитрами, конспекти лекцій, домашні завдання, тести, підсумкові іспити; всі завдання мають бути виконані до певної дати, існує «форум» для обміну думками. За умови успішного виконання проміж­

них завдань і заключного іспиту

Udacity — комерційна освітня організація, заснована професором комп’ютерних наук Стенфордського університету Се­

бастьяном Траном.

Udacity пропонує масові відкриті онлайн­курси, орієнтуючись насамперед на «професійні курси для професіоналів», присвячені переважно комп’ютерним наукам, фізиці та мате­

матиці. Головна ідея проекту — сприяння подальшому працевлаштуванню слухачів. В Udacity за допомогою відеозв’язку (Office hours) студенти можуть протягом тижня поставити питання авторам курсів. Фінальна оцінка складається з оцінки за іспити й ураховує результати виконаних

Сервіс EdEraBooks — це соціальний проект інтерактивної освітньої літератури зі вбудованими відео, автоматизованими тестами й можливістю

коментувати кожну сторінку.

Проект незамінний для тих, хто хоче добре підготуватися до складання ЗНО.

викладачам,

На платформі розміщено цикл курсів для всіх, хто хоче підготуватися до успішного складання ЗНО та ДПА

ської мови та літератури, історії України й математики.

1

2

3

4

6 Які, на вашу думку, курси

має на меті

виявити можливі захворювання і запобігти їм на ранній ста­

дії. Активно використовуються біотехнології, що допомагають у розробці ліків і створенні тканин і органів для пересаджу­

вання. З’являться нові професії: IT­медик, оператор медичних роботів, молекулярний дієтолог та ін.

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

використовуються інструменти навчання із застосуванням ІТ: онлайн­курси, симулятори, тренажери, ігрові онлайн­світи. Це дає змогу учням розвивати вміння працювати з інформацією.

Уже існують такі професії, як тьютор, координатор освітньої онлайн­платформи, ментор стартапів та ін.

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

• Крос­функціональність — найбільше цінуються фахівці, які працюють «на стику» професій. Багато компаній прагнуть сформувати команди професіоналів, що володіють знаннями відразу в кількох галузях.

• Мобільність — експерти стверджують, що нині часта зміна місця роботи й навіть сфери діяльності є нормою. Американські дослідники припускають, що незабаром людина до 38 років зможе освоїти до 10–14

професій.

• Універсальність — зростатиме попит на фахівців, які володіють кількома іноземними мовами, знають основи менеджменту, маркетингу та фінансів та вміють працю­

вати з Big Data — технологією опрацювання великих обсягів даних.

• Уміння працювати в команді — важливо

Мовна

Грамотність

Культурна

обізнаність та самовираження

Підприємницька

Суспільна

фізичними можливостями та вадами зору.

органайзер

онлайн-інструментів (рис. 3):

та події, засіб управління часом; • тайм­трекінг — інструмент

(http://www.yast.com/, http:// www.rememberthemilk.com/);

(https://www. google.com/calendar/) (рис. 4–6).

Більшість помічників можуть

програвати музику, читати новини з кількох джерел, надавати інформацію про погоду, спорт, кіно, маршрути, місцеві компанії. Можуть підказати, що подивитися по телевізору, взаємодіяти з пристроями «розумного дому», кількість яких із року в рік зростає.

Рис. 7. Логотипи онлайн-сервісів для віртуальних дошок

колажі й ін.) індивідуально або з командою. Наведемо приклад таких сервісів (рис. 7).

• Twiddla (http://www.twiddla.com) — онлайн­дошка для сучасного класу, інструмент для співпраці в реальному часі. Простий у

завантажень, розширених розкладів. Єдина

комп’ютер

• SpiderScribe (http://www.spiderscribe.net/)

• Lino (http://linoit.com) та RealtimeBoard (http://realtimeboard.com) — віртуальні

роботи.

Запитання

1 Наведіть приклади

2

3 Які інструменти використовуються під час планування колективної роботи?

4 Що означає VDA? Які найвідоміші VDA ви можете назвати?

5 Знайдіть відомості

порівняльний аналіз найпопулярніших таймтрекерів.

6 Чи користуєтеся ви онлайн-органайзерами? Якщо так, то якими?

Основними завданнями електронного врядування є:

• забезпечення прав громадян на

критої державної інформації;

• залучення громадян до участі в державних справах;

• удосконалення технології державного управління;

• подолання інформаційної нерівності.

Функціонування систем електронного врядування здійснюється на основі певних принципів. Це єдиноразова реєстрація документів, паралельне виконання різних

скорочення руху документів, безперервність руху

із

державної влади.

Електронне врядування не замінює

функцій:

• забезпечення доступності

підвищення якості надання громадянам державних послуг, спрощення цих процедур і скорочення бюджетних витрат;

• надійний контроль за діяльністю державних органів виконавчої влади і підвищення якості управлінських та адміністративних процесів;

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

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

та Державний земельний

кадастр України.

Нині існують різні види електронного

(е­урядування) (рис. 3).

Електронний уряд

G2C, уряд — громадянам

Інформаційне суспільство

Держава

G2E, уряд — службовцям

G2G, уряд — уряду

G2В, уряд — бізнесу

Електронна комерція

Суспільство Бізнес

Рис. 3. Простір електронної взаємодії

• Уряд — громадянам (G2C, government to citizens). Цей вид скорочує для громадян час очікування в чергах за

довідками та формами, їх фінансові витрати, а також бюджетні витрати на ці процедури.

• Уряд — службовцям (G2E, government to employees). Автоматизуються процеси спів­

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

• Уряд — бізнесу (government to business).

Автоматизуються процеси податкових ви­

плат, проведення електронних тендерів на

постачання продукції, послуг, виконання

проектних робіт тощо.

• Уряд — уряду (government to government).

Автоматизуються процеси документообігу

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

Сучасні державні сайти містять

1

2

3

Тест Тюрінга — емпіричний тест, ідею якого описано так: «Людина взаємодіє з одним

комп’ютером і однією людиною. На підставі відповідей вона має визначити, із ким розмовляє: з людиною чи

комп’ютерною програмою. Завдання комп’ютерної програми — ввести людину в оману, змусивши зробити неправильний вибір».

Наразі людство вже досить успішно застосовує вузький штучний інтелект.

У відкритому доступі є курс DeepLearning від Google: https: //www.udacity.com/course/deeplearning--ud730.

людиною. Ця

назву «тест Тюрінга». Можна виділити такі основні

(ANI, Artificial Narrow

виконувати ті самі завдання, що й

дина: обґрунтовувати,

Наразі людство досить успішно застосовує

вузький штучний інтелект.

1. Google Deep Mind продемонструвала штуч­

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

2. Механізм рекомендацій забезпечує Amazon 35 % продажів.

3. Алгоритм Brain, який використовує YouTube для рекомендації контенту, забезпечує перегляд 70 % відео з числа усіх, які переглядаються на сайті.

4. Японська страхова компанія Fukoku Mutual

Life Insurance уклала контракт із IBM, в резуль­

таті якого замість 34 співробітників система

IBM Watson Explorer AI буде переглядати десятки тисяч медичних сертифікатів для визначення умов страхування клієнтів. Це підвищить про­

дуктивність на 30 % та окупиться за 2 роки.

5. Інженери Microsoft спільно з ученими з ICRISAT застосовують штучний інтелект, щоб визначати оптимальний час посіву агрокультур в Індії. Застосунок, що використовує Microsoft Cortana Intelligence Suite, також стежить за станом ґрунту та підбирає необхідні добрива. Це дало змогу підвищити врожайність на 30 %.

6. У китайському місті Ченду відкрився готель Smart LYZ, у якому всі без винятку

працівники мають штучний інтелект. Роботи

зустрічають туристів, проводять реєстрацію,

допомагають заселитися в номер. Найближчим

часом планується відкрити ще 50 роботизова­

них готелів. (Перший у світі готель із робота­

ми з’явився в Японії в 2015 році, проте там

зберігається значна частка участі людей.)

7. Компанія IBM розробила інтелектуальну

комп’ютерну систему Watson (на базі однойме­

ного суперкомп’ютера), що розуміє англійську мову й може відповідати на широке коло питань (рис. 1). Рис. 1. Суперкомп’ютер IBM Watson

8. Усе більшої

9.

вання глибокого

відслідковувати всі нові загрози у сфері кібербезпеки (а їх кількість, за даними низки джерел, досягла 75 000). Потрібен цифровий помічник, який сам би аналізував дані про уразливість, віруси, нові програмні інструменти тощо. Watson for Cyber Security засвоює інформацію, працює з даними, використовуючи інформацію про інтернет­загрози, які

IBMX-Force Exchange

1

2

3

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

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

• фізичні заходи (заборона на доступ стороннім особам, використання безконтактних карт);

• антивірусні програми, системи фільтрування електронної пошти;

• резервне копіювання даних на інші носії інформації. У деяких випадках застосовується шифрування даних

в електронній формі, а на рівні компаній і

анти-DDoS. Основна

безпеки.

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

Для убезпечення даних використовують такі технології.

IP Security (скорочено IPSec) — це комплект протоколів, що стосуються питань шифрування, аутентифікації та забезпечення захисту під час транспортування IP­пакетів.

Засоби IPSec використовують стандартні алгоритми (тобто математичні формули) шифрування й аутентифікації, які мають назву «перетворення».

Технологія IPSec і пов’язані з нею протоколи захисту (наприклад, IKE) відповідають відкритим стандартам, які підтримуються групою IETF (Internet Engineering Task Force проблемна група проектування Internet). IPSec діє на мережевому рівні, забезпечуючи захист і аутентифікацію пакетів IP, що пересилаються між пристроями (сторонами) IPSec — такими, як маршрутизатори, брандмауери, клієнти та концентратори тощо.

IKE (Internet Key Exchange — обмін Internet­ключами) — гібридний протокол, який забезпечує спеціальний сервіс

IPSec:

SSL (англ.

Virtual Private Network

Класифікація ІТ-ризиків

• Ризики, викликані діями персоналу (навмисні, ненавмисні)

• Технологічні ризики (збої, відмова в роботі устаткування)

• Ризики, пов’язані з використанням неліцензійного програмного забезпечення

Визначення ризиків

Нагляд, ви­

мірювання та контроль

Впрова­

дження

заходів

захисту

Óпðàвліннÿ ðèçèкàмè

збільшує кількість можливих ризиків. Таким чином, розв’язання та прогнозування проблем, пов’язаних із ІТ, стає одним із основних завдань.

Розглядаючи функціонування ІС, слід ураховувати,

Аналіз ризиків

Планування заходів захисту

Рис. 2. Оцінювання ризиків

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

3.1. Комп’ютерне моделювання об’єктів

Електронні таблиці

Пригадайте означення понять «модель» і «моделювання».

Із поняттями «модель» і «моделювання» людина знайо-

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

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

Створюючи модель, зазвичай мають на меті:

• показати вигляд об’єкта, якого реально ще не існує;

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

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

Модель (від латин. modulus — зразок) — спрощений аналог (образ) будь­якого об’єкта, процесу або явища, який використовується як замінник оригіналу, для вивчення його властивостей. Досліджуваний об’єкт, стосовно якого створюється модель, називають оригіналом, прототипом.

Властивості об’єкта, які відтворені в моделі, називають її параметрами. Залежно від мети дослідження вибраних параметрів для одного й того самого об’єкта,

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

моделі

на комп’ютері

І. Постановка задачі ІІ. Розроблення інформаційної

моделі

ІІІ. Вибір програмного засобу для реалізації моделі

IV. Безпосередня реалізація моделі

V. Аналіз отриманих результатів

VI. Прийняття відповідного рішення

Особливості MS Excel

• Велика кількість убудова­

них функцій (математич­

них, статистичних тощо, для розв’язування задач із багатьох галузей)

• Зрозумілий інтерфейс

• Довідкова система з при­

кладами використання можливостей (що дозволяє легко реалізувати попередньо розроблену математичну модель)

• Можливість вибору різних типів графіків і діаграм для візуалізації та аналізу даних

• висока швидкість виконання

виділити необхідний діапазон і відпустити кнопку.

Клітинки, розташовані не поруч, виділяють із використанням клавіші Ctrl. Але не для всіх функцій допустимі значення не з сусідніх клітинок. Формули в MS Excel можна копіювати в інші клітинки. Під час копіювання формул із відносними посиланнями зміняться клітинки з початковими значеннями, а з використанням абсолютних посилань клітинки не змінюються.

Приклад. Прикладами посилань різного типу є: К10 — відносне; $K$10 — абсолютне; $K10 і K$10 — змішані посилання. Змінити посилання дає змогу функціональна клавіша F4. Запитання

1

2

3

4

5

3.2.

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

Комп’ютерне моделювання ефективно використовується для розв’язування задач будь-якої галузі. Математичні моделі процесів, явищ реалізують за допомогою рівнянь або систем рівнянь, і в MS Excel є засоби їх розв’язування. Розглянемо можливості MS Excel, на прикладах.

• Розв’язування рівнянь методом

• Розв’язування оптимізаційних задач

методом Пошук рішення

Метод Підбір параметра зручний для складання математичної моделі з одним невідомим. Але часто в описі моделі є кілька невідомих. Залежно від того, якою моделлю описують розв’язання, використовують

. У математичній моделі розв’язування оптимізаційних за-

необхідно знайти значення параметрів, від яких залежить результат обчислення певної математичної функції (у MS Excel ця функція подається формулою). Шуканий

Оптимізувати

Змінюючи

$C$2:$C$4

Підлягає обмеженням:

$C$2 >= 50

$C$2:$C$4 = ціле

$C$3 >= 40

$C$4 <= 40

$C$5 = 300

1

2

1)

2)

3) зверніться до списку Аналіз «якщо»;

4) виберіть команду Підбір параметра —

відкриється однойменне вікно (рис. 8).

3 У вікні Підбір параметра в полі Встановити

в клітинці показано D4, оскільки ця клітинка була активною перед викликом метода. Якщо була активною інша клітинка, вказують клітинку з формулою моделі.

4 У поле Значення введіть значення з умови задачі — 540.

5 У поле Змінюючи значення клітинки

формули опрацювання масивів слід натиснути сполучення клавіш Ctrl +  Shift + Enter, щоб відбулося заповнення вихідного діапазону, який теж є масивом значень. У масиві після використання формул не можна видаляти елементи. Повернемося до його прикладу 1. Тут масивом буде діапазон вартості в умовних одиницях. Кожен елемент масиву необхідно помножити на курс валюти, у результаті теж отримаємо масив — прямокутний діапазон клітинок із результатами обчислень: скористаємося операцією множення значення на масив = Е3:G6 * $А$1 і підтвердимо операцію з масивом клавішами Ctrl + Shift + Enter. Операцією транспонування є заміна орієнтації початкового

масиву з вертикальної на горизонтальну і навпаки.

Наприклад, масив із 3 стовпців і 6 рядків

масиву: перший рядок масиву стає

другий рядок масиву стає

вертикальним. Це дуже корисна функція, оскільки

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

У MS Excel функція транспонування записується так: TRANSPOSE(масив) (ТРАНСП(масив)).

Для множення масивів користуються функцією MMULT(масив; масив) (МУМНОЖ(масив; масив)).

Щодо доцільності використання масивів розглянемо приклад 2 (приклад 2).

Операції з масивами:

• додавання (віднімання, мно­

Запитання для перевірки знань

1 Що у MS Excel називають масивом?

2 Як підтверджується введення у формулу функцій опрацювання масивів?

3 Що означає середнє рівнозважене значення в масиві? Як його обчислити?

4 Який метод можна використати для розв’язування

1 Підрахуйте результат

1)

2)

3) Перейдіть на стрічку ФОРМУЛИ.

функцію MMULT(МУМНОЖ).

4) У поле першого масиву введіть

зон И11:И14.

5) Підтвердьте сполученням клавіш Ctrl +  + Shift + Enter.

2 Застосуйте описаний алгоритм для розв’язування системи рівнянь

2x1+6x2+4x3=8, x1+5x2+4x3=8, x1+5x2+7x3=17.

1)

2) У діапазон D2:D4

2, 6, 4; 1, 5, 4; 1, 5, 7.

3)

=MDETERM(A2:C4) або (=МОПРЕД(A2:C4)).

4)

=MINVERSE(A2:C4) або (=МОБР(A2:C4)) і

те сполученням клавіш Ctrl + Shift + Enter.

5) Для отримання розв’язку

D6:D9;

=MMULT(A7:C9;D2:D4) або (=МУМНОЖ(A7:C9;D2:D4)).

6) підтвердьте сполученням клавіш CtrL + Shift + + Enter і отримайте результат (рис. 4).

3

Приклад 1.

Для дослідження

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

Мета статистики (від

стан справ/речей) — виявити особливі закономірності. Сьогодні статистика застосовується практично в усіх сферах — від моди, кулінарії, садівництва до астрономії, еко ­

номіки, медицини й ін.

висновків.

Для аналізування кількісних характеристик

перше, із отримання кількісних даних і, по

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

Розглянемо, які характеристики вибірки опрацьовуються в статистичному аналізі.

• Обсяг вибірки — кількість елементів у вибірці.

• Розмах вибірки — різниця між максимальним і

мальним значеннями елементів вибірки.

• Середнє арифметичне — частка від ділення суми усіх зна-

• Відносна частота — це відношення частоти до загальної кількості даних у вибірці.

• Стандартне відхилення (середньоквадратичне відхилення, СКВ) — показник розсіювання статистичних даних відносно середнього значення вибірки.

Розглянемо кожну характеристику на прикладі 2.

необхідно встановити зв’язок між ціною техніки

і вагою дітей тощо.

Основним у кореляційному аналізі є коефіцієнт кореляції, який може розраховуватися різними методами залежно

від класу задач. Діапазон його значень від –1 до 1.

Розрізняють додатну кореляцію: коли зміна значення одного показника підвищує значення іншого і,

: зменшує

1

2

3

4

31 24 =MODE.MOLT(B3:B17)=FREQUENCY(B3:B17;B3:B17) =D3/$D$20

42 24 =MODE.MOLT(B3:B17)=FREQUENCY(B3:B17;B3:B17) =D4/$D$20

53 23 =MODE.MOLT(B3:B17)=FREQUENCY(B3:B17;B3:B17) =D5/$D$20 64 27 =MODE.MOLT(B3:B17) =FREQUENCYB3:B17;B3:B17) =D6/$D$20

Оскільки найбільш поширені функції винесено окремо на стрічках Формули та Основне, останньою краще скористатись для обчислення значень функцій середнього арифметичного, максимуму та мінімуму (рис. 1).

Розглянемо, як використовувати функції статистичного аналізу в MS Excel.

Група Статистична міститься в групі Інші функції (рис. 2). Для

обчислення моди призначено дві функції: MODE.MULT(масив) або МОДА.НСК(масив) і MODE.SNGL(масив) або МОДА.ОДН(масив). Аргументами є масив даних, для якого й обчислюється мода.

Функція MODE.SNGL(масив) повертає одне значення. Її використовують для ряду

значеннями не повторюються.

Як видно з таблиці 2 у прикладу 1 температура 26 oС і

30 oС повторюється найчасті­

ше — по тричі. Функція MODE.

SNGL(МОДА.ОДН) поверне ре­

зультат 30, оскільки саме така

температура трапиться вперше

в запропонованому ряді значень. Але якщо ряд значень

впорядкувати за зростанням, то отримаємо результат 26.

У прикладі 1 для функції обчис­

лення моди виділили 5 кліти­

нок — знайдено 2 найбільші

зі значеннями, які по­

вторюються, тому в клітин­

ках будуть значення 30 і 26,

а в решті — #Н/Д.

Приклад 2.

деякого дослідження. Необхідно по­

рахувати, скільки є осіб, молодших

за 14 років скільки віком від 14 до

17 років, від 17 до 22, старших від

22 років. Початковими даними буде

діапазон із віком, а в клітинках ін­

тервалів — значення 14, 17, 22.

Отже, для отримання результату

потрібно мати чотири клітинки:

1 — для числа осіб, молодших за 14, або яким 14;

2 — для числа осіб віком від 14

до 17 включно;

3 — для числа осіб віком від 17 до

22 включно;

4 — для числа осіб, старших від 22.

або (

повертає

милки #Н/Д. Якщо дані введено в рядок (див. приклад 1), В3:Р3 — отримаємо горизонтальний ряд даних; наприклад якою застосовуємо функцію транспонування, отримаємо вертикальний — загальний вигляд обчислення моди буде такий: {=MODE.MULT(TRANSPOSE(масив))} або ({=МОДА.НСК(ТРАНСП(масив))}). Тут фігурні

даних і проставляються автоматично, якщо скористатися сполученням клавіш Cтrl + Shift + Enter. Для обчислення медіани потрібно

1

2

3

робіт, створених у XIX ст. Одна з них — карта походу військ Наполеона француза Жозефа Мінара (рис. 1; джерело: https:// pikabu.ru/story/pokhod_napoleona_v_rossiyu_ naglyadno_4192832). На реальну географічну

що

відомих битв. Товщина лінії визначає кількість військ (1 мм — 1 тис. воїнів), колір — напрямок руху: червоний — на Москву, чорний — повернення у Францію.

Поміркуємо,

У 1854 році Джон Сноу наніс на карту Лондона точки захворювання на холеру, навів статистику смертей у різних будинках, позначив міські джерела води. Так було виявлено колодязь, що був джерелом інфекції.

Приклад 2. За даними, наведеними в прикладі 2, с. 165, побудовано

Приклад 4.

Щороку Український центр оцінювання якості освіти оприлюднює статистичний аналіз результатів ЗНО. На рис.

(джерело: https://zno2017.monitoring.in.ua/).

або точкові діаграми.

За значеннями діаграм не завжди зручно

ти динаміку їх зміни, а лінія тренду

трендуу.

Приклад 6. На рис. 10 на

показано

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

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

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

Показники кількості популяції деяких тварин у замкненому просторі наближаються

ристуються логарифмічною

потім стабілізується).

Якщо швидкість зміни даних безупинно підвищується — користуються експоненціальною лінією тренду (наприклад: показники радіоактивного Вуглецю-14 залежно від віку органічного об’єкта).

Під час коливання значень даних застосовують

1

інфографіку?

2 Поясніть, у яких випадках зручно для

3

1

діаграму порівняння даних.

2 Заповніть діапазон А1:Е7 даними таблиці (рис. 12).

3 Додайте стовпець для обчислення щільності населення за формулою = Населення/Площа.

Пригадайте, як можна розв’язати рівняння графічно. Як по-

будувати графік у MS Excel? Як викликати контекстне меню діаграми?

Розглянемо можливості MS Excel для розв’язування задач із різних галузей. Пригадайте з уроків математики, як графічно

розв’язати систему рівнянь.

• Графічне розв’язування системи рівнянь

Приклад 1.

Розглянемо систему двох лінійних рівнянь:

наприклад, 3x + 2y = 5; 2 x – y = 8.

Якщо побудуємо графік кожного рівняння, то на їх перетині отримаємо розв’язок (рис. 1).

Перетворимо рівняння у вигляд, зручний для побудови графіків: y = (5 – 3x) : 2; y = 2x – 8 і виконаємо такі дії.

1. У стовпець А вводимо значення аргументів функцій (x).

2. У стовпцях В і С обчислюємо значення кожної функції відповідно.

3. Виділяємо діапазон зі значеннями у-ків.

4. Переходимо до стрічки ВСТАВЛЕННЯ, до групи Діаграми.

5. Вибираємо тип діаграми — Точкова.

6. Для правильної та зрозумілої побудови графіка переходимо до

7. Вибираємо команду

8. Заповнюємо поля для кожного ряду

зразком (рис. 2).

Як бачимо, графіки на рис. 1 перетинаються у точці (3; –2). Отже, розв’язком є

можливість перейти до додаткової стрічки ЗНАРЯДДЯ

Приклад 1

Змінемо друге рівняння в си-

стемі на 2x2 – y = 8 та самостійно

знайдіть розв’язання графічно.

Перевіремо правильність розв'язання за рис. 3. Поміркуємо, чому

ми отримали два розв’язки.

Рис.

рівнянь Хід міркувань під час

термінологією (у дужках термінологія MS Excel). • Відсоткова ставка (RATE (Ставка)) — відносна величина доходу за фіксований інтервал часу, вимірюється як у відсотках, так і числом, може нараховуватися як добова, місячна, річна тощо.

щоб

повернути її за визначений термін

• У разі

через визначений час; на який час слід вкласти гроші

Нарахування відсоткової ставки здійснюється по-різнму, тому розрізняють прості й складні відсотки.

• Під простим відсотком розуміють прибуток, який нараховується тільки на початкову суму за кожен певний проміжок часу (приклад 2).

• Складний відсоток — складна форма нарахування відсотків за вкладом.

• Прибуток нараховується на суму разом із нарахованими

тип] Як бачимо, усі величини

розрахо-

через значення величин з умови. Але повинна справджуватися рівність:

PMT * NPERF + PV + VF = 0

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

1 Як використати можливості MS Excel для розв’язування

2 Як у MS Excel обчислити

і вартість шпалер для обклеювання кімнати розмірами 4×6,5×2,7 м? Ширина рулонів 55 см, довжина — 10 м.

3 Яка різниця між простими та складними відсотками?

4 Назвіть параметри фінансових розрахунків.

5 Наведіть приклад фінансової

PV(0,20;5;–10 000 000;;0)

PV(0,20;5;–10 000 000;;1)

IVPer(6 %;–34 000;300 000) = 13

(імена) відповідних полів,

формат (шрифт, колір фону тощо) має відрізнятися від формату записів;

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

• не рекомендується на робочому аркуші розміщувати будь-що, крім списку, а робочий аркуш рекомендується

Приклад 1. Для проведення ІІІ етапу олімпіади з інформатики для 9–11 класів підготували список

учасників. Завдання для всіх учасників однакові. Список містить поля: ПІБ, Клас, Область, Населений пункт, Освітній заклад, Бали за кожну задачу, Підсумковий бал.

Прізвища в списку розташовані так, як учні розмістилися по приміщеннях. Журі впорядковує список за класами, потім — за балами: від більших до менших. Одразу видно, скільки учасників від кожної паралелі й скільки буде в них переможців (50 %). Далі в списку додадуть поле Диплом

дані

приховає, застосувавши фільтр.

У MS Еxcel команди фільтрування містяться

го поля можна

цього поля.

прапорця біля значення.

У зазначеному списку

умов

Для відфільтрованих значень можна вибрати команду сортування (рис. 1).

Розрізняють простий і розширений фільтри. За допомогою команди Фільтр здійснюється фільтрування тільки за умовою для одного поля. Такий фільтр називають простим. Відфільтрований

критеріїв, необхідно пам’ятати, що:

• діапазон умов має складатися

рядків (перший рядок — заголовки, які рекомендується просто копіювати із заголовків стовпців списку, наступні — відповідні критерії);

• якщо умови розташовуються в одному рядку, то це означає одночасність їх виконання, тобто вважається, що між ними поставлена логічна операція І;

• для істинності критерію, що складається з умов, розташованих у

Приклад 2.

Повернемося до прикладу 1. Потрібно переглянути, як виступають

учнів 10 класу з Полтавської області та учасники зі Львівської області.

На рис. 3 показано фрагмент таблиці. Над списком вставлено кілька рядків, у яких продубльовано заголовки полів і введено критерії. У вікні розширеного списку в поле

Вихідний діапазон вводимо діапазон

розміщення даних таблиці, а в Діапазон умов — С1:D3, налаштуємо перегляд відфільтрованого списку.

DAVEREGE

DCOUNT

DCOUNTA

DGET

DMAX

DMIN

DPRODUCT Рис. 4. Вікно вставлення функцій

Завдяки критеріям функції опрацьовують тільки ті записи, значення яких відповідають критеріям, а потім здійснюють операції зі вказаними полями.

Найчастіше використовують такі функції:

• DAVERAGE (база_даних; поле; критерій) або (ДСРЗНАЧ) (база_даних; поле; критерій) — повертає середнє значення полів записів БД, які задовольняють критерії.

• DCOUNT (база_даних; поле; критерій) або (БСЧЕТ) (база_ даних; поле; критерій) — повертає кількість числових комірок у полях записів БД, які відповідають заданому критерію.

• DMAX/DMIN (база_даних; поле; критерій) або (ДМАКС/ ДМІН) (база_даних; поле; критерій) — повертає максимальне/мінімальне значення поля серед записів БД, які задовольняють критерії.

• COUNTIF (інтервал; критерій) або (СЧЕТЕСЛИ) (інтервал; критерій) — повертає кількість значень в інтервалі, які відповідають критеріям.

1

3

сторінки (альбомний або книжковий)

• розмір сторінки

• поля відступів між текстом і краєм сторінки

• наявність або відсутність переносів тексту

• розташування тексту в одній або кількох колонках

• колонтитули (верхні, нижні)

Далі розглянемо докладніше властивості

соби їх налаштування.

Поля — це відстань, на якій розташовується

рінці від країв сторінки: указують значення (зазвичай

тиметрах) для верхнього, нижнього, лівого та

На рис. 3 подано типи полів. Перед тим як задати розміри полів, слід визначити, до яких сторінок встановлюються поля: для всіх чи тільки від поточної до останньої (список Застосувати).

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

Орієнтація — це спосіб розміщення сторінки. Розрізняють книжкову (висота сторінки більша за її ширину) й альбомну (висота сторінки менша за її ширину)

орієнтацію.

Досить часто виникає потреба у встановленні окремої

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

Такі сторінки краще подавати з альбомною орієнтацією.

Розмір — це висота й ширина сторінки документа. Аркуші паперу мають стандартизацію

Види розривів розділів

• наступна сторінка

• поточна сторінка

• парна сторінка

• непарна сторінка

Різні види розривів

4.2. Колонтитули

Як вставити нумерацію сторінок у документ Word?

У багатосторінкових текстових документах використовують колонтитули, у яких зазначають назву видання, назву розділів, номери сторінок та ін.

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

документа.

Відповідно до розміщення на сторінці розрізняють

колонтитули.

4

(рис. 3).

Рис. 2. Група

Рис. 3. Вікно Поле

Коди полів

Крок 1

Крок 2

• Ctrl + F9 — вставка по-

рожнього поля

• Alt + Shift + D — вставка

поля DATE

• Alt + Shift + T — вставка

поля TIME

• Alt + Shift + P — вставка

поля PAGE

• F9 — оновлення виділених полів

• Shift + F9 — перемикання коду поля на його значення й навпаки

• Alt + F9 — перемикання кодів усіх полів на їх значення й навпаки

Структура документа — це схема розміщення складових документа. Під час

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

тематичних розділів, із зазначенням режимів форматування його об’єктів необхідно зберегти у файлі з типом

Шаблон Word (документ буде мати розширення .dotx). Таким чином, кожен автор працюватиме

1

4.4. Використання полів злиття

Проаналізуємо приклад 1. Текст (запрошення для всіх батьків однакове) загальний, а звертання — персональне, на ім’я та по батькові. Кожній особі оформлювати персональне запрошення складно. Щоб автоматизувати цю працю, можна скористатися такою можливістю текстового процесора, як робота з полями злиття. Щоб не користуватися вікном

Приклад 2.

На рис. 1 наведено схему процесу злиття, а також типи документів, які можна в результаті отримати.

Як бачимо, на конвертах загальною

ознакою є зворотна адреса, унікальною —

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

однаковий текст, але звернення до одержувачів персональне. Такі документи можуть містити додатковий текст для деяких одержувачів.

Отже, у результаті злиття отримуємо складе-

1

2

3

Прикладами професійних про­

грамних засобів верстки є QuarkXPress, Adobe PageMaker, Adobe InDesign тощо.

Є й інші настільні видавничі си­

стеми: Page Plus, Avery DesignPro, Paraben’s Label Builder тощо.

До складу Microsoft Office вхо­

відома вам настільна видав­

нича система Microsoft Publisher, яка порівнянно з професійними системами має обмежену

кількість функцій. Натомість Microsoft Publisher містить інтуїтивно зрозумілий інтерфейс, зна­

чну кількість шаблонів і макетів

публікацій, що значно спрощує створення.

Завдяки полям у публікації ор ­

ганізовують автоматичне дода­

вання: вставлення оновлення

дати й часу; вставлення під­

писів до таблиць та малюнків; створення виносок, посилань

на частини текст у, інші об’єкти

з можливостями переходів до

них; закладок тощо.

відеотехніка). Програмними засобами є спеціальні

для верстання публікації. Процес створення публікації складається з кількох

вбудованих функцій, які викликаються командами меню: • у стрічковому меню ВСТАВЛЕННЯ в групі Посилання містяться команди: Закладка, Перехресне посилання; • у групі Текст (список Експрес­блоки) містяться команди: Автотекст, Властивість документа, Поле;

• у стрічковому меню ПОСИЛАННЯ

• Підписи до об’єктів документа

Приклад.

Заголовки

назву теми, заголовок таблиці,

або міститься таблиця, рисунок тощо. Зазвичай для посилання використовують текст «Див. розділ (сторінку, таблицю тощо)». Щоб посилання працювало правильно,

об’єктів посилання необхідно здійснити форматувати стандартними стилями (приклад). У разі запуску команди відкривається

значеними для

вже готового, є графічні редактори. Вони перетворюють комп’ютер на віртуальну майстерню досвідченого користувача — художника-ілюстратора. Редактори містять різноманітні інструменти, та віртуальну палітру, що дає змогу отримувати фарби будь-якого типу й кольору. Графічні

ження (рис. 2).

Сфера застосування: виготовлення ескізів, технічних рисунків, креслень, схем, створення рекламних проектів, оформлення проектно-конструкторської документації різного рівня складності, виконання завдань з архітектурного проектування, композиції, дизайну.

Фрактальна графіка базується на автоматичній генерації зображень шляхом математичних розрахунків.

В основу методу побудови зображень покладено принцип самоподібності — таку назву він отримав завдяки наслі-

дування елементами–«спадкоємцями» властивостей від так званих елементів–«батьків» (рис. 3).

Створення фрактальної композиції

вання, а формальний опис алгебраїчних

властивостей самоподібного елемента.

ACDSee Photo Editor, Corel PHOTO–PAINT, Microsoft Paint

(GNU Image Manipulation Program).

Adobe Illustrator, Macromedia FreeHand, Corel Draw, Inkscape, Corel Xara.

Створення малюнка у тривимірних графічних редакторах, наприклад, Maya, SoftImage, 3D ­Studio Max , LightWave3D, схоже на побудову з окремих цеглинок, як у конструкторі.

Найпотужнішим редактором є Maya, а найпопулярнішим 3D ­Studio Max.

Adobe Photoshop, Autodesk Maya , GIMP, Blender, Synfig, Visual GIF, Animator тощо.

5.2. Моделі відображення кольору

Поміркуйте, як формується кольорове зображення на екрані монітора. Пригадайте, що таке «піксель».

З курсу фізики вам відомо, що в призмі біле світло розкладається на кольори веселки (рис. 1). Їх сім (пригадайте приказку «Чарівниця Осінь Жар-птаха Закликає Бабин Сад Фарбувати»).

Рис. 1. Розкладання білого світла на кольори веселки

Розглянемо, як формується багатоколірне зображення на

екрані монітора чи аркуші паперу. Зображення на екрані ми

бачимо завдяки випромінюванню світла точками

світлу, що відбивається

ша. Для опису кольорів, утворюваних

або колірних координат.

Колірні моделі задають певні системи координат, які дозволяють однозначно визначити колір. Усі можливі значення кольорів, які можна описати моделлю, визначають її колірний простір. Є різні колірні моделі, основними є RGB, CMYK, Lab, HSB. Розглянемо ці моделі та принципи кодування кольору.

• У моделі RGB кольори отримають змішуванням трьох базових кольорів, це червоний, зелений і синій (англійською мовою Red, Green, Blue).

Модель використовується для зображення, яке ми бачимо у випромінюваному світлі. Вона називається адитивною, оскільки колір пікселя формується поєднанням зазначених кольорів (рис. 1). Кількість кольорів, які може мати піксель,

льору (приклади 1, 2).

CMY (Cyan, Magenta, Yellow)

світ­

ло (усі кольорові компоненти

моделі RGB відбились). Якщо

поверхня поглинула світло по ­

вністю, то ми бачимо її чор ­

ною. Якщо на папері бачимо

зображення жовтого кольору, то поглинувся синій колір мо ­

делі RGB, а зелений і червоний, що відбилися, у поєднанні дали

жовтий. Аналогічно: бачимо на

папері блакитний колір, то по ­

глинувся червоний моделі RGB, а якщо пурпуровий, то зелений.

пурпурової, жовтої та чорної фарби, що, власне, і становить палітру CMYK. На рис. 2 наведено модель RGB із зазначенням значень колірних складових та кольорів моделі CMYК. • Модель Lab базується на сприйнятті кольору людиною. На екрані монітора ми бачимо кольори в режимі випромінювання, а після друку на папері тих самих

цьому найяскравіші кольори

2.

максимальній яскравості кольору. Значення

зміни кольорів задаються числами від –128 до 127. • Модель HSB побудована на характеристиках кольору: колірному тоні, насиченості, яскравості (рис. 3).

Колірний тон (англ. Hue) — колір світла, який ми бачимо. Якщо усі кольори розмістити

для зберігання і представлення кольору при кодуванні одного пікселя растрової графіки або відеозображення.

Оскільки два кольори монохромної моделі можна закоду-

вати 1 бітом, то такі зображення займають зовсім невеликий обсяг пам’яті. Для кодування кольорів напівтонової моделі потрібно 8 бітів, або 1 байт, решта кольорів кодуються 24 бітами.

Оскільки в сучасних комп’ютерах при звертанні до відеопам’яті використовуються 32-бітна адресація пам’яті та 32-бітові шини даних, то до 24-бітного методу подання та зберігання зображення Truecolor додається 8-бітний альфа-канал, який задає прозорість зображення в деяких пікселях.

колір кодується 32 бітами, а реально має 2563 кольори.

1

2

3

4

TIFF (Tagged Image File Format), JPEG (Joint Photographic Experts Group), GIF (CompuServe Graphics Interchange Format), PNG (Portable Network Graphics), PDF (Portable Document Format) та

Растровий формат CALS (англ. Computer Aided Acquisition and Logistics Support) розроблено підрозділом міністерства оборони США для стандартизації обміну графічними даними в елек­

RAW (англ. Raw — си­

JPG (JPЕG) мають можливість стиснення зображення в десятки разів, при цьому ступінь стиснення користувач може вибирати самостійно. У поліграфії цей формат не використовується через істотні втрати якості зображення. У форматі JPG використовується алгоритм стиснення jpeg, більш придатний для

для передавання мережею Інтернет. Оскільки форматом JPG використовується принцип стиснення із

зберігати у JPG-форматі, щоб

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

тільки в режимі 256 кольорів. • Формат PNG розроблено на заміну формату GIF і використовується для розміщення зображень в Інтернеті. Порівняно з аналогічними GIF-файлами файли мають менший розмір, глибина кольору може бути 8-бітною (PNG-8) і 24-бітною (PNG-24). Файли формату PNG однаково відображають зображення незалежно від оснащення комп’ютера. • Формат PDF розроблено для виведення електронних публікацій на друк: файли містять інформацію про векторні зображення, шрифти, розбивку на сторінки, а документ на екрані ми бачимо в такому вигляді, який він матиме після друку.

• Графічні редактори мають внутрішні формати

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

вати й додаткові операції (наприклад, перейменування, зміна розмірів, додавання водяних знаків тощо).

1

2

3

4

Пьєр Безьє (на фото зліва) — французький інженер з компа­

нії «Рено», який у 1962 р. за­

пропонував типи кривих для проектування кузовів автомобілів. Незалежно від Безьє в 1959 р. криві відкрив Поль де Кастельжо з компанії «Сітроен», але його дослідження вважалися виробничою таєм­

ницею до кінця 1960 ­х.

Рис. 1. Типи вузлів: 1 — гладкий; 2 — кутовий.

ка тощо.

увімкнути режим редагування контуру, на ньому з’являються вузли, кожний з яких належить окремій складовій.

векторній графіці розглядають різні типи вузлів: кутові, прямі та гладкі (плавні, згладжені). Тип вузла

ється напрямними.

(випадок

петлю, створену обертанням

редакторі, убудованому в MS Word, створюють прості малюнки (для складних існують інші графічні редактори). Його використовують для ілюстрування тексту схемами, блок-схемами та іншими зображеннями, подібними до креслень. На рис. 2 наведено приклад створення

з утриманням клавіші Shift виділити кожний об’єкт і скористатися командою Групування. Надалі згруповане зображення

сприймається Word як одне ціле. За потреби групу можна розгрупувати однойменною

1

2

3

4

2

регулюють

розташування об’єктів малювання — об’єкти неначе притягуються до напрямних. Кількість напрямних

вач. Щоб не встановлювати багато

у

Після запуску Inkscape властивості

1

Inkscape?

2 Назвіть елементи вікна Inkscape.

3 Навіщо встановлюють

4

5

6

1

2

3

Графічний примітив — мінімальний графічний об’єкт, який

побудувати у вектор ­

редакторі, та сукупність яких складає векторний малюнок.

1

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

контурів за вузлами (F2)

3 Коректор (Shift+F2)

4 Масштаб перегляду (F3)

5 Вимірювання (М) 6 Прямокутник (Квадрат) (F4)

7 Паралелограм (Тривимірні об’єкти) (Shift + F4) 8 Е ліпс (Коло, Дуга) (F5)

контури. Можна здійснити і зворотню дію: виділити два вузли і скористатись інструментом з’єднання вузлів — два контури зіллються в один. Пригадайте, як користуватись інструментами

редакторів для створення геометричних фігур. У Inkscape для цього використовують інструменти Прямокутник, Паралелограм, Еліпс, Зірка, Спіраль. Форму і розмір об’єктів можна змінити переміщенням маркерів. На рис. 1, а відповідно зверху вниз наведено об’єкти, побудовані інструментами, розташованими на контекстній панелі:

• Прямокутник;

• Е ліпс (вибрали форму цілий еліпс);

• Зірка, Багатокутник (вибрали багатокутник із кількістю кутів 5);

• Зірка (Багатокутник) (вибрали зірку з тією самою кількістю кутів 5);

• Спіраль (вибрали кількість витків 3).

У процесі побудови на таких об’єктах з’являються круглі та квадратні маркери, які мають різне призначення. Круглі маркери змінюють форму об’єкта (у прямокутника змінюють вигляд кутів (отримують прямі чи скруглені кути), з еліпса створюють сектор чи дугу. Квадратні маркери змінюють розмір об’єкта. Перетягування квадратних маркерів зірки змінює її форму; у маркерів багатокутника і спіралі інше призначення. Багатокутник має тільки квадратний маркер для зміни розміру та обертання; маркером спіралі регулюється кількість її витків. На рис. 1, б, показано результати

маркерами: круглими (б) та

вважати його активним).

Вибрати (бу-

1

2

3

4

створення контурів.

1 Д ля зображення ламаної виберіть інстру­

ліній).

2 На контекстному меню по черзі вибирайте різні

малу

1) розмістіть

2) к лацніть ЛКМ для вибору початкової точ­

ки малювання;

3) перемістіть вказівник у місце, де має бути перетин лінії; клацніть ЛКМ — для ламаної;

4) продовжуйте, поки отримаєте щось

5) у кінцевій точці двічі клацніть ЛКМ.

3 Розмістіть вказівник

4

2)

гур. Розглянемо рис. 1. У верхньому рядку

об’єкти різного кольору, а в нижньому — такі самі об’єкти, з контурами різних кольорів, але без зафарбовування внутрішньої області.

Рис. 1. Графічне зображення, подане

Inkscape

, а фарбуван-

ня контура — штрихом. Щоб вибрати колір та тип зафарбовування,

потрібно скористатися вікном Заповнення та штрих (рис. 2), яке відкривається командою Заповнення та штрих у меню ОБ’ЄКТ. Як бачимо, у ньому є три вкладки: Заповне ­

ння, Колір, штриха, Стиль штриха. У вкладці Заповнення можна вибрати режим

зафарбовування внутрішньої області вибраного

об’єкта: суцільне заповнення, лінійний або раді-

альний градієнт. Якщо фарбування відсутнє, інструмент мати-

ме вигляд хрестика. Під інструментами

і заповнення. Якщо ви­

брано команду без зафарбо ­

вування, об’єкт все одно має

зазначені елементи. Команди

в Inkscape розподіляються на

команди опрацювання об’єкта

або його контуру.

кольором) або за допомогою інструмента Піпетка. Кожний об’єкт обов’язково має

квадратик із

4. Переміщення важелів

1

2

3

1

2

3

4 Поекспериментуйте з переміщенням опорних точок. Для цього:

1) виберіть круглу опорну точку на важелі градієнта — точка підсвітиться кольором;

2) виберіть у палітрі кольорів колір, наприклад, синій, — отримаємо перехід кольору від червоного

Приклад 2. На рис. 3 наведено приклади

в меню КОНТУР (перші малюнки в кожному рядку — зраз­

1

Приклад

великих за обсягом текстових фрагментів; має такі самі структурні елементи, як у текстових процесорах: абзаци, колонки тощо. Опрацювання і форматування здійснюється, як у написах текстових документів (рис. 2, а)

Фігурний (художній) текст

Використовують для невеликих за обсягом текстових фрагментів, наприклад, заголовків.

Отже, клацанням миші вибирають текстовий об’єкт і,

1

2

3

5.10. Художні ефекти в Inkscape

текст (рис. 1).

Приклад 3.

Як вам відомо, одним із видів графіки є фрактальна графіка. В Inkscape фракталізацію об’єкта дозволяє здійснити ефект фон Кон. На рис. 3 подано фрактальне зображення гілочки, яку створено без додавання ефектів.

На рис. 4 також маємо фрактальне зображення гілочки, тільки в кольорі. Уважно придивіться до зображення — на ньому повторюється зменшене зображення гілки з чотирма листками. Кількість повторень — 4. На рис. 5 видно пошкоджені контури. Початковий вигляд гілки не мав пошкоджень,

але під час фракталізації відбуваються

1

2

3

1

3

4

Перша версія GIMP написана Пітером Маттісом і Спенсером Кімболом. Чимало програмістів внесло свій вклад у розробку програми, допомогло з підтримкою і тестуванням. GIMP випускається командою розробників під керівництвом Свена Нойманн і Мітча Наттерера.

GIMP (GNU Image Manipulation Program).

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

GIMP підтримує такі формати файлів, як GIF, JPEG, PNG, XPM, TIFF, TGA, MPEG, PS, PDF, PCX, BMP тощо.

створювати

ження без вікна для нього. Разом з тим, можна відкрити багато вікон із зображеннями.

Зображення в GIMP може бути достатньо складним: уявіть стопку прозорих аркушів, на кожному з яких щось намальовано. Такі аркуші є шарами в редакторі (зона 2 на рис. 1).

Зображення створюють з використанням шарів. Малювати можна на кожному шарі. Шари можуть бути прозорими й покривати не весь простір зображення, тому можна бачити не

тільки верхній шар, а й частину інших, під ним. Шари можна міняти місцями. Досвідчені користувачі GIMP працюють

з багатошаровими зображеннями. У GIMP є три колірні режими зображення: RGB, градації

сірого та індексоване.

Кольорове зображення в GIMP має три канали; колір точки на екрані, принтері або іншому пристрої виведення є результатом об’єднання кольору кожного каналу. У градаціях сірого працює один канал (колір змінюється в діапазоні 256 градацій сірого: від 0 — чорний до 255 — білий).

Індексоване зображення має обмежений набір кольорів: 256 або менше. Режим Індексований використовується у випадках, коли важливий розмір файлу або коли зображення має невелику кольорову гаму.

Щоб з мінити колірний режим зображення, потрібно виконати команду ЗОБРАЖЕННЯ

хідний режим. Колірні канали можна бачити в діалозі Канали (зона 2 на рис. 1).

Цифрове зображення складається з сітки квадратних елементів різного кольору, так званих точок (пікселів). У кожного зображення є розмір у точках, наприклад 900 точок у ширину і 600 точок у висоту. Але пікселі — точки зображення — не мають фізичного розміру. Екран

колірного переходу в межах замкненої ділянки є інструмент Градієнт.

Замкнена ділянка в растровому редакторі — виділена спеціальним інструментом область, або область, яка має суцільний колірний кордон.

• Інструмент Гумка стирає намальоване

• Інструменти Штамп, Штамп з перспективою, Лікувальний пензель виконують клонування фрагмента зображення і переміщують у вибране місце на зображенні. Використовуються для усунення невеликих

Інструменти Розмиття/Різкість

Рис. 2. Загальні параметри налаштування інструментів виділення

Команди Згладжування та Розмивати межі мають:

• режим заміни (замінює попереднє виділення на нове);

• режим додавання (додає нове виділення до існуючого);

• режим віднімання (віднімає нове виділення від існуючого);

• режим перетину (залишає загальну частину обох виді­

лень).

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

масштабі: масштаб по­

в рядку стану. Якщо вста­

масштаб 100 % (масштаб

стану),

ня певної ділянки

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

зображення.

Після закінчення роботи в середовищі редактора необхідно зберегти зображення: ФАЙЛ

закриваються всі зображення і GIMP. Якщо є незбережені зображення, редактор їх покаже

в рядку стану. У нижньому рядку вікна кнопки команд опрацювання

• підняти активний шар на рівень;

• опустити активний

чень непрозорості діалогу Шари: 100 % — шар непрозорий, а 0 % — повністю прозорий. Зображення

1

4

1

2

3

4

5

синьою та пурпурною смужками. Якщо у вас увімкнутий перегляд усіх шарів, бачите кольори веселки (рис. 2).

6 Попрацюємо з шарами. Для цього виконайте такі дії.

1) Виконайте команду ШАР — Стопка шарів — Зворотній порядок шарів. Чому ви бачите тільки червону смугу? Відмініть ко ­

2)

Приклад

Рис.

• Кадрування. Кадруванням є процес вилучення (відрізання) областей зображення. В обох випадках інструмент активний, а

Рис. 5. Налаштування параметрів інструмента Кадрування

панеллю інструментів з’являються команди налагодження його параметрів (рис. 5). Установлюють прапорці.

• Для кадрування активного шару придатний лише поточний шар.

• Дозволити зростання, якщо необхідно «наростити» результуюче зображення прозорою областю, оскільки рамка кадрування може вийти за межі зображення.

• Команду Малювати з центру застосовують, якщо необхідно встановити розміри кадрування. Початковою вважається точка встановлення вказівника в зображенні. Від неї розраховується розмір, як від центра.

Завдяки параметрам налаго ­

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

У меню Зображення вказано кілька режимів кадрування: •

тільки виділену область зображення як окреме зображення; команда урізає всі шари, які складають зображення.

• Автокадрування — урізання країв зображення активного шару: визначення кольору тла і обрізання до зображень, кольори яких відрізняються від фонового.

• Старанне кадрування — вирізання із зображення ділянок одного кольору, аналізується колір активного шару а урізання відбувається для всіх шарів.

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

Як можна змінити кольорову

Важливою характеристикою зображення є якість. Фотографії, наприклад, можуть бути занадто затемненими, нечіткими, неправильно передавати колір, мати дефекти (особливо старі фото) та ін.

Розрізняють глобальні та локальні дефекти зображень. Для усунення глобальних дефектів, таких як низька контрас-

ність, колірні спотворення, зернистість, використовують то-

нове (налагоджують яскравість, контрастність тощо) та колір-

не (змінюють та налаштовують колірну гаму) коригування.

Локальні дефекти, які може мати зображення, — подряпини, плями, «червоні очі», можуть частково зникнути під час

усунення дефектів усього зобраення.

Розглянемо можливості GIMP для кадрування зображень.

Розглянемо коригування за допомогою рівнів. Інструмент

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

Вікно Коригування рівнів кольорів містить гістограму

Рівні на вході. Тон кольору розташовано

во (світлі). Якщо

тей (яскравих тонів), затемнення тіней (темних тонів), зміни балансу світлих і темних тонів.

Для регулювання освітлення в каналі слід установити Яскравість і відрегулювати її переміщенням маркерів: лівим (чорним) — темні тони, правим (білим) — світлі, середнім (сірим) — проміжні. Достатньо «захопити» вказівником миші маркер на горизонтальній вісі й із натиснутою ЛКМ перемістити. Відразу змінюється освітленість зображення.

Можна поставити два вузли — так визначиться сегмент кривої, яку теж переміщують.

Ознайомимося з правилами тонового коригування методом кривих.

• Підняти вузол — додати в даній точці світла.

• Зробити криву більш горизонтально — звузити вихідний колірний діапазон зображення.

• Переміщення нижнього вузла вправо та верхнього вліво аналогічне переміщенню чорного та білого маркерів на гістограмі Рівні.

Переміщення білого маркера дає такий результат: всі точ-

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

контрастним.

• Збільшити контрастність — вигнути криву: зліва від середини опустити, а справа підняти.

• Інвертувати кольори — перемістити правий вузол у верхню точку, а лівий у нижню.

Виконаємо вправу. Ви можете вибрати

ня й проаналізувати,

2

1

2

3

людства фотографією був кадр «Вигляд з вікна» французького винахідника­фотографа Ж. М. Ньепса (1826 р.).

ретушування в GIMP

Льюїс Керрол (Доджсон), автор

Робитсоном та Оскаром Гюставом Рейландером він вва­

одним

почав розвивати­

художній спосіб ретуші. Ко ­

фотомайстер на негативі

вичищав задній план до білого фону, на

для вставлення — буде вставлено зразок

ним розташуванням:

фільтрів користуються

тру може відкритися вікно на­

параметрів цього

буде показано

зображення після засто ­

фільтра (якщо встанов­

прапорець біля команди

але дії фільтра будуть застосовані до зображення тільки після запуску команди Гаразд .

зображення.

Редактор Gimp містить такі групи фільтрів (рис. 1).

• Розмивання — викликає зменшення різкості переходів між кольорами.

• Покращення — усуває дефекти зображення (підвищити різкість, видалити ефект червоних очей тощо).

• Викривлення — перетворює вигляд зображення різними способами.

• Світло і тінь — містить три групи фільтрів: фільтри світлових ефектів для ефектів освітлення зображення, фільтри для створення тіней

так, ніби його переглядають крізь лінзу або скляні

пікселі з випадковими колірними значеннями, що ніби пом’якшує вигляд зображення.

• Виділення меж — використовуються для встановлення меж виділення та для інших художніх цілей. Межею є межа між різними кольорами зображення.

• Загальні — містить фільтри, які не можна віднести до інших груп фільтрів.

• Об’єднання — дозволяють об’єднати кілька зображення певним способом.

• Фільтри Художні, Декорація, Мапа, Растерізація перетворюють зображення із застосуванням художніх ефектів (комікс, кубізм, малювання маслом тощо) та з додаванням додаткових

Промальовані кадри називають ключовими. В покроковій ані­

мації кожний кадр є ключовим.

У автоматичній анімації ключовими є пари кадрів для певного

зображення між дво ­

ма ключовими кадрами (таких

пар ключових кадрів може бути

кілька).

комп’ютера.

Анімація (латин. Animare — оживити) — вид мистецтва, твори якого створюються шляхом покадрової

окремих малюнків або сцен. Анімацію часто називають «мультиплікацією» (латин. Multiplicatio — множення, розмноження).

Кадри намальовані або сфотографовані зображення послідовних фаз зміни об’єктів або їх частин. Під час перегляду послідовності кадрів

Частота змінення кадрів для створення ефекту плавної

зміни має бути не менше ніж 12–16 кадрів на секунду, це

пояснюється особливостями сприйняття руху людиною.

У кіно використовується час­

тота 24, в телебаченні 25 або

30 кадрів в секунду.

сприйняття людиною зміни розміщення

браження або його частин. Зазвичай програми, призначені для створення анімаційних зображень, наприклад Flash, містять команди виклику часової шкали. Часова шкала впорядковує вміст анімаційного зображення за часом, керує шарами і кадрами. На ній відображається інформація

GIMP є можливість одразу зберегти файл — експортувати його у формат gif. Для цього слід скористатися командою

Зберегти як…; у вікні збереження відкрити список Ви­

брати тип файлу (За розширенням). У списку прописано формати файлів, у які експортується це зображення. Далі вибрати формат gif і підтвердити — відкриється вікно налаштування

параметрів файлу перед експортом (рис. 2).

Оскільки метою є збереження як анімація, то й вибирають відповідну команду. Після підтвердження кнопкою Експорт відкриється вікно вибору параметрів

(рис. 3). Рис. 5.46.

Існує вид анімації, який називається інтерактивним (основа­

ний на взаємодії). Інтерактивною є презентація, в якій на слайді

відбуваються зміни як реакція

застосування тригера. З інтерак­

тивними зображеннями кнопок

ми стикаємося на веб­сторінках

сайта. Грецький художник і програміст Петрос Врелліс створив інтерактивну анімацію картини

Вінсента Ван Гога «Зоряна ніч».

Використовуючи сенсорний ін­

терфейс, глядач може деформу­

вати зображення, змінюючи на­

прямок руху частинок. Якщо не

торкатися до картини, то відтворюється початкове зображення

картини.

Крок 5 Налаштуйте параметри анімації.

6

Розглянемо приклад застосування редактора GIMP для створення анімаційного зображення.

Приклад. Створити анімаційне зображення.

1. Ідея: рух об’єкта — літери та її «падіння» з площини.

2. Схема руху: на площині з’являється об’єкт; рух об’єкта по горизонталі; на краю зображення площини об’єкт обертається; вертикальний рух об’єкта з обертанням.

3. Сценарій: зображення площини є статичним; літера Р (від слова рух) промальовується на

різних шарах, остання — на краю площини, до неї застосовується перетворення —

5.

6.

1

2

3

4

Більшість програм верстки підтримують векторний формат EPS (Encapsulated PostScript).

Для векторної графіки фірма Microsoft створила формат метафайла Windows (WMF). У ньому зручно переносити прості

малюнки (наприклад, діаграми), які створено в середови­

щі електронних таблиць. У по ­

ліграфії найбільш популярним

растровим форматом є TIFF.

Для завантаження на сайт фа­

хівці рекомендують такі фор ­

мати графічних зображень, як

JPEG, GIF, PNG. Для збереження

якості фотографій та малюнків

із градіентним заповненням

краще використовувати формат

JPEG. Формати GIF і PNG підтри­

мують прозорість: тло малюнка

є прозорим.

У процесі створення

збереження файла, у списку форматів файлів — формат JPEG. Після підтвердження відкриється вікно налаштування параметрів файла перед експортом. Оскільки цей формат підтримує стиснення, то у

зазначають параметр якості зображення (без стиснення 100). Виконайте вправу для знайомства

називають розкладання

браження з режиму RGB на чотири складові фарби CMYK, які потім з’єднуються при друку, утворюючи багатобарвне зображення. Кольороподілом також називають конвертацію RGB — CMYK.

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

Вимоги до зображень для розміщення на сайті є важливими в процесі перетворення макету сайта в формат HTML (мова гіпертекстової розмітки документа).

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

Макет веб-сторінки є результатом творчості веб-дизайнера. Наразі розглянемо макетування сторінки, що має найбільш поширений вигляд, та розглянемо призначення кожної її частини (рис. 1).

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

Блок у нижній частині сторінки називається підвалом (Footer). Підвал містить корисну, але не першорядну інформацію, наприклад, назву організації, яка розробляла сайт, або розробника сайта, контакти, також можуть дублюватись пункти меню.

Зазвичай веб-програмісти так створюють сайт, що Header і Footer видно на всіх сторінках сайта.

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

1200 x 628; Twitter — 1024 x 512; LinkedIn — 800 x 800; Google+ — 800 x 1200; Instagram — 600 x 600.

1

2

зображення, підготовлене для веб ­ сайта?

3 Що називається кольороподілом або

1

2

3

вміст сайта, визначте наявність складових сайта, їх

у зошит). • Із чого складається Header і Footer сайта?

Комп’ютерний словник

База даних — сховище організованої сукупнос-

ті даних різного типу, які відображають стан

об’єктів певної предметної галузі та зв’язки

між ними.

Вибірка (вибіркова сукупність) — частина ге-

неральної (загальної) сукупності об’єктів, яка

охоплюється експериментом.

Виняток — подія, яка може виникнути під

час виконання програми і яка може змінити

подальший хід її виконання.

Віджети — об’єки, із яких створюється графічний інтерфейс.

Глобальна змінна — змінна, оголошена в основній програмі.

Діапазон — незмінна послідовність цілих чисел, що визначається початковим, кінцевим значеннями і кроком їх заміни.

Екземпляр класу — окремий об’єкт класу.

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

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

Змінна класу — змінна, що визначається у середині класу і яка є доступною для всіх екземплярів

Інформаційна

цілісність і доступність даних.

Інформаційна модель — сукупність інформації, яка описує суттєві для даного розгляду властивості об’єкта, зв’язок між ними та яка досліджує можливий

Інформаційна революція (англ. Information Revolution) — поняття, що відображає

Інформаційна

ської діяльності. Інформаційна технологія

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

Команда — вказівка комп’ютеру, що визначає:

Кореляційний аналіз, або кореляція (від латин. Correlatio — співвідношення, взаємозв’язок) статистичний взаємозв’язок

двох або більше показників; використовується для визначення, чи є між показниками в одній або двох вибірках зв’язок, і для аналізу, чи можна за величиною одного по-

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

Кортеж — сукупність об’єктів у круглих дужках.

Лексема — мінімальна одиниця мови програмування, що має самостійний смисл і яку розуміє комп’ютер.

Масив — структурований тип даних, усі елементи якого мають один тип.

Математична статистика — наука про математичні методи систематизації, опрацювання та

використання статистичних даних для наукових і практичних висновків.

Метод — програма, що реалізує відповідну функцію.

Множина — неупорядкована колекція унікальних (тих, що не повторюються) об’єктів.

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

Модель (від латин. Modulus — зразок) — аналог (образ) будь-якого об’єкта, процесу або явища, який використовується як замінник оригіналу.

Наслідування — здатність

Поліморфізм

списку.

Циклічний алгоритм — алгоритм, у якому певна сукупність інструкцій може

багаторазово.

Штучний інтелект (англ. Artificialintelligence) — наука (розділ математичної лінгвістики та комп’ютерних наук) та набір технологій, які дозволяють комп’ютеру виконувати різні функції, притаманні людині.

Алгоритм 30

Атрибут 79

Виняток 105

Вказівник 61

Графічний об’єкт 125

Графічний формат 207

Діапазон 52

Екземпляр класу 71

Електронне врядування 145

Злиття 193

Змінна класу 64 І

Інфографіка 171

Інформаційна безпека 150

Інформаційна модель 154

Інформаційна революція 137

Інформаційна система 136

Інформаційна технологія 135

К

Канал 235

Клас 77

Колірна модель 205

Команда 4

Комп’ютерна графіка 202

Комп’ютерна програма 4

Комп’ютерне моделювання 154

Кортеж 52

Лексема 19

Масив 157, 161

Математична статистика 164

Метод 28, 46

Множина 52

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

Модель 153

Модуль 74

Н

Наслідування 87

О

Оператор 24

Подія 121

Поліморфізм 64, 91

Публікація 197

Рекурсія 71

Розгалуження 30

Розділ 186

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

Синтаксис 7

Словник 54

Список 44, 180

Стек 48

Структура документа 191

Фільтр 142

Функція 62

Цикл 37

Шар 232

Штучний інтелект 148

3.1.

3.2.

2.1.

2.2.

2.3.

2.4.

2.5.

3.1.

3.2.

3.3.

3.4.

3.5.

3.6.

3.7.

3.8.

4.1.

4.2.

4.3.

4.4.

4.5. Комп’ютерні

5.1.

5.2.

5.7.

5.20.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.