You are on page 1of 240

В. Д. Руденко, Н. В. Речич, В. О.

Потієнко

Інформатика
ДЛЯ ЗАГАЛЬНООСВІТНІХ НАВЧАЛЬНИХ ЗАКЛАДІВ
З ПОГЛИБЛЕНИМ ВИВЧЕННЯМ ІНФОРМАТИКИ

Підручник для 9 класу


загальноосвітніх навчальних закладів

Рекомендовано Міністерством освіти і науки України

Харків
Видавництво «Ранок»
2017
УДК [004:37.016](075.3)
Р83

Рекомендовано Міністерством освіти і науки України


(наказ Міністерства освіти і науки України від 20.03.2017 № 417)

Видано за рахунок державних коштів. Продаж заборонено

Експерти, які здійснили експертизу підручника під час проведення


конкурсного відбору проектів підручників для 9 класу загальноосвітніх навчальних
закладів і зробили висновок про доцільність надання підручнику грифа
«Рекомендовано Міністерством освіти і науки України»:
К. М. Брозинська, учитель інформатики Чернівецької ЗОШ I—III ступенів № 24 ім. Ольги Кобилянської,
Чернівецької міської ради Чернівецької області, учитель-методист;
В. О. Носкін, методист Кременчуцького міського науково-методичного центру
Кременчуцької міської ради Полтавської області;
Д .А. Покришень, завідувач кафедри інформатики та інформаційно-комунікаційних технологій
в освіті Чернігівського обласного інституту післядипломної педагогічної освіти
імені К. Д. Ушинського, доцент, канд. пед. наук

Руденко В. Д.
Р83 Інформатика для загальноосвітніх навчальних закладів з поглибленим вивченням інфор­
матики : підруч. для 9 кл. загальноосвіт. навч. закл. /В . Д. Руденко, Н. В. Речич, В. О. По-
тієнко. — Харків : Вид-во «Ранок», 2017. — 240 с. : іл.
ISBN 978-617-09-3355-3
УДК [004:37.016](075.3)

Інтернет-підтримка
Електронні матеріали
до підручника розміщено на сайті
interactive.ranok.com .ua

© Руденко В. Д., Речич Н. В., Потієнко В. О., 2017


ISBN 978-617-09-3355-3 © ТОВ Видавництво «Ранок», 2017
Дорогі учні!
У дев’ятому класі ви завершуєте перший етап вивчення основ інформатики.
Це досить відповідальний період. Саме в цей час формуються не тільки осно­
вні знання й навички володіння комп’ютерними та інформаційними засобами,
а й ключові компетентності, зокрема ІКТ. Дехто з вас ще не один рік системно
вивчатиме інформатику і стане професійним IT-спеціалістом, дехто завершить
її вивчення у школі і почне готуватися до оволодіння іншими спеціальностя­
ми. Але знання і навички з інформатики, набуті у 5-9 класах, допоможуть
вам у подальшому успішному навчанні, самостійному оволодінні інформацій­
ними технологіями, а також у повсякденній життєдіяльності.
Цього року ви будете працювати з новими програмними засобами. Ознайо­
митеся із сутністю інформаційного суспільства, етапами становлення інформа­
ційних технологій і розвитком інформаційних систем. Вперше будете вивчати
сутність електронного документообігу і комп’ютерних публікацій. Навчитеся
розробляти найпростіші бази даних навчального призначення і працювати
в комп’ютерних мережах. Ви також будете створювати персональне навчальне
середовище, продовжите вивчення основ алгоритмізації та програмування.
Інформаційні технології — це величезне досягнення людства. Вміння пра­
цювати з інформацією буде корисним для вашого успішного навчання.
Бажаємо вам успіхів, автори

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


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

У тексті використано також позначки:

® — означення, висновок

— питання на повторення

— зверніть увагу

— цікаво знати

% — завдання для виконання й обговорення в парах або групах

— вправи для домашнього виконання


1. ІНФОРМАЦІЙНІ
Розділ
ТЕХНОЛОГІЇ У СУСПІЛЬСТВІ
1.1. Інформатика та її вплив на розвиток
суспільства
Пригадайте означення понять «інформація», «дані». Назвіть
сфери використання комп'ютерів.

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


--------------------------------
без комп’ютера. Його винайдення за лічені десятиліття зміни­
Термін «інформатика» виник ло життя людства, визначило нові способи діяльності в усіх
у 60-х роках XX ст. у Франції. сферах виробничого й суспільного життя. Все це сприяло за­
Він походить від слів information родженню нового наукового напряму — інформатики.
(інформація) і automatique (авто­ Інформатика як наука сформувалася лише у другій по­
матика) й означає автоматизо­ ловині XX ст., та вже стала необхідною складовою освіти
ване опрацювання інформації. сучасної людини. Нині існує чимало означень інформатики,
Широко вживаний також ан­ що обумовлено багатогранністю її функцій, форм і методів.
гломовний варіант цього тер­ У широкому сенсі інформатика являє собою поєднання різ­
міна — computer science (наука них галузей науки, техніки, виробництва.
про комп'ютерну техніку). Як фундаментальна наука інформатика вивчає структуру
і загальні властивості інформації, методи й засоби інформа­
ційних процесів. Вона охоплює багато наукових напрямів.
Як прикладна дисципліна інформатика вивчає закономірно­
сті в процесах накопичення, опрацювання й розповсюдження
інформації, моделює об’єкти (процеси та явища) в різних га­
лузях людської діяльності, розв’язує наукові проблеми ство­
рення й упровадження комп’ютерних засобів.
Як галузь людської діяльності інформатика пов’язана з про­
цесами опрацювання інформації за допомогою комп’ютера
в різних сферах його застосування (рис. 1).
Головна функція інформатики полягає в розробці методів
і засобів опрацювання даних та їхньому використанні в різ­
них галузях людської діяльності.
Рис. 1. Комп'ютер — атрибут сучас­
ного навчання Основні завдання інформатики спрямовані на:
• дослідження інформаційних процесів;
• розробку засобів комп’ютерної техніки й створення но­
Слово «технологія» походить вітніх технологій опрацювання даних;
від грец. techne — майстер­ • вирішення наукових та інженерних проблем щодо ефек­
ність, уміння і logos — учення, тивного використання апаратно-програмного забезпечен­
поняття. У матеріальному ви­ ня у всіх галузях людської діяльності.
робництві воно означає сукуп­ Сучасне розуміння інформатики тісно пов’язане з понят­
ність засобів і методів виготов­ тям інформаційної технології (IT), а також інформатизації.
лення продукту. Інформатика є теоретичною базою для розвитку та станов­
лення IT.
1.1. Інформатика та її вплив...

Існують традиційні матеріальні види ресурсів, такі як


нафта, газ та інші корисні копалини. Сьогодні ж одним із 1 * - ------------ -----------------------
найголовніших ресурсів суспільства є інформація. Процес
опрацювання інформації за аналогією з обробкою матеріаль­ Термін «інформаційна техноло­
них ресурсів також називають технологією. гія» з'явився наприкінці XX ст.
завдяки бурхливому розвит­
Інформаційні технології — це сукупність методів
Ф пошуку, збирання, накопичення, зберігання та опра­
цювання даних за допомогою засобів обчислювальної
ку персональних комп'ютерів
і мереж. До їх появи основни­
ми засобами для роботи з по­
й комунікаційної техніки. відомленнями були папір, олі­
вець, фарба, книга, телефон,
Класифікують IT за різними ознаками. Найбільш розпо­ телеграф тощо.
всюдженими є такі:
• за сферою застосування: наука, виробництво, освіта, тощо;
• за функціональними можливостями: інструментальні
(розробка інших технологій та їх обслуговування), при­ Країнами з розвиненою інфор­
кладні (розв’язання задач певної предметної галузі),
маційною індустрією є Швеція,
комунікативні (зв’язок, комунікації та спілкування);
Норвегія, США, Німеччина, Япо­
• за способом взаємодії з користувачем: IT з командним нія. Наша країна — на шляху
рядком, із інтерфейсами WIMP (забезпечує діалог корис­ до інформаційного суспільства.
тувача з комп’ютером за допомогою графічних образів — Сьогодні за числом програмі­
меню, вікон та ін.) і SILK (наближений до звичайної стів, які одержали сертифікати
форми спілкування людини з комп’ютером; знаходиться у сфері IT, Україна посідає чет­
на стадії експериментальних досліджень) та ін.
верте місце у світі.
IT увійшли в сучасне життя настільки, що застосуван­
ня комп’ютера стало буденною справою. Вони впливають не
лише на характер і темпи розвитку наукових і промислових
галузей, а й на соціальну сферу, взаємовідносини між людь­
ми та суспільство в цілому.
Створення глобального інформаційного простору сприяє
ефективній інформаційній взаємодії людей, їх доступу до ін­
формаційних ресурсів та різноманітних даних з електронних
джерел усього світу (рис. 2).

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


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

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

1 У чому полягають головна функція та завдан­ 4 За якими ознаками класифікують інформа­


ня інформатики? ційні технології?
2 Чому інформатику відносять до різних галу­ 5 Поясніть, чому у світі зростає кількість пра­
зей: науки, техніки, виробництва? цівників, зайнятих в інформаційній сфері.
6 Чи сформувалося в нашій країні інформацій­
3 Що означає поняття «інформаційні техно­ не суспільство? Відповідь обґрунтуйте.
логії»?
1.2. Інформаційні процеси та інформаційні системи
Поясніть, що таке інформація. Наведіть приклади пристроїв
для передавання повідомлень. У якому вигляді, на вашу думку,
відбувається передавання повідомлень каналами зв'язку?

Протягом останніх десятиліть інформаційні процеси —


26 листопада — Всесвітній процеси пошуку, зберігання, передавання та опрацювання
день інформації, який відзна­ інформації — здійснюються в основному засобами обчислю­
чається з 1994 р. за ініціати­ вальної техніки й комп’ютерних мереж.
вою Міжнародної академії ін­
Пошук і збирання. Значну роль у цьому відіграють інфор­
форматизації.
маційні пошукові системи (рис. 1), які дозволяють миттєво
отримати будь-яку інформацію з електронних джерел усього
світу. Особливою популярністю користується нині пошукова
система Google.
Зберігання й накопичення. Дуже тривалий час знання
bigmir)net Я нДЄКС передавалися в усній формі (у переказах, народних піснях
тощо), потім — за допомогою матеріальних носіїв інформації
(наскельних малюнків, глиняних дощечок, папіруса тощо).
b in g Окремо слід виділити книжки — книгодрукування мало ве­
<МЕТА^ личезний вплив на розвиток цивілізації. Сьогодні інформацію
зберігають не тільки на паперових, але й на електронних но­
Рис. 1. Приклади інформаційних сіях (рис. 2) — оптичних і магнітних дисках, картках пам’яті
пошукових систем
тощо; її накопичують в Інтернеті, який уже відіграє роль
глобального носія інформації.
Передавання й поширення. Сучасні засоби передавання
й поширення інформації фактично почали розвиватися з се­
редини XIX ст., коли для цього на практиці стали застосовува­
ти електричні сигнали. Величезний вплив на їх розвиток мав
телеграфний апарат Морзе, за допомогою якого з 1844 року
розпочалося трансатлантичне передавання телеграм. Потім
з’явилися радіо, телебачення, інші засоби зв’язку; особливу
роль у розвитку засобів передавання й поширення повідом­
Рис. 2. Приклади носіів даних лень відіграв супутниковий зв’язок (рис. 3), без якого нині
неможливо уявити функціонування Інтернету.
Для передавання будь-яке повідомлення кодується — пере­
творюється з початкового вигляду до вигляду, придатного для
передавання каналами зв’язку, після отримання приймачем
сигнал декодується — перетворюється до початкового вигля­
ду, зрозумілого й доступного людині.
Опрацювання. У широкому розумінні опрацювання да­
них — це процес їх перетворення з одного вигляду в інший.
Для опрацювання даних розроблено різноманітні програмні
засоби. Під час роботи з даними важливого значення набу­
ває захист інформації — комплекс правових, організаційних
і технічних заходів, спрямованих на зберігання інформації,
Рис. 3. Пристрої для передавання запобігання випадковим і навмисним пошкодженням, не­
повідомлень санкціонованому доступу.
1.2. Інформаційні процеси... 7

Для захисту даних у комп’ютері від випадкових загроз


(збій напруги, помилка в роботі апаратних засобів тощо)
створюють резервні копії файлів, а для тривалого їх збері­ Всесвітньо відомий вислів «Хто
гання — архіви. володіє інформацією, той во­
Якщо комп’ютерна система має вихід у мережу Інтернет, лодіє світом» не втратив акту­
дані слід захищати від намагань зловмисників і шахраїв альності й нині. Але в умовах
отримати доступ до приватної інформації, наприклад паро­ глобалізації суспільства важли­
лів. Програми та дані потрібно захищати також від заражен­ вого значення набуває захист
ня комп’ютерними вірусами. Для цього існує низка програм­ інформації. Тому до цього ви­
них засобів (Захисник Windows, Зілля, Avast! та ін.), які під слову є сенс додати: «Хто за­
час вмикання комп’ютера здійснюють автоматичну перевірку хищає інформацію — той захи­
наявності шкідливих програм та їх видалення. щає себе й країну».

Що означає поняття «хакер»? Шляхом пошуку в Інтернеті


дослідіть питання про найвідоміші у світі хакерські атаки.
Інформаційні процеси досліджують шляхом їх моделю­
вання на основі засобів математичної логіки, алгебраїчних
та інших методів. Для цього широко застосовують принцип
«чорного ящика», за яким досліджують вихідні дані як ре­
акцію на зміну вхідних. Процес моделювання інформацій­
них процесів дозволяє отримати найголовніші їх характе­
ристики, наприклад надійність, швидкість реалізації.
Удосконалення методів і засобів інформаційних проце­
сів із часом вплинули на розвиток інформаційних техноло­
гій (IT).
Історія розвитку IT налічує кілька етапів.
• Писемність — фактично з її появою починається роз­
виток процесів зберігання, накопичення й передавання знань
від одного покоління до іншого.
• Книгодрукування — розпочалося у XV ст. та сприяло
стрімкому поширенню знань.
• Електричні засоби зв’язку — поява наприкінці XIX ст.
телеграфа, телефона, радіо сприяла миттєвому передаванню
Рис. 4. Інформація — найцінніший
повідомлень на велику відстань. Із першої половини XX ст.
ресурс суспільства
розпочалася ера телебачення.
• Засоби обчислювальної техніки — їх поява принци­
пово прискорила й змінила методологію опрацювання ін­
формації.
• Всесвітня мережа Інтернет — докорінно змінилися
методи пошуку інформації, суттєво підвищилася швидкість
і ефективність передавання великих обсягів даних на необ­ Деякі вчені, аналізуючи IT, які
межені відстані (рис. 4). використовуються в Інтернеті,
Інформаційні процеси відбуваються в інформаційних си­ порівнюють його з нейронною
стемах (ІС). Навколо нас існує безліч різних ІС, наприклад, мережею та обговорюють пи­
комп’ютер (технічна ІС), людина (біологічна ІС), суспільство тання про виникнення і розви­
(соціальна ІС) тощо. ток нейронної мережі планети
Склад і функції ІС значною мірою визначаються тією і становлення планетарного
предметною галуззю, у якій використовується система, а та­ розуму.
кож завданнями, які необхідно розв’язувати за її допомогою.
Розділ 1

Розглянемо основні складові сучасної ІС (рис. 5).

Технічне забезпечення Математичне забезпечення


комплекс технічних засобів, що підтримує сукупність методів, моделей, алгоритмів для ре­
роботу 1C (комп'ютери, засоби комунікації, алізації задач ІС
і комп'ютерні мережі та ін.)
Програмне забезпечення
Інформаційне забезпечення
сукупність програм реалізації різнома­
сукупність різноманітних даних певної нітних задач ІС, підтримки нормального
предметної галузі для надання інформа функціонування технічних засобів
ційних послуг клієнтам

Організаційне забезпечення Правове забезпечення


сукупність методів і засобів, які регламенту­ сукупність правових норм, які визначають ство­
ють взаємодію фахівців із технічними засоба­ рення, юридичний статус і функціонування ІС
ми у ході розробки й експлуатації 1C тощо

Рис. 5. Типовий склад ІС

ТОбсяг
* пам'яті людини невідо­
ПІД технічною інформаційною системою будемо ро­
зуміти програмно-апаратний комплекс для зберігання
мий. Але відомо, що амери­ даних, виконання над ними операцій, обумовлених
канська піаністка Барбара Мур специфікою предметної галузі, забезпечення зручно­
із 25 жовтня до 14 листопада го інтерфейсу для доступу до необхідних даних та їх
1988 року напам'ять програла опрацювання.
1852 музичні твори.
Обов’язковими складовими апаратного забезпечення ІС
є комп’ютер і засоби комунікації, а складові програмного
забезпечення ІС залежать від функцій, які вона виконує.
У більшості застосовуються операційні системи, СУБД, бра-
узери (рис. 6).
Класифікують ІС за різними ознаками. До основних можна
віднести такі:
• за структурою даних, якими оперують ІС: фактографічні
(структуровані дані, наприклад особисті відомості люди­
ни — ПІБ, адреса тощо, склад комп’ютера) та докумен­
тальні (наприклад, наказ, стаття, закон);
Рис. 6. Зовнішній вигляд комп'ю­ • за сферою застосування: економіка, освіта, медицина тощо;
теризованого робочого місця • за призначенням у професійній діяльності: обчислюваль­
ні, пошуково-довідкові, управління персоналом тощо;
• за рівнем автоматизації: ручні, автоматизовані, автоматичні.

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

1 Поясніть поняття та сутність інформаційних 4 Наведіть приклади галузей, у яких викори­


процесів. стовують інформаційні системи.
2 Які етапи розвитку інформаційних техноло­ 5 За якими основними ознаками класифіку­
гій ви знаєте? ють інформаційні системи?
3 Які основні переваги мають сучасні інфор­ 6 Які загальні риси мають інформаційні си­
маційні системи? стеми?
1.3. Поняття інформаційної... 9

1.3. Поняття інформаційної культури


й інтелектуальної власності
Поясніть, що означають поняття «культура», «культура
мовлення», «художня культура». Як розвиток інформаційних
технологій вплинув на розвиток людини, на її культуру?
----------------- _
Інформатизація суспільства впливає на всі сфери ж иттє­ Слово «культура» (від латин,
діяльності людини, на розвиток її загальної культури, збага­ со/о, соіеге — вирощувати, до­
чує її новою складовою — інформаційною культурою. глядати, обробляти; culturare —
Інформаційна культура як елемент загальної куль­ вирощений, доведений до до­
тури людини є характеристикою особистості, яка про­ сконалості) спочатку стосу­
являється в умінні цілеспрямованої роботи з інфор­ валося землеробства. Згодом
мацією, знанні нових засобів інформаційно-комуніка­ стало вживатись у ширшому
ційних технологій, морально-етичних норм під час значенні — стосовно духовно-
створення й використання інформаційних матеріалів. практичної діяльності людини.

Інформаційна культура визначає здатність і вміння люди­


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

Інформаційна грамотність, інформаційна культура людини


впливають на її навчання, роботу, на успішне життя в ін­
формаційному суспільстві (рис. 1). Сьогодні велику роль віді­ Рис. 1. Інформаційна грамотність —
грає інформаційна компетентність, яку також називають ІКТ- необхідна складова освіти
компетентністю (від ІКТ — інформаційно-комунікаційні
технології). У широкому розумінні — це обізнаність у світі
інформації, знання сучасних засобів її опрацювання (рис. 2).
Компетентності
ІКТ-компетентність — це здатність особи самостійно
шукати, аналізувати, опрацьовувати та передавати ін­ Ключові
формацію за допомогою ІКТ та доцільно використовува­ спрямовані на соціально
ти ї ї у своїй життєдіяльності. продуктивну діяльність

ІКТ-компетентність учнів складають: Базові


• уміння доцільно використовувати ІКТ в навчанні та по­
застосовуються у різних
всякденному житті;
і професійних сферах
• уміння розробляти інформаційні моделі, реалізовувати
їх за допомогою ІКТ, досліджувати, аналізувати отрима­ Предметні
ні результати й робити висновки;
призначені для конкрет­
• практичні навички володіння ІКТ;
• знання основних правил і дотримання етичних норм них дій
у процесі використання ІКТ та участі в публічних дис­
Рис. 2. Види ІКТ-компетентностей
кусіях, соціальних мережах тощо.
Розділ 1

Якими засобами ви користуєтеся під час підготовки


реферату або виконання завдання, самостійного опанування
навчального матеріалу? Чи звертались ви до сайта
«Вікіпедія», сайтів електронних бібліотек?
Для самостійного отримання знань із певного навчального
Електронні освітні ресурси
предмета можна користуватися спеціально розробленими про­
грамними засобами навчального призначення (освітніми елек­
Електронні підручники, тронними ресурсами) (рис. 3). Від традиційних їх відрізняє на­
посібники явність зручних у використанні засобів унаочнення навчально­
го матеріалу. Навчальні матеріали подаються на електронних
Електронні демонстра­ носіях у вигляді текстових, графічних, звукових і відеоданих
ційні, методичні матеріали та їх комбінацій, що сприяє підвищенню інтересу до навчання.
Освітні електронні ресурси є у вищих та загальноосвіт­
Віртуальні бібліотеки ніх навчальних закладах. їх мають бібліотеки, наприклад
Національна бібліотека України імені В. І. Вернадського
!"•( Комп'ютерні тести, (nbuv.gov.ua) (рис. 4), Державна наукова педагогічна бібліоте­
тренажерні системи ка України імені В. О. Сухомлинського (bnpb.gov.ua), а також
освітні установи, видавництва тощо.
Програмний навчальний засіб, як і будь-яке програмне за­
•"'( Освітні сайти безпечення, розробляється автором або авторським колекти­
вом. Автор має право інтелектуальної власності на розробле­
Мультимедіа-засоби ний ним програмний засіб так само, як і автор літературного
навчання чи художнього твору.

Право інтелектуальної власності — це право особи на


Курси дистанційного
результат своєї інтелектуальної або творчої діяльності.
навчання та ін.

Рис. 3. Основні види електронних Власність називають інтелектуальною, якщо вона є резуль­
освітніх ресурсів татом роботи інтелектуальної та творчої діяльності особи або
кількох осіб (наприклад, запатентовані винаходи, літературні,
художні та наукові твори, фотографії, фільми, картини тощо).
Право інтелектуальної власності становлять немайнові
та (або) майнові права. Особисті немайнові права інтелекту­
Національна бібліотека України
альної власності (наприклад, право на визначення особи твор­
X ■мені В і. В+рнадснесо________________
цем об’єкту власності) не залежать від майнових прав.

Авторське право — це право інтелектуальної власнос­


Ф ті на літературний, художній або інший твір, до яких на­
лежать і комп'ютерні програми.

Комп’ютерні програми, захищені авторським правом,


мають ліцензію — правовий документ, який визначає по­
рядок використання й розповсюдження програмного засобу.
Ліцензія не тільки захищає авторські права, а й гарантує
клієнтам безпечність та правильність функціонування про­
грамного засобу. Користувачу, який має ліцензію, надається
право отримувати технічну підтримку з боку розробника або
Рис. 4. Головна сторінка сайта
офіційних розповсюджувачів програмного продукту.
Національної бібліотеки України
імені В. І. Вернадського
Авторське право і суміжні права представлено в Законі Укра­
їни «Про авторське право і суміжні права». Закон ґрунтується
Практична робота № 1

на міжнародних нормах, враховує сучасні тенденції правового


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

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Поясніть поняття інформаційної культури 4 Як ви розумієте ІКТ-компетентність учня?
особистості. 5 Назвіть шляхи використання інформацій­
2 Поясніть сутність інтелектуальної влас­ них технологій в освіті.
ності.
6 Що спричинило виникнення права інте­
3 Від чого залеж ить формування інформа­
лектуальн ої власності?
ційної культури особистості?

Практична робота № 1
Тема. Освітні інформаційні ресурси й системи.
Завдання: ознайомитися з освітніми інформаційними ресурсами, навчитися користуватися
пошуковими системами.
Обладнання: комп'ютер, під'єднаний до мережі Інтернет.
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.
1 Визначте, чи є на форумі інформатиків 6 Н а сайті «Розумники» (rozumniki.net) пе­
України (informatic.org.ua) посилання на регляньте перелік електронних підруч­
сайт вашої ш коли (Головна —» Корисні ників з інформатики для 9 класу. На
сайти -» Сайти шкіл). сайті e-pidruchnyky.net ознайомтеся з пе­
2 Визначте, я к і освітні інформаційні ре­ реліком навчальної літератури з інфор­
сурси знаходяться на сайті вашої ш ко­ матики. Знайдіть електронну версію по­
ли або іншому за вказівкою вчителя. сібника «Операційні системи» та озна­
3 Ознайомтеся з навчальними мульт­ йомтеся зі змістом.
фільмами на сайті форуму (Головна —> 7 Відвідайте сайт «Інтерактивне навчан­
-» Допомога користувачам -» Навчальні ня» (interactive.ranok.com.ua). Виконайте
мультфільми). пошук електронних версій підручників
4 Н а сайті Інституту модернізації змісту та навчальних посібників з інформати­
освіти МОН України (imzo.gov.ua) озна­ ки для 9 класу, підручників з інш их
йомтеся з переліком електронних вер­ предметів.
сій підручників (Освіта —» Середня освіта 8 За допомогою пошукової системи Google
і підручники -» Електронні версії підручни­ виконайте пошук кількох дистанційних
ків). Чи є серед них такі, яким и корис­ курсів (наприклад, із навчання програ­
туєтеся ви? мування, іноземної мови). Я кі з них вас
5 Ознайомтеся з переліком олімпіад та зацікавили?
конкурсів на сайті «Острів знань» 9 Повідомте вчителя про результати роботи.
(ostriv.in.ua): На головну -» Школа -» Зробіть висновки: я к і є освітні інформа­
-» Для розумників -» Олімпіади та конкур­ ційні ресурси, я к знаходити навчальну
си. Про я к і з них ви щойно довідалися?
інформацію в Інтернеті.
Розділ 2 'І
і ЕЛЕКТРОННИЙ ДОКУМЕНТООБІГ
2.1. Поняття електронного документообігу
Пригадайте, що таке текстовий документ. Які програми
призначені для роботи з текстовими документами?

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


умов для всіх різновидів робіт, які можуть бути автомати­
Слово «документ» походить зовані в офісі,— від моменту створення або отримання до­
від лат. documentum — зра­ кументів до моменту знищення або передачі в архів. Існують
зок, взірець. Документування обов’язкові вимоги до створення та опрацювання несекретних
інформації пройшло тривалий офіційних документів незалежно від їхнього вигляду.
шлях від документа, що виник На рис. 1 наведено загальну схему роботи з документами.
майже одночасно з появою
писемності, до електронно­
Реєстрація Створення
го документа, історія якого
вхідних документів внутрішніх документів
пов'язана з виникненням ком­
п'ютера.
Опрацювання документів
(друк, пошук, створення звітів, ведення обліку, рух у межах
організації, колективне опрацювання документів тощо)

Зберігання Передавання Знищення


документів документів документів

Рис. 1. Схематичне зображення процесу роботи з документами

В основу забезпечення роботи організації передусім покла­


0 .......... ..............1 дено опрацювання документів.
Порядок обміну електронними Файл, повідомлення електронної пошти, сторінка сайта,
документами, правовий ста­
база даних — все, що використовує користувач у своїй ді­
яльності,— з технічної точки зору є електронним докумен­
тус електронного цифрового
том (ЕД). Носіями таких документів є засоби зберігання да­
підпису та відносини, що ви­
них — від перфокарт до сучасних електронних засобів (рис. 2).
никають під час використання
У зв’язку з розвитком інформаційно-комунікаційних тех­
такого підпису, визначено За­
нологій більшість робіт із документами сьогодні здійснюється
конами України «Про електро­
за допомогою різноманітних технічних засобів (копіювальні
нні документи та електронний
апарати, сканери тощо). Обмін ЕД між підрозділами та орга­
документообіг», «Про електро­
нізаціями здійснюють по комп’ютерній мережі.
нний цифровий підпис», а та­
кож низкою нормативно-пра­ Електронний документ — документ, інформацію
вових актів. в якому зафіксовано у вигляді електронних даних,
включаючи обов'язкові реквізити.
2.1. Поняття електронного... 13

ЕД складається з двох частин: реквізитної і змістовної.


Реквізитна частина містить атрибути, які надають доку­
менту юридичної сили (електронний цифровий підпис, час
створення та ін.).
Змістовна частина містить текстові, графічні дані, що опра­
цьовуються як одне ціле й становлять інформаційну сутність
документа.
Оригіналом ЕД вважають електронний примірник доку­
мента з обов’язковими реквізитами, у тому числі з електрон­
ним підписом.
Електронний цифровий підпис — це особливий реквізит
документа (рис. 3), який формується за спеціальними пра­
вилами криптографічного перетворення даних, надає йому
юридичної сили та дозволяє встановити відсутність спотво­
рення інформації в електронному документі.
Подавши відповідну заяву та пакет документів, електро­ Рис. 3. Електронний цифровий
нний цифровий підпис та підтверджувальний сертифікат підпис — обов'язковий атрибут ЕД
можна отримати у відповідних центрах сертифікації.
Електронний документообіг (обіг електронних доку­
ментів) — сукупність процесів створення, опрацюван­
ня, відправлення, передавання, одержання, зберігання,
використання та знищення електронних документів,
які виконуються із застосуванням перевірки ціліснос­
ті та в разі необхідності — з підтвердженням факту Особливості роботи з ЕД
одержання таких документів.
!• • Скорочення часу на обмін
Переваги впровадження електронного документообігу: документами між підроз­
• доступність інформації, прозорість руху документів, відсут­ ділами та організаціями
ність потреби роздруковувати та зберігати паперові копії;
• пришвидшення процесу опрацювання документів;
І - # Автоматизація потоків
• забезпечення оперативної й одночасної колективної робо­
ти з документами, коли один і той самий документ може документів
опрацьовуватися синхронно кількома працівниками.
Електронний документообіг регулюється певними норматив­ Автоматизація створення,
ними документами як на національному, так і на міжнародно­ управління, опрацювання,
му рівні. розповсюдження доку­
Надалі в рамках знайомства з документообігом під ЕД бу­ ментів
демо розуміти саме його змістовну частину. Під створенням Рис. 4. Переваги роботи з електрон­
ЕД розумітимемо створення нового документа за допомогою ним документообігом
відповідних програмних засобів (наприклад, у текстовому
процесорі), імпортування готового ЕД, перетворення паперо­
вого документа на його електронну копію (рис. 4).

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

1 Дайте означення електронного документа. 4 Опишіть життєвий цикл електронного доку­


мента.
2 Поясніть поняття електронного документо­
5 Чим регламентуються порядок і організація
обігу.
електронного документообігу?
3 Який обов'язковий реквізит надає електрон­
6 Наведіть приклади використання електронних
ному документу юридичної сили?
документів у професійній діяльності і побуті.
14 Розділ 2

2.2. Апаратні засоби для забезпечення електронного


документообі гу
З яким документом працювати зручніше: поданим у папе­
ровому чи електронному вигляді? Пригадайте пристрої, які
використовуються для введення даних у комп'ютер.
і* - — --------------- _ Незважаючи на значне збільшення обсягу інформації,
Поява електронної документа­ кількість документів на паперових носіях невпинно зменшу­
ції є основною рисою розвит­ ється, а на електронних — зростає. Це пояснюється розвит­
ку інформаційного суспільства. ком сучасних технологій роботи з інформацією.
У країнах Європи та в СІІІА Для опрацювання ЕД використовують різні апаратні засо­
багато років працює електро­ би: комп’ютери, об’єднані в мережу,— для передавання та су­
нна система обігу документів. місного опрацювання документів, принтери — для виведення
В Україні впровадження цих документів на друк, а також пристрої для копіювання, ламі­
світових тенденцій (офіційно нування та знищення документів.
з 2003 року) стає дедалі більш Для переведення паперового документа в електронну фор­
актуальним, у першу чергу му використовують різні апаратні та програмні засоби. Про­
у сфері надання послуг. цес зчитування інформації сканером називають скануванням.

Сканер (від англ. scanner, scan — пильно розглядати) —


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

За способом сканування сканери поділяють на планшет-


ні, аркушопротяжні, ручні, барабанні, слайдові, планетарні.
Найпоширенішими є планшетні сканери. їх механізм вміще­
но в герметичний корпус зі склом зверху, на якому й розмі­
щують об’єкт для сканування (наприклад, аркуш паперу або
сторінка книжки) сканованою поверхнею вниз.
Назви сканерів складаються з назв фірм, які їх випу­
скають. Найбільш відомими є Xerox, Hewlett Packard (HP),
Рис. 1. Сканер та багато­ Canon, Konica Minolta.
функціональний комплекс
Планшетні сканери існують як окремі пристрої, так
і в складі багатофункціональних комплексів: принтер — ко­
піювальний апарат — сканер — факс (рис. 1). Такі комплек­
си є найбільш поширеними.

Пригадайте, що таке роздільна здатність принтера,


роздільна здатність екрана монітора.
Основними характеристиками сканера є оптична розділь­
на здатність, глибина кольору, швидкість сканування, фор­
У 1857 році було винайдено апа­ мат сканованого документа.
рат «пантелограф». У 1902 ро­ Оптична роздільна здатність вимірюється в точках на
ці німецький фізик Артур Корн дюйм — dpi. Зрозуміло, що чим більша роздільна здатність
одержав патент на технологію сканера, тим якісніші зображення можна отримати. Так, для
фотоелектричного сканування, сканування друкованого тексту достатньо встановити 300 dpi,
яка стала основою сучасних що становить приблизно 12 точок на міліметр (значення 600
факсів та інших приладів. і 1200 dpi дають гарний результат сканування).
2.2. Апаратні засоби... 15

Глибина кольору вимірюється в бітах. Цей показник віді­


грає дуже важливу роль у випадку, коли потрібно відскану­
вати кольорове зображення. Він вказує, скільки кольорових
і ГМатриця
* ------------—
сканера — це той світ­
відтінків може розпізнати сканер. Сучасні сканери характе­ лочутливий елемент, який при­
ризуються 48-бітною глибиною кольору, тобто можуть розпіз­ ймає світло, відбите від об'єкта
нати 248 кольорових відтінків. сканування. Властивості матри­
Для сканування можна встановлювати один із трьох режи­ ці суттєво впливають на ха­
мів: кольоровий, відтінки сірого, чорно-білий. рактеристики сканера взагалі.
Швидкість сканування вимірюється в кількості сторінок,
які сканер може просканувати за одну хвилину, або в кількості
секунд, потрібних сканеру для опрацювання однієї сторінки.
До характеристик сканера можна віднести і розмір поверх­ Іноді за типом матриці назива­
ні для розміщення документа, що обмежує розмір аркуша па­ ють і типи сканерів: CIS-сканери
перу, з якого можна відсканувати документ. {Contact Image Sensor — контакт­
Під час під’єднання сканера до комп’ютера треба встано­ ний датчик зображення), CCD-
вити та налаштувати драйвер сканера. Сучасні операційні сканер (Charge-Coupled Device —
системи дають змогу автоматизувати цей процес. Розглянемо пристрій із зарядовим зв'язком
алгоритм під’єднання сканера до комп’ютера (ОС Windows за (ПЗЗ)).
версією 8 і вище).
16 Розділ 2

У вікні, що відкрилося, налаштуйте параметри сканування (рис. 4).


У прикладі вибрано такі налаштування:
• формат кольору — кольорове зображення;
• тип збереженого графічного файла — JPG (BMP, JPG, PNG або TIF);
• роздільна здатність — 300 dpi;
• яскравість і контрастність (збільшити за потреби).

Крок

Рис. 4. Вікно налаштування параметрів сканування

Крок Налаштувавши параметри, почніть сканувати, клацнувши кнопку Сканувати.

Збережіть відскановане зображення у файлі — введіть ім'я файла у вікні, яке


Крок
з'являється після завершення сканування.
Запустіть команду Попередній перегляд для перегляду відсканованого зо­
Крок 8
браження.
Сьогодні цифрові копії документів можна отримати не лише
за допомогою сканера. Заміною сканера стають смартфони, якщо
вони мають потужну фотокамеру та програму для сканування.
Можливо, такі документи й поступаються якістю, але цей спосіб
швидкий і мобільний.
Графічний образ паперового документа в електронному вигля­
ді також можна отримати з цифрового фотоапарата.

З а п и т а н н я д л я п е р е в ір к и з н а н ь
?)
1 Які пристрої призначені для введення тек­ 4 Назвіть характеристики сканера.
стових і графічних даних у комп'ютер?
5 На що впливає така характеристика скане­
2 Яку роль відіграють сканери в процесі до­ ра, як глибина кольору?
кументообігу?
6 Чи є різниця між файлами, в яких зберіга­
3 У якому форматі зберігаються відскановані ється один і той самий документ після ска­
документи? нування та фотографування?
2.3. Програмне забезпечення... 17

2.3. Програмне забезпечення електронного


документообігу
Відсканували два аркуші: один із фотографією, другий
із віршем. Чи будуть відрізнятися формати збережених
після сканування файлів?
Процес переведення текстового паперового документа
в електронну форму складається з етапів сканування, розпіз­ іГ*
навання, перевірки електронного варіанта на відповідність Найбільш популярними про­
паперовому та збереження. Для цього існують різні програ­ грамами розпізнавання тексту
ми розпізнавання тексту (рис. 1). є ABBYY Fine Reader, Solid Con­
verter PDF, CuneiForm (безкош­
Програми розпізнавання тексту — програмні засоби,
Ф призначені для перетворення тексту, відсканованого
з паперового носія, в електронний документ.
товне програмне забезпечен­
ня), Microsoft Office Document
Imaging. Існує онлайн-версія
програми ABBYY Fine Reader,
Вікна програм оптичного розпізнавання тексту мають ти­ що дає можливість безкоштов­
повий вигляд вікон офісних програмних засобів. На рис. 2 на­ но розпізнати і зберегти текст.
ведено вікно програми розпізнавання CuneiForm. Такі самі ін­
струменти для перетворення паперового документа в електрон­
ний є в усіх програмах розпізнавання. У робочій зоні вікна
міститься документ, який підлягає розпізнаванню.
Виділення
текстових
Задачі Сканування фрагментів Розпізнавання Збереження

О C u n e ifo rm - [ 0 0 : р 0089 ]
І З файл Правка Вигляд/ Розпізнання , Вікно Д овідка Зображ ення

♦ т
а т а ■■ Z2 м і - т о ifsotT^g ■?
®.®,ш с: о о г» у..: м Рис. 1. Піктограми деяких програм
ф т Чв F- зЬ х __________________________________ розпізнавання тексту
«Хмарні» технології
«Хмарні» технології — це технології, які надають користувачам


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

Доступ до «хмари» можна отримати не лише з персонального


Рис. 2. Панелькомп’ютера
інструментів програми
чи ноутбука, а йCuneiForm
з нетбука, смартфона, планшета.
Після виконання команди Розпізнати (інструмент Розпізна­
вання) у вікні Текст відображається розпізнаний текст. Симво­
ли, графічні зображення, які програма не може однозначно
визначити, в текстовому документі позначено кольором, який
відрізняється від кольору решти символів (рис. 3).
Якщо у вікні Текст неправильно відображаються символи
(наприклад, на місці літери стоїть символ «?»), це означає, що
поточний шрифт не підтримується обраною мовою розпізна­
вання. Треба змінити тип шрифта на закладці Оформлення
Рис. 3. Результат розпізнавання
(меню Властивості — Параметри) у групі Шрифти і розпізнати
текстового документа
документ заново.
18 Розділ 2

Під час сканування книги використовують пакетний ре­


жим: спочатку сканують всі сторінки — за допомогою коман­
ди Сканувати кілька сторінок із меню Файл, а надалі всі їх роз­
пізнають, скориставшись командою Розпізнати з меню Процес.
У вікні Текст із розпізнаним текстом можна працювати ще
до збереження, як у текстовому редакторі,— виділяти, встав­
ляти, видаляти, копіювати. Відсканований документ можна
зберігати як файл у форматі RTF (із графічними об’єктами), TXT
(текст без графічних зображень), НТМ (гіпертекстова сторінка).

З а п и та н н я д л я п е р е в ір к и з н а н ь
»
1 Яке призначення програм розпізнавання 4 Чи можна опрацьовувати програмою роз­
тексту? пізнавання кілька сторінок тексту?
5 Як виділити ділянку, яка має бути в розпіз­
2 Які програми розпізнавання ви знаєте?
наному документі незмінною?
3 У яких форматах можна зберегти розпізна­ 6 Від чого залежить вибір формату файла
ний текстовий документ? з відсканованим документом?

Практична робота № 2
Тема. Сканування графічних зображень (малюнків, ілюстрацій, фотографій, схем тощо).
Використання програм оптичного розпізнавання тексту.
Завдання: відсканувати документ та розпізнати в різний спосіб.
Обладнання: комп'ютер зі встановленим програмним засобом для розпізнавання тексту; ска­
нер; документи для сканування; файли з відсканованими документами.
Примітка. Бажано підготовити для сканування два документи: один із тек­
стом в одну колонку, другий — із текстом у кілька колонок та ілюстраці­
ями. Результати сканування зберегти у файлах файлі та файл2 відповідно
для подальшого розпізнавання.

Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

1 Відкрийте програму розпізнавання тек­ 8 Поверніться до команди Виділення фраг­


сту, дотримуючись указівок учителя. ментів тексту. Виділіть фрагмент однієї
2 Відкрийте файлі, який є результатом з колонок тексту за допомогою миші —
сканування першого документа. так, як виділяють прямокутні фрагменти
в середовищі текстових редакторів.
3 Виберіть команду Виділення фрагментів
тексту. 9 Розпізнайте виділений фрагмент.
4 Виберіть команду Розпізнати. 10 Збережіть отриманий документ.
5 Збережіть отриманий документ. 11 Закрийте програму. Проаналізуйте якість
розпізнавання тексту в трьох отриманих
6 Відкрийте файл2, який є результатом документах.
сканування другого документа.
Зробіть висновки: в яких випадках
7 Запустіть команду автоматичного виді­ можна запускати автоматичне виділен­
лення текстових фрагментів, розпізнайте ня фрагментів, а в яких краще виді­
та збережіть документ. ляти за допомогою миші.
2.4. Програми... 19

2.4. Програми автоматизованого перекладу


текстів
Поміркуйте, чи можна створити робота, що володіє
багатьма мовами. Якщо так, то де його можна вико­
ристовувати?

Робота з документами в організації не обмежується пере­


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

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


но скласти уявлення про загальний зміст іншомовного тек­
сту (інструкції, листи з електронної пошти, веб-сторінки з Ін-
тернету), перекласти великий за обсягом фрагмент тексту Ідею автоматизованого пере­
з однієї тематики. Результати такого перекладу потребують кладу в сучасній формі роз­
подальшої перевірки та редагування людиною. винув Мартін Кей, піонер
Автоматизований переклад класифікують за способом пе­ комп'ютерної лінгвістики.
рекладання на машинний, статистичний, гібридний. У 1980 році він висунув тезу,
Машинний переклад має за основу словники та аналіз гра­ що комп'ютер бере на себе
матичних правил конкретних мов. Лінгвістичний опис двох рутинні операції і звільняє лю­
мов дає можливість перекласти текст з однієї мови на іншу. дину для операцій, що потре­
Статистичний машинний переклад побудований на наяв­ бують людського мислення.
ності речень однією мовою й аналогічних речень іншою (так
званих паралельних текстів). Якість перекладу залежить від
об’єму бази паралельних текстів.
Гібридний машинний переклад поєднує можливості ма­
шинного (основа — слова і словники) та лінгвістичного пере­
кладу (фрази, речення).
Технологія «Пам’ять перекладів» базується на порівнянні
тексту, який потрібно перекласти, з готовими перекладами,
які зберігаються в попередньо створеній базі перекладів. У за­
гальному масиві текстів система знаходить сегменти, які вже
одного разу перекладено, і бере переклад із бази перекладів.
У Microsoft Office для перекладання тесту передбачені ко­
манди стрічки панелі Рецензування, де, крім команд для пере­
кладання, є команди для перевірки правопису на визначеній
мові. Налаштувати панель Рецензування можна за допомогою
команд Файл -» Параметри -» Настроїти стрічку, а потім у зоні
Основні вкладки вибрати Рецензування. Рис. 2. Зміст листівки можна
Під час перекладання виникає потреба в перекладі як окре­ зрозуміти за допомогою машин­
мого слова, так і всього тексту, фрагмента або абзацу (рис. 2). ного перекладу
20 Розділ 2

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


манду Перекласти з групи Мова панелі Рецензування (рис. 3) або
із контекстного меню для виділеного тексту відкрити область
завдань Довідкові матеріали й вибрати з неї команду Переклад.
Ознайомимося зі списком команд режиму перекладання:
• запуск послуги онлайн-перекладання (для всього доку­
мента);
• режим миттєвого перекладання;
• режим запуску області завдань Довідкові матеріали (рис. 4)
для налаштування параметрів перекладання та перегля­
ду результату.

*О Доку*
О<н0*м« Втвниіі Розміткапосмики
у Й ш з % ** -1 *J t J T J
Прмопис і Дооокф* T eunw Статистика П*р*м«ти Мом Створиш Єюашти маш Да* 5иооаа-
ГРАМ АТИ КА М А Т е р іА А И »

______ ПрААОПИС________ П | Р « О А ( Т М Д ОИУМ АНТ

В Щ Є ^ Р А Х А и и А М А Ш И Н Н О ГО "*Є * К Л А & Г у б О А у М Р і

■л Псрс«д»сти аидмсиий текст


В и о б р А И Г и н » П « р « « Л А Д У О И С .О М АН О ГО < 0 * К М М И К ТА
О М .% А Й Н О « И М И C * j r * 6 A M H . І О б ЛАСТІ ' Д О Д О О К М А Т 'р і А А И '

І Л М ІЦІПСреКЛАДАН
П о АЄАГГ» К І М И И ( д о (Л О М А б о 0ИД1ЛГГА ф9А>У ШО0
ГТеОеГЛАКуТИАКСПрАС-ЛАРекМД
&«*6*РГТ»мовуЧреиАДГ.
1 Ш ановний друж еIе

Рис. 3. Стрічка Рецензування: запуск команди Перекласти


Рис. 4. Область завдань Довідкові В області завдань Довідкові матеріали можна:
матеріали
• вибрати мову, з якої перекладають і на яку необхідно пе­
рекласти текст (зона Переклад зі списками вибору мов);
• переглянути перекладений текст;
• задати режим вставлення перекладеного тексту: замі­
нити виділений текст або скопіювати і вставити в будь-
яке місце документа (запускається командою Вставити);
• перевірити правопис.

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

1 Як ви розумієте словосполучення «автомати­ прикладом — українською скоромовкою:


зований переклад», «машинний переклад»? «За піщаною косою сірий косий впав під
2 Навіщо потрібні програми-перекладачі? гострою косою косої баби з косою»),
3 Які технології використано в програмах-пе- Л П ер екладіть наведений те к ст на одну
рекладачах? з інозем ни х мов. П окаж іть п ер еклад вчи­
4 Опишіть алгоритм перекладання тексту. телю інозем ної мови.
5 Як викликають вікно Довідкові матеріали? Історія українського народу дуже давня й роз­
повідає про основну рису українців — любов
6 Наведіть приклади тексту, переклад яко­ до свободи та волі. Вона знайшла своє відо­
го можна автоматизувати, та приклад для браження не тільки в історичних докумен­
перекладання людиною (поміркуйте над тах, а й у піснях та художніх творах.
Практична робота № 3 21

Практична робота № З
Тема. Використання програм автоматизованого перекладу текстів.
Завдання: перекласти текст за допомогою програми, порівняти машинний переклад із власним.
Обладнання: комп'ютер зі встановленою програмою для автоматизованого перекладу тексту, тек­
стовий файл із віршами українських поетів та їх перекладом на одну з іноземних мов.
Примітка: бажано підготувати переклад тексту з домашнього завдання за
§ 2.4 (с. 20).
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.
1 Запустіть програму Microsoft Word. © Чи отримали ви в кінці «ланцюжка»
2 Введіть фразу «Шановний друже» і виді­ перекладів початковий варіант тексту?
літь її. Чи задовольняє вас вихідний варіант?
Як ви вважаєте, чому отримано саме та­
3 На стрічці Рецензування клацніть кнопку кий результат?
Переклад.
10 Завантажте файл із віршем Т. Г. Шев­
4 У вікні, що відкриється, виберіть коман­
ченка. Якщо такого файла на вашому
ду Перекласти виділений текст. В області
диску немає, відкрийте новий документ
робочого поля з’явиться область завдань
та введіть текст:
Довідкові матеріали.
Реве та стогне Дніпр широкий,
5 У зоні Переклад області завдань Довідкові Сердитий вітер завива,
матеріали виберіть мову, на яку ви пере­ Додолу верби гне високі,
кладатимете звернення до друга. Горами хвилю підійма.
б Із списку Вставити виберіть команду Вста­ 11 Перекладіть текст на англійську мову
вити — і ви побачите у своєму документі й порівняйте з перекладом Івана Федоро­
перекладену фразу. вича Вив’юрського, відомого під іменем
7 Наберіть у робочому полі такий текст: Джон Вір.
The mighty Dnieper roars and bellows,
Історія українського народу дуже давня
The wind in anger howls and raves,
й розповідає про основну рису україн­
Down to the ground it bends the willows,
ців — любов до свободи та волі. Вона
A nd mountain — high lifts up the waves.
знайшла своє відображення не тільки
в історичних документах, а й у піснях 12 Відкрийте новий документ і наберіть
та художніх творах. текст, який містить відомості про вас:
8 Перекладіть набраний текст на інозем­ Мене звати (ім’я та прізвище).
ну мову, яку ви вивчаєте, і порівняй­ Я народився (народилась) у (місце
те з вашим перекладом (див. домашнє й дата народження).
завдання до § 2.4). Чи збігається пере­ Я навчаюсь у (назва навчального
кладений вами текст і текст, отрима­ закладу).
ний після машинного перекладу?
13 Перекладіть текст на англійську мову,
9 Перекладений текст послідовно перекла­ а потім навпаки — на українську. Збе­
діть на будь-які іноземні мови, а остан­ режіть документ.
ній отриманий варіант — на українську.
Зробіть висновки: який текст переклада­
Наприклад, послідовність мов перекладу
ється автоматично без спотворень; пере­
може мати такий вигляд:
клад якого тексту потребує редагування
українська -» англійська -» польська -» ні­ людиною; переклад якого тексту необ­
мецька -» українська. хідно повністю доручити людині.
3.1. Поняття комп'ютерної публікації.
Програмні засоби для створення публікацій
Пригадайте, які програмні засоби є в пакеті Microsoft Office.
У яких програмах опрацьовують текстові дані? Які програмні
засоби для створення та опрацювання графічних зображень
вам відомі?

Публікація (від лат. publico — Як відомо, текстовий документ може містити не тільки
оголошувати публічно) — це текст, а й графічні об’єкти — ілюстрації до тексту. Це спри­
оприлюднення деяких відомо­ яє підвищенню наочності документа, а також акцентує увагу
стей. Цим терміном назива­ на певних об’єктах.
ють також єдиний за формою У кожного з вас є досвід створення листівок, оголошень,
та вмістом документ, який запрошень тощо. Усі тримали в руках газети, журнали,
опубліковано. книжки. Для їх створення можна використовувати знайомі
вам програмні засоби — текстовий процесор, графічні редак­
тори. Але існують програмні засоби, які спеціально розробле­
ні для створення публікацій.
Донедавна публікаціями вважали документи, виконані по­
ліграфічним способом (рис. 1). Тепер статус публікацій ма­
ють також електронні документи, розташовані, зокрема, на
веб-серверах, які можна переглядати за допомогою браузера.
Залежно від способу збереження публікації розподіляють
на друковані та електронні (рис. 2).

Публікації

Друковані Електронні
Рис. 1. Приклади друкованих Публікації, збережені
публікацій Публікації,
на електронних носіях,
відтворені на папері
розміщені в Інтернеті

Електронне видання (англ. Рис. 2. Види публікацій


electronic publication) — елек­
тронний документ (кінцевий Більшість публікацій створюють, редагують і форматують,
продукт), що пройшов редак­ використовуючи певні комп’ютерні програми. У такому ви­
торсько-видавничу обробку, падку вживають терміни «комп’ютерна публікація», «елек­
призначений для розповсю­ тронна публікація». Наприклад, електронні публікації ство­
дження. рюють у середовищах програмних засобів, призначених для
створення сайтів, блогів тощо.
3.1. Поняття комп'ютерної... 23

Для підготовки друкованих публікацій використовують


видавничі системи — комплекс апаратних і програмних
складових. Часто так називають тільки програми з підготов­ Першою настільною видавни­
ки текстових документів для поліграфії. чою системою є PageMaker
Розглянемо складові видавничої системи (рис. Зі. компанії Aldus (1985 рік). Фор­
мат графічних файлів tiff, роз­
Видавнича система роблений разом із Microsoft,
є стандартом у видавничій
справі. Надалі компанія стала
Апаратна складова Програмна складова
частиною корпорації Adobe,
Комп'ютер, принтер, копіюваль­ а програмний засіб отримав
Програми для підготовки
ний апарат, сканер, графічний назву Adobe PageMaker.
електронних публікацій
планшет, фото- та відеотехніка

Рис. 3. Складові видавничої системи


У публікаціях велика увага приділяється взаємному роз­
міщенню текстового матеріалу та ілюстрацій до нього.
Макетом публікації є зразок розміщення текстових Прикладами професійних

Ф та графічних об'єктів публікації. програмних засобів верстки


є QuarkXPress,
Версткою називають процес компонування текстового та Adobe PageMaker,
ілюстративного матеріалу відповідно до розробленого макета Adobe InDesign тощо.

I
публікації з дотриманням принципів дизайну та технічних
вимог. Підготовлені до друку публікації (оригінал-макети) на­
правляють до поліграфічних підприємств.
Програми, що входять до складу видавничих систем, є про­
фесійними і настільними. Вони забезпечують:
• створення оригінал-макетів публікацій;
• опрацювання текстових і графічних об’єктів;
• імпортування об’єктів з інших програм;
• попередній перегляд публікації на екрані монітора з ура­
хуванням характеристик пристрою друку;
• можливість друку публікацій кожним кольором окремо;
• збереження публікації у файлах різних форматів тощо.
Професійні програми використовують для підготовки пуб­
лікації з великим тиражем (від тисячі до кількох сотень тисяч).
Видавничу систему називають настільною (від англ.
0 desktop publishing — настільні публікації), оскільки ї ї
складові можна розмістити на одному столі (рис. 4).
Для створення публікацій із невеликою тиражною кількі­ Рис. 4. Настільна видавнича
стю використовують настільні видавничі системи: офісні до­ система
датки (Microsoft Publisher) та інші програми, наприклад Раде
Plus, Avery DesignPro, Paraben's Label Builder тощо.

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

1 Що означає поняття «публікація»? 4 Що таке верстка публікації?


2 Які програми призначені для створення 5 Назвіть особливості видавничих систем.
електронних публікацій? 6 З'ясуйте, що таке оригінал-макет? Чим він
3 Що таке макет публікації? відрізняється від макета?
24 Розділ З

3.2. Види та структура публікацій. Основні


складові публікацій
Чи можна використати текстовий процесор для створення
публікацій? Чим відрізняються режими створення шаблону
документа від режиму створення звичайного документа
у Microsoft Word? У файлах із яким розширенням зберігаються
шаблони текстових документів у Microsoft Word?

Види публікацій Загальний вигляд публікації залежить від її призначення.


Розглянемо деякі види публікацій (рис. 1).
Буклет — переважно багатокольорова публікація, пода­
•••# Бланк на на одному аркуш і в кілька колонок (зі згином по межі
між ними). Найчастіш е використовується під час прове­
-•-ф Брошура дення публічних заходів. На різних сторінках (колонках)
буклету зазначають назву заходу, час проведення, призна­
•••Ф Буклет чення, програму, відомості про заклад, який проводить за­
хід; я к доїхати до місця проведення заходу, контактні дані
•••Ф Газета організаторів тощо.
Газета — щоденне, щотижневе або двотижневе періодичне
інформаційний; видання у вигляді складених аркушів, що має постійну на­
бюлетень зву. Може містити оперативну інформацію, фотографії, мате­
ріали з актуальних громадсько-політичних, наукових, вироб­
- ф Візитівка
ничих та інших питань.
Брошура — твір у вигляді книжки, обсягом не біль­
■■Ф Листівка
ше 48 сторінок. Брошури використовують у сфері освіти, ре­
кламному бізнесі тощо.
•ф Оголошення
Інформаційний бюлетень — видання, що має на меті ін­
формування групи людей щодо окремих питань. Зазвичай
- Ф Реклама
містить добірку актуальної інформації.
Оголошення — публікація, яка інформує про захід, подію
•■Ф Реферат та за необхідності містить стислі відомості про назву, час та
Рис. 1. Види публікацій
(або) місце проведення.
Реклама — публікація для довільного кола осіб, спрямова­
на на привернення уваги до об’єкта рекламування, формуван­
• Буклет (від фр. boudette — ня або підтримку інтересу до нього.
завиток) Бланк — документ, який містить поля для заповнення,
• Брошура (від фр. broc hure а також назви та призначення таких полів.
від brother — лишити) Реферат — твір, у якому проаналізовано, узагальнено й по­
• Інформаційний бюлетень дано відомості з різних джерел.
(від лат. bulla — документ із Візитівкою є документ, у якому надано відомості про особу
печаткою, італ. bulletino — або організацію, заклад.
записка, листок) Кожний вид публікації має своє призначення, чим зумов­
• Реклама (від лат. гесіата- лений його зовнішній вигляд, розмір, структура тощо (див.
ге — викрикувати) рис. 2). Наприклад, інформаційний бюлетень про проведення
• Реферат (від нім. referat, лат. олімпіади з певного предмета містить опис того, на що має
refere — доповідати) звернути увагу учасник, та посилання на літературу. Якщо б
• Газета (від італ. gazzetta — його зміст було обмежено місцем і часом проведення олімпі­
назва дрібної монети) ади, то це було б оголошення, а якщо б містило заклик до
участі в олімпіаді та пропозицію з додатковими бонусами
3.2. Види та структура...

учасникам і переможцям,— то рекламою. Візитівка має адре­


су, телефон, логотип організації або фотографію особи тощо.
У настільних видавничих системах створення різних видів
публікацій максимально автоматизовано.
Шаблон (від фр. echantillon — зразок) — приклад, який
Ф наслідують; готовий зразок, за яким створюють доку­
мент певного виду.
Уг*.щ MFWSPAPEK
На основі шаблонів, які визначають загальну структуру
певного виду публікації, створюються макети, що мають пев­
ний дизайн. Зазвичай для кожного шаблону є кілька варіан­
тів макетів.
Для створення кожного виду публікацій існують біб­
ліотеки професійних макетів. Користувачу потрібно тільки
наповнити необхідним вмістом запропоновані макетом блоки.
Структура публікації складається з текстових і графіч­
них блоків, що заповнюються користувачем, а також стан­
дартних блоків (рис. 3).

Публікація
[г°Р$ап
Текстові блоки Графічні блоки Стандартні блоки

:-"-ф визначені шаблоном ф ......

•••••# Додані користувачем ф ......

Рис. 3. Структура публікації


Текстові та графічні блоки в публікації обмежені спеціаль­ BUSINESS
TrifoldTemplate

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


додавання графічного зображення.
Стандартні блоки — це фрагменти, які можна використати
в різних видах публікацій, наприклад заголовки, календарі
тощо. Вони зберігаються в окремих колекціях.
Шаблони різного виду публікацій мають свої особливо­ Рис. 2. Публікації різних видів
сті. Більшість із них містять спеціальні місця для логотипу
організації (графічний блок) і введення назви, за потреби —
дати випуску (текстові блоки).
Програмними засобами передбачено можливість вставлян­
ня додаткових блоків для введення тексту та рисунків за
бажанням користувача.

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

1 Які види публікацій розрізняють? 4 Які структурні блоки мають публікації?


2 Що означає поняття «шаблон публікації»? 5 Поясніть використання стандартних блоків
у відомих вам видах публікацій.
3 Який зв'язок між поняттями «вид публікації»,
6 З'ясуйте, які відомості мають бути у візитівці
«шаблон», «макет публікації»?
приватної особи.
Розділ З

3.3. Створення комп'ютерної публікації


Пригадайте, як запустити офісну програму на виконання. Як
створити текстовий документ?

Для того щоб створити тестовий документ, електронну та­


блицю чи комп’ютерну презентацію, можна скористатися пев­
ного офісною програмою, наприклад Microsoft Word, Microsoft
Excel, Microsoft PowerPoint з пакету Microsoft Office. Після за­
Створити пуску будь-якої з цих програм у робочій області вікна програми
з’являється новий документ, створений за певним шаблоном.
ГУсшу* он*аДк«иіг ш : ні.
До складу Microsoft Office також входить програма
ОіаЬмсгі Ім г ш (»
Microsoft Publisher — настільна видавнича система, яка має
СГКЦІАЛЬМ ВЬМОМГО
інтуїтивно зрозумілий інтерфейс. І хоч ця програма має об­
межену кількість функцій порівняно з професійними ви­
давничими системами, наявність великої кількості шаблонів
і макетів публікацій значно спрощує створення публікацій
різних видів.
Розглянемо особливості настільних видавничих систем,
їхні можливості щодо створення та редагування публікацій
на прикладі Microsoft Publisher.
Рис. 1. Створення нової публікації Процес створення нової комп’ютерної публікації відрізня­
в Microsoft Publisher ється від створення нового документа в інших додатках па­
кета Microsoft Office. Наявність великої кількості шаблонів
і макетів зумовила деякі особливості початку роботи з новою
публікацією (рис. 1).
Розглянемо алгоритм створення нової комп’ютерної публікації.

Запустіть програму Microsoft Publisher за допомогою ярлика програми або


Крок 1
команд Пуск -» Microsoft Office -» Microsoft Publisher.
Виберіть шаблон публікації (рис. 2) відповідно до виду публікації.

Вбудовані шаблони
© Домішиясторони»ІуяЛЯТМ Вкладки
Іистмювямі шлб/они

Інформаційні

*.*а
МІ
3 і
*■"

*

* 5
if
«и
*■- -
Ф і:
_
* 1 *
к
| s
■ і
£
і з т
Ко.льорпіі <М)ТИ Мірнр Модулі Перфоріиія
Крок [Моду.*]

С'їмі ц.:-н.$-іі

5 - - =г- _
» т * ш у- 9 0 инілочу St flp0MO*4jra*M) V

Сітг-сбои idcMonv
П а с и в и чия Простий Стріло* Тнстнмл Фогоряча тл
р0ЇДіЛЮв*Ч
n * p iv* -p n
□ДедітиVfК/кліснтя
— □-
Ь — » *— Н1 - • 1^
- ! 1 1 . ■ІЙ і .к. (.
3 ; _ ЄІ • С „ і
t o w n ________ Колюрооі оя»щ________ М ярор Модулі________ П«рфорація

Рис. 2. Вибір шаблона публікації


3.3. Створення...

Шаблон вибирають із бібліотеки Microsoft Publisher (вбудовані шаблони)


або з Інтернету. Вбудовані типи шаблонів згруповано в групи Порожня
публікація (книжкова, альбомна), Мої шаблони, Популярні публікації (бу­
клети, бюлетені, календарі, листівки, поштові картки тощо), Інші шаблони.
........................... *
Крок 3 Відповідно до вибраного шаблону виберіть макет публікації (див. рис. 2).
%.................... .•
........................... * Після вибору макета в робочій області вікна програми з'явиться новий до­
Крок 4
Ч........................ .• кумент (публікація) із розміткою кожної сторінки згідно з вибраним макетом.
........................... * Наповніть запропоновані блоки текстом та ілюстраціями. За потреби встав­
Крок 5
........................... - те додаткові блоки та наповніть їх.
........................... *
Крок 6 Збережіть публікацію (тип документа Microsoft Publisher .pub).
ч..........................-

Таким чином, усі сторінки документа, свореного у тексто­


вому чи табличному процесорі, мають однаковий вигляд.
Сторінки різних видів публікацій за виглядом відрізняються
одна від одної (рис. 3).
У робочій області також з’явиться Область завдань з ко­
мандами для роботи з публікацією. Наприклад, для вибору
поточної сторінки, що дозволяє опрацьовувати сторінки у до­
вільному порядку.
У групі Параметри сторінки містяться команди для встанов­
лення орієнтації та полів сторінки, розміру паперу, в групі
Фон сторінки — команди встановлення фону.
У процесі роботи з публікацією є можливість змінити
один вид публікації на інший, панель Макет сторінки містить Рис. 3. Приклади публікацій,
команду Замінити шаблон. Команди групи Схеми цієї панелі створених у Microsoft Publisher
призначено для вибору або створення власної кольорової схе­
ми макета публікації та шрифтів для різних текстових бло­
ків макета (рис. 4).
Н а стр о ю ва н н я
Насроизванн*
Колірна схема:
Колірна схема:___________________________
(з шаблону за промоечаиням) І (з шаблону за промоечаиням) v|
-
Схема шрифтів; Схема шрифті»:

(з шаблону за промоечаиням) - (j шаблону за промоачаииям) v

Настроювання
Службові ЄІДОМОСТІ:_____________________
Колірна схема: (з шаблону за промоечанням) [[Створити НОВИЙ..■ 1у І

Апекс Параметри
АгіаІ □ Додати адресу клієнта
Book Antique Форма:______________________
Архівна
Georgia Bold I j Нем
Georgia
Базова
Arial Bold
Ariel
Вели» a
Book Antiqua
Бланк замовлення
Book Antique
Вихідна
Bookman Old Style І Бланк для відповіді
Ariel
Відкрита
Candara
Candan В m ^Л8МІСреєстрації
Віртуальна V

Рис. 4. Налаштування параметрів макета


Розділ З

Вікно програми Microsoft Publisher містить стандартні еле­


менти вікон додатків Microsoft Office: рядок заголовка, стріч­
кову панель, робочу область (рис 5). А крім них містить ліво­
руч вузьку вертикальну панель для роботи з об’єктами і об­
ласть задач з командами для розв’язування задачі створення
швидкої публікації відповідно до зразка макета чи шаблону.
Область завдань Рядок меню Лінійки Панелі інструментів Робоча область
\ у _____ г~
І^ ’ /

■у»

X
/ Публікаціям - Publisher


| ФаіЦ Оїноікє Єстммлк» Мі«ПЛОрін«І Рохклси

Рис. 5. Інтерфейс програми Microsoft Publisher

У вікні Microsoft Publisher за замовчуванням відображають­


ся дві панелі інструментів: Стандартна та Форматування. Керу­
вання виведенням чи приховуванням цих панелей здійсню­
ється у звичний спосіб.

З а п и т а н н я д л я п е р е в ір к и з н а н ь
J)
1 Як запустити програму Microsoft Publisher 4 Назвіть елементи вікна програми Microsoft
на виконання? Publisher.
2 Як створити нову публікацію? 5 Як змінити макет вже створеної публікації?

3 Де можна знайти шаблони публікацій? 6 Яке розширення має файл публікації?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
Створіть листівку для привітання друга 3 У вікні, що відкрилося, виберіть макет лис­
з днем народження. тівки (наприклад, день народження).
1 Запустіть програму Microsoft Publisher. 4 У текстовий блок уведіть привітання другу
з днем народження.
У вікні, що відкрилося, виберіть шаблон пу­ 5 Збережіть публікацію у форматі Publisher,
блікації (наприклад, вітальні листівки). вибравши необхідну папку.
Практична робота № 4 29

Практична робота № 4
Тема. Створення буклета з використанням шаблону.
Завдання: створіть інформаційний буклет для учасників і гостей конкурсу.
Обладнання: комп'ютер зі встановленою програмою Microsoft Publisher, файл із логотипом
(емблемою), дані про навчальний заклад, відомості про конкурс.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Відкрийте програму Microsoft Publisher звич­ 6 У першій колонці першої сторінки, яка
ним для вас способом. містить текстове поле з назвою Заголовок
задньої панелі, розмістіть інформацію про
Виберіть шаблон Буклети з групи шабло­
заклад.
нів Популярні.
7 У першій колонці другої сторінки додай­
Виберіть один із макетів інформаційно­ те план проведення конкурсу:
го буклета і виконайте команду Створити
(при подвійному клацанні на ескіз маке­ 1) змініть назву в текстовому блоці на
та команда Створити запускається авто­ «План конкурсу»',
матично). 2) вилучіть вміст текстового блоку (виділіть
У вікні, що відкрилося, в робочій обла­ і скористайтесь клавішею видалення);
сті розміщено макет першої сторінки 3) перейдіть на панель Вставлення, в гру­
буклета. Буклет за замовчуванням має пі Таблиці виберіть зручний для вас
альбомну орієнтацію з трьома колонками спосіб вставлення таблиці з трьох
розміщення даних. Після роздрукування стовпців і декількох рядків;
аркуш згортають по межах між колонка­ 4) за допомогою миші розмістіть табли­
ми — і буклет набуває вигляду ширми. цю під введеною назвою;
Заповніть текстові та графічні блоки да­ 5) введіть заголовки таблиці та заповніть
ними: її за зразком:
1) на титулі буклета (третя колонка пер­
шої сторінки) у блоці «Назва органі­ № з/п Час, хв Доповідач, ПІБ
зації» введіть «Міністерство освіти
і науки України», на наступному ряд­
ку — назву вашого закладу,
2) додайте нове текстове поле (панель Встав­
лення, команда Додати текстове поле), 8 В інші колонки другої сторінки введіть
розмістіть його по центру титульної інформацію про роботу секцій МАН
сторінки; вставте назву заходу — «Кон- (секції виберіть на власний розсуд).
курс-захист науково-дослідницьких
робіт учнів — членів М А Н України»; 9 Збережіть публікацію.
3) додайте нове текстове поле, розмістіть 10 Покажіть публікацію вчителеві.
його внизу титульної сторінки; введіть
дату проведення конкурсу. 11 Закрийте програму.
На зворотній сторінці буклета (друга ко­
лонка першої сторінки) у блок із назвою Зробіть висновки: до яких подій у вашо­
«Організація» введіть реквізити вашого му шкільному житті краще підготува­
закладу: адресу, контактні телефони; ти буклети; наведіть приклади; у яких
в графічний блок додайте емблему за­ випадках можна застосувати інші види
кладу. публікацій.
ЗО Розділ З

3.4. Робота з текстовими об'єктами.


Зв'язки між об'єктами публікації
Пригадайте, що таке текст, з яких об'єктів він складається.
Основним об’єктом публікації є текстовий блок, який скла­
дається з текстової рамки та області, в яку вводиться текст.
На одній сторінці може міститися декілька текстових блоків,
визначених макетом публікації.
Текстові блоки можна додавати, вилучати, переміщувати,
змінювати розміри для надання публікації потрібного вигляду.
Для додавання текстового блоку можна скористатися ко­
мандою Вставлення -» Накреслити текстове поле (рис. 1).

У Публікація? - Pubiuher
Файл Основне Mattel ti DjUHKH Роісй/ми Р«*«>умин. Подоїм*

Переміщувати текстові блоки та змінювати їхній розмір


0 - -------------------------
Властивості текстового бло­
зручно за наявності направляючих — допоміжних ліній на сто­
рінці, які встановлюються за допомогою команд групи Макет.
Для вилучення текстового блоку його потрібно виділити,
ку: розмір, кут розташуван­
клацнувши рамку, а потім натиснути відповідну клавішу
ня, колір і тип контура (або клавіатури (Delete, Backspace).
без контура), колір і тип за­ Для переміщення об’єктів потрібно навести вказівник миші
ливки (або без заливки). на межу об’єкта (але не на маркери), де вказівник змінює ви­
гляд на хрестоподібний зі стрілками. Потім об’єкт перетя­
гують у потрібне місце з натиснутою лівою кнопкою миші.
ДиаіЖЙИШда уфаикшоі гжсваюсп З» зрвосзазххм ПЗСХ- Для змінення розміру об’єкта слід навести вказівник миші
іоашіЛЮЯ-art] пкой,«> 3 Jp«x —ztzaa в а-
на один із маркерів на межі об’єкта. Коли вказівник змінює
ЯЯІ<ия.ЮЯЖ; ■ ш а г а х гроюдс*- xynxxx z im ' xti з р в 0 -
июитвзу*
Я И ІЮ Ія к те г и » і
tx x o p n x i u s i i П I
y p e y n x iш U C X K )
ззбкзго Htcrap*
вигляд на двобічну стрілку, можна перетягувати в потрібно­
Каянмію еМК
9 ажстоги» 199* росу
розі у р ш к ю і MOB s
п і с о з ш а і yxpuxcv му напрямку відповідний маркер рамки з натиснутою лівою
У ш о м П р с и о г і St кого сусазкств»
12419* «Про Д е » клавішею миші.
Якщо текстовий блок переповнений або текст перетікає на
наступну сторінку, блоки з’єднують у ланцюжок. У випадку
коли текстовий фрагмент перевищує розмір текстового бло­
x afT l upe< — at з ш *з»-
' ^ l - r J |iyXIXXlS*X'«ri SptSO'
зобного Нктор»
ку, текст автоматично розміщується у наступному зі зв’язних
30!! текстових блоків.
)И Ї “ •SMOT**-»<»>•«
аозоазппа авхмруї
0 і історіографе.
Текстові блоки, в яких може розміщуватися один тексто­
вий фрагмент, називають зв'язаними.
Рис. 2. Перетікання тексту На зв’язність текстових блоків вказують спеціальні мар­
між текстовими блоками (а); кери (1) (рис. 2, а). Якщо текст не вміщується в текстовий
переповнення текстового блоку (б) блок, у нижній правій частині цього блоку з’являється
3.4. Робота з текстовими...

маркер переповнення (2) (рис. 2, б) — квадратик із трьома


крапками. У випадку, коли текст не вміщується в блок, по­ Форматування об'єктів
трібно збільшити текстову рамку, перетягуючи рамку блоку,
або зв’язати поточний блок з новим текстовим блоком для Форматування текстових
перетікання в нього тексту. У нового текстового блока на лі­ об'єктів
вому краї з’являється стрілка, яка вказує, що текст у блоці
є продовженням тексту з іншого блоку. символ (установлення
Для створення зв’язку між блоками потрібно навести вказів­ і :-.-ф шрифту, розміру, ко­
ник миші на маркер переповнення; клацнути лівою кнопкою льору, накреслення)
миші — маркер набуває вигляду глечика; перемістити вказів­
ник миші в інший текстовий блок і клацнути його. абзац (установлення
У ході редагування тексту (видалення, додавання тексту) відступів, міжрядко­
слова перетікатимуть з одного текстового блоку до іншого. вого інтервалу, ви­
Якщо для текстового фрагмента двох текстових блоків не ви­ рівнювання)
стачає, можна налагодити зв’язок ще з одним текстовим бло­
сторінка (встанов-
ком, і текст перетікатиме вже по трьох блоках.
Згадаємо, що процес змінення зовнішнього вигляду до­ -•••ф лення полів, орієн­
кумента називається форматуванням (рис. 3). Форматування тації)
текстових блоків складається з форматування рамки та тек­
Форматування графічних
сту в блоці. Для форматування призначена вкладка Формат
об'єктів
(Знаряддя для тестових полів), яка з’являється, щойно текстове
поле стає активним. Рис. 3. Форматування об'єктів
Розглянемо групи команд для форматування тексту:
Містить команди По розміру тексту (часто використовують команду Збіль­
шення для зміни розміру текстового поля під розмір текстового фрагмен­
Група Текст
та), Зміна напрямку тексту та Розстановка переносів для використання
або відмови від переносів

Містить команди, що дозволяють відформатувати розміщення тексту в бло­


Група Вирівнювання
ці по вертикалі та горизонталі

Містить команди для встановлення (або розриву) зв'язку тексту між тексто­
Група Зв'язування
вими блоками та перетікання між ними

Розглянемо групи команд для форматування символів:


Група Шрифт Містить команди для змінення вигляду символів і міжсимвольного інтервалу.

Містить команди, що дозволяють застосувати стиль WordArt і текстові


Група Ефекти
ефекти (тінь, підсвічування, рельєфність) до символів.

Група Оформлення Містить команди для художнього виокремлення виділених символів у тексті.

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

1 Що являє собою текстовий блок? 4 Які групи команд використовуються для


форматування всього тексту блоку?
2 Як переміщувати текстовий блок, змінювати
його розміри? 5 Як додати новий текстовий блок?

3 Для чого під час макетування сторінки 6 Які текстові блоки називають зв'язними? По­
використовують направляючі? Поясніть на ясніть, як зв'язати текстові блоки.
прикладах.
32 Розділ З

3.5. Робота з графічними об'єктами


Які види графічних об'єктів можна додавати в текстовий
документ у програмах офісного пакету Microsoft Office?
Як ви знаєте, крім текстових блоків, структура публікації
містить стандартні блоки. Для додавання стандартних блоків
використовують групу команд Стандартні блоки панелі Встав­
лення (рис. 1). Команди вибирають із бібліотеки блоків, а ті,
у свою чергу,— у відкритому вікні групи або на панелі.
Для додавання графічних об’єктів до публікації призначе­
ні команди групи Ілюстрації стрічкової панелі Вставлення.
в *> • с» • П ублікацій - Publisher ? - 0 х

Ф*кл Оо*оеме Мд.СТ crop.«чи Рохи/іки Речеюумммя Поденна Увійти

Рис. 1. Стрічкова панель Вставлення: групи Таблиці, Ілюстрації, Стандартні блоки

Розглянемо можливості додавання графічних зображень.


Для додавання рисунка з файла використовують команду
Зображення. Після цього відкривається діалогове вікно Встав­
лення зображення, в якому в потрібній папці вибирають по­
трібний файл із рисунком. Вставлення рисунка відбувається
без зміни його початкового розміру.
Для додавання рисунка з колекції Microsoft Office вико­
ристовують команду Онлайнові зображення, для додавання
фігур векторного редактора, вбудованого в Microsoft Office,—
команду Фігури.
Для додавання рамки для зображення у групі Ілюстрації
є команда Покажчик місця заповнення для рисунка. З її допомогою
можна позначити місце для майбутнього рисунка в публікації.
Додавши рамки для зображення, можна змінити її розмі­
ри, а також перемістити в інше місце сторінки (рис. 2).
День щ і ш ) ш Для вставлення рисунка в рамку потрібно навести вказівник
ШЯЮЯВ та ш - дяи миші на схематичне зображення рисунка всередині рамки (він
І Б Я Т О . яке ЩЙРЛ-
підсвітиться) і клацнути — відкриється вікно додавання рисун­
ка, як і під час виконання команди Вставлення —> Зображення.
Рисунок займатиме місце, визначене рамками. Як тільки рису­
нок буде додано, автоматично активується команда Обтинання.
листопада. Щоб завершити вставлення зображення, слід клацнути
кнопкою миші поза рамкою.
д т &А8 9 листо- Форматування графічного об’єкта здійснюється команда­
ми стрічкової панелі Формат (Знаряддя для зображень), яка
Рис. 2. Фрагмент публікації з’являється, якщо об’єкт виділено.
з рамкою для вставлення рисунка Стрічкова панель Формат має різний вигляд — залежно від
типу графічного об’єкта, який виділено (див. рис. 3).
3.5. Робота з графічними... 33

н *>• 5 Пу6/мвфя2-Publisher їнврвдг»дд»тобрііжеиь 7 - П X


Файл Основне Вставлення Макетсторінки Розсипки Рецензування По.-.jn-a Увійти
Ід ЕП 55 ПЕЇГ її
Q ^ M e u рисуйся * DO |jb| И] Переміст • перед • t £ j

Зображення Ко*рвщмПерефQарбувати1^ Поміняти s — і т q • О0 Ефеетидля зображень •


Упорядкувати Обтікання
*ЬПеремутитинайд *
2к- Обітнути
місцями* Підпис* Є * Вирівняти ' - +J № ■ » * : |
вставлення знаряддя «і Поміняти Стилізображень Упорядкувати Обтинання Розмір «і
Г Р И. , . Н. . . U. . . |і.. ., . h . 1*. . І. І*. , . К...... І» N.. І». |Щ
Рис. 3. Стрічкова панель Формат (Знаряддя для зображення) для форматування рисунка

Стрічкова панель Формат містить такі групи команд:


Містить команди для опрацювання зображення: корегування кольору, уста­
Група Знаряддя
новлення ступеня прозорості кольору зі списку команд Перефарбувати та ін.

Містить команди, що дозволяють вибрати вигляд межі рисунка, його форму,


Група
а також вставити підпис до зображення. До рисунка можна застосувати тіньо­
Стилі зображень
ві ефекти завдяки командам однойменної групи.

Команди решти груп стрічкової панелі Формат ідентичні


знайомим вам командам для форматування зображень у тек­
стовому процесорі.
Для форматування фігур панель Формат (рис. 4) має такі
самі команди, як і відповідна панель програми MS Word.

Рис. 4. Стрічкова панель Формат (Засоби креслення) для опрацювання векторних фігур

Аналогічно зображенню в публікацію можна вставити таб­


лицю і відформатувати її. Робота з таблицями здійснюється
у звичний для Microsoft Word спосіб.

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

1 Які команди використовують для вставлен­ 4 Які особливості має графічне зображення,
ня графічних об'єктів у публікацію? розміщене в попередньо вставлену рамку?
2 Наведіть приклади стандартних блоків. 5 Поясніть, як вставити та відформатувати
таблицю в публікації.
3 Як форматують у публікаціях малюнки?

ТТ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
Створіть бюлетень із рисунком, відформато­ 4 Виконайте Вставлення -> Зображення, додай­
ваним за наведеним планом. те рисунок та залиште його активним.
1 Запустіть програму Microsoft Publisher. Вико­ 5 Активуйте панель Формат, виберіть із групи
найте команду Файл -> Створити. Перефарбувати, у списку, що відкриється —
Установити прозорий колір.
2 Виберіть тип публікації Бюлетені.
6 Наведіть змінений вказівник миші на будь-
3 Виберіть макет бюлетеня на свій розсуд. який колір на рисунку й клацніть його.
34 Розділ З

3.6. Етапи роботи з публікацією


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

Крок 2 Виберіть шаблон і макет публікації.

Наповніть згідно з макетом текстові та графічні блоки підготовленими


Крок 3 заздалегідь текстами та ілюстраціями. За необхідності вставте додаткові
*........................... *
блоки.
F....................... ' V
Крок 4 Відредагуйте та відформатуйте публикацію.
........................... • 1
........................... V Збережіть публікацію після закінчення роботи.
Крок 5 Публікацію можна зберегти у файлах Microsoft Publisher (*.pub), а також
у форматі PDF, як веб-сторінку, у форматі текстового документа.

IV. Розповсюдження комп’ютерної публікації.


Роздрукувати презентацію або розмістити в Інтернеті.

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

1 Назвіть етапи створення комп'ютерної пуб­ 4 Як вибрати поточну сторінку публікації для
лікації. наповнення та редагування.
2 Які д ії потрібно зробити після запуску про­ 5 Як змінити колірну схему макета?
грами Microsoft Publisher перед введенням
даних у публікацію? 6 Для чого використовують направляючі під
3 Чи можна скористатись можливостями Ін- час макетування сторінки публікації?
тернету для визначення шаблону публікації?
Практичні роботи № 5, 6 35

Практична робота № 5
Тема. Створення бюлетеня з використанням шаблону та стилів оформлення.
Завдання: створити бюлетень до Дня української писемності та мови (відзначається
8 і 9 листопада).
Обладнання: комп'ютер зі встановленою програмою Microsoft Publisher; матеріали про історію
української писемності, видатних українських поетів, письменників, їхні фотографії.
Примітка: зазначені матеріали можна знайти в мережі Інтернет у ході вико­
нання роботи.
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.
Відкрийте програму Microsoft Publisher. • перша сторінка містить назву бюлетеня,
дату та номер випуску, основну статтю
Виберіть шаблон Бюлетені з групи шабло­
(про День української писемності та мови),
нів Популярні.
додаткову статтю, а також зміст (на якій
Виберіть один із макетів бюлетеня на сторінці розташовані статті бюлетеня);
власний розсуд. • заповніть внутрішні сторінки бюлете­
У робочій області вікна, що відкрилося, ня, якщо маєте матеріали для заповне­
розміщено макет першої сторінки бюле­ ння, за час, відведений на практичну
теня. (Бюлетень подано чотирма сторін­ роботу. Якщо таких матеріалів немає,
ками: першою, заключною, між ними на перейдіть в область навігації по сторін­
розвороті дві внутрішні сторінки.) ках, виділіть внутрішні сторінки (другу
Змініть колірну схему бюлетеня: відкрий­ і третю) та вилучіть їх командою з кон­
те панель Макет сторінки, в групі Схеми ви­ текстного меню;
беріть колірну схему макета на власний • заключна сторінка має містити дані про
розсуд. авторів, анонс наступного випуску бюле­
теня (введіть текст на власний розсуд).
Виберіть шрифтову схему для оформлен­
ня буклета: на панелі Макет сторінки від­ 8 Збережіть публікацію.
крийте список Шрифти і виберіть шрифто­ 9 Покажіть публікацію вчителеві.
ву схему.
Заповніть графічні та текстові блоки ма­ 1 0 Закрийте програму.
теріалами з урахуванням назв текстових Зробіть висновки: як створити бюлетень
блоків та можливістю перетікання тексту із використанням шаблону та стилів
між текстовими блоками: оформлення.

Практична робота № 6
Тема. Проектування та створення комп'ютерної публікації для подання результатів само­
стійного дослідження.
Завдання: створити інформаційний бюлетень для подання результатів самостійного дослі­
дження.
Обладнання: комп'ютер зі встановленою програмою Microsoft Publisher, текстові та графічні
матеріали за темою дослідження.
Примітка. Якщо самостійне дослідження не було здійснено, дослідіть питан­
ня про наявність курсів (наприклад, із програмування, основ живопису або ін­
ших — на власний вибір) за допомогою мережі Інтернет.
Розділ З

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.


1 Відкрийте програму Microsoft Publisher. 5 Перемістіть рамку зображення в праву
2 Виберіть один із макетів бюлетеня на нижню область першої статті.
власний розсуд. 6 Уставте в рамку ілюстрацію, яка б відпо­
3 На першій сторінці виконайте такі дії: відала темі головної статті.
1 ) уведіть назву в область заголовка; Уставте в публікацію таблицю, що має
2) перейменуйте область «Важливі де­ 5 стовпців, та заповніть:
талі» на «Етапи дослідження» і запо­ 1 ) перший рядок таблиці — назвами
вніть список назвами етапів; стовців: № з/п; Назва курсу; Трива­
лість; Дати проведення; Адреса;
3) заповніть область першої статті на­
звою головної статті про дослідження 2 ) інші рядки таблиці — даними відпо­

та текстом про загальну тематику до­ відно до запропонованих заголовків


слідження (текст скопіюйте з доку­ стовпців (для дослідження про курси).
мента, який ви попередньо створили
Перейдіть до заповнення внутрішніх сто­
в ході виконання дослідження);
рінок. Вилучіть зайві текстові блоки.
4) заповніть область другої статті заголо­
вком, наприклад, «Чому я вибрав (ви­ Заповніть текстом і графічними зображен­
брала) _____ (галузь дослідження)», та нями області статей внутрішніх сторінок,
опишіть, чому саме ця тема вас заці­ висвітливши в одній із них:
кавила. Якщо місця на першій сторін­ 1 ) відомості про вашу участь у дослі­

ці не вистачає, створіть перетікання дженні (якщо ви брали участь у ко­


тексту на другу (внутрішню) сторінку; лективному дослідженні);
2 ) актуальність вашого дослідження;
5) відредагуйте текст області «У цьому
виданні» так, щоб назви статей відпо­ 3) аналіз інформаційних матеріалів з те­
відали сторінкам, на яких вони розта­ матики вашого дослідження;
шовані. 4) ваші очікування від проведеного до­
4 Створіть рамку для вставлення графічно­ слідження.
го зображення — виділіть зображення ко­
мандою Покажчик місця заповнення. 10 Присвятіть другу статтю власне процесу
дослідження.
Якщо у вас є числові дані дослідження,
hmrtnSflllwBK- II ' к k 3=-£- *ІРt II- 11 _ Н__
SCP ІРгртп проаналізуйте їх у табличному процесо­
-1 ь 0
#Г|ї-« Ое-1
гм-и4 BfMifctl
/квштииш х ж 0Ж, *■ JU- *S’ Д ■ Ш ш т ш ИиptcV№Cyr.-C1Tit
; :j • -
китім
Я мш
рі, створіть діаграму, скопіюйте й додайте
..............'....fl.,............................................................... в публікацію. (Для дослідження про кур­
(День української си такими даними можуть бути вартість
іЧ мови та і курсів або їх тривалість.)
щ
:11 !ІЕ Розмістіть на заключній сторінці виснов­
Рі Б*= E f t e Свят» ІІЯІОІШЬИІ нд'іи и п к ятіості ки, дані про автора (авторів).
>* ? Іаи л
Збережіть публікацію.
Покажіть публікацію вчителеві.
І ->.ЛІІ Ч-- 14 Закрийте програму.
Зробіть висновки: як спроектувати та
створити комп’ютерну публікацію для
подання результатів самостійного дослі­
Cwpfc—ii* І □ аі л и . 1Ї,«(К
дження.
Розділ 4. Бази даних
4 .1 . Поняття бази даних.
Реляційна модель даних
Чи доводилося вам раніш е працю ват и з будь-якими б а­
зам и даних? Чи м ож на підручник з інф орм ат ики назват и
базою даних?

. F t ---------------------------------
Нині важко уявити роботу великого супермаркету, системи
резервування й продажу авіаквитків, банку, морського порту, Вперше термін database (база
готельного комплексу тощо без використання інформаційних даних) з'явився на початку
систем, основою яких є бази даних. 60-х років XX ст. і був уведе­
ний у вжиток на симпозіумах,
База даних — це сховище організованої сукупнос­ організованих фірмою System
ті даних різного типу, які відображують стан об'єктів Development Corporation (СІІІА)
певної предметної галузі та зв'язки між ними. у 1964 і 1965 роках. Широкого
розповсюдження в сучасному
розумінні цей термін набув
Предметною галуззю називають сферу застосування кон­
у 1970-ті роки.
кретної БД, наприклад школа, банк, фірма, поліклініка, ра­
йонний відділ освіти тощо.
Об’єктом предметної галузі є те, про кого або про що збе­
рігаються дані в БД, наприклад учні, книжки, футболісти,
класи школи тощо.
Кожен об’єкт характеризується сукупністю властивостей ? ..... .................. ......
(атрибутів). Так, властивостями об’єкта УЧЕНЬ можуть бути
прізвище, ім’я, домашня адреса, дата народження, зріст. В Ісландії створена БД, яка
Далі об’єкти записуватимемо великими літерами, а в дуж­ містить інформацію про ро­
ках зазначатимемо їхні властивості. Наприклад, об’єкт УЧИ­ динні зв'язки усіх ісландців,
ТЕЛЬ можна позначити так: УЧИТЕЛЬ (прізвище, ім’я, починаючи з XVIII ст.
по батькові, рік народження, предмет), а об’єкт БОРОШ­
НО так: БОРОШНО (назва, виробник, сорт, вага, ціна).
Кожна властивість об’єкта має сукупність значень — не­
подільних елементів даних. Так, властивість сорт об’єкта
БОРОШНО може мати такі значення: вищий, перший, дру­ Кожна предметна галузь мі­
гий, а властивість предмет об’єкта УЧИТЕЛЬ — матема­ стить багато об'єктів, між яки­
тика, історія, хім ія та інші. Повний набір елементів да­ ми існують певні зв'язки. При­
них про об’єкт називають екземпляром об’єкта. Наприклад, міром, якщо предметною га­
екземпляром об’єкта УЧЕНЬ є: (Котенко, Іван, Петрович, луззю є школа, то її об'єктами
2017, 9 клас). можуть бути класи, вчителі,
Сукупність властивостей об’єкта та їхніх значень є даними учні, предмети, між якими існу­
конкретної БД. Дані можуть бути різних типів: числові, сим­ ють зв'язки. Так, учителі викла­
вольні та ін. Властивості та їхні значення мають між собою дають певні предмети, учні на­
зв’язки. Так, властивість прізвище учня пов’язана з конкретним вчаються в конкретних класах.
Розділ 4
прізвищем. Звідси випливає, що дані, які зберігаються
в базі, мають певну логічну структуру, тобто описуються де­
якою моделлю подання даних, або просто моделлю даних.
Способи відображення зв’язків між даними, тобто моделі
даних, можуть бути різними. Класичними є такі моделі да­
них: ієрархічна, мережева та реляційна (рис. 1 ).

Модель даних

Ієрархічна Мережева Реляційна

Сукупність об'єк­ Кожний вузол Побудована на основі


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

Університет -» факультети -» І І Підприємства певної галузі,


-» кафедри -» групи студентів і і де кожне з них може мати
і і. зв'язок з будь-яким іншим

Рис. 1. Моделі даних

Отже, модель даних визначає, яким способом відбуваєть­


ся об’єднання даних у структурі, встановлює обмеження на

ш
значення даних і можливі операції над ними. Найпоширені­
Бази даних шою зараз є реляційна модель даних. Активно розвиваються
об’єктно-реляційна й об’єктно-орієнтована моделі даних, які
НІ Документальні ґрунтуються на класичних.
За характером даних БД поділяють на дві основні групи:
зберігають бібліографічні,
реферативні й повнотек- документальні й фактографічні (рис. 2). Далі розглядатимемо
стові документи (закони, в основному фактографічні БД.
статті, рецепти тощо). Реляційна модель — це фактографічна БД, що є набором
Пошук може здійснювати­ взаємопов’язаних таблиць.
ся за фрагментом тексту Найпростіша БД містить одну таблицю, а складні — де­
або ключовими словами кілька десятків і навіть сотні таблиць. Розглянемо основні
поняття реляційних БД на прикладі таблиці УЧНІ (табл. 1).У
Фактографічні
Таблиця 1.УЧНІ
зберігають дані про
об'єкти предметної галузі Дата
у вигляді фактів {дані про Номер Прізвище Зріст Адреса
народження
результати ЗНО тощо).
На запит видаються дані 1 Топов А. І. 25.06.2001 172 вул. Кам'яна, 8
про об'єкт (прізвища
2 Носко І. П. 10.03.2002 168 вул. Березіна, 5, кв. 20
учнів класу, які народили­
ся в травні, тощо) У таблиці наведено деякі дані про учнів, а саме: поряд­
ковий номер, прізвище, дата народження, зріст і домашня
Рис. 2. Поділ БД за характером даних
адреса.
4.1. Поняття бази даних...

Основними елементами таблиці є поле (стовпець) і запис


(рядок) (рис. 3).
Поле має ім’я (наприклад, Зріст) і певне значення (напри­
клад, прізвище Топов А. І.).
Дані в одному полі можуть бути тільки одного типу. На­
приклад, у полі Прізвище тип даних символьний, а в полі
Дата народження — тип дата.
Запис — це множина значень усіх полів таблиці, на пере­
хресті яких він знаходиться.
У 1973 році американський
Не кожна таблиця може бути об’єктом БД. Для того щоб
вчений Чарльз Бахман отри­
таблиця була об’єктом БД, вона повинна відповідати таким
мав премію Тюрінга за керу­
основним вимогам:
вання роботою Data Base Task
• У таблиці не може бути однакових записів, вони повинні Group (робоча група по базах
відрізнятися значенням хоча б одного поля.
даних, СІІІА), яка розробила
• Імена полів у таблиці повинні бути різними. Одне поле стандартну мову опису даних
не може об’єднувати два і більше імен. і маніпулювання даними.
• Таблиця повинна мати ключ.
Зазвичай у таблиці є унікальне поле або кілька полів, Поле Значення поля
які однозначно ідентифікують записи. Такі поля називають
ключем (ключовим полем). Він використовується для Дата
Но­
швидкого пошуку і зв’язування даних із різних таблиць. Прізвище наро­ Зріст
мер
Ключ, який містить тільки одне поле, називають простим, дження
а ключ, який містить декілька полів, — складним (рис. 4). 1 Топов А. І. 25.06.2001 172
Зважаючи на те, що в одній таблиці може бути декілька 2 Носко І. П. 10.03.2002 168
ключів, тільки один із них можна визнати первинним. Най­ Запис
краще первинним ключем вибрати простий ключ (бажано,
щоб він мав цілочисловий тип). У цьому випадку операції Рис. 3. Структура таблиці
з опрацювання даних будуть виконуватися швидше.
У таблиці часто використовується поле, яке називається
лічильником. Лічильник використовується для того, щоб Простий ключ Складний ключ
зробити кожний запис унікальним. Крім того, лічильник
Дата
забезпечує нумерацію записів. Но­
Прізвище наро­ Зріст
мер
Реляційна БД може містити лише одну таблицю, але ре­ дження
ально вона складається із сукупності взаємопов’язаних між 1 Топов А. І. 25.06.2001 172
собою таблиць. Зазвичай уміст таблиць формується за функ­ 2 Носко І. П. 10.03.2002 168
ціональною ознакою. Це спрощує модифікацію БД і має інші
переваги. Наприклад, у БД підприємства оптової торгівлі Рис. 4. Ключове поле
в одній таблиці можуть зберігатися дані про замовників то­
вару, у другій — про співробітників підприємства, у третій — Таблиця може мати декілька
про відвантажені протягом доби товари тощо. ключів. У табл. 1 УЧНІ поля
Прізвище і Дата народження
Зв'язки можуть існувати між двома, трьома й більшою можуть бути визнані ключем,
кількістю таблиць. Але найчастіше вони встановлюються оскільки неможливо, щоб в од­
між двома таблицями. ній школі були два чи більше
учнів з однаковими прізвища­
Для встановлення зв’язків між двома таблицями одну з них ми, іменами, по-батькові, які
вибирають основною (батьківською), а другу — допоміжною народилися в один день.
(дочірньою). В основній таблиці вибирають первинний ключ,
Розділ 4

а в допоміжній — спеціальне поле (або сукупність полів) для


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

Приклад. Нехай у БД вступних іспитів до інституту є дві


таблиці: АБІТУРІЄНТИ (табл. 2) і РЕЗУЛЬТАТИ (табл. 3).
У 1970-х роках американський
математик Е. Кодд розробив Таблиця 2. АБІТУРІЄНТИ
теоретичні основи реляційної
Код абітурієнта ПІБ Телефон
моделі даних, яка швидко по­
023 Іванов П. Н. 21-355
сіла домінуюче становище на
ринку БД. У 1981 році за свій 024 Сидоров Є. М. 30-240
внесок у теорію і практику вче­ 025 Опришко М. В. 21-621
ний отримав премію Тюрінга.
Таблиця 3. РЕЗУЛЬТАТИ
Предмет Бали Код абітурієнта
Математика 57 023
Математика 56 024
Математика 54 025
Фізика 52 024

У табл. 2 АБІТУРІЄНТИ первинним клю­ встановлюється за допомогою поля Код абітурі­


чем є поле з іменем Код абітурієнта. У табл. З єнта. Якщо потрібно дізнатись прізвище й до­
РЕЗУЛЬТАТИ це поле не є унікальним, тому машній телефон абітурієнта, який отримав із
що результати в ньому дублюються (той самий математики 56 балів, а з фізики — 52 бали,
абітурієнт здає іспити з декількох предметів). то слід із табл. З РЕЗУЛЬТАТИ вибрати його
Але це поле є зовнішнім ключем, і за його код (024) і за значенням цього коду знайти
даними можна встановити зв’язок із табл. 2 . в табл. 2 АБІТУРІЄНТИ прізвище Сидо­
Отже, зв’язок між цими двома таблицями ров Є. М., телефон 30-240.

Первинний ключ
Як бачимо, зв’язки дозволяють отримати дані з декількох
Код абіту­ таблиць (див. рис. 5).
ПІБ Телефон
рієнта
023 Іванов П. Н. 21-355 Зв'язки між таблицями забезпечують захист даних і авто­
024 Сидоров Є. М. 30-240 матичну зміну даних у декількох таблицях, якщо сталися
025 Опришко М. В. 21-621 зміни в одній таблиці.

Зовнішній ключ Наприклад, припустимо, що зв’язок між табл. 2 і 3 не вста­


новлено. З якоїсь причини із табл. 2 видалено запис із пріз­
•Код абіту­
Предмет Бали вищем Сидоров Є. М., а в табл. З всі дані збереглися (рис. 6 ).
рієнта
Математика 57 023 Тоді невідомо, кому належать результати іспитів із матема­
Математика 56 024 тики й фізики абітурієнта, що має код 024. Вважається, що
Математика 54 025 у цьому випадку трапилося порушення цілісності даних.
Фізика 52 024 Залежно від того, у якому співвідношенні перебувають
ключові поля з полями зв’язку, між двома таблицями можуть
Рис. 5. Зв'язані таблиці існувати чотири види зв’язку (рис. 7).
4.1. Поняття бази даних... 41

Код абітурієнта ПІБ Телефон Предмет Бали Код абітурієнта

023 Іванов П. Н. 21-355 Математика 56 024

025 Опришко М. В. 21-621 Математика 54 025

Фізика 52 024

Рис. 6. Порушення цілісності даних

Один — один (1:1) Один — багато (1:Б)

Кожному запису основної таблиці Одному запису основної таблиці відповідає


однозначно відповідає тільки один запис декілька записів допоміжної таблиці.
допоміжної таблиці. Є окремим Це найпоширеніший вид зв'язку
випадком зв'язку (1:Б)

Багато — один (Б:1) Багато — багато (Б:Б)

Одному або декільком записам основної Декільком записам основної таблиці


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

Рис. 7. Види зв'язку між двома таблицями

Невід’ємною складовою БД є система, що забезпечує весь


цикл робіт від її створення до отримання даних, яка має назву
система управління базами даних (СУБД).
Основними функціями СУБД є створення бази даних,
опрацювання даних за відповідними алгоритмами, пошук по­
трібних даних, забезпечення цілісності даних, захист даних
і забезпечення їх таємниці.

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

1 На які основні групи поділяють БД? 7 Яким основним вимогам повинні відповіда­
ти таблиці баз даних?
2 Які класичні моделі даних існують?
8 Поясніть сутність об'єкта предметної галузі.
3 Яке поле називають ключовим?
9 Які основні функції виконує система управ­
4 Для чого використовують зовнішній ключ? ління базами даних?
5 Наведіть означення бази даних. 10 Які типи зв'язків існують між таблицями баз
6 Поясніть сутність реляційної моделі даних. даних?
42 Розділ 4

4.2. Загальні відомості про систему


Access 2016
Які чинники, на ваш у думку, сприяли бурхливом у розви т ку
баз д ан их в ост анні декілька десят иліт ь?

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


СУБД Access 2016 функціонує
дається з кількох етапів. За цей час розроблено багато СУБД,
під керуванням ОС Windows.
наприклад Dbase, FoxPro, Oracle 8.4, MS SQL Server 7.0, SQL
Бажано, щоб процесор мав
Base, MS Access 7 та ін. Всі вони по-різному працюють з різ­
частоту не менше 800 МГц,
ними об’єктами і мають різні функціональні можливості. Та
оперативна пам'ять була не
попри все, більшість із них спирається на єдиний комплекс
менше 512 Мб і вільна пам'ять
основних понять. Це дає нам можливість розглянути одну
на жорсткому диску — не мен­ систему й узагальнити її поняття, прийоми й методи на весь
ше 2 Гб. клас СУБД. Далі розглядатимемо одну з найпоширеніших
сьогодні СУБД — Access 2016.
Access 2016 входить до пакета Microsoft Office та
призначена для створення й роботи з реляційними БД. Ця
система працює з такими об’єктами, як таблиці, запити,
форми, звіти (рис. 1). Усі об’єкти найчастіше зберігаються
в одному файлі. Однак інколи таблиці зберігаються в одному
файлі, а інші об’єкти — в іншому файлі.

Таблиці Форми

Збереження даних Перегляд і заповнення


таблиць даними

Звіти
Запити
Рис. 2. Стартове вікно системи Виведення даних
Access 2016
Пошук, сортування, на екран або папір
отримання й додавання у зручному для
даних до таблиць користувача вигляді

Способи створення БД
Рис. 1. Об'єкти СУБД та їх призначення
у середовищі MS Acces 2016

за допомогою порож­ Запуск системи Access можна здійснити стандартними


ньої БД способами, що передбачені в ОС Windows. Після запуску
системи на екрані монітора з’явиться її стартове вікно (рис. 2 ).
з використанням Із цього вікна починається робота вже з існуючою БД або
шаблонів таблиць створення нової (рис. 3).
У лівій області вікна відображено імена БД, з якими ко­
з використанням копії
ристувач працював останнім часом. У правій області вікна
розташовано шаблони різноманітних БД, які можна напо­
вже існуючої БД
внити власними даними, що суттєво прискорює створен­
Рис. 3. Створення БД ня БД. Скориставшись полем пошуку, можна викликати
нові шаблони.
4.2. Загальні відомості...

Серед шаблонів в Access є Пуста база даних, яка слугує для


створення нової БД. У подальшому ми будемо використовувати
саме цей спосіб.
Ознайомимося з алгоритмом створення нової порожньої БД.
Клацнути поле Пуста база даних.
Відкриється вікно, зображене на рис. 4.

Пуста база даних


Створу.ї»-. 1
IJ о '..'. ' а : ,1Уу : , УЕ . ■у -

Ім'я файлу
Database3
Крок 1
G\Users\Bncrop\Documents\

Ll
Створити

Рис. 4. Вікно для створення нової бази даних

У рядок Ім'я файлу ввести ім'я файла майбутньої БД, наприклад osvita, на­
Крок тиснути кнопку Знайти розташування для бази даних, що розташована
праворуч від цього рядка.

У вікні, що відкриється, вибрати місце збереження файла БД, наприклад


Крок
диск F:, натиснути кнопку ОК, а потім — кнопку Створити.

У результаті цих дій файл БД osvita буде зареєстровано


у кореневому каталозі диска F:, а на екрані з’явиться вікно
для створення таблиці 1. Після цього можна приступити до
створення таблиць БД або закрити систему Access.
Тепер розглянемо початкове вікно відкритої БД на вкладці
Поля (рис. 5).

g ш т 0atabase4: База даних- G\Users\BiKTop\Docume... Робота з таблицями Увійти ? - □

Файл Основне Створення Зоен ішн і дані Зн аряддя бази да них 1 Таблиця 0 Що потрібно зробити?

|ЇЇ1 Ім'я та підпис ро! Змінити підстановку


Ь / АВ 12 ЕЗ LEJ
X Q . Значення за замовчуванням fx Змінити вираз Форматування *
Перевірка
Подання Короткий Числовий Грошовий
Й- Розмір поля Е З Параметри поля Мето * % 000 *60 і°0 поля*
Подання Додавання йвидалення Властивості Форматування
^ ТаблицяД X
Усі об'єкти Асс... ® « Список п о л ів
Ідентифікаї - К л а ц н іт ь , щ о б д о д а т и *
Пошук. \Р \
* (Н о в и й )!
Таблиці А Поля, які можна додати до поточного
подання, відсутні.
=3 Таблиця!

Запис и 1з 1 ’ и ^ Без фільтра Пошук


Подання таблиці Hum Lock

Рис. 5. Початкове вікно бази даних


Розділ 4

Основним об’єктом вікна є стрічка, на якій розташовано


команди й інструменти Access 2016. У верхній частині стріч­
F* ................. ки розміщено вкладки, зокрема Файл, Основне, Створення, Зо­
внішні дані, Знаряддя бази даних. Зміст команд та елементів ке­
У кожний момент часу Access
рування, які відображаються на стрічці, залежить від того,
2016 підтримує роботу тільки
яка в даний момент відкрита вкладка. Усі команди й еле­
з однією БД. Число користува­
менти керування згруповані в розділах, назви яких виведені
чів, які одночасно працюють із
у нижній частині стрічки.
БД, може досягати 255. Імена
У нашому випадку (див. рис. 5) на стрічці розташовано
об'єктів можуть включати до
розділи Подання, Додавання й видалення, Властивості та інші,
64 символів, максимальний об­
а над ними містяться відповідні кнопки команд. Якщо від­
сяг файла БД — 2 Гб. крити вкладку Створення, то будуть виведені інші розділи
й відповідні команди.
Стисло ознайомимося з призначенням вкладок.
Вкладка Основне містить команди й елементи керування,
які найчастіше виконуються в процесі роботи з БД. Це ко­
0 .... - ------ і манди для роботи з буфером обміну, форматування тексту,
Щоб згорнути й розгорнути сортування й фільтрування даних тощо.
стрічку, слід скористатися від­ За допомогою команд вкладки Створення створюють та­
повідними командами кнопки блиці, запити, форми, звіти й макроси, за допомогою команд
Настроїти панель швидко­ вкладки Зовнішні дані здійснюють експортування, імпортуван­
го доступу, яка міститься на ня й збирання даних.
панелі швидкого доступу, або Вкладка Знаряддя бази даних містить в основному команди,
натиснути праву кнопку миші що стосуються адміністрування БД (команди аналізу й пере­
в будь-якому її місці та вико­ міщення даних між програмами та ін.).
нати команду Згорнути стріч­ У лівій області екрана вміщено Усі об'єкти Access — панель
ку в контекстному меню, що переходів, на якій можуть відображатися назви всіх створе­
з'явиться. них об’єктів. За допомогою цієї панелі можна здійснювати
перехід між об’єктами БД, змінювати параметри області пе­
реходів.
Праворуч від панелі переходів є область редагування,
у якій можуть одночасно відображатися таблиці, запити та
інші об’єкти. Щоб закрити БД, слід скористатися командою
Закрити базу даних у меню швидкого доступу.

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

1 Як запустити систему Access 2016? 4 Яке призначення вкладок стрічки початко


вого вікна системи Access 2016?
2 Назвіть основні об'єкти системи Access 2016.
5 Поясніть порядок створення файлів бази да
3 Які є способи створення файлів бази даних? них.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Запустіть систему Access 2016. Створіть на 3 Відкрийте та проаналізуйте призначення ко­
жорсткому диску файл БД з іменем M ybasa. манд кнопки Настроїти панель швидкого
Переконайтеся, що файл зареєстровано. доступу.
2 Проаналізуйте призначення об'єктів почат­ 4 Відкрийте і проаналізуйте вміст вкладки
кового вікна БД, відкриваючи різні вкладки. Основне.
4.3. Таблиці

4.3. Таблиці
Приступаючи до розробки БД, необхідно ретельно викона­
ти її проектування. Проектування передбачає детальний ана­
ліз поставленого завдання, визначення вимог до документів,
які потрібно отримати. Особливу увагу слід приділити визна­
ченню кількості таблиць, структурі кожної з них, зв’язкам
між ними.

4 .3.1 . Створення структури таблиць


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

У середовищі Access існує кілька способів створення та­


блиць (рис. 1). Найбільш потужним і універсальним способом Способи створення таблиць
створення таблиць є режим конструктора, який розглянемо
нижче. ;•••# за допомогою майстра
Порядок і методику створення таблиць розглянемо на та­ таблиць
кому прикладі. ^
у режимі таблиці

Приклад. Нехай БД торговельної корпорації з назвою


у режимі конструктора
corporation містить дві таблиці — ФІРМИ і ПРАЦІВНИКИ
(табл. 1 і 2 відповідно). Рис. 1. Способи створення таблиць
Основною вважатимемо табл. 1, а табл. 2 — допоміжною.

Таблиця 1. ФІРМИ

Фірма Адреса Директор Телефон Працівники Провізори Примітка


Директор — новопри-
14 вул. Зоряна, 3 Зімін І. Ф. 241-750 800 60
значений
12 вул. Морська, 20 Ясин В. М. 350-621 400 ЗО
Директор — заслуже­
13 вул. Заводська, 15 Бойко М. І. 400-502 700 50
ний працівник

Таблиця 2. ПРАЦІВНИКИ

Справа Прізвище Посада Народження Освіта Стаж Тиждень Фірма

1020 Ахтирко В. В. аналітик 1960 вища 25 48 12

1005 Носко М. Г. диспетчер 1972 середня спеціальна 15 21 13

1140 Сороко Я. М. експерт 1980 вища 5 46 14

1075 Мерез Ф. Б. диспетчер 1970 середня 17 40 14

1232 Варава А. А. диспетчер 1975 середня спеціальна 10 36 12

1206 Грач П. О. аналітик 1966 вища 16 46 14

1230 Зоря Ш. Ш. диспетчер 1961 середня 22 48 12


Розділ 4

Створити структуру таблиці означає визначити й увести


Т и п даних
в комп’ютер назви й типи її полів, а також властивості
типів. У середовищі Access 2016 використовують типи даних,
К ор отки й текст
Д о в ги й т екст
перелік яких наведено на рис. 2 .
Число
Кожний із цих типів даних має власний набір властивостей.
Д ата й час Окремі властивості є унікальними, тобто містяться тільки
Грош ова од ин иц я в одному конкретному типі даних. Але переважна їх
А в т о н у м е р а ц ія більшість — загальні, тобто містяться у різних типах даних.
Так/Ні Далі будемо використовувати в основному такі типи даних:
О б ’єк т OLE Короткий текст, Довгий текст, Число, Дата й час.
Гіп ер п оси л ан н я Тип Короткий текст — це послідовність символів довжи­
Вкл аденн я
ною від 0 до 255, а тип Довгий текст — це послідовність
О б числ ю ван ий
символів до 65 536. У полі типу Число зберігаються числа.
М а й с т е р п ід ста н ово к...
Розмір і конкретний тип чисел визначаються значенням вла­
Рис. 2. Типи даних системи стивості Розмір поля. У полях типу Дата й час зберігаються
дати й час різних форматів.

Для більш зручної роботи у ході введення структури


табл. 1 і 2 доцільно створити на папері додаткові таблиці
(табл. З і 4) з іменами полів, типом даних та їх описом. На­
зви полів залишимо ті самі, тип даних і властивості полів
виберемо з урахуванням можливостей системи Access 2016.

Таблиця 3. Структура таблиці ФІРМИ


Ім'я стовпця Тип даних Опис Властивості поля
Фірма Число Первинний ключ
Адреса Короткий текст 50
Директор Короткий текст 40
Телефон Число 20
Працівники Число Станом на 1 вересня
Провізори Число
Примітка Довгий текст Додаткові відомості про директора фірми

Таблиця 4. Структура таблиці ПРАЦІВНИКИ


Ім'я стовпця Тип даних Опис Властивості поля
Справа Число Первинний ключ
Прізвище Короткий текст 20
Посада Короткий текст ЗО
Народження Число
Освіта Короткий текст зо
Стаж Число Станом на 1 січня
Тиждень Число
Фірма Число
4.3. Таблиці...

Тепер перейдемо безпосередньо до створення Відкриється вікно зі стрічкою (рис. 3).


структур таблиць у режимі конструктора, 3 На цій стрічці натиснемо кнопку Кон­
користуючись нашими табл. 1-4. структор таблиць.
1. Завантажимо систему Access і відкриємо У результаті до БД додасться порожня
Б Д corporation, для чого в області Останні таблиця (рис. 4).
натиснемо клавішу миші на імені Б Д . Слід звернути увагу на те, що вміст
2. У вікні, що відкриється, активізуємо стрічки змінився. Тепер на екрані від­
вкладку Створення. крито вкладку Конструктор (рис. 5).

Щ ; corporation: База даних- FAtorporation.accdb (Формат файлівAccess 2007-2016) -Access Увійти ? — □ X

Файл Основне Зовнішні дані Знаряддя бази даних 9 Що потрібно зробиш?

і И |р
Частини Таблиця Конструктор Списки
ш S B ’fflj шМайстер Макет Форма Конструктор Пуста __
1 І 0а
Звіт Конструктор Пустий Щ Макрос
програмит таблиць SharePoint ’ запитіа запиту форм форма І з * звітів звіт
Шаблони Таблиці Запити Форми Звіти Макроси та код А

Усі об'єкти Асс... ® «


Iflftqjjfe |Р)

Готово NumLock

Рис. 3. Стрічка з активованою вкладкою Створення

І З ТзблицяД^ X
Ім'я поля Тип даних Опис (необов’язково) £
І I L
В Властивості поля

Загальні Підстановка
Ім'я поля може містити не більше 64
символів, включно із пробілами. Натисніть
клавішу F1, щоб переглянути розділ довідки
про імена полів.

Рис. 4. Порожня таблиця в режимі конструктора

8 Ш
; corporation: База даних* FAcorporation^ccdb (Фо... Робота з таблицями Увійти ? - □ X

Файл Основне Створення Зовнішні дамі Знаряддя бази даних 1 і Q Що потрібно зробити?

Подання Ключове Конструктор Перевірка


| е Вставити рядки

І Х Видалити рядки
Аркуш індекси Створити
Щ І
Перейменувати або
^1
Зв’язки Залежності
правил Ср! Змінити підстановку властивостей макроси даних - видалити макрос об'єкта
Подання Знаряддя Відображення або приховання Події для полів, записів і таблиць Зв'язки

Рис. 5. Стрічка з активованою вкладкою Конструктор

4. Введемо імена полів. їхнє введення здій­ Щоб відкрити цей список, необхідно
снюється стандартним способом: потріб­ у певній клітинці поля Тип даних клац­
но встановити курсор миші в необхідну нути кнопку миші на кнопці Прапорець
клітинку таблиці й за допомогою клавіа­ і вибрати необхідний тип. Опис полів не
тури ввести певні імена. обов’язковий. Його використовують для
Типи полів краще вводити шляхом ви­ вказування призначення поля й допу­
бору їх зі списку типів (див. рис. 1 ). стимих його значень.
Розділ 4

5. Уведемо всі дані з табл. З Структура та­ Зберегти або клавіші Ctrl + S, увести ім’я
блиці ФІРМИ у таблицю з іменем ФІР­ таблиці й натиснути кнопку ОК.
МИ і збережемо її. Для цього слід на па- На екран буде виведено попередження
нелі швидкого доступу натиснути кнопку (рис. 6 ).
Microsoft Access X
Первинний ключ не визначено.

| Хоча первинний ключ не потрібний, його рекомендовано використовувати. Таблиця має містити первинний ключ, щоб можна
* було визначити зв'язок між цією та іншими таблицями бази даних.
Створити первинний ключ зараз?

І___ т«___ І І__ Н| Скасувати

Рис. 6. Вікно попередження про невизначений первинний ключ


6 . Натискання кнопки Так у цьому вікні при­ збережена, а її ім’я з’явиться в області
веде до створення первинного ключа типу переходів. Закриємо табл. 1 ФІРМИ, для
Лічильник. На цьому етапі не обов’язково чого відкриємо її контекстне меню та ви­
встановлювати первинний ключ, тому конаємо команду Закрити. Аналогічно ство­
натиснемо кнопку Ні. Таблиця буде римо структуру табл. 2 ПРАЦІВНИКИ.

Модифікування структури Створену структуру таблиці можна модифікувати, вико­


таблиці передбачає навши певні операції (рис. 7). Виконання цих операцій від­
бувається аналогічно операціям у ОС Windows.
Для вилучення поля таблиці в режимі конструктора слід
вилучення ПОЛІВ
відкрити контекстне меню цього поля й виконати команду
Видалити рядки. Якщо поле, яке вилучають, містить дані, то
вставлення нових полів
буде видано попередження про те, що дані цього поля будуть
змінення порядку розмі­ втрачені. Якщо після вилучення поля з’ясується, що це ви­
щення полів лучення було помилковим, слід натиснути кнопку Скасувати
на панелі швидкого доступу. Поле буде повернуто в таблицю.
змінення імен полів Однак, якщо після вилучення поля були виконані будь-які
операції, відновити поле буде неможливо.
змінення розмірів полів
Поля, які є первинним або зовнішнім ключем, вилучи­
перетворення типів даних

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


Ф ти неможливо доти, поки не буде вилучено зв'язок між
таблицями.
структури таблиці

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

1 Які способи створення таблиць існують у си­ 4 Як встановити властивості полів?


стемі Access? 5 Які операції можна виконувати над створе
2 Назвіть основні типи даних у системі Access. ними структурами таблиць?
3 Як установити типи полів?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Створіть на папері таблицю МОЇ ДРУЗІ з по­ 2 Розробіть на папері структуру таблиці з ти­
лями Номер, Прізвище, Ім'я, Телефон, День пами ї ї полів і властивостями.
народження й Адреса.
3 Самостійно на папері заповніть таблицю да­
ними шістьох своїх друзів.
4.3. Таблиці...

4 .3.2 . Ключові поля. Зв'язування таблиць


Пригадаємо, які основні дії необхідно виконати в процесі
створення структури таблиці. Які операції можна вико­
нувати в таблиці? Чи можна виконати ці операції, якщо
БД містить не одну таблицю?

Згадаємо, що ключове поле (ключ) — це поле таблиці,


значення якого не повторюється в жодному іншому записі. і 0 ----------------
Для створення первинного ключа слід відкрити таблицю Ключі у БД відіграють важливу
в режимі конструктора, виділити поле, яке використовуєть­ роль — за їх допомогою СУБД
ся як первинний ключ, і натиснути кнопку Ключове поле, що ідентифікує об'єкти.
знаходиться в розділі Знаряддя вкладки Конструктор.
Створити первинний ключ можна також за допомогою
контекстного меню певного поля. Скориставшись цим спосо­
бом, у табл. 1 ФІРМИ визначимо як первинний ключ поле
Фірма. Поряд із назвою цього поля з’явиться малюнок ключа
(рис. 8 ). Збережемо таблицю ФІРМИ.
ф ір м и Х X
Ім'я поля Тип даних Опис (необов'язково)
|ф І § іі ; і Н ---- --- — ----■
• Число Первинний ключ
Адреса Короткий текст 50
Директор Короткий текст 40
Телефон Короткий текст 20
Працівники Число Станом на 1 вересня
Провізори Число
Примітка Довгий текст Додаткові відомості про директора фірми

Рис. 8. Структура таблиці ФІРМИ з ключовим полем

Для створення первинного ключа типу Лічильник у від­


критій таблиці в режимі конструктора необхідно додати до
таблиці поле, надати йому тип Лічильник (Автонумерація), 0 ------------
виділити його й натиснути кнопку Ключове поле. Крім того, Якщо деяке поле в конструк­
первинний ключ для поля цього типу може бути встановле­ торі оголошене як Лічильник,
ний і в тому разі, якщо під час створення таблиці взагалі то воно за замовчуванням стає
ключ не визначено. ключовим.
Розглянемо тепер алгоритм установлення зв’язків між
таблицями на прикладі таблиць ФІРМИ і ПРАЦІВНИКИ.1

1. Відкриваємо БД corporation, потім вкладку Знаряддя бази Відображення таблиці ? X


даних та натискаємо кнопку Зв'язки.
Таблиці Запити Разом

ІЇ1ЙШШНИКИ................................... ----------------------- 1
Відкриється вікно Відображення таблиці. ФІРМИ

Якщо останнього вікна немає, слід натиснути кнопку Закрити


Відобразити таблицю, повинно з’явитися вікно (рис. 9).
Рис. 9. Вікно з переліком
таблиць бази даних
50 Розділ 4

2. У схему даних додаються таблиці, які кнопку миші і, не відпускаючи, перемі­


необхідно зв’язати. Для цього у відкри­ щаємо в поле зовнішнього ключа (Фірми)
тому вікні Відображення таблиці виділяє­ таблиці ПРАЦІВНИКИ.
мо імена таблиць, що зв’язуються. 5 . Відпускаємо кнопку миші. У результа­
3. Натискаємо кнопку Додати й закриваємо ті відкриється вікно Редагування зв'язків
вікно Відображення таблиці. (рис. 1 0 ).
4. Установлюємо курсор на первинному клю­
чі головної таблиці (ФІРМИ), натискаємо
Редагування зв’язків ? X

Таблиця/запит Пов язана таблиця/запит Створити


ФІРМИ ПРАЦІВНИКИ
Скасувати
Фірма V Фірма А

Тип об'єднання,..
V

Нове...
О Забезпечення цілісності даних
Каскадне оновлення пов'язаних полів
Каскадне видалення пов'язаних полів

Тип зв'язку: Одим-до-багатьох

Рис. 10. Діалогове вікно для редагування зв'язків


6 . Для зручності в подальшій роботі слід видаляються зв’язані записи й у зв’яза­
увімкнути прапорець Забезпечення ціліс­ ної таблиці.
ності даних. Після цього стануть доступ­ Таким чином, каскадне оновлення і кас­
ними Каскадне оновлення пов'язаних полів кадне видалення прискорюють роботу
і Каскадне видалення пов'язаних записів. з БД і сприяють підвищенню надійності
Вмикаємо останній прапорець. її функціонування.
Сутність каскадного оновлення пов’язаних 7. У вікні Редагування зв'язків натискаємо
записів: за будь-якої зміни значення пер­ кнопку Створити, в результаті чого у ві­
винного ключа запису в основній таблиці кні Зв'язки з’явиться лінія зв’язку між
автоматично оновиться значення відпо­ певними полями таблиць. За описаною
відного поля у всіх зв’язаних таблицях. методикою слід встановити зв’язок між
таблицями ФІРМИ і ПРАЦІВНИКИ. Якщо
Сутність каскадного видалення пов’яза­ все буде виконано правильно, з’явиться
них записів: під час видалення будь-якого схема, зображена на рис. 1 1 .
запису з головної таблиці автоматично Далі слід виконати команду Зберегти.

Зв’язки

П Р А Ц ІВ Н И К И Ф ІРМ И

*3 Фірма Ж
Посада -
Народження Адреса

Освіта Д и ректор

Стаж Телефон

Тиждень Працівники

Фірма чг Провізори ▼

Рис. 11. Зв'язок типу 1:Б між таблицями


4.3. Таблиці...

8. Повертаємося ще раз до вікна Редагування


зв'язків (якщо в даний час його немає на
* Натискаємо у цьому вікні кнопку Тип
об'єднання... У результаті з’являється вікно
екрані, слід натиснути кнопку Змінити зв'язки Параметри об'єднання (рис. 12).
в області Знаряддя на вкладці Конструктор).

Рис. 12. Вікно для встановлення параметрів об'єднання таблиць


За замовчуванням встановлюється пер- об’єднання. Далі потрібно натиснути
ший тип об’єднання. Як правило, роз- у цьому вікні кнопку ОК і закрити вікно
робники БД користуються цим типом Редагування зв'язків.

Для скасування зв’язку між таблицями необхідно відкрити


контекстне меню лінії зв’язку й виконати команду Видалити.

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

1 Як створити первинний ключ? З Як можна скасувати зв'язок між таблицями?


2 Як створити первинний ключ типу Лічиль- 4 Поясніть порядок установлення зв'язків між
н и к? таблицями.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
т
1 Створіть таблицю УСПІХИ ДРУЗІВ із полями 3 Заповніть таблицю УСПІХИ ДРУЗІВ необхід­
Прізвище, Навчання, Спорт, Музика. ними даними.
2 Створіть ключове поле в таблиці МОЇ ДРУЗІ. 4 Виконайте зв'язування таблиць МОЇ ДРУЗІ
та УСПІХИ ДРУЗІВ.

4 .3.3 . Введення даних у таблицю


До цього часу ми створювали лише структури таблиць.
Яким повинен бути, на вашу думку наступний крок
створення БД?
Після задання структури й імені таблиці можна вводити
дані. Розглянемо алгоритм введення даних у таблицю на
прикладі таблиці ФІРМИ. т1

1. Відкриємо таблицю ФІРМИ в режимі натиснемо кнопку миші. Також можна


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

2. Введемо дані першого запису таблиці


ФІРМИ в рядок, позначений зірочкою.
* Слід пам’ятати, що вводити в поля
можна тільки ті типи даних, які спів­
Щойно будуть уведені дані в запис, падають із визначеним типом поля.
курсор переміститься на наступний 3. Вводимо всі записи таблиці ФІРМИ і отри­
запис, що визначає готовність наступного муємо вміст таблиці (рис. 13). Зберігаємо
рядка до введення нового запису. таблицю.

Рис. 13. Вміст таблиці ФІРМИ

Якщо в таблиці є поле типу Лічильник, воно форму­


ється автоматично. У випадках, якщо на екрані не
вміщаються всі записи, слід скористатися вертикальною
0 -...........—
У процесі введення даних ав­
смугою прокручування, а якщо не вміщуються поля —
горизонтальною смугою прокручування.
томатично перевіряються такі
За замовчуванням записи виводяться на екран
типи даних: числові, грошові,
відсортованими в порядку значення первинного ключа,
дати й часу, логічні. На вкладці
а поля — у послідовності, визначеній структурою таблиці.
Основне у групі Форматуван­ У режимі таблиці можна змінювати деякі параметри
ня тексту розташовані елемен­ виведення даних, наприклад розмір шрифту, ширину
ти, за допомогою яких можна стовпців, висоту рядків.
змінити розмір шрифту тексту
Для здійснення навігації по записах у нижній частині ві­
та інші його параметри.
кна таблиці розміщені кнопки навігації, призначені для пе­
реміщення курсору в перший, сусідній або останній запис.
Навігацію в таблиці можна також здійснювати за допомогою
миші, смуг прокручування, сполучення деяких клавіш.
Для додавання нового запису в таблицю треба натиснути
кнопку Створити запис на панелі навігації й увести дані.

З а п и та н н я д л я п е р е в ір к и з н а н ь
І
( а У якому порядку виводяться записи таблиці 3 Поясніть порядок введення даних у таблицю,
після ї ї створення?
4 Як додати новий запис у таблицю?
2 Як можна здійснити навігацію по записах
у таблиці?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я 1
І
1 Уведіть і збережіть дані таблиці МОЇ ДРУЗІ. 2 Уведіть і збережіть дані таблиці УСПІХИ
ДРУЗІВ.
4.3. Таблиці...

4 .3.4 . Пошук, заміна і ф ільтрування даних у таблицях


Нехай створена таблиця УЧНІ вашого класу. Які дані ви б
хотіли отримати з цієї таблиці? Що для цього слід зробити?

Потрібний запис у таблиці можна знайти за значенням


будь-якого його поля або за фрагментом його значення. Роз­
глянемо алгоритм здійснення пошуку запису в таблиці на
прикладі табл. 2 ПРАЦІВНИКИ.

1. У відкритій таблиці ПРАЦІВНИКИ в режи­


* У полі Зіставити можна вибрати одне зі зна­
мі таблиці виділяємо поле, за значенням чень, що зменшує необхідність використання
якого треба шукати запис (наприклад, метасимволів:
поле Прізвище), і натискаємо кнопку Зна­ • будь-яку частину поля (зразок може зна­
йти в розділі Пошук. ходитися всередині поля, наприклад зра­
Відкриється вікно Пошук і заміна (рис. 14). зок ере буде знайдено в запису з прізви­
щем Мерез Ф. Б.);
2. У поле Знайти вікна Пошук і заміна вводи­
мо потрібне значення, наприклад Соро­ • усе поле (зразок без метасимволів пови­
нен збігатися з усім значенням поля);
ко Я. М., і натискаємо кнопку Знайти далі.
У результаті курсор встановиться на за­ • початок поля (будуть знайдені тільки ті
поля, які починаються зі зразка).
писі з цим іменем.

Пошук і заміна
Знайти Замінити
0
Для прискорення пошуку мож­
Знайти: - Знайти далі на в поле Знайти ввести такі
Скасувати метасимволи:
Шукати к поточному полі Е * — довільна кількість будь-
Зіставити: усе поле
Й яких символів
Шукати: усюди V ? — один довільний символ
Д 3 уражуванням регістра ф — одна довільна фраза

Рис. 14. Діалогове вікно для пошуку й заміни даних

Записи з таблиці можна копіювати, вирізати до буфера об­


міну й потім за допомогою кнопки Вставити, яка знаходиться
в розділі Буфер обміну, вставляти в іншу таблицю, а також у до­ 0 ..... .....................................
кументи Word і Excel. Інколи виникає потреба прихо­
Для вилучення запису з таблиці необхідно його позначити вати деякі поля. Тоді слід виді­
й натиснути клавішу Del або кнопку Видалити та в меню, що лити певні поля й виконати
відкриється, виконати команду Видалити запис. Відкриється у групі Записи команду Додат­
вікно, де потрібно підтвердити вилучення. ково -» Приховати поля. Для
відновлення прихованих полів
Слід пам'ятати, що у зв'язаних таблицях із встановленим потрібно у цьому ж розділі ви­
прапорцем Забезпечення цілісності даних видалити за­ конати команду Додатково -»
пис не завжди вдається. -» Відобразити поля й увім­
Записи в таблиці можна також сортувати й фільтрувати. кнути прапорець імені відпо­
відного поля.
Сортування записів — це їх впорядкування за зна­
Ф ченнями одного або кількох полів.
Розділ 4

Розглянемо різні способи сортування записів (рис. 15).


Для сортування за значенням одного поля слід виділи­
Сортування ти це поле і натиснути кнопку За зростанням (А —> Я) або За
спаданням (Я —> А ). Можна також скористатися контекстним
і " ’# з а значенням одного меню поля.
поля Для сортування за значенням декількох полів треба виді­
лити ці поля й скористатися одним із вказаних способів.
•” # з а значенням кількох У першу чергу сортування записів виконується за значен­
полів ням лівого поля. Якщо в ньому є поля, які збігаються, то
певні записи сортуються за значенням наступного поля. На­
Рис. 15. Способи сортування
записів приклад, після сортування записів у порядку спадання зна­
чень у полі Прізвище таблиці ПРАЦІВНИКИ отримуємо розмі­
щення записів, зображене на рис. 16.
~ І П Р А Ц ІВ Н И К И ^' _______________________________________________________________________________________________________________________________________ X

Справа • Прізвище -і Посада • народженню Освіта Стаж vi Тиждень - Фірма *


1140 Сороко Я.М. експерт 1930 вища 5 46 14
1005 Носко MX. диспетчер 1972 середня спеці 15 21 13
1075 Мерез Ф .В . диспетчер 1970 середня 17 40 14
1230 Зоря (.1. диспетчер 1961 середня 22 48 12
1206 Грач П.О. аналітик 1966 вища 16 46 14
1232 Варава А.А. диспетчер 1975 середня спеці 10 36 12
1020 Ахтирко В.В аналітик I960 вища 25 48 12
* 0: 0 0 0 0

Запис н < 8 зв І ►н f Баз Фільтра | Пошук

Рис. 16. Вміст таблиці ПРАЦІВНИКИ, упорядкований за полем Прізвище

БД можуть містити тисячі записів. Щоб відшукати потрібні


дані, слід скористатися фільтром. Наприклад, якщо здійсни­
ти фільтрацію записів у таблиці ПРАЦІВНИКИ за значенням
Фільтрування
більше або дорівнює 22 в полі Стаж, то будуть відібрані записи
з прізвищами Ахтирко В. В. і Зоря І. І.

!'" • за виділенням Фільтрування записів — це відбір із таблиці записів,


® які містять задане значення в обраних полях.
за формою
Розглянемо способи фільтрування записів (рис. 17).
Рис. 17. Способи фільтрування Для фільтрування за виділенням слід відібрати записи на
записів основі значень поточного поля. Для цього спочатку треба впо­
рядкувати записи за значенням поля, яке задано у фільтра­
ції, встановити курсор на тому значенні поля, за яким буде
виконуватися фільтрування, та виконати команду Виділення
в групі Сортування й фільтр.

Приклад. Відфільтрувати записи табли­ 2. Виконаємо першу умову. Отримаємо за­


ці ПРАЦІВНИКИ за значенням аналіт ик поля пис, у полі Посада якого є назва аналі­
Посада. тик, тобто записи з прізвищами Ахтир­
1. Після впорядкування записів за значен­ ко В. В. і Грач П. О.
ням поля Посада встановлюємо курсор У нижній частині таблиці праворуч від
на назві аналітик і виконуємо команду кнопки навігації висвітиться напис Відфільтро­
Виділення у групі Сортування й фільтр. Від­ вано (або Не відфільтровано), що означає, що
криється меню з умовами: дорівнює ана­ записи відфільтровані (або не відфільтровані).
літ ик; не дорівнює аналіт ик; містить За допомогою кнопки Видалити фільтр у гру­
аналітик: не містить аналітик. пі Сортування й фільтр можна вимкнути або
увімкнути фільтр. До відфільтрованих даних а в нижній частині вікна — таблиця
можна застосувати ще кілька фільтрів. конструктора.
3. Відфільтруємо записи в таблиці ПРАЦІВ­ 5. У запис Поле першого поля перенесемо
НИКИ за значенням вищ а поля Освіта. ім’я поля, за яким будемо виконувати
Отримаємо результат (рис. 18). фільтрування.
4. У фільтрах за формою можна вводи­ 6 . У запис Критерії введемо потрібний кри­
ти критерії в поля таблиці. Для цього терій і в групі Сортування й фільтр натис­
у відкритій таблиці в розділі Сортування немо кнопку Застосувати фільтр.
й фільтр необхідно відкрити меню кнопки За описаною методикою для таблиці ПРА­
Параметри розширеного фільтра і виконати ЦІВНИКИ виконаємо фільтрування за полем
команду Розширений фільтр -» Сортуван­ Стаж із критерієм > 15.
н я... Відкриється перелік полів таблиці, Отримаємо результат, як показано на рис. 19.

13 ПРАЦІВНИКИ^
Справа - Прізвище -і Посада ч Народження Ч Освіта ГГ Стаж ч Тиждень • Фірма *
1020 Ахтирко В.В. аналітик I960 вища 25 48 12
1206 Грач П.О. аналітик 1966 вища 16 46 14
1140 Сороко Я.М. експерт 1980 вища 5 46 14
* 0 0 0 0 0

І Запис И < ;4 і4 > Н > Відфільтровано Пошук

Рис. 18. Вміст таблиці ПРАЦІВНИКИ, відфільтрований за значенням поля Освіта

Рис. 19. Вміст таблиці ПРАЦІВНИКИ, відфільтрований за полями Посада і Тиждень

) З а п и т а н н я д л я п е р е в ір к и з н а н ь
І
1 Які операції можна виконувати над записа­ 4 Поясніть порядок пошуку даних у таблиці.
ми таблиці? 5 Які операції виконують над таблицями?
2 Як вилучити запис із таблиці?
6 Як можна приховати поля таблиці?
3 Поясніть порядок сортування записів у таб­
7 Поясніть порядок фільтрування записів.
лиці.

ТХ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Виконайте пошук необхідних записів у та­ 3 Виконайте сортування записів у таблиці МОЇ
блиці МОЇ ДРУЗІ. ДРУЗІ за значенням різних полів.
4 Виконайте фільтрування записів у таблиці
2 Виконайте редагування даних у таблиці
МОЇ ДРУЗІ за різними значеннями даних
УСПІХИ ДРУЗІВ.
двох-трьох полів.
56 Розділ 4

4.4. Запити
Таблиця є основним об'єктом бази даних. Але існують й інші
об'єкти, наприклад запити. Чому не можна обмежитися
тільки таблицями?

Запит Основне призначення запиту — вибір із таблиць необхід­


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

з обчисленнями Запити не містять даних. Під час кожного нового вико­


нання запиту формуються необхідні дані з тих таблиць,
Рис. 1. Типи запитів даних на основі яких його створено.

Для БД Access можна створити кілька типів запитів


Запит (рис. 1). Кожний із них може бути виконаний самостій­
но у будь-який час. Але найчастіше запити виконуються
j-ф простий (записи вибира­
як складова форм і звітів.
ють за значенням одного
поля однієї таблиці) Запити класифікують за кількома ознаками:
• кількістю використаних таблиць (однотабличні й багато-
складний (дані формують­ табличні);
ся за значеннями кількох • складністю функцій, які виконує запит (прості й склад­
полів кількох таблиць) ні) (рис. 2 );
• призначенням (вибірки даних і заміни даних);
Рис. 2. Запити за складністю • способом вибірки й опрацювання даних (із параметрами,
з обчисленнями тощо).

4 .4 .1 . Запити на вибірку даних


Відомо, що деякі дані можна отримати безпосередньо
з таблиць. Але зазвичай для цього використовуються
запити. Які вони надають переваги?
Запити, які забезпечують вибір необхідних даних із та­
блиць, називають запитами на вибірку. Такий тип запитів
часто використовують у формах і звітах та є найпростішим.
Розглянемо алгоритм створення запиту на вибірку даних
для однієї таблиці та приклади.
Відкрити БД, активувати вкладку Створення й у розділі Запити натиснути
кнопку Макет запиту, який фактично є конструктором запиту.
Крок 1
У результаті відкриється вікно запиту й вікно Відображення таблиці, у яко­
му містяться імена всіх таблиць цієї бази.
Вибрати у цьому вікні необхідну таблицю. У результаті відкриється перелік
Крок 2
полів цієї таблиці.
Р °

Створити на основі вмісту таблиці потрібний запит.


о_
О
Приклад 1. Створити запит з іменем запиті, полів таблиці ПРАЦІВНИКИ. Для цього до­
за допомогою якого з таблиці ПРАЦІВНИКИ ви­ статньо двічі натиснути кнопку миші на
водяться дані про співробітників зі стажем імені певного поля цієї таблиці.
понад 15 років. Результуючий набір записів 3. У запис Критерії поля Стаж вводимо вираз
повинен мати поля: Справа, Прізвище, Наро­ «> 15». Для збереження запиту на пане­
дження, Стаж і Фірма. лі швидкого доступу натискаємо кнопку
1. Для створення запиту відкриваємо БД Зберегти. У вікні, що відкриється, вводи­
corporation і виконуємо команду Створен­ мо ім’я запиті і натискаємо кнопку ОК.
ня -> Макет запиту. Відкриється вікно Ві­ Ім’я цього запиту з’явиться в області пе­
дображення таблиці, у якому містяться реходів.
назви всіх таблиць БД. Вибираємо та­
блицю ПРАЦІВНИКИ, для чого встановлює­ 4. Виконуємо запит. Для цього на смузі
мо курсор на імені таблиці й натискаємо в групі Результати натискаємо кнопку
кнопку Додати. Закриваємо вікно Відо­ Запуск!.
браження таблиці. На екрані залишиться Отримуємо результат, наведений на рис. 4.
вікно, зображене на рис. 3. 5. Щоб закрити запиті, відкриваємо контек­
2. У записі Поле таблиці конструктора запи­ стне меню запиту й виконуємо команду
тів послідовно розміщуємо вказані імена Закрити.

Рис. 3. Вікно конструктора запитів

"р запитіЛ
Справа П р із в и щ е » Н а р о д ж є н н *■ Стаж Ф ір м а

1020 А х т и р к о В .В . 1960 25 12

1075 М е р е з Ф .Б . 1970 17 14

1206 Г р а ч П .О . 1966 16 14

1230 З о р я 1.1. 1961 22 12

* 3 0 0 0

Запис И < 5 з 5 ►м ► Т Б е ї ф іл ь т р а П ош ук

Рис. 4. Дані про працівників зі стажем роботи понад 15 років

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


в чому схожа на методику створення запиту для однієї
таблиці. Однак слід враховувати, що таблиці обов'язково
повинні мати між собою зв'язок.
58 Розділ 4

Приклад 2. Створити запит2, за допомогою 3. У запис Критерії поля Посада вводимо


якого в результуючу множину включаються назву диспетчер, а в запису Сортування
прізвища диспетчерів із полями Фірма і Телефон поля Прізвище встановлюємо значення За
таблиці ФІРМИ й дані полів Прізвище і Посада зростанням.
таблиці ПРАЦІВНИКИ. Записи треба упорядку­ 4. Зберігаємо запит з іменем запит2 і вико­
вати в алфавітному порядку прізвищ праців­ нуємо його. На екрані повинні з’явитися
ників. записи, наведені на рис. 5.
1. На вкладці Створення в групі Запити ви­
конуємо команду Макет запиту і додаємо т р запит2\

у вікно конструктора запиту вказані та­ Фірма - Телефон - Прізвище в Посада


12 350-621 Варавз А.А. д и с п е тч е р
блиці. Після цього вікно Відображення та­
12 350-621 Зоря І.Е. д и с п е тч е р
блиці слід закрити.
14 241-750 Мерез Ф.Б. д и с п е тч е р
2. У запис Поле таблиці конструктора запи­ 13 400-502 НОСКО М .Г. д и с п е тч е р
ту переносимо імена полів Фірма і Теле­ *

фон таблиці ФІРМИ і поля Прізвище і По­ Запис М 4 5з5 М 4 Без фільтра Пошук
сада таблиці ПРАЦІВНИКИ.
Рис. 5. Дані про диспетчерів, вибрані з таблиць

Створений запит можна перейменовувати, редагувати.


І* " .... ..................... . У процесі редагування можна виконувати такі дії:
• додавати поля у запит із таблиці;
Компанія Oracle є абсолют­
• видаляти поля;
ним лідером на ринку систем
• додавати нові поля;
управління БД. їй належить
45 % ринку
• змінювати розмір поля;
• змінювати послідовність розміщення полів;
• змінювати критерії відбору записів, порядку їх сорту­
вання й порядку виведення (невиведення) полів;
• перейменовувати поля запиту.

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

1 Які основні функції виконують запити? 4 Поясніть особливості створення запиту для
кількох таблиць.
2 Назвіть основні типи запитів системи Access.
3 Поясніть порядок створення запиту для од­ 5 Для чого призначені запити на вибірку да­
нієї таблиці. них?

Д ) З а в д а н н я дл я с а м о с т ій н о г о в и к о н а н н я
І
1 Створіть запит з іменем запитІОІ, за допо­ можна вибрати записи з однаковими успі­
могою якого з таблиці МОЇ ДРУЗІ можна ви­ хами учнів у спорті. Запит повинен містити
брати записи з однаковими іменами учнів. поля Прізвище і Спорт.
Запит повинен містити поля Прізвище, Дата
З Самостійно додайте у запит102 нові поля.
народження й Адреса.
Змініть порядок їх розташування та здій­
2 Створіть запит з іменем запит102, за до­ сніть інші види редагування. Відновіть по­
помогою якого з таблиці УСПІХИ ДРУЗІВ чатковий вміст запиту.
4.4. Запити...

4 .4.2 . Запити з параметрами і з полями, що обчислюю ться


Часто виникає потреба отримати з таблиць узагальнені
дані, наприклад кількість учнів класу, що мешкають
на вул. Лісова. Саме такі типи запитів розглядаються нижче.

Запит із параметрами — це запит, у процесі вико­


F* ... — —
нання якого пропонується ввести деякі дані, напри­ Пошукова система Google
клад умову, яку потрібно вставити в поле. їх ще на­ була створена у 1998 році. За
зивають запитами зі змінними критеріями. перші два роки її існування
у БД цієї пошукової системи
За запитами із параметрами на початку їх виконання на було зібрано дані про мільярд
екран видаються повідомлення про необхідність введення но­ веб-сторінок, а у 2008 році —
вого критерію (виразу). Методика створення запиту такого близько трильону.
типу несуттєво відрізняється від методики створення звичай­
ного запиту.
Розглянемо алгоритм створення запитів із параметрами
на прикладі.

Приклад 1. Розробити запит з іменем цього запису і поля Посада — такий


запитЗ, за яким із Б Д corporation вибира­ текст [Назва посади?].
тимуться прізвища працівників за спеці­ 4. Зберігаємо й виконуємо запитЗ. На екрані
альністю диспетчер із фірм, у яких кіль­ з’явиться вікно Введіть значення параметра
кість працівників більше 400 осіб і менше (рис. 6 ).
800 осіб. Результуючі записи повинні скла­
датися з поля Фірма таблиці ФІРМИ і полів Введіть значення параметра ? х
Прізвище і Посада таблиці ПРАЦІВНИКИ. Більше?
На початку виконання запиту необхід­
но в запис Критерії поля Посада таблиці ПРА­
ЦІВНИКИ увести назву посади (диспетчер),
а в цей же запис поля Працівники таблиці
ФІРМИ — вираз, на основі якого вибираються
Рис. 6. Етап виконання запиту зі змінними критеріями
певні записи.
1. Відкриваємо на екрані порожній бланк 5. Вводимо значення критерію (400) і на­
запиту. тискаємо кнопку ОК. Система запросить
2. Із таблиці ФІРМИ переносимо в таблицю увести значення Менше. Вводимо 800,
конструктора поля Фірма і Працівники потім — назву посади диспетчер і натис­
(для останнього поля — зняти прапорець каємо кнопку ОК. У результаті на екрані
Відображення), а з таблиці ПРАЦІВНИКИ — з’являться дані про працівника Носко М. Г.
поля Прізвище і Посада. Якщо ще раз запустити запитЗ й увести,
3. У клітинку на перетині запису Критерії наприклад, 300, 800 і слово диспетчер, то
і поля Працівники вводимо вираз: >[Біль- на екрані з’являться дані про працівни­
ше?] AND <[Менше?], а на перетині ків Вараву А. А., Зорю І. І. і Носка М. Г.

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


виводяться не тільки поля таблиць, але й поля, у яких
містяться обчислювальні значення на основі даних по­
лів, називають запитами з полями, що обчислюються.
Розділ 4

Наприклад, на основі даних таблиці ПРАЦІВ­ коефіцієнт надбавок до зарплати за стаж: за


НИКИ можна підрахувати коефіцієнт доплати кожний рік після 5-річного стажу зарплата
до зарплати, який залежить від стажу й кіль­ збільшується на один відсоток, тобто цей кое­
кості годин робочого тижня. Припусимо, що фіцієнт обчислюється за формулою: (Стаж- 5 ).
посадовий оклад працівника визначається Отже, сумарний коефіцієнт надбавки мож­
на основі 36-годинного робочого тижня, а за на підрахувати за формулою:
кожну додаткову годину нараховується один Відсоток = (Стаж - 5) + (Тиждень - 36).
відсоток від зарплати, тобто відсоток допла­ Так, для працівника Носка М. Г. відсоток
ти обчислюється за виразом (Тиждень - 36), надбавки до зарплати дорівнює:
де Тиждень — це кількість реальних робочих (15 - 5) + (42 - 36) = 16 %.
годин на тиждень. Крім того, нараховується

Приклад 2. На основі таблиці ПРАЦІВНИКИ Імена полів, які входять у вираз, наво­
створити запит з іменем запит4, за яким будуть дяться у квадратних дужках.
виводитися всі записи таблиці з полями Прізви­
ще, Стаж, Тиждень і Відсоток (значення поля Відсо­ 2. Установлюємо в записі Сортування поля
ток обчислюється за виразом, наведеним вище). Прізвище значення За зростанням для
Правила створення запиту такого типу того, щоб прізвища виводилися в алфа­
принципово не відрізняються від правил ство­ вітному порядку.
рення запитів, описаних у прикладі 1 . 3. Зберігаємо запит з іменем запит4. Після
1. У таблицю конструктора запитів у запис виконання запиту має з’явитися резуль­
Поле переносимо імена полів Прізвище, тат, зображений на рис. 7. Закриваємо
Стаж і Тиждень таблиці ПРАЦІВНИКИ, запит4.
а в наступне поле вводимо вираз:
Відсоток: ([Стаж] - 5) + ([Тиждень] - 36).

запит4

П р із в и щ е - Стаж » Тиж день - В ід с о т о к -

А х т и р к о В .В . 25 48 32

В а р а в а А .А . 10 36 5

Г р а ч П .О . 16 46 21

З о р я 1.1. 22 48 29

М е р е з Ф .Б . 17 40 16

Н о с к о М .Г . 15 21 -5

С о р о к о Я .М . 5 46 10

* 0 0

Запис м і 8з8 ►1 ^ Без фільтра | Пошук

Рис. 7. Результат виконання запиту з полем, що обчислюється

У системі Access є вбудовані функції, що дають змогу


0 узагальнити дані деяких полів. Такими функціями, зокре­
ма, є: Count (Кількість), Sum (Сума), Avg (Середнє), Мах/
Міп (максимум/мінімум). Запити з використанням таких
функцій можна створювати за допомогою конструктора
різними способами.
4.4. Запити...
Розглянемо приклад створення запиту з функціями з ви­
користанням кнопки Підсумки, яка розташована на вкладці
Конструктор у групі Відобразити або приховати.

Приклад 3. Створити запит з іменем запит5, У результаті в таблиці конструктора за­


за яким у таблиці ПРАЦІВНИКИ серед працівни­ питу з’явиться новий запис Підсумок. У цьо­
ків зі стажем понад 5 років і тривалістю ро­ му записі для поля Стаж потрібно встановити
бочого тижня більше 36 годин відшукується значення Вираз, у запис Критерії ввести: > 5,
найстарший рік (народження) працівника. а у полі Тиждень також встановити значення
1. Звичайним способом відкриваємо Вираз (для цього клацнути це поле, натис­
порожній бланк запиту для таблиці нути кнопку трикутника й у списку, що роз­
ПРАЦІВНИКИ (для цього слід активізувати криється, вибирати Вираз) і ввести в запис
вкладку Створити, натиснути кнопку Макет Критерії: > 36.
запиту, виділити таблицю ПРАЦІВНИКИ, ви­ 3. У наступному полі запису Поле вводи­
конати команду Додати і натиснути кноп­ мо: Найстарший рік-:([Народження]),
ку Закрити). а в запису Підсумок цього поля вибираємо
2. У запис Поле таблиці конструктора запитів функцію Міп і встановлюємо прапорець
переносимо поля Стаж і Тиждень і знімаємо Відображення (рис. 8 ).
для них прапорець у записі Відображення. 4. Зберігаємо й виконуємо запитб. Ре­
Натискаємо кнопку Підсумки в групі Відоб­ зультат виконання запиту наведено на
раження або приховання. рис. 9.

Поле: Стаж Тиждень Найстарший рік-: ([Народження])


Таблиця: ПРАЦІВНИКИ ПРАЦІВНИКИ
Підсумок: Вираз Вираз Міп
Сортування:
Відображення: □ □ 0 Н айстарш ий рік-
КритеріГ: >5 >36
1960
Або:
Рис. 9. Результат виконання
Рис. 8. Будова запиту з функцією запиту з функцією

З а п и т а н н я д л я п е р е в ір к и з н а н ь
У)
1 Які запити називають запитами з параме­ 4 Які функції використовуються для узагаль­
трами? нення значень полів?
2 Які запити називають запитами з полями, 5 Поясніть порядок створення запитів із функ­
що обчислюються? ціями.
3 Поясніть порядок створення запиту з пара­ 6 Наведіть приклад запиту з полями, що об­
метрами. числюються.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 Створіть запит з іменем запитІОЗ, за до­ 2 Створіть запит з іменем запит104, за допо­
помогою якого можна вибрати прізвища могою якого з БД Mybaza можна відшукати
учнів, які мають середній бал успішності наймолодшого серед учнів, який має серед­
навчання більше 9. Результуючі записи по­ ній бал успішності більше 9.
винні містити поля Прізвище і Навчання
таблиці УСПІХИ ДРУЗІВ і поле Телефон таб­
лиці МОЇ ДРУЗІ.
62 Розділ 4

4 .4 .3 . Запити на змінення
Чи можна, наприклад, з двох таблиць отримати нову
таблицю? Як, на вашу думку, це можна зробити?

Запит на змінення — це запит, за допомогою якого


0 ------ ---------- і в таблиці вносяться зміни.
Порядок створення запиту на
змінення даних у таблиці сут­ Існують різні типи запитів на змінення: запити на ство­
тєво не відрізняється від роз­ рення таблиці, вилучення записів, оновлення записів і дода­
глянутих раніше. Принципова вання нових записів.
різниця полягає в тому, що Розглянемо лише запит на створення таблиці. Запити на
в групі Тип запиту натискають змінення на панелі переходу відображаються знаком окли­
кнопку Тип запиту: оновлен­ ку. Такі запити необхідно використовувати обережно, щоб не
ня. Правила створення запитів втратити дані в таблицях.
на вилучення також принципо­ За запитом на створення таблиці вибираються дані з однієї
во не відрізняються від правил або кількох таблиць і з них формується нова таблиця. Ця та­
створення інших запитів на блиця може бути розміщена як у поточній, так і в іншій БД,
змінення. ім’я якої вказується в процесі створення запиту цього типу.
Нова таблиця не має зв’язку з тими таблицями, з яких вона
створена. Тому дані в ній автоматично не оновлюються в разі
зміни в таблицях-джерелах.

Приклад. Розробити запит з іменем запитб, 2. Виконуємо створений запит і переконує­


за яким на основі даних таблиць ФІРМИ і ПРА­ мося, що формується правильний резуль­
ЦІВНИКИ створюється нова таблиця з іменем тат. У режимі Конструктор перетворюємо
ДОДАТКОВА, у якій містяться особисті номери запит на вибірку в запит на створення
й прізвища працівників тих фірм, де кіль­ таблиці. Для цього на вкладці Конструк­
кість працівників перевищує 500. тор у групі Тип запиту слід натиснути
1. У режимі конструктора створюємо запит кнопку Створення таблиці. З’явиться вікно
на вибірку. У таблицю конструктора за­ Створити таблицю.
питу з таблиці ФІРМИ переносимо поле 3. У поле Ім’я таблиці вводимо ім’я табли­
Працівники, а з таблиці ПРАЦВНИКИ — ці ДОДАТКОВА й вмикаємо перемикач
поля Справа і Прізвище. У запис Критерії Поточна база даних, оскільки таблиця
поля Працівники вводимо умову > 500 надалі буде збережена у відкритій базі
і знімаємо прапорець Відображення цього corporation (рис. 10). Для збереження ви­
поля. конаних налаштувань таблиці слід на­
тиснути кнопку ОК.

Рис. 10. Етап виконання запиту на створення нової таблиці


4.
5.
Зберігаємо запит з іменем запитб.
Виконуємо створений запит.
я 7. Закриваємо запитб, викликаємо табли­
цю ДОДАТКОВА і переконуємося, що вона
сформована правильно.
З’явиться вікно, зображене на рис. 11.
Вміст цієї таблиці зображено на рис. 12.
6 . Для збереження таблиці в поточній БД
натискаємо кнопку Так. В області пере­
ходів з’явиться ім ’я таблиці ДОДАТКОВА.

Microsoft Access X

Ви масте намір вставити 4 рядки в нову таблицю.

9 Після натискання кнопки Так* не можна буде скасувати аміни за д опо м огою команди ‘ Скасувати*.
Справді створити нову таблицю з вибраним и записами?

Так Ні

Рис. 11. Вікно підтвердження вставлення записів у таблицю

3 додаткова Х

Справа - П р із в и щ е -

1140 С о р о к о Я .М .

1075 М е р е з Ф .Б .

1206 Г р а ч П .О .

1005 Н о с к о М .Г .
Ж
1
Запис н < 5з 5 ►
і Без фільтра Пошук

Рис. 12. Вміст створеної таблиці ДОДАТКОВА

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

1 Які функції виконують запити на змінення? 4 Поясніть алгоритм створення запиту для
2 У якій базі даних можна розмістити нову створення нової таблиці.
створену таблицю?
5 Поясніть особливості створення запиту на
3 Чому в новій створеній таблиці не можна
додавання.
автоматично оновлювати дані?

ТТ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 Створіть запит з іменем запит105, за яким 2 Створіть запит з іменем запитІОб, за яким
на основі таблиць МОЇ ДРУЗІ й УСПІХИ на основі таблиць МОЇ ДРУЗІ й УСПІХИ
ДРУЗІВ створюється нова таблиця з іменем ДРУЗІВ створюється нова таблиця з іменем
НОВА1, у якій містяться поля Прізвище, НОВА2, у якій містяться поля Прізвища,
Ім'я, Телефон, Навчання тих учнів, які за­ Адреса і Телефон тих учнів, які займаються
ймаються музикою. спортом і мають середній бал успішності не
менше 10.
64 Розділ 4

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

4 .5 .1 . Засоби створення форм та елементи їх керування

Запит є досит ь пот уж ним об'єкт ом опрацю вання даних


у БД. Чому, на ваш у думку, в A ccess 2016 використ овую т ься
ще й ф орм и?

™ Майстер форм
У системі Access 2016 є різні засоби для створення форм,
Щ □ ЕІ1 Навігація »
які містяться у групі Форми вкладки Створення (рис. 1).
Форма Конструктор Пуста — Найпотужнішим засобом для створення форм є конструктор
форм форма И Додаткові форми -
форми, решта — прості засоби. Вони забезпечують створення
_____________________Форми___________________
форми фактично одним натисненням відповідної кнопки.
Рис. 1. Засоби для створення форм Розглянемо створення форм за допомогою двох простих за­
собів: Форма і Розділена форма.
• Засіб Форма. За допомогою цього засобу можна створити
форму на основі таблиці або запиту.
Ь
Приклад 1. Створити форму з іменем фор-
маї для таблиці ФІРМИ.
1. Виберемо таблицю ФІРМИ (клацнувши
це ім’я на панелі Усі об'єкти).
2. На вкладці Створення у групі Форми
натиснемо кнопку Форма. У результа­
ті форма набуде вигляду, наведеного
на рис. 2 .
Як бачимо, на формі виведено перший
запис таблиці ФІРМИ, тобто фірми
1 2 , а під нею — усі записи таблиці
ПРАЦІВНИКИ з прізвищами працівників,
які працюють на цій фірмі. Це обумов­
лено тим, що між вказаними таблиця­
ми встановлено зв’язок.
3. Збережемо форму з іменем формаї. Для
цього можна скористатися командою Форма
Зберегти контекстного меню цієї форми.•

• Засіб Розділена форма. Цей засіб знаходиться у меню


кнопки Додаткові форми. За його допомогою можна ство­
рювати форму також на основі таблиці або запиту, виді­
леного (або відкритого) на панелі переходів. За цим засо­
бом одночасно подаються всі записи таблиці або запиту,
а також один запис, який є виділеним.
4.5. Форми

3 3 форм *2

~1 запит2
Приклад 2. Створити і зберегти фор­
му з іменем форма2 для запиту2 за допо­ Фірма |"і2

могою засобу Розділена форма. Результат Телефон

виконання форми для запиту подано на Прізвище Варава А .А .


рис. 3.
Можна виділити будь-який запис, роз­ Посада

ташований у нижній частині форми, і ре­


Фірма * Телефон Прізвище - Посада
дагувати його в її верхній частині. 12 350-621 Варава А .А. диспетчер
12 350-621 Зоря 1.1. диспетчер
14 241-750 Мерез Ф .Б. диспетчер
13 400-502 Носко М.Г. диспетчер
*
Запис и і j4 ► м► Т-. Без фільтра Пошук

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

У системі Access 2016 є великий арсенал елементів керу­


вання їхніх властивостей для налаштування форм і оформ­
лення їх зовнішнього вигляду. Для виведення складу елемен­
тів керування формою слід відкрити форму в режимі кон­ □ III \ І
структора і натиснути кнопку Елементи керування. Відкриєть­
ся склад елементів (рис. 4). і
Ід УстансЕити стандартні властивості
Назва елементів з’являється після встановлення на них
вказівника миші. У табл. 1 наведено призначення деяких \ Застосувати майстри елементів керування

елементів керування, які застосовуються найчастіше. ^ Елевіенти керування ActiveX

Таблиця 1. ЕЛЕМЕНТИ КЕРУВАННЯ ФОРМИ ТА ЇХ ПРИЗНАЧЕННЯ РиС Елементи керування форми

Тип Призначення
Текстове поле Виводить дані на екран і дозволяє вводити і редагувати дані з клавіатури
Підпис Виводить текст на екран
Натискання на малюнку призводить до виконання певної команди (наприклад,
Кнопка
виконується макрос)
Прямокутник Зазвичай використовується для виділення елементів керування
Пряма лінія певного кольору й товщини. Використовується для розмежування
Лінія
частин форми
Прапорець Елемент керування з двома станами (включений або знятий)
Має два стани. Відрізняється від прапорця тим, що в групі може бути встановлений
Перемикач
тільки один прапорець

Щоб додати елемент керування на форму можна, напри­


клад, у режимі конструктора клацнути необхідний елемент, 0 “ ......—
Кожний елемент керування має
а потім встановити курсор у потрібне місце форми і натисну­
власний набір властивостей.
ти кнопку миші.
Для виведення на екран його
Вікно властивостей має п’ять вкладок: Формат, Дані,
треба виділити й натиснути
Подія, Інші, Усі.
кнопку Аркуш властивостей.
Вкладка Усі містить повний набір параметрів елемента
Але цей набір рідко викорис­
керування, а інші вкладки — скорочений перелік. Ці самі
товується в повному обсязі.
елементи керування використовуються й у звітах.
Запитання для п ер евір ки зн ан ь
?)
1 Для чого призначені форми? 5 Поясніть сутність засобу Розділити форму.
2 На основі яких об'єктів створюються 6 Назвіть основні елементи керування
форми? формою.
3 Які способи створення форм існують? 7 Як викликати Аркуш властивостей елемен
4 Поясніть сутність засобу Форма. тів керування формою?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Створіть форму з іменем формаІОІ для 2 Створіть форму з іменем форма102 для та ­
таблиці МОЇ ДРУЗІ за допомогою засобу блиці УСПІХИ ДРУЗІВ за допомогою засобу
Форма. Розділена форма.

4 .5 .2 . Створення форм за допомогою конструктора форм


У чому полягають, на вашу думку, переваги і недоліки засобів
Форма / Розділена форма?

Розглянемо способи створення форми за допомогою кон­


структора форм на прикладі.

Приклад. Створити для бази даних 3. Аналогічно вводимо у верхню частину об­
corporation форму з іменем формаЗ на осно­ ласті Подробиці текст Адреса фірм. Якщо
ві таблиці ФІРМИ з полями: Фірма, Адреса, на екрані відсутнє поле Список полів, слід
Телефон, Директор. Перед першими трьома по­ виконати команду Додавання наявних по­
лями розмістити текст Адреса фірм, а перед лів у групі Знаряддя. Має відкритися поле
останнім — Керівник. Список полів, у якому треба виконати ко­
1. Виділяємо в області переходів таблицю манду Відображати всі таблиці. Ліворуч від
ФІРМИ, активізуємо вкладку Створення назви таблиці ФІРМИ вмикається переми­
й У групі Форми виконуємо команду кач з ознакою (+). Відкриється список по­
Конструктор форм. На екрані з’явиться по­ лів цієї таблиці.
рожня форма, а також відкриється вклад­ 4. Переміщуємо назву поля Фірма в те місце
ка Конструктор. Для налаштування конфі­ області даних, куди необхідно помістити це
гурації й зовнішнього вигляду форми слід поле. У результаті на формі з’явиться група
відкрити її контекстне меню (клацанням з двох пов’язаних елементів — власне поле
правої кнопки миші усередині поля фор­ введення і підпис для нього. Аналогічно
ми), зміст якого зображено на рис. 5. переміщуємо у бланк форми поля Адреса
2. Розміщуємо на формі колонтитули та і Телефон і розміщуємо їх одне під одним.
знімаємо сітку, для чого виконуємо ко­ 5. За аналогією під назвами трьох перших
манди Сітка і Колонтитули. Вибираємо на полів за допомогою елемента Підпис роз­
смузі елемент керування Підпис і в об­ міщуємо ще одне поле, у яке вводимо
ласті верхнього колонтитула вводимо на­ текст Керівник. Нижче від цього поля
зву ФІРМИ МІСТА, після чого натискає­ розміщуємо поле Директор. Елементи на
мо клавішу Enter. Стандартним способом формі можна розмістити, наприклад,
можна змінити місце розташування поля так, як показано на рис. 6 . Після цього
заголовка форми. можна закрити вікно Список полів.
4.5. Форми...

Н ) Ф о р м а З 'у
Обробка подій...

Порядок переходів,.. # Верхній колонтитул сторінки______________

"q Вставити [ФІРМИ МІСТА І

^ Колір заливки/фону >


# Подробиці____________________ Список ПОЛІВ х
[Адреса ф ір м І n j Відображати лише поля в поточному
Н Альтернативна заливка та колір фону >
Фірма
^ джерелі записів
Поля, наявні для цього подання:
[І3] Лінійка [Адреса І А др еса В ФІРМИ Змінити таблицю
Фірма
Д Сітка [Телефон І Телефон Адреса
Директор
б ’ Колонтитули [к ер івн и к ]
Телефон
[Директор] [директора Працівники
І І За голо вох/ примітка форми
Провізори
Примітка
Властивості форми
Поля, наявні в пов'язаних таблицях:
|І^ | Властивості В ПРАЦІВНИКИ Змінити таблицю

Рис. 5. Контекстне меню форми Рис. 6. Форма, створена за допомогою конструктора форм

6 .Зберігаємо створену форму з іменем фор- 7. Після виконаних налаштувань зберігаємо


маЗ. Назва форми з’явиться в області пе­ форму, закриваємо її, а потім знову від­
реходів. криваємо в режимі форми. Результат за­
Зовнішній вигляд створеної форми можна значених дій показано на рис. 7.
змінювати. Наприклад, щоб змінити колір У наведеному прикладі форма виведена
заголовка форми, потрібно відкрити контек­ з одним (першим) записом. За допомогою кно­
стне меню заголовка форми, встановити кур­ пок навігації, розміщених у нижній частині
сор на команді Колір заливки/фону. Відкриєть­ форми, можна перейти до будь-якого запису.
ся вікно кольорів, у якому можна вибрати Результат зазначених дій показано на рис. 8 .
необхідний колір. Аналогічно можна зміни­ Зазначимо, що правила створення фор­
ти колір інших областей форми, а також ко­ ми в режимі конструктора на основі запиту
лір тексту й фону надписів Адреси фірм і Ке­ практично нічим не відрізняються від правил
рівник. її створення на основі таблиць.

Рис. 7. Результат виконання форми в режимі форми форми

Форму бажано проектувати так, щоб потім не потрібно


було вносити зміни до її структури. У процесі модифікації
форми можна виконувати такі дії: змінювати параметри ві­
дображення форми; змінювати властивості форми; додавати
нові елементи керування; змінювати властивості елементів
керування; видаляти елементи керування.
Розділ 4

З а п и т а н н я дл я п е р е в ір к и з н а н ь
?)
1 Як можна змінити колір фону й тексту на 4 Які основні операції можна виконати в про­
формі? цесі модифікації форми?
2 Які основні дії можна виконати за допомо­
5 Поясніть порядок створення форми за до­
гою контекстного меню форми?
помогою конструктора форм.
3 Як викликати у вікні форми список полів та­
блиці?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
і
1 За допомогою конструктора форм створіть 2 Використайте елементи керування Access
на основі таблиці МОЇ ДРУЗІ форму з іменем 2016 для зміни зовнішнього вигляду фор-
формаІОЗ з полями Прізвище, Ім'я, День на­ миЮЗ, надавши формі привабливого зо­
родження, Телефон, Адреса. Перед перши­ внішнього вигляду.
ми трьома полями розмістіть текст О сновні
дані, а перед рештою — К о н т а кт и .

4 .5 .3 . Використання форм для введення й редагування даних


Форми забезпечують наочне і якісне відображення даних. Але
їх застосовують ще й для введення даних. Яка необхідність
у цьому?
Форма є зручним засобом відображення даних, які зберіга­
ються в таблицях або формуються запитами. Водночас форму
зручно використовувати для введення й редагування даних.
Розглянемо на прикладах способи введення, редагування й ви­
далення даних.
• Уведення нових записів
Уведені у форму нові записи будуть автоматично додані до
таблиці, на базі якої створено форму.
Приклад 1. Відкрити формуі в режимі фор­ 2. Натискаємо кнопку Створити запис і вво­
ми й увести в бланк цієї форми такі дані: димо перелічені раніше дані нового
Фірма — 15; Адреса — вул. Л ісова, 55; Дирек­ запису.
тор — Івасько І . І .; Телефон — 313-222; Праців­ 3. Зберігаємо форму, закриваємо її, відкри­
ники — 500; Провізори — 12. ваємо таблицю ФІРМИ. Результат додаван­
1. Відкриваємо формуі на панелі навігації. ня даних наведено на рис. 9.
!Ш ф ір м и ' х

Фірма - Адреса Директор - Телефон * Працівники - Провізори Примітка


а 12 вул. Морська, 20 Ясин В.М 350-621 400 зо
а 13 вул. Заводська, 15 Бойко М.і. 400-502 700 50 Директор-заслужений працівник
а 14 вул. Зоряна, 3 Зімін І.Ф, 241-750 800 60 Директор-новопризначений
а 15 вул.Лісоаа, 55 Івасько 1.1. 313-222 500 12
* о| 0 0

Запис М « 5 і 5 ^ ) > М > | ^ Без фільтра^ Пошук |< | І

Рис. 9. Таблиця ФІРМИ після додавання нового запису


4.5. Форми...

• Редагування записів
Для редагування записів у таблиці за допомогою форми
відкриваємо її в режимі форми, знаходимо цей запис у формі
та вносимо зміни в поля даних. Пошук запису можна здій­ Приклад 2.
снити за допомогою кнопок на панелі навігації. 1. Відкриваємо формуі в ре­
жимі форми.
• Видалення записів 2. Знаходимо запис із пріз­
Слід враховувати, що для зв’язаних таблиць видалити за­ вищем Івасько І. І. Уво­
димо в поле Адреса нову
пис не завжди можливо. Якщо, наприклад, запис не має під­
леглих записів у зв’язаних таблицях або дозволено каскадне адресу: Подільська, 7.
вилучення записів, то видалення можливе. У такому випадку 3. Зберігаємо й закриваємо
відкриваємо вікно, у якому подано текст із проханням під­ форму. Після цього від­
твердити вилучення. Для підтвердження вилучення натис­ криваємо таблицю ФІРМИ
каємо кнопку Так, інакше буде виведено повідомлення про і переконуємося, що змі­
неможливість вилучення. У такому випадку спочатку треба ни внесено.
вилучити з інших таблиць усі записи, які пов’язані з даним
записом. Можна також на час видалення записів спочатку
вилучити зв’язки між таблицями, а після вилучення їх від­
новити.
Загальний порядок видалення записів із таблиці за допо­
могою форми такий: слід знайти у формі запис, який потріб­
но видалити, у групі Записи вкладки Основне відкрити меню
кнопки Видалити і виконати команду Видалити запис.

Приклад 2. Видалити за допомогою формні 3. Натискаємо кнопку миші й у меню, що


з таблиці ФІРМИ запис, де є прізвище Івась­ відкриється, виконуємо команду Видали­
ко І. І. ти запис. У результаті на екрані з’явиться
1. Відкриваємо формуі в режимі форми, вікно, у якому потрібно ввести підтвер­
знаходимо запис із прізвищем Івасько І. І. дження на видалення поточного запису.
4. Для збереження форми зі змінами на­
2. У групі Записи встановлюємо курсор на
тискаємо кнопку Зберегти, закриваємо
трикутнику, розташованому біля кнопки
формуі, відкриваємо таблицю ФІРМИ і пе­
Видалити.
реконуємося, що запис дійсно вилучено.

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

1 Як видалити записи за допомогою форм? 4 У якому режимі необхідно відкрити форму


для редагування записів?
2 Як здійснити редагування записів за допомо­
гою форм? 5 Як додати нові записи за допомогою
3 Обгрунтуйте, чому форми доцільно викори­ форм?
стовувати для введення даних.

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

1 Додайте в таблицю МОЇ ДРУЗІ новий за­ 2 Виконайте в таблиці МОЇ ДРУЗІ редагування
пис за допомогою формиІОІ. Видаліть цей записів за допомогою формиІОІ. Відновіть
запис. Переконайтеся в правильному вико­ первинний вміст таблиці МОЇ ДРУЗІ.
нанні операції.
70 Розділ 4

4.6. Звіти
Звіт є специф ічним об'єкт ом сист ем и Access 2016. Які д ії
м ож ут ь виконуват ися за допом огою звіт ів?

Звіт — це об'єкт бази даних, призначений для виве­


Джерелом даних для звіту дення даних у зручному для користувача вигляді.
є таблиці або записи, отрима­
ні в результаті виконання за­ На початку створення звіту необхідно чітко визначити
питу. До звіту можна включа­ структуру й зовнішній вигляд документа, який необхідно
ти малюнки, діаграми, таблиці, отримати. Бажано його структуру подати на папері.
у ньому можна обчислювати Для кожної БД може бути створено кілька звітів різної
відповідні значення для згру­ форми і з різними даними. Наприклад, один звіт може бути
пованих записів (наприклад, за створено для бухгалтерії, інший — для відділу кадрів тощо.
професією тощо). Засоби для створення звітів розміщені в групі Звіти вкладки
Створити (рис. 1).
Найпростішим є засіб Звіт. За його допомогою звіт ство­
рюється автоматично, фактично натисненням однієї кнопки.
Але отриманий у цьому випадку звіт містить усі поля однієї
1 (ці □ а таблиці. Якщо необхідно вибрати дані з кількох таблиць, то
Звіт Конструктор Пустий [@І для цього потрібно розробити відповідний запит.
звіті звіт Найпотужнішим засобом для створення звіту є Кон­
Звіти структор звітів. Розглянемо методику створення звіту в режимі
конструктора на прикладі.
Рис. 1. Засоби для створення звіту

Ь
Приклад. Створити звіт на базі таблиць поля Посада і впорядкувати їх за збільшен­
ФІРМИ і ПРАЦІВНИКИ. З таблиці ПРАЦІВНИ­ ням стажу. У результаті виконання звіту
КИ включити у звіт поля Прізвище, Посада необхідно отримати орієнтовно такий ре­
і Стаж, а з таблиці ФІРМИ — поля Фірми зультат, як наведено на рис. 2.
і Директор. Згрупувати записи за значенням
а їеітг\ __

ПРАЦІВНИКИ ФІРМ ЗА ПОСАДАМИ

Фахівці за посадами |аналітик

|Грач П.О. аналітик пг «II__ 14! [Зімін І.Ф.

Ахтирко В.В. аналітик пг 251 12 |Ясин В.М

Фахівці за посадами диспетчер

[вараеа А.А. | |диспетчер пг 1011 12 |Ясин В.М

Носко М.Г. диспетчер пг 15І Г 13| [Бойко М.І.

[Мерез Ф.Б. | |диспетчер пг 171 14І [Зімін І.Ф.

Зоря 1.1. диспетчер пг 22І Г 12| |Ясин В.М

|
Фахівці за посадами експерт
[Сороко Я.М. | експерт пг 5ІІ 14| Зімін І.Ф.

Рис. 2. Орієнтовний результат виконання звіту для таблиць ФІРМИ і ПРАЦІВНИКИ


1. Вибираємо назви таблиць ФІРМИ і ПРА­ поля Посада. Для цього на вкладці Кон­
ЦІВНИКИ. Активуємо вкладку Створення структор натискаємо кнопку Групування та
і в групі Звіти натискаємо кнопку Кон­ сортування, що міститься в групі Групу­
структор звітів. На екрані з’явиться по­ вання та підсумки...
рожній бланк звіту, а на смузі відкри­ У результаті в нижній частині екрана
ється вкладка Конструктор. з’явиться область Групування, сортування
і підсумок, у якій слід виконати коман­
2. Уводимо заголовок звіту. Для цього
ду Додати групу. Висвітяться всі імена
натискаємо кнопку Підпис у групі Еле­ вибраних полів.
менти керування, встановлюємо курсор
Вибираємо поле Посада, за яким вико­
в область Верхній колонтитул сторінки нується групування записів. У результа­
і клацаємо кнопку миші. З’явиться
ті в області звіту з’явиться нова область
текстове поле, у яке потрібно вве­ Верхній колонтитул. У цю область пере­
сти текст заголовка звіту, наприклад
тягуємо поле Посада, натискаємо кнопку
П РАЦ ІВН И КИ ФІРМ ЗА ПОСАДАМИ, Підпис і ліворуч від цього поля вводимо
і натиснути клавіш у Enter. Далі натис­
текст Фахівці за посадами, після чого на­
каємо кнопку Додавання наявних полів тискаємо клавішу Enter.
у групі Знаряддя і кнопку Відображати
всі таблиці. ^ Установлюємо сортування згрупованих
записів за значенням поля Стаж, для чого
3. Перетягуємо з вікна Список полів у розділ спочатку натискаємо кнопку Додати сор­
Подробиці поля Прізвище, Посада, Стаж таб­ тування, а потім — поле Стаж. Виконані
лиці ПРАЦІВНИКИ і поля Фірми і Директор налаштування відобразяться у вікні, по­
таблиці ФІРМИ. Під час перетягування даному на рис. 3.
кожного поля з’являються два зв’язаних g Закриваємо область Групування, сортування
поля: ліворуч — назва поля, а право­ й підсумок. Остаточний вміст звіту, ство­
руч — поле для виведення даних. Кожне реного в режимі конструктора, який від­
ліве поле можна вилучити, для чого до­ повідає поставленим умовам, подано на
статньо вибрати його й натиснути клаві­ рис. 4.
шу Delete.
Збережемо звіт2, виконаємо його в режи­
4. Згруповуємо записи, які будуть включені мі Подання звіту і переконаємося, що ви­
до звіту за посадою, тобто за значенням дається вміст (див. рис. 2 ).

і а зв ггг\___ X
□ • • « • «*5 - 1 - е - • • 7 * І-В - • 3 • 1 • Ю• 1 • п ■ • •в - • • О • і • М • ' • 15 • і • • • • • 17 • • • —
4 верхній колонтитул сторінки

Групування, сортування й підсумок [ПРАЦІВНИКИ ФІРМ ЗА ПОСАДАМИ |

: Групувати за Посада 4 Верхній колонтитул Посада__________________________________


U Сортувати за Стаж т від найменшого до найбільшого т ; Розгорнути ► [Фахівці за посадами | [посада |

В” Додати групу М Додати сортування


Прізвище Фірма Директор
Рис. 3. Діалогове вікно для групування й сортування
записів Рис. 4. Варіант структури звіту в режимі конструктора

До звіту можна додати ще деякі елементи керування,


розмістити елементи по-іншому, виділити окремі еле­
менти керування іншим шрифтом, кольором, товщиною
ліній тощо. Усі ці операції принципово не відрізняються
від аналогічних дій, що виконувалися в процесі розроб­
ки форм.
Розділ 4

Можна також підрахувати кількість записів у кожній


0 ..................................................... групі й у звіті в цілому. Для цього в режимі розмітки
на вкладці Конструктор у групі Групування та підсумки по­
Щоб модифікувати звіти, мож­ трібно відкрити меню кнопки Підсумки й виконати ко­
на виконати такі операції: манду Кількість записів. Приклад такого звіту наведено на
• змінити параметри звіту рис. 5.
• вибрати новий стиль форма­
Щ з віт 2
тування звіту
• додати нові елементи керу­
ПРАЦІВНИКИ ФІРМ ЗА ПОСАДАМИ
вання
Фахівці за посадами Щ і а л і т и к
• змінити властивості елемен­
тів керування
Грач П.О. аналітик «п М ЗІМІНІ.Ф.

• вилучити елементи керу­ Ахтирко В.В. аналітик 12 ЯсинВ.М

вання
Фахівці за посадами Д и с п е т ч е р

Варава А.А. диспетчер 12 ЯсинВ.М

| Носко М.Г. д и с п етч ер 1S| Q ІЗ; |Бойио М.І.

М е р е з Ф .Б . д и с п етч ер Зі м ін І.ф.

Щоб надати звіту більш есте­ Зоря 1.1. д и с п етч ер Н І 12 ЯсинВ.М

тичного вигляду, можна зміни­


ти колір елементів керування Фахівці та посадами е к с п е р т
або використати стандартні Сороко Я.М. експерт
стилі оформлення звітів. Для
цього потрібно відкрити звіт
у режимі розмітки, на вклад­
ці Формат розгорнути меню Рис. 5. Вміст звіту з підрахунком кількості записів
кнопки Форматування еле­
ментів керування й вибра­ До звіту можна додати ще деякі елементи керування, роз­
ти бажаний колір заливки містити елементи по-іншому, виділити окремі елементи керу­
фігур, контур фігури, а в групі вання іншим шрифтом, кольором, товщиною ліній тощо. Усі
Шрифт — шрифт тексту. ці операції принципово не відрізняються від аналогічних дій,
що виконувалися в процесі розробки форм.

З а п и та н н я д л я п е р е в ір к и з н а н ь
ж
1 Як виконати групування й сортування запи- 3 Поясніть порядок створення звіту за допо-
сів у звіті? могою конструктора звітів.
2 Як підрахувати записи в групах звіту?

ТХ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 У режимі конструктора створіть звітІОІ для 2 Використайте елементи керування системи
таблиць МОЇ ДРУЗІ і УСПІХИ ДРУЗІВ. Із та­ Access 2016 для самостійного налаштування
блиці МОЇ ДРУЗІ включіть у звіт поля Пріз­ зовнішнього вигляду звітуЮІ.
вище й Адреса, а з таблиці УСПІХИ ДРУ­
ЗІВ — поля Навчання й Музика.
Практична робота № 7 73

Практична робота № 7
Тема. Робота з готовою базою даних. Введення і редагування даних,
Завдання: відкрити готову базу даних, ввести та відредагувати дані за наведеним планом;
створити нову базу даних, установити зв'язок між таблицями, ввести та відредагу­
вати дані.
Обладнання: комп'ютер зі встановленою програмою система управління базами даних; готова
база даних.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

1 Запустіть програму Access. Відкрийте гото­ 2 Створіть нову БД за таким планом.


ву БД corporation і виконайте в ній такі дії. 1) Створіть БД з іменем nova з таблицями
1) Видаліть із таблиці ПРАЦІВНИКИ два будь- АВТОРИ і КНИГИ та збережіть її в корене­
які записи. вому каталозі диска D:.
2) Уведіть у таблицю новий запис і відреда­ 2) Установіть зв’язок між таблицями.
гуйте його. 3) Перевірте правильність введених даних
3) Виконайте створені раніше запити, звіти у таблицях і наявність зв’язку між та­
й форми та переконайтеся в правильності блицями.
отриманих результатів. Зробіть висновки: які трудовитрати на
4) Відновіть попередній зміст таблиці ПРАЦІВ­ розроблення об’єктів бази даних; як
НИКИ й переконайтеся в правильності ви­ створити нову базу даних, установити
конання інших об’єктів цієї БД. зв’язок між таблицями, ввести та відре­
дагувати дані.
Таблиця АВТОРИ

Прізвище Посада Стаж Кількість видань

Бех Н. А. доцент 20 7

Невін К. К. професор 15 15

Носов П. А. інженер 17 1

Сокіл 1. 1. доцент 12 4

Таблиця КНИГИ

Інвентарний № Назва Автор Рік Ціна Тираж Реалізовано

20100 Фізика Бех Н. А. 2000 75 3000 2100

20101 Механіка Сокіл 1. 1. 2005 84 1000 800

20102 Інформатика Бех Н. А. 2008 60 4000 3500

20103 Інформатика Невін К. К. 2006 70 2500 2000

20104 Механіка Пека П. А. 2008 75 5000 4000

20105 Інформатика Бех Н. А. 2010 90 3000 1900

20106 Фізика Сокіл 1. 1. 2006 75 3000 2400


Розділ 4

Практична робота № 8
Тема. Пошук даних у базі даних. Використання запитів і фільтрів,
Завдання: здійснити в БД пошук даних за зазначеними умовами.
Обладнання: комп'ютер зі встановленою програмою система управління базами даних; база
даних, створена на попередньому уроці.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Запустіть програму Access. Відкрийте 5 Із таблиці КНИГИ виберіть книжки


створену БД nova. з інформатики й фізики, видані після
2005 року.
Знайдіть у таблиці КНИГИ всі записи, що
містять книги з роком видання після 6 Упорядкуйте записи таблиці АВТОРИ за
2000 року, ціна яких перевищує 75. значеннями полів Прізвище і Видання. Пе­
реконайтеся, що впорядкування викона­
Знайдіть у таблиці АВТОРИ всі записи з ав­ но правильно.
торами, які є доцентами та професорами.
7 Перейменуйте таблицю КНИГИ в таблицю
Упорядкуйте записи таблиці КНИГИ за ВИДАННЯ. Після цього відновіть попе­
значенням полів Рік і Автор. Відкрийте реднє ім’я таблиці.
цю таблицю в режимі таблиці й пере­ Зробіть висновки: яка ефективність філь­
конайтеся, що записи впорядковано пра­ трів і запитів для пошуку даних; яким
вильно. із них ви надаєте перевагу.

Практична робота № 9
Тема. Запити та їх використання.
Завдання: створити запити для знаходження в БД даних за певними критеріями відбору,
Обладнання: комп'ютер зі встановленою програмою система управління базами даних; база
даних, створена на попередньому уроці.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Запустіть програму Access. Відкрийте БД книг з інформатики автора Беха Н. А.


nova і створіть запит на основі таблиці Збережіть запит з іменем запит201 і ви­
КНИГИ з полями Назва, Автор, Рік і Реалізо­ конайте його. Перевірте результат і за­
вано, за допомогою якого виводяться дані крийте запит.
про книжки, що мають реалізацію понад 3 Відкрийте запит200 в режимі конструк­
2000 примірників. Збережіть запит з іме­ тора й додайте до нього поле Тираж.
нем запит200 і виконайте його. Проаналі­ Збережіть цей запит з іменем запит202.
зуйте результат і закрийте запит. Виконайте його і перевірте результат.
Створіть запит на основі таблиці КНИГИ, 4 Створіть запит, за яким виводяться дані
за допомогою якого здійснюється пошук про книги з фізики й механіки. Створіть
Практична робота № 10 75

запит на основі таблиць АВТОРИ і КНИ­ реалізація книг із назвами «Фізика»


ГИ. До запиту включіть поля Назва і Ав­ і «Механіка». Збережіть запит з іменем
тор таблиці КНИГИ і поля Посада і Стаж запит204 і виконайте його.
таблиці АВТОРИ. Упорядкуйте записи 6 Самостійно сформулюйте і створіть за­
в алфавітному порядку прізвищ авторів. вдання для розроблення запиту для таб­
Збережіть запит з іменем запит203, вико­ лиці АВТОРИ і КНИГИ.
найте його і перевірте результат. Закрий­
те запит.
Зробіть висновки: яка ефективність за­
Створіть запит, за допомогою якого під­ питів різних типів; яким з них ви нада­
раховується загальний тираж і загальна єте перевагу.

Практична робота № 10
Тема. Створення звітів.
Завдання: створити звіти для аналізу даних в БД за певними умовами.
Обладнання: комп'ютер зі встановленою програмою система управління базами даних; база
даних, створена на попередніх уроках.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Запустіть програму Access. Створіть на записи за значенням поля Посада. Підра­


основі запиту200 звіт. Згрупуйте записи за хуйте кількість книжок, виданих кож­
значенням поля Автор. Записи в кожній гру­ ним автором. Уведіть назву звіту й назву
пі упорядкуйте за значенням поля Рік. Під­ кожної групи. Збережіть звіт, виконайте
рахуйте для кожного автора загальну кіль­ його і перевірте результат.
кість реалізованих книжок. Виконайте звіт 5 Модифікуйте звіт. Установіть нові еле­
і переконайтеся в правильному результаті. менти, виберіть їхні властивості й стиль
Модифікуйте звіт, створений у п. 1. оформлення. Надайте звіту естетичного
Згрупуйте записи не за значенням поля вигляду. Переконайтеся, що він дійсно
Автор, а за назвами книг. Підрахуйте має привабливий вигляд. Видаліть дода­
кількість книг кожного автора та за­ ні елементи й закрийте звіт.
гальну кількість реалізованих книг усіх 6 Самостійно сформулюйте завдання для
авторів. розроблення звіту на основі заииту203.
Збережіть звіт, виконайте його і перевір­ Створіть і виконайте цей звіт.
те результат.
За допомогою конструктора звітів ство­ Зробіть висновки: яка доцільність і ефек­
ріть звіт на основі запиту203. Згрупуйте тивність використання звітів.
Розділ 5. МЕРЕЖЕВІ ТЕХНОЛОГІЇ

5.1. Класифікація комп'ютерних мереж


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

Між комп’ютерами, які розв’язували схожі завдання, до­


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

Комп'ютерна мережа — сукупність пристроїв, з'єд­


наних каналами передавання даних, для спільного
користування апаратними, програмними та інформа­
ційними ресурсами під керуванням спеціального про­
грамного забезпечення.
У 1961 році американський
інженер українського похо­ Пригадаємо, який пристрій у мережі називається вузлом
дження Леонард Клейнрок за­ (точкою з’єднання).
пропонував ідею пакетної ко­
Вузол мережі (англ. Node) — пристрій, з'єднаний з ін­
мутації, яка наразі є основою
шими пристроями через мережу. Вузлами можуть бути
передавання даних мережею.
комп'ютери, мобільні телефони, кишенькові комп'ютери
А в 1964 році виклав основні
та спеціальні мережні пристрої.
принципи та розробив теорію.
Призначенням комп’ютерних мереж є забезпечення:
• швидкого обміну даними між окремими комп’ютерами
мережі;
• спільного використання комп’ютерних програм і даних;
• спільної роботи користувачів над проектами;
• віддаленого керування комп’ютерами;
• спільного доступу до периферійних пристроїв (принте­
рів, сканерів, зовнішньої пам’яті);
• спільного доступу до інформаційних ресурсів.
У комп’ютерній мережі комп’ютери можуть виконувати
різні функції.

Американського вченого Джо- Комп'ютер, який керує розподілом ресурсів мережі, на­
зефа К. Р. Ліклайдера часто зивають сервером (від англ. server — той, хто подає);
називають духовним батьком комп'ютери, які користуються ресурсами мережі, нази­
Інтернету. У 1962 році в низці вають клієнтами, або робочими станціями.
статей він виклав свою кон­ Залежно від завдань, які виконують комп’ютери, мережі
цепцію «Галактичної мережі» — розрізняють за територією, типом операційної системи, роз­
прообраз сучасного Інтернету. поділом функцій, інфраструктурою та місцем розташування
технічних засобів, які входять у мережу, та ін.
5.1. Класифікація... 77
Схему класифікації комп’ютерних мереж за різними озна­
ками наведено на рис. 1 .

Комп'ютерні мережі

За розподілом За призна­
За територією За типом ОС За топологією
функцій ченням

персональні ; спеціалі­ загальна


однорангові освітні
(PAN) зовані шина

\-4 локальні клієнт-


мережеві зірка
(LAN) серверні дослідницькі

-4 міські обчислю-
кільце
(MAN) вальні

- 4 глобальні
додаткові
(WAN)

Рис. 1. Класифікація комп'ютерних мереж

Розглянемо класифікацію комп’ютерних мереж детально.


За територією мережі поділяються таким чином.
• Персональні (PAN, від англ. Personal Area Network — ме­
режа особистого простору, персональна мережа) — мере­ -------------------------- —
ж і для взаємодії пристроїв, що належать одній людині та
Набуває популярності нова
об’єднують її власні електронні пристрої: персональні ком­
комп'ютерна мережа — «на­
п’ютери, ноутбуки, планшети, смартфони, комунікатори.
тільна» (BAN, від англ. body area
• Локальні (LAN, від англ. Local Area Network — мережа
network). Її пристрої можуть
локального простору) — з’єднують пристрої, розташовані
бути зафіксовані на поверхні
на порівняно невеликій відстані один від одного, зазви­
чай у межах однієї або кількох сусідніх будівель, напри­ тіла (фітнес-трекери, розумні
клад мережа навчального закладу. браслети) або з'єднані з при­
строями, які люди носять у ки­
• Міські, регіональні (MAN, від англ. Metropolitan Area
шенях, на руці або імплантова­
Network — мережа міського простору) — обласні й націо­
нальні мережі. Приміром, www.ukr.net — це українська ні в тіло (технологія перебуває
національна мережа. у початковій стадії дослідження).
• Глобальні (WAN, від англ. Wide Area Network — мережа
широкого простору) — об’єднують комп’ютерні мережі.
Найвідомішою глобальною мережею є Інтернет.
Сучасні операційні системи (ОС) поділяються на спеціалі­
зовані та мережеві (рис. 2 ).
Спеціалізовані ОС призначені для роботи з мережевим об­
Cisco IOS
ладнанням певної компанії. Так, Cisco IOS (англ. Internetwork SOFTWARE
Operating System — міжмережева ОС) працює виключно з марш-
рутизаторами й комутаторами компанії Cisco, a ZyNOS — ОС W indows
компанії ZyXEL, працює з маршрутизаторами Prestige. (ОС, Рис. 2. Логотипи мережевих ОС
що забезпечують роботу у мережі, буде розглянуто в § 5.2.)
78 Розділ 5

За розподілом функцій між комп’ютерами мережі поділя­


ють на однорангові й клієнт-серверні. (Детальніше такі мере­
жі будуть розглянуті в § 5.2.)
Комп’ютерні мережі поділяються також за топологією.
Фізичне розташування вузлів мережі один відносно
одного та способи їхнього з'єднання лініями зв'язку
U l О І . називають топологією.

Рис. 3. Топологія «загальна шина»


Існують три базові топології («загальна шина», «кільце»,
«зірка») та додаткові, що є модифікацією або поєднанням
базових, наприклад топологію «дерево» можна розглядати як
комбінацію декількох «зірок».
Кожна топологія накладає певні вимоги.
Топологія «загальна шина» передбачає використання од­
ного кабелю, до якого під’єднуються всі комп’ютери мережі
(рис. 3). Надіслане з будь-якого комп’ютера мережі повідом­
лення поширюється на всі інші комп’ютери мережі. Кожний
із них перевіряє, кому адресовано повідомлення. Опрацьовує
повідомлення лише той комп’ютер, якому воно адресоване.
Комп’ютери можуть передавати дані лише послідовно, оскіль­
ки лінія зв’язку одна і спільна. Всі комп’ютери мають рівні
права, все обладнання є ідентичним.
Топологія «кільце» — топологія, в якій кожен комп’ютер
з’єднано лініями зв’язку лише з двома іншими (рис. 4): від
одного він тільки отримує інформацію, а іншому тільки
передає. Комп’ютери в «кільці» не є повністю рівноправни­
ми: одні обов’язково отримують інформацію від комп’ютера,
який надсилає повідомлення в цей момент, раніше, а інші —
пізніше.
У топології «зірка» всі комп’ютери мережі приєднано до
центрального вузла (рис. 5), через який весь обмін інформа­
цією йде від одного комп’ютера до іншого. Як центральний
вузол можуть виступати або концентратор чи комутатор —
таку топологію називать пасивною «зіркою», або потужний
комп’ютер, на який покладається дуже велике навантажен­
ня,— таку топологію називають активною «зіркою».

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Що таке комп'ютерна мережа? 8 Які мережі називають локальними? Наведіть
2 Яке призначення комп'ютерних мереж? На­ приклади таких мереж.
ведіть приклади. 9 Назвіть переваги й недоліки базових топо-
3 Поясніть поняття «клієнт», «сервер». логій.

4 Що означають скорочення LAN, PAN, WAN? 10 Зробіть повідомлення про одну з додатко­
вих топологій.
5 Які ви знаєте види комп'ютерних мереж? По­
ясніть, чим вони різняться. 11 Запропонуйте власну схему класифікації за
територією, яка більш наочно демонструє
6 Які мережі називають клієнт-серверними? відмінність таких комп'ютерних мереж, як
7 Які мережі називають одноранговими? LAN, PAN, MAN.
5.2. Апаратне і програмне... 79

5.2. Апаратне і програмне забезпечення


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

Будь-яка комп’ютерна мережа має апаратні та програмні


ресурси. Комп'ютерна мережа
Апаратні ресурси мережі, або апаратне забезпечення,— це
під’єднані до мережі комп’ютери, канали передавання даних
(канали зв’язку) та мережеве обладнання. (Зі складовими апа­ однорангова
ратного забезпечення ми ознайомимось у § 5.3 і 5.4.) (комп'ютери виступають
одночасно і як сервери,
Системне програмне забезпечення — це службові та си­
стемні програми, драйвери пристроїв мережі, мережеві ком­ і як клієнти)
поненти операційної системи, які використовують для обміну
даними між комп’ютерами в мережі. і - ф клієнт-серверна
Як ви вже знаєте, за розподілом функцій розрізняють од- (мережеві ресурси
норангові та клієнт-серверні мережі (рис. 1). Розглянемо про­ сконцентровані
грамне забезпечення цих мереж. на одному комп'ютері)
В однорангових мережах (рис. 2) усі комп’ютери є рів­ Рис. І.Типи мереж за розподілом
ноправними, кожен комп’ютер функціонує і як клієнт, функцій
і я сервер. Кожен користувач сам визначає, до яких ресур­
сів його комп’ютера матимуть доступ інші користувачі. Тобто
у комп’ютерів немає чіткої спеціалізації щодо підтримки тієї
чи іншої мережевої служби.
Для створення однорангових мереж не потрібне спеціальне
мережеве програмне забезпечення. Для їх роботи достатньо
набору мережевих функцій, який мають усі сучасні опера­
ційні системи. Рис. 2. Однорангова мережа
У клієнт-серверних мережах (рис. 3) на відміну від од­
норангових одні комп’ютери, зазвичай найпотужніші, віді­
грають роль серверів і забезпечують надання певних послуг
(служб), а інші, робочі станції, є клієнтами, тобто спожива­
чами цих послуг. Тому, щоб підкреслити цю різницю, такі
мережі називають також багаторанговими.
Для забезпечення нормального функціонування клієнт-сер­
верних мереж потрібне спеціальне програмне забезпечення,
яке складається з двох частин: серверної та клієнтської.
На серверах установлюють серверну частину: серверні опе­
раційні системи, що здатні опрацьовувати запити великої
кількості користувачів, спеціальні програмні засоби, необхід­
ні для функціонування клієнт-серверних мереж. Такі засоби
забезпечують блокування файлів та записів, що необхідно F * - ----------- --
для їх спільного використання, супровід довідників імен ме­ 29 жовтня 1969 року впер­
режевих ресурсів, опрацювання запитів віддаленого доступу ше було проведено сеанс пе­
до файлової системи та бази даних сервера, керування чер­ редавання даних на відстань
гою запитів віддалених користувачів до мережевих перифе­ 640 км. Цей день вважається
рійних пристроїв (принтерів, сканерів, факсів тощо). офіційним днем народження
На робочих станціях установлюють клієнтську частину, Інтернету.
яка надає можливість користувачу звертатися до ресурсів
80 Розділ 5

сервера. Вона забезпечує процес розпізнавання запитів корис­


тувачів та перенаправлення відповідей від сервера.
UNIX. Наведену технологію побудови програмного забезпечення
називають клієнт-серверною.
Серед серверних операційних систем виділяють Unix,
L in u x
Linux (GNU/Linux) та Windows Server (рис. 4), кожна з яких
має певні особливості.
Unix — сімейство багатозадачних та багатокористувацьких
W in d o w s операційних систем. Це одна з перших серверних операцій­
S e rv e r S ystem них систем, яка використовувалась на так званих мейнфрей-
мах — великих багатокористувацьких комп’ютерах та корпо­
Рис. 4. Логотипи серверних ОС ративних серверах.
Linux — загальна назва Unix-подібних операційних сис­
тем, які базуються на ядрі Linux і системних бібліотеках
GNU. Linux є операційною системою з відкритим кодом.
Особливістю сучасних операційних систем є служби (на­
0 приклад, Windows SharePoint Services), які можуть ство­
рювати веб-вузли для здійснення обміну даними, що
особливо важливо для забезпечення роботи з файлами
Сервер у режимі спільної роботи з даними.

Веб-сервер — забезпечує Крім того, на серверах установлюють спеціалізоване при­


доступ до сайтів кладне програмне забезпечення, потрібне для підтримки ро­
боти певної служби або кількох служб. У клієнт-серверних
~ Щ Файловий сервер — мережах підтримку мережевих служб здійснюють сервери,
зберігає великі обсяги причому вони можуть мати різну спеціалізацію (виконувати
інформації різні функції) (рис. 5).
Windows Server наразі є найбільш поширеною операцій­
І Щ Поштовий сервер — ною системою для серверів. Комп’ютер, на якому встановлено
підтримує роботу з елек­ таку операційну систему, може виконувати функції:
тронною поштою • файлового сервера;
• сервера служби веб-додатків;
Сервер резервного ко­
• сервера терміналів;
піювання — відповідає
за безпечне зберігання • поштового сервера;
інформації • сервера віддаленого доступу;
• служби DNS (доменних імен);
Рис. 5. Спеціалізація серверів • служби каталогів;
у клієнт-серверній мережі
• сервера потоків мультимедіа та ін.
Наразі всі сучасні ОС мають вбудовані мережеві функції.

) З а п и т а н н я д л я п е р е в ір к и з н а н ь
І
1 Що таке вузол мережі? 5 Які функції може виконувати сервер у клієнт-
серверних мережах?
2 Який комп'ютер може бути сервером?
6 Яке програмне забезпечення потрібне для
3 Опишіть принцип побудови програмного
функціонування однорангової мережі?
забезпечення у клієнт-серверній мережі.
7 Знайдіть відомості в Інтернеті й зробіть пові­
4 За яких умов роботи краще налаштовувати
домлення про серверні операційні системи.
однорангову мережу?
5.3. Канали зв'язку 81

5.3. Канали зв'язку

Пригадайт е, щ о т аке ком п'ю т ерна м ережа.

Усі апаратні складові мережі налаштовують таким чи­


ном, щоб несправність окремих комп’ютерів, фізичний вихід
із ладу або від’єднання окремих ділянок мережі не вплива­
ли на функціонування мережі. Канали зв’язку забезпечують Канали зв'язку
з’єднання приймача та передавача (рис. 1 ).
За способом передавання даних мережі поділяють на ка­ середовище передаван­
бельні (дротові) і бездротові. ня (головна характе­
ристика)
Мережу називають кабельною (дротовою), якщо се­
редовищем передавання даних є кабель. У тако­ швидкість передавання
му середовищі дані передаються електричними або даних (кількість бітів
оптичними сигналами. даних, які передаються
за секунду)
На сучасному етапі розвитку комп’ютерних мереж вико­
ристовують такі типи кабелів: кручена пара, коаксіальний та
максимальна відстань
оптоволоконний кабелі.
передавання даних (без
Кручена пара — це декілька пар скручених мідних дротів спотворення сигналу)
у кольоровій пластиковій ізоляції (рис. 2). Пучки кручених
пар дротів захищає зовнішнє обплетення. Такий кабель ви­ Рис. 1. Характеристики каналів
користовують у телефонному зв’язку та в більшості мереж зв'язку
Ethernet (від англ. ether — ефір і net — мережа) — це па­
кетна технологія передачі даних, яка застосовується при по­
будові комп’ютерних мереж. Залежно від типу кабелю макси­
мальна відстань передавання даних без підсилення сигналу
становить від 15 до 100 м, а швидкість передавання даних
може досягати 100 Гбіт/с.
Коаксіальний кабель — це кабель із ізольованою мідною
жилою, оточеною металевою оболонкою-екраном (рис. 3).
Такий кабель використовують для під’єднання комп’ютерів
Рис. 2. Кручена пара
до мережі та поширення сигналів телебачення. М аксималь­
на відстань передавання даних без підсилення сигналу ста­
новить 500 м, максимальна швидкість передавання даних
може досягати 10 Мбіт/с.
Оптоволоконний кабель — це скляна або пластикова нит­
ка, що використовується для перенесення світла за допомо­
гою повного внутрішнього відображення (рис. 4).
Структура оптоволоконного кабелю схожа на структу­
ру коаксіального кабелю. Але замість центрального мідного Рис. 3. Коаксіальний кабель
дроту в такому кабелі використовується тонке (діаметром
близько 1 - 1 0 мкм) оптоволокно, а замість внутрішньої ізоля­
ції — скляна або пластикова оболонка, що не дозволяє світлу
виходити за межі оптоволокна.
Застосування цього кабелю дозволяє реалізувати найшвид­
ший на сьогодні спосіб передавання даних. Відстань переда­
вання даних без підсилення сигналу становить 50 км, а швид­ Рис. 4. Оптоволоконний кабель
кість передавання даних сягає від 10 Гбіт/с до 4 -8 Тбіт/с.
82 Розділ 5

Поява мобільного Інтернету стала можливою завдяки роз­


F* -- --------------- , витку бездротових мереж (англ. wireless).
Триває розробка оптоволокон-
ного кабелю нового типу, який Бездротовою називають мережу, в якій дані переда­
складається з багатожильних ються радіосигналами.
оптичних світловодів. На кабе­
лі таких жил сім. Передавання Стандартами бездротових мереж є Wi-Fi, LTE, Bluetooth,
даних кабелем завдовжки кіло­
WiMAX та ін. (рис. 5).
метр через 50 різних потоків до­ Wi-Fi (від англ. Wireless Fidelity — бездротова точність) —
зволило досягти рекордного по­ стандарт для обладнання бездротових мереж і торгова марка
казника швидкості в 255 Тбіт/с. консорціуму Wi-Fi Alliance, до якого входять найбільші ви­
Це набагато швидше нинішньо­ робники комп’ютерного устаткування та обладнання Wi-Fi.
го стандарту в 4-8 Тбіт/с. Мобільні пристрої (телефони, смартфони, ноутбуки), які осна­
щено приймачами-передавачами Wi-Fi, можна під’єднувати
до локальної бездротової мережі та Інтернету. Wi-Fi має об­
межений радіус дії (до 300 м) та швидкість передавання да­
них до 300 Мбіт/с.
wimax WiMAX, Mobile WiMAX, Mobile-Fi — технології бездрото­
вих мереж, які призначено для використання разом із техно­
0 Bluetooth
логією Wi-Fi (або замість неї) із метою розширення бездрото­
CJTf T) вих мереж. Зокрема, мережа WiMAX забезпечує кращий до­
ступ до Інтернету, ніж Wi-Fi, і має більшу площу покриття.
Наразі максимальна відстань становить 80 км, а швидкість
передавання даних зросла до 75 Мбіт/с.
LTE (від англ. Long-Term Evolution — довготривалий роз­
Рис. 5. Логотипи стандартів виток, часто позначається як 4G LTE) — стандарт бездрото­
бездротових мереж вої високошвидкісної передачі даних для мобільних телефо­
нів і інших терміналів, що працюють із даними. Швидкість
передавання даних може досягати 360 Мбіт/с на відстань до
---------------------- ------------ 100 км (наразі використовується швидкість 1 Мбіт/с на від­
стані до 13 км).
Технологія Bluetooth (англ. blue
tooth — синій зуб) отримала на­ Bluetooth — стандарт для бездротових персональних ме­
зву від імені данського короля реж. Технологія забезпечує обмін даними між кишенькови­
Харольда Синьозубого (X ст.) на ми та стаціонарними комп’ютерами, мобільними телефонами,
прізвисько Об'єднувач. ноутбуками, принтерами, цифровими фотокамерами тощо.
Зв’язок підтримується на відстані від 10 м до 100 м (відстань
залежить від наявності перешкод) зі швидкістю до 25 Мбіт/с.

© З а п и та н н я д л я п е р е в ір к и з н а н ь
І
1 Назвіть характеристики каналів зв'язку. 6 Який фізичний принцип лежить в основі оп-
товолоконного каналу передавання даних?
2 На яку відстань можливо передавати дані
7 Складіть таблицю основних характеристик
кабельними мережами без спотворення
кабельних та бездротових мереж.
якості сигналу?
8 Знайдіть і підготуйте повідомлення про кате­
3 Для чого використовується кручена пара? горії крученої пари.
9 Ви хочете переглянути фільм у режимі
4 Де використовують технологію Bluetooth?
онлайн. Яким середовищем передавання да­
5 Яка з технологій бездротових мереж забез­ них ви скористаєтесь?
печує максимальну швидкість передавання 10 Який стандарт бездротового зв'язку викори­
даних? стовується у мобільних телефонах?
5.4. Мережеві пристрої 83

5.4. Мережеві пристрої

Я кі ви знаєт е м ереж еві п рист рої?

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


станціями або «хостами» (англ. host). Прикладом таких при­
строїв є звичайний персональний комп’ютер. Для роботи в ме­
режі кожен «хост» оснащений мережевою картою {Network F * -------------
Interface Card — NIC) (мережевим адаптером, платою мере­ За даними аналітичних агентств
жевого інтерфейсу). Кожна карта має унікальний код, який (ЮС), лідером продаж мереже­
називають МАС-адресою, (від англ. Media Access Control — вого устаткування у 2016 році
управління доступом до середовища, також Hardware Address). традиційно є компанія Cisco
Systems (56%), друге місце по­
МАС-адреса — унікальний ідентифікатор, який при­
Ф своюється більшості мережевого обладнання.
сідає Huawei (7%), на третьо­
му місці Hewlett Packard (5%).
До п'ятірки лідерів також вхо­
Унікальність МАС-адреси забезпечується тим, що кожен ви­ дять Arista Networks та Juniper.
робник отримує в координуючому комітеті IEEE Registration
Authority свій діапазон із шістнадцяти мільйонів (224) адрес.
За трьома старшими байтами МАС-адреси можна визначити
виробника.
Мережеві пристрої забезпечують транспортування даних
між пристроями користувача. Вони подовжують і об’єднують
кабельні з’єднання, перетворюють дані з одного формату
в інший і керують передаванням даних.
До мережевих пристроїв належать повторювані, концентра­
тори, мости, комутатори і маршрутизатори. Розглянемо їхні
особливості.
Повторював (англ. repeater) — це пристрій (рис. 1), призна­
чений для підсилення мережевих сигналів, що дозволяє пере­
давати їх середовищем на більшу відстань. Причому повторю­
вав не переглядає іншу інформацію, яка міститься в пакеті. Рис. 1. Повторювач
Концентратор (англ. hub — центр уваги) — це один із ви­
дів мережевих пристроїв (рис. 2), які можна встановлювати
на рівні доступу мережі Ethernet. На ньому є кілька портів
для під’єднання вузлів до мережі.
Концентратор не визначає, якому вузлу призначено кон­
кретне повідомлення. Він просто приймає електронні сигнали
одного порту й відтворює їх для всіх інших портів. Для пе­
редавання та отримання повідомлень всі порти концентратора
Ethernet під’єднуються до одного і того самого каналу.
Рис. 2. Концентратор
Повторювачі й концентратори мають схожі характе­
ристики, тому концентратори часто називають бага-
топортовими повторювачами (англ. multiport repeater).
Різниця між ними полягає лише в кількості кабелів,
приєднаних до пристрою. Якщо повторювач має тіль­
ки два порти, концентратор зазвичай має від 4 до 24
і більше портів.
84 Розділ 5

Міст (англ. bridge — міст) — це пристрій (рис. 3), призна­


чений для фільтрування потоків даних у локальній мережі
для того, щоб локалізувати передавання даних і разом із тим
зберегти можливість зв’язку з іншими частинами мережі для
перенаправлення туди потоків даних. Міст збирає інформацію
про те, на якому порті знаходиться конкретна МАС-адреса, і
приймає рішення про пересилку даних на підставі відповід­
ного списку МАС-адрес. Мости здійснюють фільтрацію пото­
ків даних, базуючись лише на МАС-адресі вузлів, тому мо­
жуть швидко пересилати дані.
Комутатор (англ. switch — перемикач) — це пристрій, який
можна назвати «розумним» концентратором (рис. 4), тому що
він передає дані тільки безпосередньо отримувачу.
У таблиці комутатора, яка називається таблицею МАС-
адрес, міститься список активних портів і МАС-адреси
під’єднаних до них вузлів. Коли вузли обмінюються пові­
домленнями, комутатор перевіряє, чи є в таблиці ця МАС-
адреса. Якщо так, комутатор установлює між портом джерела
й портом приймача тимчасове з’єднання — канал. Цей новий
Рис. 5. Маршрутизатор канал є каналом, по якому два вузли обмінюються даними.
Інші вузли, під’єднані до комутатора, працюють на інших
смугах пропускання каналу і не приймають чужі повідомлен­
ня. Для кожного нового з’єднання між вузлами створюється
новий канал.
Маршрутизатори (англ. router) — це пристрої об’єднаних
мереж, які пересилають пакети між мережами на основі
адрес. Маршрутизатор (рис. 5) здатний вибирати найкращий
шлях у мережі для переданих даних.
Рис. 6. Вбудована мережева Маршрутизатор може приймати рішення на основі мереже­
карта вих адрес замість використання індивідуальних МАС-адрес
другого рівня. Завдяки цій здатності маршрутизатори стали
основною магістраллю глобальної мережі Internet.
Мережева карта (мережевий інтерфейс) — пристрій, яким
оснащують комп’ютер для під’єднання до мережі за до­
помогою мережевого кабелю чи радіоканалу (рис. 6 ). Для
під’єднання до бездротової мережі можуть використовуватися
не тільки мережеві карти, а й спеціальні пристрої.
Рис. 7. Мережевий інтерфейс Мережеві інтерфейси виготовляють у вигляді плат або окре­
для бездротових мереж мих пристроїв — для бездротових мереж (рис. 7). Тип мереже­
вого інтерфейсу має відповідати типу середовища передавання.

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

1 Що таке МАС-адреса? 5 Чи можна використовувати замість маршру-


тизатора комутатор? Якщо так, то в якому
2 Хто надає МАС-адресу? Чи можна ї ї змінити? випадку?
6 У вас вдома налаштовано персональну ло­
3 Поясніть різницю між повторювачем та кон­ кальну мережу, в яку під'єднано ноутбук,
центратором. планшет, смартфон і стаціонарний персо­
нальний комп'ютер. Які мережеві пристрої
4 Коли є потреба у повторювачі?
для цього потрібні?
5.5. Адресація в мережах... 85

5.5. Адресація в мережах


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

Пригадайт е, щ о т аке обліковий за п и с корист увача. Які


т ипи облікови х записів ви знаєт е?
Користувачі однорангової мережі зазвичай мають різні пра­
ва доступу до її ресурсів. Права доступу до папок комп’ютера
визначає користувач, який має на цьому комп’ютері обліко­
вий запис адміністратора. Одні папки доступні всім користу­
вачам, інші — тільки окремим.
Користувачам клієнт-серверної мережі права доступу надає
адміністратор сервера. За допомогою спеціального програмно­
го забезпечення створюється база клієнтів (комп’ютерів, облі­
кових записів), кожному із них призначаються права доступу
до ресурсів.
У мережах із виділеним сервером комп’ютери об’єднують Домену надають ім'я, напри­
у домени (від англ. domain — володіння). клад Classroom jnf. У великій
локальній мережі може бути
Домен — це група комп'ютерів, що обслуговуються декілька доменів.
спільним сервером, який керує розподілом прав до­
ступу користувачів до ресурсів мережі. Такий сервер
називають контролером домену.

Домен — це логічне об’єднання комп’ютерів, облікових за­


писів і ресурсів клієнт-серверної мережі під одним іменем.
У клієнт-серверній мережі ресурси загального доступу, такі,
як папки з файлами, мережеві програми-сервіси, мережеві
принтери, зосереджуються на одному або декількох серверах.
У клієнт-серверних мережах облікові записи користувачів, На локальних комп'ютерах ко­
а також інформація про інші об’єкти мережі зберігаються ристувачі можуть мати окре­
централізовано на сервері. Це дає змогу користувачам пра­ мі облікові записи. Приклад
цювати з мережевими ресурсами на різних комп’ютерах під входу користувача в систе­
одним обліковим записом. му в клієнт-серверній мережі
У мережі комп’ютери обмінюються даними, тобто передба­ SCHOOL — ім'я сервера, на яко­
чається, що дані будуть надходити від передавача до прийма­ му зареєстрований користувач,
ча. Це вимагає ідентифікації всіх комп’ютерів, тому кожен Pupil — ім'я користувача.
комп’ютер у мережі має унікальне ім’я.
86 Розділ 5

Щоб переглянути імена, надані комп’ютеру та робочій гру­


Приватна ІР-адреса: пі або домену, необхідно відкрити контекстне меню об’єкта
• 192.168.0.0/16 — цей блок на­ Мій комп'ютер та вибрати команду Властивості (див. рисунок).
дає IP-адреси в діапазоні від
Налаштування мережі здійснює адміністратор мережі —
192.168.0. 1 до 192.168.255.254людина, яка відповідає за розподіл ресурсів та правильне
• 172.16.0.0/12 — цей блок на­ функціонування мережі.
дає IP-адреси в діапазоні від
172.16.0. 1 до 172.31.255.254 Комп’ютери локальної мережі можуть бути не під’єднані до
• 10.0.0.0/8 — цей блок на­ Інтернету. В такому випадку використовуються так звані при­
дає IP-адреси в діапазоні від ватні IP-адреси, які вибираються із спеціально зарезервова­
10.0. 0.1 до 10.255.255.254 них блоків адрес (192.168.0.0/16, 172.16.0.0/12 або 10.0.0.0/7).
Більш детально це буде розглянуто в розділі 5.10.

а ист< м і - а х

•ф О * Панель керування >Система й безпека Система v О •


Пошук н і панелі ер.елння Р

Панель керування
е
Перегляд загальних відомостей про комп ютер
ф Диспетчер пристрої* Випуск Windows
Ф Настройки віддаленого Windows 10 Enterprise
підключення ■ ■
$ Захист системи Z Корпорація Майкрософт (Microsoft Corporation), 2016. Усі права захищено.
ЩЩ W indow s 10
ф Додаткові настройки системи Система

Процесор; Intef(R) Core(TM)2 Duo CPU Е8400 ©3.00GHz 3.00 GHz Властивості системи X
Установлена оперативна 4,00 ГБ (доступно 3,00 ГБ)
пам ять(ОЗП): Звоют системі Віддалене використання
Тип системи; 32-розрядиа операційна система на базі процесора х64 Ья’я комп ютера Устаткувати* Додатково

Перо та дотик: Ввід за допомогою пера та сенсорний ввід недоступні на


, ] Кіасченавеаег» відомості використовуються для
ідемтифкаш вашого комп'ютера в мереж
Настройки імені комп'ютера, домену та робочої групи

Ім’я комп’ютера; MAINPC


Огмс комп'ютера Р І
Наприклад "Домаимй комі'ютер" або
Повне ім'я комп'ютера: MAINPC “Натеїмим комп'ютер"
Опис комп ютера: По»ю м я комп'ютера MAINPC
Робоча група: WORKGROUP Робоча група WORKGROUP

Активація Windows Щоб ежористати майстер для входу до


домену або робочої групи , напоять кмогку Ідантифвсатор мереж
Windows активовано Прочитайте умови ліцеим на програмний пред>кт Microsoft ‘ Ідеитмфкатор мереж

Номер продукту; 00329-00000-00003-АА973 Щоб перейму,«ату цей комп ютер або ^ ___
ЗМЬМТИ його ДОМ^І >«Чробочу Групу. "
J *ІТМ
«атисять кногку 'Зимпи"

Див. також
Обслуговування та безпека
| OK | Скасувати Застосувати

В к л а д к а Ім 'я к о м п 'ю т е р а в ік н а В л а с т и в о с т і с и с т е м и

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

1 Що називають робочою групою мережі? 5 Наведіть переваги об'єднання комп'ютерів


2 Що називають доменом? у робочу групу; домен.

3 Як переглянути імена комп'ютера та робочої 6 Як відобразиться на роботі комп'ютерів ло­


групи? кальної мережі вихід із ладу одного з ком­
п'ютерів робочої групи?
4 ' У чому полягає відмінність між робочою гру­
пою та доменом?
5.6. Мережеві протоколи 87

5.6. Мережеві протоколи


Пригадайт е, що основною задачею ф ункціонування ком п'ю ­
т ер н о ї м ереж і є обм ін даним и м іж ї ї вузлами.
Розглянемо, яким чином здійснюється передавання даних
мережею (рис. 1). Перед початком передавання всі дані поді­ Повідомлення поділя­
ляються на невеликі порції, до яких додають керуючу інфор­ ється на пакети
мацію, а саме: адреси відправника й одержувача, порядковий
номер порції. Така порція даних разом із керуючою інформа­
цією називається пакетом. Пакети містять номер
Кожен пакет даних передається мережею на комп’ютер- та адресу комп'ютера-
одержувач, причому передавання може здійснюватися різни­ одержувача
ми маршрутами. Якщо якийсь пакет не потрапив до адреса­
та, його буде відправлено повторно. На комп’ютері-одержувачі Пакети можуть пере­
відбувається процес з’єднання пакетів. Якщо інформація даватися різними
в якомусь із пакетів спотворилася, цей пакет також буде від­ маршрутами
правлено повторно.
У процесі обміну даними беруть участь і програмні, й апа­
ратні засоби: комп’ютери, комунікаційні пристрої, мережеве На комп'ютері-одер-
обладнання та спеціальне програмне забезпечення. Здебіль­ жувачі пакети збира­
шого комп’ютери мають різну архітектуру, конфігурацію, ються у правильному
операційні системи, тому найскладнішою частиною забезпе­ порядку
чення надійного обміну даних є сумісність програмних та
Рис. 1. Схема передавання даних
апаратних мережевих засобів. мережею
Необхідною умовою для узгодженої взаємодії всіх учасни­
ків процесу обміну даними є дотримання певних правил, які
називаються мережевими (комунікаційними) протоколами.
1 січня 1983 року — офіцій­
Мережеві (комунікаційні) протоколи — це набір
Ф правил, за якими здійснюється обмін даними між при­
строями комп'ютерних мереж.
на дата народження Інтернету.
Мережа ARPANET перейшла на
новий протокол TCP/IP.
У мережевих протоколах, зокрема, визначено: як дані
поділяють на пакети; якими є сигнали підтвердження пе­
редавання; як будуть виявляти й опрацьовувати помилки
передавання.
У переважній більшості комп'ютерних мереж обмін да­
ними здійснюється на основі сімейства (стеку) протоко­
лів TCP/IP (англ. Transmition Control Protocol — протокол
керування передаванням; IP — Internet Protocol — між-
мережевий протокол).

Протокол TCP забезпечує зв’язок між комп’ютерами та ке­ Вінтон Серф (ліворуч) та Роберт
рує передаванням даних, визначає правила розбиття даних на
Кан — розробники стеку про­
пакети, доставку адресату та об’єднання пакетів в єдине ціле.
токолів TCP/IP — вважаються
На основі протоколу IP здійснюється пересилання пакетів
батьками Інтернету. У 2004 році
між комп’ютерами. Всі протоколи будуються за багаторівне­
вони були нагороджені премією
вим принципом. Протокол певного рівня визначає одне з тех­
Т'юрінга.
нічних правил зв’язку.
88 Розділ 5

У сімействі протоколів TCP/IP є чотири рівні (рис. 2):


• прикладний (верхній) — забезпечує виконання конкрет­
Прикладний
них прикладних завдань;
І HTTP FTP SMTP • транспортний — забезпечує з’єднання між комп’ютером-
відправником і комп’ютером-одержувачем та надійне пе­
DNS POP3 редавання пакетів;
• мережевий — забезпечує взаємодію мереж різної архі­
тектури;
Транспортний
• канальний (рівень доступу до середовища передаван­
ня) — описує спосіб кодування даних для передавання
TCP UDP
каналами зв’язку; перетворює IP-адреси у фізичні адре­
си мережі (МАС-адреси).
Мережевий
Розглянемо найпоширеніші протоколи прикладного рівня.
IPv4 IPv6 HTTP (Hyper Text Transfer Protocol) — це протокол переда­
вання гіпертексту; його використовують під час пересилання
веб-сторінок між комп’ютерами, під’єднаними до однієї мережі.
Канальний HTTPS (Hypertext Transport Protocol Secure) — це прото­
кол, який забезпечує конфіденційність обміну даними між
Ethernet ISDN сайтом і комп’ютером користувача. Його використовують на
сайтах, де вводиться й передається конфіденційна інформація
Рис. 2. Рівні сімейства протоколів (особисті дані користувачів, деталі доступу, реквізити платіж­
TCP/IP
них карт), на сайтах з авторизацією, взаємодією з платіж­
ними системами, поштовими сервісами. Захист інформації
забезпечується за рахунок використання спеціальних крип­
тографічних протоколів
FTP (File Transfer Protocol) — це протокол передавання
файлів зі спеціального файлового сервера на комп’ютер ко­
ристувача. Він надає можливість обмінюватися бінарними
і текстовими файлами з будь-яким комп’ютером мережі.
Встановивши зв’язок із віддаленим комп’ютером, користувач
може скопіювати файл із віддаленого комп’ютера на свій або
скопіювати файл зі свого комп’ютера на віддалений.
POP3 (Post Office Protocol) — це стандартний протокол
поштового з’єднання. Сервери POP опрацьовують вхідну по­
шту, а протокол POP призначений для опрацювання запитів
на отримання пошти від клієнтських поштових програм. При
цьому всі електронні листи завантажуються користувачеві на
комп’ютер. Саме на комп’ютері будуть проводитися усі по­
дальші дії з листами.
Протокол POP3 унеможливлює маніпулювання папками
Рис. 3. Схема роботи протоколів на сервері, вибірковим отриманням частин повідомлення чи
електронної пошти ІМАР і SMTP можливістю завантаження заголовків листів, тому було за­
пропоновано протокол ІМАР.
SMTP (Simple Mail Transfer Protocol) — це протокол, який
задає набір правил для передавання пошти. Сервер SMTP по­
вертає або підтвердження про прийом, або повідомлення про
помилку, або вимогу додаткової інформації (рис. 3).
ІМАР (англ. Internet Message Access Protocol) — це про­
токол прикладного рівня для доступу до електронної по­
шти. Він надає користувачеві великі можливості для роботи
5.6. Мережеві протоколи... 89

з поштовими скриньками, що знаходяться на центральному


сервері. Протокол підтримує роботу одночасно з декількома
поштовими скриньками, надає доступ до однієї скриньки од­
F * ------------
У 1984 р. Міжнародна орга­
ночасно декільком клієнтам. Електронними листами можна
нізація зі стандартизації (ISO)
маніпулювати з комп’ютера користувача (клієнта), напри­
представила індустріаль­
клад, здійснювати пошук за ключовим словом без збережен­
ний стандарт — модель вза­
ня пошти в локальній пам’яті.
ємодії відкритих систем (Орел
TELNET — це протокол віддаленого доступу. Він надає
System Interconnection Reference
можливість абонентові працювати з будь-яким комп’ютером,
який знаходиться в мережі, як зі своїм власним, тобто запус­ Model — OSI/RM). OSI є семи-
кати програми, змінювати режим роботи тощо. На практиці рівневою логічною моделлю
можливості обмежуються тим рівнем доступу, який заданий роботи мережі (рис. 4).
адміністратором віддаленої машини.
Далі розглянемо найпоширеніший стандарт канального
рівня, про який ми вже згадували.
Ethernet — це сімейство технологій пакетного передаван­
ня даних для комп’ютерних мереж. Стандарти Ethernet ви­
значають з’єднання й електричні сигнали на фізичному рівні. Прикладний рівень
Оскільки наразі під’єднання відбувається через комутатори,
то дані, які відправляються одним вузлом, доходять лише до С
адресата, внаслідок цього підвищується швидкість роботи та Представницький рівень
посилюється безпека мережі.
У 1978 році була розроблена модель OSI (англ. Open Systems
Interconnection Basic Reference Model) (рис. 4), яка взаємодіє
С Сеансовий рівень
з сімейством протоколів TCP/IP.
Останнім часом зростає потреба в бездротовому з’єднанні. І
Існуючі протоколи передавання даних не розраховані на Транспортний рівень
використання мобільного зв’язку і не враховують його особли­
востей. Тому було розроблено відкритий протокол WAP, упро­
с
вадження якого дозволяє використовувати стільникові теле­
фони для доступу в Інтернет.
WAP (Wireless Application Protocol — протокол бездротово­
і Мережевий рівень

с
го доступу) ще називають Wireless Access Protocol. Остання Канальний рівень
назва краще відображає сутність WAP-технології, тому що
її призначення полягає в забезпеченні доступу до Інтернету
тільки за допомогою мобільного телефону. Фізичний рівень
Для того щоб дані, що містяться на веб-серверах, стали
доступними, їх треба спеціально підготувати — переформа- Рис. 4. Рівні моделі OSI
тувати й подати у вигляді WAP-сторінок. Таким чином, під
час застосування WAP-технологій інформація на серверах
Інтернет буде подана у двох варіантах: у вигляді звичайних
веб-сторінок та WAP-сторінок.

З а п и та н н я д л я п е р е в ір к и з н а н ь
3)
1 Опишіть призначення мережевих протоколів. 4 Опишіть роботу протоколів електронної
пошти.
2 На основі якого набору протоколів здійсню­
ється передавання даних у сучасних мере­ 5 Чим відрізняється стандарт Ethernet від WAP?
жах? 6 Знайдіть відомості про протокол UDP.
3 Який протокол використовується під час пе­ 7 Знайдіть в Інтернеті відомості про модель
редавання файлів? OSI та зробіть повідомлення.
90 Розділ 5

5.7. Призначення і структура Інтернету


Пригадайт е, що вам відомо про Інт ернет . Чому цю м ер еж у
називаю т ь глобальною ?

Інтернет — всесвітня система взаємопов'язаних


комп'ютерних мереж, що базуються на протоколах сі­
мейства TCP/IP.
Г * ----- ---------
Інтернет складається з мільйонів локальних і глобальних
Інтернет (від англ. Inter — між,
приватних, публічних, наукових, ділових і урядових мереж,
network — мережа, об'єднана
пов’язаних між собою завдяки використанню різноманітних
мережа) називають також ме­
технологій.
режею мереж.
Інтернет становить фізичну основу для розміщення вели­
чезної кількості інформаційних ресурсів і послуг, таких як
взаємопов’язані гіпертекстові документи Всесвітньої павутини
(World. Wide Web — W W W ), електронна пошта та ін.
Єдиного власника та центру управління мережі Інтернет
не існує, а його ресурси мають розподілений характер. Це
дозволяє забезпечити високу надійність мережі: при виході
з ладу частини комп’ютерів і ліній зв’язку вона функціону­
ватиме й передаватиме повідомлення іншими лініями зв’язку.
Кожні 10 років на сайті «The
Комп’ютери, під’єднані до мережі Інтернет, можуть мати
Opte Project» (http://www.opte. будь-які апаратні й програмні платформи, але при цьому пови­
org) публікується мала мережі нні підтримувати сімейство (стек) протоколів зв’язку TCP/IP.
Інтернет (рис. 2). Проект було Кожен користувач мережі Інтернет має доступ до інформа­
створено для візуалізації всіх ційних ресурсів незалежно від місця їх розташування, адже
зв'язків усіх мереж в Інтернеті. Інтернет — це глобальна інформаційна система.
Основою апаратної складової Інтернету є бекбони (від англ.
backbone — хребет) — надшвидкісні магістральні канали пе­
редавання даних (рис. 1). Ці магістралі передавання даних
контролюються комерційними, державними, науковими та
іншими високопродуктивними центрами.

-Q 8 і g

is
^ j

Рис. 2. На малі мережі Інтернет


(станом на 15 липня 2015 року)
бекбони позначено білим
кольором; лінії зв'язку: синім —
у Північній Америці, зеленим —
у Європі, червоним — в Азії,
помаранчевим — в Африці
Рис. 1. Схема бекбонів Інтернету
5.7. Призначення... 91

Власниками бекбонів також є транснаціональні теле­


комунікаційні корпорації, такі як AT&T Inc., MCI, Sprint,
CenturyLink. Бекбони з’єднують не тільки великі міста, але
й континенти завдяки глибоководним кабелям.
iF *
За адресою http://www.subma-
Доступ до бекбонів мають первинні провайдери (провай­ rinecablemap.com/ можна знай­
дери першого рівня або Тіег-1-оператори), які не платять за ти повний перелік усіх існую­
Інтернет та обмінюються трафіком між собою за допомогою чих глибоководних кабелів. На
пірінгових угод. початок 2017 року їхня кіль­
Пірінг (від англ. peering — сусідство) — угода інтернет-опе- кість складала 428, загальна
раторів про обмін трафіком між своїми мережами, а також довжина — 1,1 млн км.
технічну взаємодію, що реалізує зазначену угоду: з’єднання
мереж і обмін інформацією по мережевих маршрутах.
Передаванням даних бекбонами керують суперкомп’ютери.
Інформація зберігається на серверах дата-центрів.
Дата-центр (від англ. data center) — спеціалізований тех­ Найпотужніша серверна мере­
нічний майданчик для розміщення інформації в мережі Ін­ жа належить флагману IT —
тернет, під’єднаний до неї як автономна система (або мережа Google (рис. 3). У місті Омаха
в її складі) великою кількостю каналів зв’язку. (штат Айова, СІІІА) на площі
Завдяки високотехнологічній інфраструктурі дата-центри 10 000 м2 знаходяться серве­
забезпечують безперебійну роботу серверного та комунікацій­ ри, що опрацьовують пошуко­
ного обладнання різних компаній. Вони максимально убезпе­ ві запити. На них зберігаються
чують дані своїх клієнтів від ризику втрати, організовують й відеоролики YouTube.
резервне копіювання даних, захист від всіляких атак та ін.
Компанія Intel має близько 100 000 серверів в своєму ар­
сеналі, Facebook, AT&T і Time W arner Cable — від 20000 до
30000, Microsoft, Amazon і eBay — по 50000 серверів кож­
ний. Google має 1 млн виділених серверів, що перевищує
частку в 2 % від усіх серверів у світі (рис. 3).
Вторинними провайдерами (провайдерами другого рів­
ня) — Тіег-2 — є насамперед «національні» оператори рівня
країни чи групи країн регіону. В Україні такими провайдера­
ми є Укртелеком, Київстар, Воля, Датагруп.
Провайдери другого рівня купують трафік у провайдерів
першого рівня та забезпечують доступ до каналів Інтернету
своїм клієнтам — окремим користувачам, мережам і про­ Рис. 3. Дата-центр Google
вайдерам нижчого рівня: Tier-З і безтірним, які і становлять
основну масу провайдерів.

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

1 Із чого складається мережа Інтернет? 6 З'ясуйте, які дата-центри називають «зелени­


ми». Знайдіть інформацію про один із «зеле­
2 Що таке бекбони? Які організації мають до­
них» дата-центрів.
ступ до бекбонів?
7 Знайдіть інформацію про перший глибоко­
3 Що таке Тіег-1, Тіег-2, Tier-З? Чим вони від­
водний трансатлантичний кабель.
різняються?
8 Знайдіть в Інтернеті відомості про вторин­
4 Яке призначення дата-центру?
них провайдерів (провайдерів другого рівня)
5 Підготуйте повідомлення про використання в Україні. Зробіть повідомлення.
мережі Інтернет у повсякденному житті.
92 Розділ 5

5.8. Способи під'єднання до мережі.


Функції провайдера
Я к ви вже знаєт е, Інт ернет є об'єднанням м ереж та
комп'ют ерів незалеж но від м ісця їх розт аш ування. Які
є способи під'єднання до Інт ернет у?

Для під’єднання до мережі можна скористатись телефон­


Технології DSL дозволяють пе­ ними, кабельними каналами або каналами радіозв’язку. Роз­
редавати дані зі швидкістю, що глянемо найпоширеніші способи (рис. 1 ).
значно перевищує доступну
навіть найкращим аналоговим
та цифровим модемам. Ці тех­
нології підтримують передачу
голосу, високошвидкісну пере­
дачу даних і відеосигналів. Іс­
нуючі типи технології DSL від­
різняються методом модуляції,
що використовується для ко­
дування даних, та швидкістю
передавання даних.

Рис. 1. Способи під'єднання до Інтернету

Доступ по виділених лініях (аналогових та цифрових, по


локальній мережі, з використанням каналів кабельної теле­
Перевагою мережі ISDN є реа­ візійної мережі) — комп’ютер користувача з’єднаний із серве­
лізація принципу єдиної розпо­ ром за допомогою кабелю, причому це з’єднання є постійним
діленої телефонної станції. Це (а не комутованим, як у випадку телефонного зв’язку).
дозволяє оптимізувати наван­ xDSL (англ. Digital subscriber line) — сімейство технологій
таження на канали зв'язку та (ADSL, VDSL, ISDL, SDSL, SHDSL та ін.), які дозволяють
практично миттєво встановлю­ значно розширити пропускну здатність абонентської лінії міс­
вати з'єднання. Крім того, вона цевої телефонної мережі шляхом використання ефективних
здатна здійснювати автоматич­ лінійних кодів на базі сучасних методів цифрового опрацю­
ну маршрутизацію з'єднань, вання сигналу.
що особливо важливо у випад­ ISDN (англ. Integrated Services Digital Network) — циф­
ках, коли між станціями є де­ рова мережа з інтегрованими службами (послугами). Це за­
кілька альтернативних шляхів
гальнодоступна телефонна мережа, що використовує цифрову
з'єднання і треба вибрати най­
технологію передавання сигналу та надає можливість пере­
дати кінцевому користувачеві по наявних телефонних прово­
більш оптимальний.
дах текст, графічні зображення, музику, відеосигнали тощо.
Основне призначення ISDN — передавання даних зі швидкіс­
тю до 64 Кбіт/с дротовою лінією й забезпечення інтегрованих
телекомунікаційних послуг (телефон, факс, тощо).
SDN-станції забезпечують комутацію цифрових потоків.
Перетворення аналогових сигналів у цифрові відбувається на
5.8. Способи під'єднання... 93

рівні ISDN-терміналів (тобто на обладнанні кінцевих користу­


вачів). У зв’язку з цим ISDN-станція має можливість комуту­
вати однорідні цифрові потоки, «не знаючи», що саме переда­ Послуги інтернет-провайдера:
ється по каналу. • доступ до Інтернету по ко­
До бездротових технологій належать WiFi, WiMAX, мутованих лініях надійного
RadioEthernet, MMDS, LMDS. Розглянемо деякі з них окремо. зв'язку
RadioEthernet — технологія широкосмугового доступу до Ін- • надання дискового простору
тернету, яка ділиться між усіма активними користувачами й за­ для зберігання та забезпечен­
безпечує швидкість передавання даних від 1 до 11 Мбіт/с. Для ня роботи сайтів (хостінг)
роботи RadioEthernet-каналу необхідна пряма видимість між • підтримка сервісів електрон­
антенами абонентських точок. Радіус дії становить до ЗО км. них поштових скриньок чи вір­
MMDS (від англ. Multichannel Multipoint Distribution туального поштового сервера
System — багатоканальна багатоадресна розподільна служба) • розташування обладнання
та LMDS (від англ. Local Multipoint Distribution System — клієнтів на власних технічних
локальна багатоадресна розподільна служба) — це стандарт потужностях та лініях зв'язку
стільникових мереж безпровідного передавання даних для (колокація)
фіксованих абонентів. • оренда відокремлених та
Мобільний GPRS-Інтернет. Для користування послугою віртуальних серверів, резерву­
«Мобільний Інтернет» за допомогою технології GPRS необхід­ вання даних тощо
но мати телефон із вбудованим GPRS-модемом та комп’ютер.
Технологія GPRS забезпечує швидкість передавання даних до
114 Кбіт/с. Під час використання технології GPRS тарифіку­
ється не час з’єднання з Інтернетом, а загальний обсяг пере­
даних та отриманих даних.
Мобільний CDMA-Інтернет. Мережа стандарту CDMA — Обмін даними
це стаціонарний та мобільний зв’язок, а також швидкісний через супутник
мобільний Інтернет. Для користування послугою «Мобіль­
ний Інтернет» за допомогою технології CDMA необхідно мати Односторонній спосіб
телефон із вбудованим CDMA-модемом або CDMA-модем та (one-way), або «асиметрич­
комп’ютер. Технологія CDMA забезпечує швидкість переда­ ний», — для приймання
вання даних до 153 Кбіт/с. даних використовується
Супутниковий Інтернет — спосіб забезпечення доступу до супутниковий канал, а для
Інтернету з використанням технологій супутникового зв’язку передавання — доступні
(рис. 2 ). наземні канали
Доступ до інформаційних ресурсів надають спеціальні ор­
Двосторонній спосіб
ганізації — постачальники послуг Інтернету, інтернет-про-
(two-way), або «симетрич­
вайдери (ISP, англ. Internet Service Provider).
ний», — і для приймання,
Провайдер послуг Інтернет, або інтернет-провай- і для передавання вико­
дер — організація, яка надає послуги доступу та пе­ ристовуються супутникові
редавання даних інформаційними каналами. канали
Рис. 2. Способи обміну даними
Провайдери часто надають комплекс послуг із доступу та
через супутник
користування Інтернетом.

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

1 Які існують способи під'єднання до Інтер­ 3 Що таке бездротові технології?


нету? 4 Які послуги надають провайдери?
2 Які технології базуються на комутації з теле­
5 Опишіть особливості мобільного GPRS-Інтер-
фонними каналами?
нету?
94 Розділ 5

5.9. Адресація в Інтернеті. Поняття ІР-адреси,


доменного імені та URL-адреси
Пригадайт е, яке м аксим альне десят кове число м ожна
записат и в 7 байт , 2 байт и.

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


го значення набуває їхня швидка й однозначна ідентифіка­
ція. Як ідентифікатор виступає так звана IP-адреса (від англ.
Internet Protocol Address) (див. рисунок).

ІР-адреса — унікальний ідентифікатор пристрою, під­


ключеного до локальної мережі або Інтернету.

Найпоширенішою є IP-адреса стандарту IPv4. Швидкий


розвиток мереж Інтернету приводить до вичерпання вільних
адрес, тому з 2008 року введено новий стандарт IPv 6 .
IP-адреси є основним типом адрес, на підставі яких мере­
жевий рівень протоколу IP передає пакети між мережами.
IP-адреса призначається адміністратором під час конфігуру-
Налаштування ІР-адрес вання комп’ютерів і маршрутизаторів.
у комп'ютері з ОС Windows 10 IP-адреса складається з двох частин: номера мережі й но­
мера вузла.
Коли мережа працює як складова частина Інтернету, то
адреса мережі видається провайдером або регіональним ін-
IP-адреса стандарту IPv4 скла­
тернет-реєстратором (Regional Internet Registry, скорочено
дається з чотирьох однобай-
RIR).
тових чисел, розділених крап­
Номер вузла в протоколі IP призначається незалежно від
ками (32-бітового двійкового
локальної адреси вузла. Маршрутизатор по визначенню вхо­
числа). Кожне число може
дить відразу в кілька мереж, тому кожен порт маршрутизато-
набувати значення від 0 до
ра має власну IP-адресу. Кінцевий вузол також може входити
255 включно. Це означає, що
в кілька IP-мереж. У цьому випадку комп’ютер повинен мати
в цьому стандарті можна ви­
кілька IP-адрес, за числом мережевих зв’язків.
користовувати 2564 (4 млрд
Таким чином, IP-адреса характеризує не окремий комп’ютер
295 млн) унікальних адрес.
або маршрутизатор, а одне мережеве з’єднання.
Наприклад: 198.162.5.7.
Кількість адрес у мережі визначається тільки й виключно
маскою підмережі.

Маска підмережі — бітова маска, яка визначає, яка


IP-адреса стандарту IPv6 скла­ частина IP-адреси вузла мережі належить до адреси
дається з восьми двобайтових мережі, а яка — до адреси самого вузла в цій мережі.
чисел, розділених двокрапка­
ми (128-бітового двійкового За допомогою маски підмережі можна визначити, що один
числа). Кожне число може на­ діапазон IP -адрес буде в одній підмережі, а інший діапазон,
бувати 65535 значень. Загаль­ відповідно, — в іншій підмережі.
на кількість адрес у цьому Наприклад, вузол з ІР-адресою 12.34.56.78 і маскою під­
стандарті сягає 340 трильйонів.
мережі 255.255.255.0 знаходиться в мережі 12.34.56.0.
Наприклад: 2001:0d68:11a3:09d7:
Щоб отримати адресу мережі, знаючи IP-адресу і маску
1f34:8a2e:078a0:765d
підмережі, необхідно застосувати до них операцію кон’юнкції
(логічне І) по кожному розряду. Розглянемо приклад.
5.9. Адресація в Інтернеті... 95

Приклад. IP-адреса: (192.168.1.2).


Маска підмережі: (255.255.254.0).
1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Тоді адреса мережі: (192.168.0.0).


Числові адреси вузлів дуже зручні для опрацювання об­
числювальними пристроями. Але уявіть собі, що ви маєте
запам’ятовувати десять-двадцать 32- або 128-бітових послі­
довностей. Так, значно зручніше використовувати адреси, які
записані словами або скороченнями. Наприклад, на відміну
від адреси 209.185.108.134 ми легко набираємо google.com.ua.
^ --------------------------------- 1
Доменне ім'я — це адреса ресурсу в мережі, яка за­
писана з використанням слів або їх скорочень, розді­ Регіональні реєстратори (RIR)
лених крапкою. отримують номери автономних
систем і великі блоки адрес
Для зручного користування інформаційними ресурсами їм в інтернет-корпорації із при­
надають унікальні адреси — URL (від англ. Uniform Resource своєння імен та номерів (англ.
Locator — уніфікований вказівник місцезнаходження ресурсу). Internet Corporation for Assigned
Names and Numbers, ICANN),
URL-адреса — стандартизована адреса інформацій­ а потім видають номери авто­
ного ресурсу в мережі, що складається з назви про­ номних систем і блоки адрес
токолу, за допомогою якого буде передаватися файл, меншого розміру локальним
шляху до файла на комп'ютері та імені самого файла. інтернет-реєстраторам (англ.
Local Internet Registries, LIR).
URL-адреса має таку структуру:
протокол://доменне ім'я/шлях до файла/ім'я файла. Назва
Регіон
RIR
Наприклад: http://interactive.ranok.com.ua/upload/file/
Ranok_lnformatika_9%20klas_pogliblena.pdf ARIN Північна Америка
протокол: http Південно-Східна
APNIC
доменне ім’я: interactive.ranok.com.ua Азія
шлях до файла: /upload/file AfriNIC Африка
ім’я файла: Ranok_lnformatika_9%20klas_pogliblena.pdf

З а п и та н н я д л я п е р е в ір к и з н а н ь
У)
1 Що таке ІР-адреса? 5 Що таке URL-адреса? Яке ї ї призначення?
2 Які стандарти IP-адрес ви знаєте? 6 Знайдіть відомості про особливі ІР-адреси.
Зробіть повідомлення.
3 Що таке маска підмережі?
7 Знайдіть відомості про URL-адресу. Хто за­
4 Поясніть необхідність появи доменних імен.
пропонував використовувати URL-адреси?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я 1
»
1 Вирахуйте адресу мережі, якщо ІР-адреса 2 Вирахуйте адресу мережі, якщо ІР-адреса
вузла 101.135.2.17, а маска підмережі вузла 12.34.56.78, а маска підмережі
255.255.243.0. 255.255.255.0.
96 Розділ 5

5.10. Адміністрування доменних імен

Пригадайт е, що т аке дом енне ім'я.

Розглянемо правила формування доменних імен, як і ким


р с ------------------ вони надаються. Ми вже говорили про ICANN, інтернет-кор-
порацію з управління доменними іменами і IP -адресами. Це
Система доменних імен впер­ некомерційна організація, що відповідає за глобальну коор­
ше з'явилася в січні 1985 року: динацію системи унікальних елементів Інтернету, її стабіль­
* • .com — для комерційних ну роботу й безпечну організацію.
сайтів
Саме ICANN надає імена доменам верхнього рівня.
: • .edu — для освітніх сайтів
: • .gov — для сайтів держав­ Домени верхнього (першого) рівня діляться на два типи:
них організацій загального (generic) користування та національні (географіч­
• .net — для сайтів, чия діяль­ ні). Домени загального користування призначені для викорис­
ність пов'язана з мережею тання усією спільнотою Інтернету (com, net і т. д.). Створення
• .org — для некомерційних національних доменів базується на міжнародному стандарті
організацій ISO 3166 та визначає кодові позначення держав (для присво­
• .mil — для військових орга­ єння національних доменних імен верхнього рівня ICANN
нізацій СІІІА використовує двобуквенні коди ISO 3166-1 alpha-2). Ці типи
• .int — для міжнародних ор­ доменів є початковими точками відліку, від яких почали
ганізацій з’являтися імена другого, третього й нижчих рівнів. Остання
частина будь-якого доменного імені означає доменну зону.
Рівні доменного імені (рис. 1) відокремлюються крапками.

Третій рівень Другий рівень Верхній рівень Кореневий


third level second level top level (TLD) рівень root

Рис. 2. Приклади рівнів доменних імен


5.10. Адміністрування... 97

Кореневий домен (англ. Root domain) — домен найвищого


рівня; позначається порожнім іменем (не містить жодних сим­ Список імен доменів верхньо­
волів). Оскільки кожен рівень доменного імені відокремлюєть­ го рівня можна переглянути
ся крапкою, в кінці імені може бути крапка, що відокремлює на сайті IANA (https://www.iana.
порожнє ім’я, яке відповідає кореневому домену. Практично всі org/domains/root/db).
браузери автоматично ставлять крапку в кінці доменного імені. Наразі список перевищує 4 тис.
Доменні зони національних доменів відповідають двом
літерам міжнародного коду країни. В Україні це .иа,
у СІІІА — .us. Усього у світі існує близько 300 національ­ , Т * ----------------- п
них доменів верхнього рівня. Існують онлайн-ресурси, які до­
Піддомен (англ. subdomain) — підлеглий домен. Теоретично зволяють за доменним ім'ям
піддомен може досягати глибини в 127 рівнів, а кожна мітка може дізнатися місцезнаходження ІР-
містити до 63 символів, поки загальна довжина разом із крапка­ адреси або сайта, отримати ін­
ми не досягне 254 символів. На практиці обмеження суворіші. формацію про домен, визначити
За порядок у доменах зазвичай відповідає певний комп’ютер, хостінг-провайдера сайта. Один
користувачі-адміністратори якого слідкують за тим, щоб, на­ із прикладів такого ресурсу:
приклад, не було різних машин з однаковими ІР-адресами. https://2ip.ua/ua/
Технічні особливості системи доменних імен виключають мож­
ливість існування у цій системі двох тотожних доменних імен.
Домен верхнього рівня .иа є українською частиною Все­
світньої мережі й існує з грудня 1992 року. Станом на 2017 рік
налічує понад півмільйона доменних імен. У домені здійсню­
ється реєстрація доменних імен другого та третього рівнів. Ре­
єстрація імен третього рівня доступна в 63 публічних доменах
(рис. 2), у тому числі 57 географічних. Більш детально з інфор­
мацією про домен .иа можна ознайомитись на сайті компанії
«Хостмайстер» — реєстратора домену (https://hostmaster.ua).
На сьогодні існують дві українські доменні зони: иа і укр.
Рис. 2. Приклад публічних доменів
Доменна система імен (англ. Domain Name System,
Ф DNS) — ієрархічна розподілена система перетворення
імені хоста (комп'ютера або іншого мережевого при­
України

строю) в ІР-адресу.
Корпорація ICANN послідовно
Служба імен DNS — це розподілена база даних. Можна вва­ розширювала список доме­
жати, що це кілька таблиць, у яких записано: яку IP-адресу має нів загального користування.
комп’ютер з певним іменем; яке ім’я має комп’ютер з визначе­ Зараз їх уже 21. Із 2001 року
ною адресою; що це за комп’ютер і яка ОС встановлена на ньому. корпорація впровадила домен­
ні зони .info, .biz, .name, .coop,
1м'я та IP-адреси не тотожні. Одна IP-адреса може мати без­
0 ліч імен, що дозволяє підтримувати на одному комп'ютері
безліч веб-сайтів (віртуальний хостинг). Зворотне теж
.museum, .aero, .pro, .travel,
.jobs, .cat, .asia, .eu, .mobi, .tel.
У ICANN планують і надалі роз­
справедливо — одному імені може бути зіставлено без­
ширювати адресний простір.
ліч IP-адрес. Наприклад, у Google.com близько 80 адрес.

З а п и та н н я д л я п е р е в ір к и з н а н ь
У)
1 Яка організація надає імена доменам? 4 Яка інформація зберігається на DNS-сервері?
2 Що таке DNS? 5 Запропонуйте власне доменне ім'я, вико­
3 Назвіть типи доменів верхнього рівня. ристовуючи не менше ніж п'ять рівнів.
98 Розділ 5

5.11. Сучасні сервіси Інтернету


Пригадайт е, що т аке елект ронна пош т а? Які служ би Інт ер­
нет у ви знаєт е?

У попередніх класах ви ознайомилися зі службами Інтер­


нету: електронною поштою, Всесвітньою павутиною.
У 1989 році Тім Бернерс-Лі,
працівник Європейської лабо­
Комп’ютерна мережа (Інтернет), мережа гіпертекстових до­
кументів (Всесвітня павутина) і програмне забезпечення (со­
раторії з ядерних досліджень
ціальні сервіси) пов’язують між собою не тільки комп’ютери
ЦЕРН (Швейцарія), запропо­
та документи, а й користувачів. Завдяки мережевим зв’язкам
нував проект, відомий під на­
формуються нові соціальні об’єднання.
звою «Всесвітня павутина».
Із розвитком комп’ютерних технологій у спільнот обміну
Проект мав на меті публіка­
знаннями з’являються нові форми для зберігання знань і нові
цію гіпертекстових документів,
програмні сервіси (рис. 1 ).
пов'язаних гіперпосиланнями
для полегшення пошуку інфор­ Сервіси Інтернету
мації у внутрішній мережі.
= =
Прямі Відкладеного читання Інтерактивні

FTP-переда- Електронна —4 IRC — Internet


F* -............., і вання файлів пошта Relay Chat
Документальний чотирисерій­
ний фільм BBC «Віртуальна '■■■4 WWW — Все- І--ф Мережеві но- •■A Skype
революція» (The Virtual Revo­ світня павутина вини Usenet
lution) розповідає історію ство­ Системи обміну
рення Інтернету, містить ін­ миттєвими по­
Форуми
терв'ю з відомими засновника­ відомленнями
ми Microsoft, Facebook, Twitter, Рис. 1. Основні сервіси Інтернету
Google, YouTube, Amazon.

Мережева спільнота — це група людей, що підтри­


мують спілкування й ведуть спільну діяльність за до­
помогою комп'ютерних мережевих засобів.

Соціальними мережами ко­ Комунікаційні служби надають можливість користувачам


ристується чверть населення мережі обмінюватися новинами, обговорювати проблеми тощо.
земної кулі. Це означає, що
Обговорення з певної теми групою співрозмовників, які
1 млрд 730 млн людей публікує
пости, додає цікаві матеріали
в Pinterest, пише в Twitter, об­
Ф перебувають на значній відстані один від одного, нази­
вають телеконференцією.
мінюється короткими відео че­
Телеконференції поділяють на відеоконференції та аудіо-
рез Vine і викладає фотографії
конференції. Відеоконференція передбачає використання за­
в Instagram. Кожні 60 с у Tumblr
собів передавання відеозображень, аудіоконфереція — засобів
з'являється 4,7 млн записів,
голосового спілкування.
у Snapchat завантажується
277 000 мультимедійних файлів, Форум — інтернет-ресурс, популярний різновид спіл­
а на YouTube переглядається кування в Інтернеті. На форумі створюються теми для
понад 5 млн відео. спілкування.
5.11. Сучасні сервіси... 99

Чат (англ. chat — «балачка») — мережевий засіб для Сфера застосування чатів:
швидкого обміну текстовими повідомленнями між ко­ • аІІ2аІІ — групова комунікація
ристувачами Інтернету в режимі реального часу. • р2р — персональні кому­
нікації — для особистого
Зараз чати стають менш популярними, їх заміщують со­ спілкування
ціальні мережі. Однак чати підтримують свою популярність • Ь2Ь — ділові (робота
завдяки новим можливостям (приватне спілкування, відео- в групах)
спілкування та ін.) • Ь2с — споживацькі
Із розвитком мобільного Інтернету дедалі більшої популяр­ (підтримка клієнтів компанії
ності набувають так звані інстант-месенджери. на корпоративному сайті)
Інстант-месенджер — система обміну миттєвими по­
відомленнями (англ. Instant messaging) — для обміну
повідомленнями в реальному часі через Інтернет. Мо­
ж уть передавати текстові повідомлення, звукові сигна­
ли, зображення, відео. F* — ---------- -
У 109 країнах найбільш попу­
Розглянемо інстант-месенджери детальніше. лярним є WhatsApp, який ви­
Skype — один із найстаріших месенджерів, що зберігає по­ переджає аналоги з величез­
пулярність донині (рис. 2). Наразі його аудиторія становить ним відривом. У 49 країнах лі­
560 млн користувачів по всьому світу. дирує Facebook Messenger.
Skype підтримує можливість створення дуже великих гру­
У Східній Європі (Білорусь,
пових чатів. Так, одночасно можуть листуватися до 300 осіб.
Молдова, Україна) більше по­
У групових відеодзвінках можуть одночасно брати участь до
пулярний Viber. В Україні він
9 користувачів. Ще одна корисна функція — можливість пра­
встановлений на 65% при­
цювати як файлообмінник. Месенджер дозволяє користува­
строїв.
чам обмінюватися файлами будь-якого формату.
W hatsApp — найпопулярніший месенджер світу. Нині
його аудиторія становить близько 800 млн користувачів.
Безперечною сильною стороною месенджера є його простота.
Він дозволяє здійснювати безкоштовні голосові дзвінки й від­
правляти безкоштовні SMS іншим користувачам W hatsApp.
Viber — другий за популярністю месенджер світу. Нині
його аудиторія перевищує 600 млн користувачів. Месенджер
надає можливість здійснення відеодзвінків, проте одночас­
но переписуватися в чаті можуть лише 15 осіб. Користувачі
мають змогу обмінюватися файлами певних форматів, хоча
месенджер дозволяє надсилати співрозмовникам фото і відео.
Telegram — найбезпечніший з усіх існуючих сьогодні ме­
сенджерів. Використовується тільки для онлайн-листування,
проте в груповому може одночасно листуватися до 2 0 0 осіб.
Він синхронізується з номером телефону й не вимагає реє­
страцій, не дозволяє обмінюватися файлами, але дає змогу
надсилати співрозмовникам фото і відео.

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

1 Що таке мережева спільнота? 4 У чому полягає різниця між форумом і ла­


том?
2 Що таке телеконференція?
5 Назвіть сфери застосування чатів.
3 Що таке форум?
6 Які інстант-месенджери ви знаєте?
100 Розділ 5

5.12. Сервіси Веб 2.0


Поясніт ь, що т аке Всесвіт ня павут ина. Назвіть відом і вам
сервіси Інтернету.

Веб — система доступу до документів, які пов’язані між


Творцем терміна «Веб 2.0» є Тім собою та розміщені на комп’ютерах, під’єднаних до Інтернету.
О'Рейлі. ЗО вересня 2005 року Розрізняють кілька етапів розвитку веб-сервісів. Пер­
він написав статтю: http://www. ший етап — Веб 1.0. Для них характерними є статичні
oreilly.eom/pub/a/web2/archive/ веб-сторінки, а користувачі можуть спілкуватися лише на
what-is-web-20.html), в якій роз­
форумах та в чатах. Другий етап — Веб 2.0. Це техноло­
повів про нову концепцію вебу.
гії, які дозволяють користувачам створювати й поширювати
власний контент у Всесвітній павутині.
Реалізація Веб 2.0 стала можливою завдяки таким техно­
логіям.
AJAX (англ. Asynchronous JavaScript A nd XML), асин­
Існує багато спеціальних он- хронний JavaScript (мова програмування) і XML (мова розміт­
лайн-сервісів для створення ки веб-сторінок) — дозволяє створювати зручні веб-інтерфейси
власної хмари тегів. Найпо-
користувача на сторінках сайтів, де потрібна активна взаємо­
пулярнішими є Word it Out
дія. Можна переглядати контент сайта, поки сервер все ще
опрацьовує запит. Браузер лише довантажує потрібні дані.
(https://worditout.com/), Tagxe-
RSS (англ. Really Simple Syndication — дійсно просте
do (http://www.tagxedo.com/),
об’єднання) — дозволяє експортувати гіпертекст з одних ре­
Tagul (https://tagul.com/), Word
сурсів на інші. Стрічки RSS дозволяють швидко ознайоми­
Cloud (https://www.jasondavies.
тися зі змінами змісту сайта, безпосередньо не заходячи на
com/wordcloud/)
нього через браузер. Причому один користувач може зробити
підписку на безліч стрічок різних сайтів.
м GTD FOAF (англ. Friend of a Friend — один одного) — забезпечує
Podcast
Web Standards Rich User Experience
користувачам можливість оформляти підписку на отримання но­
Folksonom ies BlOQQiflQ вих матеріалів та списків записів із журналів «друзів» (friends).
Web Services Infowar*
The Long Tail Теги — дозволяє більш зручно ідентифікувати й тематично
Tagging
Web 2.0 Life-hacking сортувати контент завдяки використанню спеціальних міток
RSS M in lM U (тегів). У Веб 2.0 мітки для навігації подано у вигляді так
Mash-up
Ajax званої «хмари тегів» (рис. 1 ); найбільш популярні теги мі­
Collective Intelligence
Rl44 peer-to-peer стяться в центрі хмари, найменш популярні — на «периферії».
Wiki
На рис. 2 наведено сервіси Веб 2.0. Розглянемо основні
Рис. 1. Приклад хмари тегів можливості Веб 2.0.

Соціальні пошукові системи Мережеві офіси (хмарні технології)

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

Соціальні фотосервіси Геосервіси

Соціальні відеосервіси Колективні гіпертексти

Мережеві карти знань Мережеві щоденники

Рис. 2. Сервіси Веб 2.0


5.12. Сервіси Веб 2.0... 101

Веб-синдикація — дозволяє одночасно поширювати аудіо-


Карти знань (карта розуму,
та відеоінформації на різноманітних веб-сторінках або сай­
або карта пам'яті, думок, інте-
тах. Принцип полягає в поширенні заголовків матеріалів
лект-карта тощо) — це зручна
і посилань на них (наприклад, останні повідомлення фору­
й ефективна техніка візуаліза-
мів тощо). Ця технологія використовувалася на новинних
ції мислення та альтернативно­
ресурсах і в блогах, але поступово сфера застосування роз­
го запису. Онлайн-сервіси для
ширилася.
«Розумні (динамічні) помічники» — використовують тех­ створення ментальних карт:
нології, що дозволяють під час користування сторінкою на­ XMind (http://www.xmind.net/),
давати користувачеві потрібну інформацію, враховуючи його Mindmeister (https://www.mind-
(або загальний) досвід користування даним сайтом: спливаю­ meister.com), FreeMind (http://
чі підказки, автодоповнення, «розумний пошук». freemind.sourceforge.net).
Доступ до веб-сервісів здійснюється за допомогою звичай­
ного інтернет-браузера, без установлення жодних додаткових
програм. Користувачам не треба піклуватися про постій­
ні оновлення версій. Виконання будь-яких обчислень веб- Соціальні мережеві фотосерві-
сервісами не вимагає від комп’ютера користувача жодних ви­ си — засоби Інтернету, які до­
трат ресурсів — усі операції виконує сервер. зволяють зберігати, класифіку­
Mash-up (англ. змішування) — надає можливість створення вати, обмінюватися цифрови­
нового веб-сервісу шляхом інтегрування програмних можливо­ ми фотографіями і організову­
стей декількох інших веб-сервісів. Один із принципів Веб 2.0 — вати їх обговорення. Найбільш
можливість збирати свої додатки з чужих компонентів так популярними є Флікр (http://
само, як збирається комп’ютер із окремих комплектуючих. Flickr.com), Панораміо (http://
Трекбек (англ. track bach — шлях назад) — це зворотні www.panoramio.com), Гіикаса
посилання, що розміщуються зазвичай під коментарями до (http://picasaweb.google.com).
статті, на той блог або ресурс, який посилається на цю стат­ Серед соціальних мережевих
тю. Тобто під час розміщення прямого відкритого посилання
відеосервісів лідером є YouTube.
на статтю іншого ресурсу автоматично відсилається пінг до
джерела, яке, у свою чергу, розміщує як подяку посилання
на той блог, де його згадують із назвою статті.
W iki-сайти — дозволяють своїм користувачам власноруч
редагувати, додавати або видаляти інформацію на сайті, V в* ^
створювати нові сторінки (рис. 3). У такий спосіб користувачі Я Іі?
більш активно беруть участь у наповненні сайтів інформацією, V
потрібного саме їм. Найяскравішим прикладом є Wikipedia. W iki ш п агу
T he fre e Аггюпдгу
Використання сервісів Веб 2.0 сприяє утворенню соціаль­
них спільнот. Ведення мережевих щоденників, блогів — пока­
зовий приклад соціалізації. За допомогою блога кожен корис­
W IK I D A T A
тувач може персоналізувати певну зону сайта: додати особисті
аудіо- та відеофайли, зображення, ділитися новинами та ін.
Все наведене дозволяє користувачам діяти спільно: обмі­
нюватися інформацією, зберігати посилання та мультимедій­ ми
WIKIVERSITY
ні документи, створювати та редагувати публікації, таким
чином розвивається соціальна взаємодія. Тому технології Рис. 3. Приклади wiki-сайтів
Веб 2.0. називають соціальними сервісами Інтернету.

(^Т) З а п и та н н я д л я п е р е в ір к и з н а н ь
І
1 Чим відрізняється Веб 2.0 від класичного 3 Перелічіть компоненти Веб 2.0.
Веб 1.0?
п . ... D е, _ 4 Які сервіси Веб 2.0 ви використовуєте?
2 Які технологи використовуються у Веб 2.0? ^ v 7
102 Розділ 5

5.13. Геосервіси

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


пот рібна вулиця?

Широке використання смартфонів з мобільним Інтернетом


WikiMapia — проект, який та GPS сприяло бурхливому розвитку геосервісів. Сьогодні,
об'єднує інформацію Google коли необхідно з’ясувати, як потрапити до певного місця, ми
Maps із технологією ВікіВікі, звертаємось саме до них.
заснований у 2006 році. Його
метою є опис всієї Землі. Пе­ Геосервіси — інформаційні ресурси, які надають ко­
реглядаючи карту WikiMapia, ристувачу інструменти для роботи з геоданими та іс­
відвідувач сайта може бачити нують у вигляді самостійного продукту або підключа­
об'єкти, обмежені рамками, ються до сервісу.
отримувати текстовий опис
кожного, редагувати тексти та Геосервіси розробляються на базі готових геоінформацій-
виділяти нові ділянки карти. них (ГІС) і веб-геоінформаційних (Веб-ГІС) систем, забезпечу­
Об'єкти також позначаються ють певні сценарії використання даних і надають можливості
тегами (у режимі пошуку ві­ для приймання, зберігання, опрацювання й аналізу. Геосер­
дображаються тільки ті з них, віси досить часто вирішують завдання моніторингу, моделю­
в описі яких присутній даний вання, планування й проведення розрахунків на основі про­
тег). Додаток із позначками сторових даних. Розглянемо найвідоміші геосервіси.
WikiMapia можна підключити Google Maps — загальна назва для додатків (рис. 1), по­
до програми Google Earth. будованих на основі безкоштовного картографічного сервісу
й технології, що надаються компанією Google за адресою
http://maps.google.com/. У відкритому доступі — мапа та су­
путникові знімки всього світу (а також Місяця й Марса).

Все більшої популярності на­


буває геокешинг (geocaching,
від грец. уєо — земля та англ.
cache — схов) — туристична
гра із застосуванням GPS. Вона
полягає у знаходженні сховів,
створених іншими учасниками
гри. Одні гравці готують схов,
за допомогою GPS визначають
його географічні координа­
ти та повідомляють про них
в Інтернеті. Інші гравці вико­
Рис. 1. Скріншот веб-сторінки сайта Google Maps
ристовують ці координати та
свої GPS-приймачі для пошуку
Залежно від місцевості у службі Google Maps доступні різ­
схову.
ні режими відображення (подання). Перехід між режимами
можна виконати в лівому верхньому куті мапи:
• мапа — відображення мапи з традиційним зображенням
доріг, парків, кордонів, водойм тощо;
5.13. Геосервіси 103

• супутник — відображення аерофотознімків. Для відо­


Google Планета Земля
браження назв вулиць та інших відомостей необхідно
встановити прапорець Показувати мітки;
• ландшафт — відображення високих об’єктів як триви­
мірного рельєфу. Режим також дозволяє переглядати на­
зви вулиць та інші відомості.
Google E arth — окрема програма, яку можна безкоштовно
завантажити із сайта (http://earth.google.com/) і на локаль­
ному комп’ютері використовувати тривимірну модель земної
кулі (рис. 2). Якщо комп’ютер під’єднано до Інтернету, про­
грама дає змогу переглядати знімки земної поверхні, зміню­
вати масштаб і налаштовувати маршрути пересування.
Перевагою програми є тривимірне відображення земної по­
верхні (з урахуванням рельєфу), можливість спостереження
під довільним кутом, поступове уточнення зображення під
час завантаження більш детальних фотознімків, можливість
плавної зміни масштабу. Глобальна інтерактивна геологічна Рис. 2. Приклад презентації на сайті
Google Earth
карта-глобус за адресою http://www.onegeology.org/ відобра­
жає всі відомі наразі родовища корисних копалин.
У розробці сервісу брали участь учені з різних країн світу.
Можливі сервіси Google Maps
Роздільна здатність карти становить 1 сантиметр на 10 кі­
лометрів, завдяки чому всі охочі можуть як переглядати її, • Мої чудові місця: створен­
так і використовувати у своїх дослідженнях. Карта постійно ня власних об'єктів — точок,
оновлюється. кривих, полігонів — засобами
Геотегінг (від грец. «гео» — земля, англ. tag — ярлик, сервісу maps.google.com (опція
етикетка, бирка; мітити) — процес приєднання географіч­ Мої карти); збереження влас­
них метаданих до різних інформаційних ресурсів, таких ного контенту.
як веб-сайти, RSS, фотографії, за допомогою стандарту • Сам собі провідник: GPS-
EXIF. Ця інформація зазвичай складається з координат навігаційні пристрої; визна­
широти й довготи, хоча може включати також висоту, від­ чення координат, запис точок
стань і напрям до населених пунктів. Геотегінг може допо­ і треків; перенесення даних
могти в пошуках різної інформації, прив’язаної до певної у Гугл «Планета Земля»; плану­
місцевості. вання маршрутів і навігація.
EXIF (англ. Exchangeable Image File Format) — стандарт, • Вихід у світ: створення гео-
який дозволяє додавати до зображень та інш их медіафай- тегів — гіперактивних пере­
лів додаткову інформацію (метадані), коментувати файл, ходів із html-сторінок на карту
описувати умови і способи його отримання, авторство тощо. Гугл із відображенням заданої
EXIF набув поширення у зв’язку з появою цифрових фото­ позиції; геотегінг фотографій,
камер. ВікіВікі-сервісів і блогів.

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

1 Дайте означення геосервісів. 5 Наведіть міркування щодо безпечності гео-


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

3 Що таке геотегінг? 6 Знайдіть в Інтернеті інформацію про тури­


стичну гру геокешинг.
4 Порівняйте сучасні геосервіси, назвіть їх пе­
реваги та недоліки.
104 Розділ 5

5.14. Спеціальні інструменти пошуку

Пригадайт е, я к здійсню єт ься пош ук в Інт ернет і.

Ми звертаємося до Інтернету, якщо потрібна якась інфор­


мація. Проте ми не завжди знаємо, де саме, на яких сайтах
Можливості пошукових шукати цю інформацію, тому способи пошуку можуть бути
інструментів різними. Можна переглядати веб-сторінки, переходячи з одні­
єї на іншу за допомогою гіперпосилань, а можна скористатись
пошуковими інструментами.
і...... 1 аналіз веб-сторінок
і занесення результатів
Інформаційний пошук (information retrieval, data
аналізу на той чи ін­
search) — процес знаходження, відбору й видачі певної
ший рівень бази даних
інформації із заздалегідь заданими ознаками, в тому
пошукового сервера
числі документів, їх частин та/або даних, із масивів
і записів будь-якого виду.
пошук інформації за
запитом користувача Пошук даних, пошук документів, інформаційний пошук
і текстовий пошук є самостійними напрямами інформатики.
забезпечення зручного Вони мають власні методики та практичне застосування.
інтерфейсу для пошуку Пошукові інструменти — спеціальне програмне забез­
інформації та перегля­ печення, основна мета якого — забезпечити найбільш
ду результату пошуку оптимальний і якісний пошук інформації для користува­
користувачем чів Інтернету.

Рис. 1. Призначення пошукових Залежно від призначення пошукові інструменти розміщу­


інструментів ються на спеціальних серверах (рис. 1). Зазвичай інтерфейс
цих інструментів подано у вигляді сторінки з гіперпосилан-
нями, рядком подання запиту (рядком пошуку) й інструмен­
тами активізації запиту — ключового слова або фрази, яка
вводиться користувачем у рядок пошуку. Для формування
різних запитів використовують спеціальні («», ~) і математич­
ні (*, +, ?) символи.
Найпоширенішими пошуковими інструментами є каталоги
інтернет-ресурсів та пошукові системи.
Однією з переваг тематичних Каталог інтернет-ресурсів (веб-каталог) — це ієрархіч­
каталогів є те, що пояснення
до посилань дають автори ка­
0 ний каталог, який постійно оновлюється, поповнюється
і містить безліч категорій та окремих веб-серверів зі
талогу й повністю відобража­ стислим описом їх вмісту (рис. 2).
ють його зміст. Таким чином
користувач отримує можли­ Спосіб пошуку за каталогом базується на принципі «рух
вість точніше визначити, на­ сходами вниз», тобто рух від загальних категорій до більш
скільки відповідає вміст те­ конкретних.
матичного каталогу меті його Базу даних каталогу заповнюють працівники, зазвичай
пошуку. вручну. Вони переглядають веб-сторінки та обирають ті, що,
на їхню думку, можуть бути цікавими, заносять URL-адреси
сторінок до відповідної рубрики каталогу, причому одна й та
сама сторінка може бути занесена до різних рубрик.
5.14. Спеціальні інструментм... 105

Найбільшого поширення набули спеціальні по­


і] Каталог сайтів РЕЄСТРАЦІЯ У КАТАЛОЗІ МОЇ САЙТИ ІНФОРМЕРИ
шукові системи (машини веб-пошуку).
Hi-Tech Інтернет дітям
Hardware, Безпека, Інтерфейс, Дитяча література,
Машини веб-пошуку — це сервери з ве­ Мережі і зв'язок, Дитячі портали, Інше,
Мобільний зв'язок. Програми, ... Пвнавальні сайти, ...
личезною базою даних URL-адрес, які авто­
матично звертаються до сторінок Всесвіт­ Авто Культура
Автомобільні видання, Кио, Література, Музеї, Музика,
ньої павутини за цими адресами, форму­ Автопортали,
Запчастини та аксесуари,
Образотворче мистецтво, Танці,
Театри, Фотографія, ...
ють і прописують ключові слова зі сторі­ Мотоцикли, Продаж автомобілів,
Технічне обслуговування, ... Навчання
нок у свою базу даних (індексують сторін­ Курси, Науки,
Бізнес та фінанси Учбові матеріали і реферати,...
ки). Таким чином, пошук здійснюється вже Будівництво,
в цих базах даних.
Виробництво і постачання, Робота
Все для офісу, Нерухомість, Вакансі і резюме,
Послуги, Реклама, Фйанси, ... Заробіток в мережі,
Кадрові агентства,
До найпопулярніших пошукових систем нале­ Відпочинок Робота за кордоном, ...
Де розважитися, Охота і рибалка,
жать Google, Yahoo! і MSN — їм надають перевагу Подорожі і туризм, Розваги
Хобі і захоплення, ...
80% користувачів (рис. 3). Ігри, Непізнане,
Психологічні тести,
Довідки
Пошукові машини пропонують два види пошу­ Адреси і телефони, Афіша, Мали, Розважальні портали,
Чати і форуми, Юмор, ...
ку в Інтернеті: простий та розширений. Погода, Пошук людей.
Словники і перекладачі, СМІ
Із простим пошуком ви ознайомились у 6 класі. Транспорт,... Інтернет-видання,
Згадаємо, що при цьому користувач сам формулює Дом Інформаційні агентства,
Періодика, Радо, Телебачення, ...
запит. Разом із тим він може отримати величез­ Все для свята, Домашні тварини,
Квартира та дача, Кулнарія, Спорт
ний обсяг інформації, часто зайвої. Мода та краса, Сім'я, Автоспорт, Басхетбол,
Товари для будинку, ... Екстремальний спорт,
Якщо користувач невдало сформулював запит, Літні види спорту, Теніс,
Здоров'я
він може взагалі не отримати потрібний резуль­ Здоровий спосіб життя, Яки, Товари для спорту, Футбол,
Хокей, ...
тат — той просто потоне в океані відповідей. По­ Лкувальні установи,
Медичні видання, ... Суспільство
долати цю проблему можна за допомогою вико­
ристання операторів математичної логіки, а саме: Рис. 2. Сторінка каталогу сайтів
AND (логічне множення, &), R (логічне додавання,
І) і NOT (заперечення).

X m sn |> Bing web search Sifln*. &


0 Skyp* '5 Г Q Office Й A OneDrtve S3 Maps | f | F*w booi >

G o o g le i a o

Рис. 3. Популярні пошукові системи


106 Розділ 5

У пошуковій системі Google існує потужний інструмента­


рій для роботи із зображеннями — Google Images (Зображен­
ня). Він дозволяє шукати по зображенню, завантажувати його
в рядок запиту або ж вказувати його URL-адресу. Крім того,
можна налаштувати пошук зображень, використовуючи ко­
манди меню Інструменти (рис. 4).

Рис. 4. Інструменти пошуку зображення в пошуковій системі Google

Розширений пошук використовують для пошуку даних за


їхніми властивостями шляхом здійснення серії послідовних
Деякі сучасні сервіси Google запитів, які становлять набір правил для пошуку.
• Google Alerts — дозволяє Сучасні пошукові системи за посиланням Розширений по­
здійснювати моніторинг онов­ шук пропонують користувачам спеціальні зручні форми, при­
лення інформації (за темами або значені для здійснення команд розширеного пошуку.
ключовим словом) й отримувати Команди розширеного пошуку призначені не для пошуку
повідомлення на акаунт Gmail. документів за їх змістом, а, наприклад, для пошуку веб-вузлів
• Google Trends — показує тен­ за їх назвами, за фрагментами їх адрес, за адресами поси­
денції пошуку в Інтернеті з пев­ лань, які зустрічаються на їх веб-сторінках, тощо (рис. 5).
ної теми в певний час і в певному
Команди розширеного пошуку дають змогу знаходити веб-
місці; допоможе стежити за те­
сторінки за їх заголовками, доменними іменами серверів, да­
тами створення, наприклад — документи, опубліковані в пев­
мою і бачити, який ефект справи­
ний день або після певної дати.
ла публікація онлайн-матеріалу.
• Google Correlate — показує
зв'язок питань, поставлених
у мережі, з трендами й подіями
Google Зображення
Зображі

реального світу.
Пошук за зображенням X
• Google Fusion Tables — дозво­ Пошук у Google за допомогло зображення, а не тексту Спробуйте перетягнути зображення сюди.

ляє створювати карти, діаграми I Вставте U R L-адресу зображення Н | Завантажте зображення

й графіки на основі ваших да­ Пошук за зображенням


них, забезпечені прив'язкою до
певного місця.
Рис. 5. Пошук за зображенням пошуковою системою Google

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

1 Що є результатом пошуку інформації з ви­ 5 Знайдіть інформацію про правила безпеч­


користанням пошукової системи? ної роботи в Інтернеті та підготуйте пові­
2 Назвіть види веб-каталогів. домлення.
3 Поясніть, у чому полягають і з чим пов'язані 6 Порівняйте особливості пошуку даних із ви­
переваги та недоліки веб-каталогів. користанням веб-каталогів і пошукових си­
4 Які послуги можуть надавати користувачам стем. Визначте переваги та недоліки кожно­
пошукові системи? го типу пошукових систем.
5.15. Інтернет-ресурси... 107

5.15. Інтернет-ресурси для вивчення навчальних


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

Нині дедалі більшого поширення в мережі Інтернет набу­


вають освітні та навчальні ресурси. Умовно їх можна розпо­
ділити на портали, де збирається інформація про навчальні
заклади основної та додаткової освіти, позашкільні виховні
Освітні інтернет-ресурси
установи, різні форми безперервної або дистанційної освіти,
та ресурси, які надають допоміжні можливості освіти й само­ • Каталоги освітніх ресурсів
освіти в конкретних галузях знання. їх основна аудиторія — • Платформи для онлайн-курсів
учні й абітурієнти. • Сайти підтримки вивчення
навчального предмета
Освітні інтернет-ресурси — це ресурси освітньо­ • Електронні підручники
го характеру, розташовані у веб-просторі мережі Ін­ • Веб-енциклопедії
тернет. • Онлайн-словники
• Освітні відеоканали
До таких ресурсів належать не тільки сайти та портали, • Сервіси для створення пре­
а й інші електронні ресурси, які зберігають на веб-серверах зентацій
у різних форматах (текстових, графічних, архівах, аудіо, ві- • Сервіси для створення інфо-
део тощо). Ознайомимося з деякими з них. графіки
Найповнішим каталогом усіх існуючих освітніх сайтів та • Сервіси для перевірки знань
блогів є портал Освітні ресурси Інтернету (https://sites.google, з навчального предмета
com/site/osvitnires/). Каталог постійно оновлюється.
На сервері Educational Network Ukraine (http://www.ednu.
kiev./ua) представлені всі українські інформаційні ресурси,
пов’язані з освітою: організації, вищі навчальні заклади, до­
кладна інформація про системи освіти найбільш розвинених
країн, огляд преси, виставки, конференції тощо. Крім того,
існують веб-сторінки, які можуть стати в пригоді вчителям,
студентам, учням тощо.
Особливу увагу слід звернути на сайт електронної бібліотеки
Національної бібліотеки України імені В. І. Вернадського (http:// Н АУКО ВА
С В ІТ Л И Ц Я
www.nbuv.gov.ua). Вона є унікальним зібранням джерел ін­
формації, яке містить книги, журнали, наукові праці, авто­ Б А Н К Л Е К Ц ІЙ
реферати дисертаційних досліджень, образотворчі матеріали,
рукописи, стародруки, газети тощо.
На Українському освітньому порталі (http://www.osvita.org.
иа/) можна знайти рейтинг освітніх сайтів України, перелік
освітніх ресурсів: реферати, колекції, музеї, словники, пере­
кладачі, електронні бібліотеки тощо.
Наукова світлиця (http://lecbank.jimdo.com) — україномов­
ний сайт із невеликою базою лекцій з математики, фізики,
хімії та української мови (рис. 1 ).
Термін «дистанційна освіта» використовують щодо широ­
кого спектра освітніх програм і курсів. Задля забезпечення
108 Розділ 5

ефективної взаємодії під час дистанційного навчання вико­


ристовують цілий набір інструментів, включаючи інтерактив­
ні комп’ютерні програми, електронну пошту та ін.
Сайт Дистанційне навчання ін­ Безумовною перевагою дистанційної освіти є можливість
форматики (https://dystosvita. незалежно від місцезнаходження слухача отримати доступ до
gnomio.com) пропонує майже лекцій викладачів найкращих університетів світу. Єдиною
ЗО курсів, які охоплюють всі вимогою є наявність Інтернету. Все більшої популярності на­
теми шкільної інформатики, як бувають відкриті онлайн-курси на платформах Prometheus,
з IT (веб-дизайн, робота з таб­
EdEra, EdX, Coursera.
личним процесором, базами
Prometheus — це перший україномовний громадський про­
ект (рис. 2) масових відкритих онлайн-курсів. Головною ме­
даних тощо), так і програму­
тою проекту є безкоштовне надання доступу до онлайн-кур­
вання (C++, Python).
сів університетського рівня всім бажаючим, а також надання
можливості публікувати та розповсюджувати такі курси про­
відним викладачам, університетам та компаніям. Крім того,
Prometheus надає доступ до онлайн-курсів підготовки до ЗНО.
EdEra (https://www.ed-era.com) — ще один україномовний
освітній ресурс. EdEra ставить на меті зробити освіту якіс­
ною та доступною і, на відміну від інших платформ, орієн­
J^M^EUS тований саме на базову середню освіту. Автори створюють
онлайн-курси повного циклу — від лекцій до книжок. Це
проект незамінний для бажаючих добре підготуватися до
складання ЗНО.
Сьогодні численні школи, некомерційні організації, кор­
^ А И К Р р ц Т Г О СВ ІТА Д Л Я К О Ж Н О Г О порації та міжнародні організації пропонують або планують
>ШТОРНІ ОНЛАЙН’КУРСИ ВІД ВИКЛАДАЧІВ КНУ. КПІ ТА КИЄВО
МОГИЛЯНСЬКОІ АКАДЕМІЇ запровадити курси на ресурсі EdX. Станом на 2016 рік EdX
має понад 3,5 млн користувачів, що є слухачами більше ніж
250 курсів в Інтернеті.
Coursera — проект у галузі масової онлайн-освіти, заснова­
ний професорами інформатики Стенфордського університету
Рис. 2. Головна сторінка сайта
Ендрю Іном і Дафною Коллер. У його рамках існує проект
Prometheus із публікації освітніх матеріалів в Інтернеті у вигляді набору
безкоштовних онлайн-курсів.

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

1 Дайте означення освітнім інтернет-ресурсам. 4 Перегляньте перелік курсів на платформах


2 Які платформи для онлайн-курсів ви знаєте? Prometheus та Coursera. Які курси, на вашу
думку, користуються найбільшим попитом?
3 Назвіть переваги дистанційної освіти.
Обгрунтуйте ваш висновок.

Практична робота № 11
Тема. Сучасні сервіси Інтернету.
Завдання: розробити маршрут прогулянки за допомогою програми Google Му Maps,
Обладнання: комп'ютер із виходом у мережу Інтернет.
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

1 Наберіть у пошуковому рядку браузера 2 У вікні, що відкрилося, клацніть кнопку


Google Му Maps. Викличте програму. Створити карту.
Практична робота № 12 109

За замовчуванням з’являється мапа з пер­


шим шаром Шар без назви, у правому кут­
ку шару кнопка Параметри шару, яка дає
змогу редагувати назву та видаляти шар
(див. рисунок).
3 Відредагуйте назву шару «Моя улюблена
прогулянка».
4 Виберіть на карті місце, де ви буваєте
під час прогулянки. Виберіть із рядка
інструментів Додати маркер, установіть Карта з новим шаром Шар без назви і рядком
інструментів: 1 — параметри шару, 2 — додати маркер,
маркер на потрібному місці. У вікні, що
З — накреслити лінію, 4 — додати маршрут
з’явилося, введіть назву вибраного місця
та додайте короткий опис.
9 Сполучіть вибрані місця лінією.
5 Додайте фотографію, натиснувши на зна­
чок фотоапарату. Можна або завантажи­ 10 Аналогічно опису в п. 6 виберіть колір та
ти, або вказати URL-адресу вибраної в Ін- товщину лінії.
тернеті фотографії. 11 Збережіть створену мапу.
6 Виберіть колір та вигляд маркера. Для
Зробіть висновки: як можна використову­
цього клацніть кнопку Стилі створеного
маркера, яка розташована в правому кут­ вати власні створені карти; у яких галу­
ку рядка маркера. зях людської діяльності, на вашу думку,
використовуються подібні карти; чи пла­
7 Повторіть пп. 5, 6 для наступних місць. нуєте ви в подальшому створювати такі
8 Виберіть на рядку інструментів кнопку карти.
Накреслити лінію.

Практична робота № 12
Тема. Інтернет-ресурси для навчання.
Завдання: навчитися користуватися інтернет-ресурсами для навчання,
Обладнання: комп'ютер із виходом у мережу Інтернет.

Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.
1 Зареєструйтеся на сайті «Дистанційне на­ 8 Перегляньте існуючі курси на сайті «Дис­
вчання інформатики» (http://dystosvita. танційне навчання інформатики».
mdl2 .com). 9 У середовищі Microsoft Excel створіть та­
2 Зареєструйтеся на курс Старша школа Ін­ блицю з назвами курсів, які пропонують­
форматика 10 клас. ся на сайті, поставте позначки, які курси
3 Пройдіть тематичне тестування «Служби ви хотіли б вивчати.
Інтернету». 10 Збережіть таблицю та надішліть її на вка­
4 Повідомте оцінку вчителю. зану вчителем адресу.
5 Перейдіть на сторінку «Робота з мульти- Зробіть висновки: яка ваша думка щодо
медіа». ідеї дистанційного навчання; які курси,
6 Пройдіть тестування до розділу «Основи на вашу думку, користуватимуться най­
роботи з мультимедіа». більшим попитом; які навички стануть
7 Повідомте оцінку вчителю. у пригоді в майбутньому.
Розділ 6
ОСНОВИ ІНФОРМАЦІЙНОЇ БЕЗПЕКИ

6.1. Класифікація загроз інформаційній безпеці.


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

Коли користувач вмикає комп’ютер і мандрує сторінками


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

Інформаційна безпека — це стан захищеності систем


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

Розглянемо принципи, на яких базується інформаційна


Рис. 1. Питання захисту інформації безпека (рис. 2 ).
є дуже актуальним
Цілісність означає, що в ході передавання й зберігання ін­
формація зберігає зміст і структуру; створювати, знищувати
або змінювати дані має право лише власник.
Конфіденційність означає, що доступ до конкретної інфор­
мації мають лише особи, коло яких узгоджено з власником.
Інформаційна безпека Доступність означає здатність забезпечувати своєчасний
і безперешкодний доступ повноправних користувачів до необ­
І........( Цілісність хідної інформації.
Достовірність означає неможливість викривлення чи спо­
творення інформації.
і........( Конфіденційність
Як ми вже з’ясували, під час користування Інтернетом
часто виникають загрози інформаційній безпеці. Загрози мо­
і........( Доступність жуть мати як природний, так і штучний характер. А вони,
у свою чергу, можуть бути або випадковими, або навмисни­
ми. Загрози пошкодження даних можна класифікувати за
Достовірність
чинниками, що їх спричиняють. Слід зазначити, що серед
усіх загроз найбільший відсоток за масштабом і ступенем
Рис. 2. Принципи інформаційної пошкодження даних припадає на людський чинник. Тож
безпеки насамперед зазвичай розглядають захист від дій, які може
спричинити людина.
6.1. Класифікація загроз... 111
Ознайомимося з видами загроз інформаційній безпеці
(рис. 3) та розглянемо їхні особливості. F * — ------------
Існують як неписані морально-
Загрози інформаційній безпеці етичні норми, так і оформлені
в деякий статут, як, наприклад,
Природні (не залежать від людини: стихійні Кодекс професійної поведінки
явища, природне старіння обладнання) членів Асоціації користувачів
комп'ютерів США.
Штучні (залежать від людини)

Випадкові (вихід із ладу обладнання, помилки


персоналу або програмного забезпечення) 0 .........................;
В Україні створено Державну
Навмисні (перехоплення даних, маскування під службу спеціального зв'язку та
дійсного користувача, фізичне руйнування системи) захисту інформації України —
Рис. 3. Види загроз інформаційній безпеці державний орган спеціального
призначення, який опікується
У сучасному суспільстві кожна людина має вільний до­ питаннями забезпечення фор­
ступ до інформації. Разом із тим важливо, щоб із розвитком мування і реалізації державної
інформаційних технологій забезпечувалося дотримання прав політики у сферах захисту дер­
людини стосовно захисту авторських прав, інтелектуальної жавних інформаційно-телеко­
власності та безпеки. мунікаційних систем, крипто­
Інформаційна етика розглядає проблеми власності, до­
графічного й технічного захи­
ступу, безпеки й спільності інформації. У світі складаються
сту інформації, використання
певні морально-етичні норми поведінки користувачів, напри­
і захисту державних електрон­
клад, не втручатися в роботу інших користувачів мереж;
них інформаційних ресурсів.
не використовувати файли, не призначені для вільного ви­
користання; не використовувати комп’ютер для розповсю­
дження неправдивої інформації та ін. Ці норми здебільшого
не є обов’язковими і не затверджені в законодавчому порядку.
Але їх невиконання часто призводить до падіння авторитету
F * ------------- —
та престижу людини, групи осіб, організації або країни. В Україні захист інформації за­
безпечується низкою законів:
Правові засоби захисту — чинні закони, укази та інші «Про інформацію», «Про захист
нормативні акти, які регламентують правила користу­ інформації в інформаційно-
вання інформацією і відповідальність за їх порушення, телекомунікаційних системах»,
захищають авторські права програмістів та регулюють «Про державну таємницю»,
інші питання використання інформаційних технологій. «Про захист персональних
даних», «Про основні засади
Сьогодні в усіх розвинених країнах світу та багатьох розвитку інформаційного су­
міжнародних об’єднаннях ухвалено спеціальні закони щодо спільства в Україні на 2007-
комп’ютерних злочинів, і вони постійно доповнюються. За­ 2015 роки».
гальною тенденцією є підвищення жорсткості кримінальних
законів щодо осіб, які скоїли комп’ютерні злочини.

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

1 Яку інформацію називають конфіденційною? 4 Які основні складові має інформаційна безпека?
2 Що таке інформаційна безпека? 5 Назвіть основні джерела загроз інформацій­
ній безпеці.
3 Як шкідливі програми можуть потрапляти
6 Назвіть нормативно-правові документи
в комп'ютер?
у сфері інформаційної безпеки.
Розділ 6

6.2. Захист даних. Шкідливі програми, їх типи,


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

Захист даних у комп’ютері є однією з найважливіших про­


блем сьогодення. Він передбачає як заходи щодо закриття да­
F * --------------- них від доступу до них сторонніх осіб (несанкціонованого до­
Вважають, що ідею створення
комп'ютерних вірусів «підкинув»
ступу), так і збереження цілісності (структури і вмісту) даних
письменник-фантаст Т. Райн
у комп’ютері.
у 1977 році в СІНА, він опи­ З ахи ст дан и х (англ. Data protection) — сукупність ме­
сав епідемію, яка за короткий ® тодів і засобів, які забезпечують цілісність, конфіден­
час вразила 7000 комп'ютерів. ційність і доступність даних в умовах впливу загроз
А спричинив її вірус. Переда­ природного або штучного характеру, реалізація яких
ючись від одного комп'ютера може призвести до завдання шкоди власникам і кори­
до іншого, він убудовувався стувачам інформації.
в ОС і виводив комп'ютери
з-під контролю людини. Пошкодження або руйнування даних може статися в ре­
зультаті неправильної роботи апаратного чи програмного

забезпечення. Так, фізичне пошкодження жорсткого диска
може призвести до повної втрати даних або їх частини.
Порушення цілісності даних (зміна або вилучення окремих
Шляхи потрапляння шкідливих файлів, зміна структури файлів на диску тощо) часто спри­
програм у комп'ютер: чиняється роботою некоректно написаних програм. Та найча­
• під виглядом ігрових та інших стіше справжньою причиною збою в роботі комп’ютера є про­
програм, завантажених з ме­ грами, спеціально написані для заподіяння шкоди даним.
режі Інтернет
Ш кідлива програма — це спеціально розроблена про­
• під час перегляду веб-сторінок;
• електронною поштою
Ф грама для пошкодження і знищення файлів даних і про­
грамного забезпечення, викрадення особистих даних
• у процесі копіювання файлів
і коштів користувача.
з носіїв, які до цього вико­
ристовувалися на заражених Розрізняють три типи шкідливих програм: ком п’ютерні ві-
комп'ютерах руси , ш пигунські програми, хакерські ут иліт и (див. таблицю).
Таблиця. ТИПИ ШКІДЛИВИХ ПРОГРАМ
Шкідливі програми Опис дії
Шкідливі програми, що здатні до самокопіювання та вбудовування в код інших
Комп'ютерні віруси програм, системні ділянки пам'яті чи завантажувальні сектори, а також до по­
ширення своїх копій різними каналами зв'язку.
Потрапляють зазвичай через мережу. Не самовідтворюються, тому їх не мож­
на назвати вірусами. їхнє призначення — слідкувати за діями, що виконуються
Шпигунські на комп'ютері: відправляти на сайт хакерів установлені коди, паролі входження
програми у платіжні системи, розсилати рекламні листи за рахунок користувача. Ці про­
грами також можуть порушувати нормальну роботу комп'ютера. До них нале­
жать троянські коні (трояни) і хробаки
Завдають шкоди з віддалених комп'ютерів. Не є ані троянськими платформами,
ані вірусами; не можуть заподіяти шкоди локальним пристроям, на які встанов­
Хакерські
лені. Можуть слугувати програмами для автоматизації формування вірусів, тро­
утиліти
янських програм і хробаків. Це програмні бібліотеки, утиліти, які приховують
код «хворих» файлів від перевірки антивірусом (шифрувальники файлів)
6.2. Захист даних...

Розглянемо особливості деяких відомих комп’ютерних вірусів.


Файлові віруси — під час поширення своїх копій
обов’язково змінюють вміст виконуваних файлів. У більшо­ її* -
сті випадків вміст файлів, атакованих вірусом, повністю або Троянська програма SURPRISE
частково втрачається. («Сюрприз») була написана мо­
Скриптові віруси — вимагають наявності однієї зі скрип- вою Бейсик і видаляла вміст
тових мов (Javascript, VBScript) для самостійного проникнен­
поточного диска, а потім ви­
ня в неінфіковані скрипти. Віруси цього типу вражають або
водила на екран повідомлення
вихідний код програми, або її компоненти (OBJ-, LIB-, DCU-
«Surprise!».
файли), а також VCL- і ActiveX-компоненти.
Стелс-віруси — повністю або частково приховують при­ Унаслідок дії троянської програ­
сутність у системі шляхом перехоплення запитів операційної ми, написаної в 1989 році аме­
системи на читання/записування додаткової інформації про риканським студентом Робер-
заражені об’єкти (завантажувальні сектори, елементи файло­ том Морісом і запущеної ним
вої системи, пам’ять тощо). в Інтернет, були заражені і виве­
Завантажувальні віруси — розміщуються у виконуваних дені з ладу тисячі комп'ютерів,
файлах (exe, com, sys, dll) операційної системи й активізують­ у тому числі ті, що належать Мі­
ся під час завантаження. Вони часто розміщуються у файлах ністерству оборони СПІД. Автор
документів, у яких застосовуються макроси. Тому руйнують програми був засуджений до
не лише додатки, але й файли. трьох місяців в'язниці і штрафу
Бекдор, backdoor (від англ. Bach door — чорний хід, задні в 270 тис. доларів.
двері) — дефект алгоритму, який навмисно вбудовується
в нього розробником і дозволяє отримати таємний доступ
до даних або віддаленого управління комп’ютером.
Дропер (англ. Dropper — бомбоскидач) — сімейство шкід­
ливих програм (зазвичай трояни), скерованих на несанкціо­
новане та приховане від користувача встановлення на ком­
п’ютер інших шкідливих програм, які містяться в самому
тілі дропера або завантажуються мережею.
Закладка (програмна закладка) — приховано впроваджена
в захищену систему програма або навмисно змінений фраг­
мент програми, що дозволяє здійснити несанкціонований до­
ступ до ресурсів системи на основі зміни властивостей системи Правила профілактики
захисту. Часто виконує роль перехоплювача паролів, трафіку, зараження комп'ютера
а також провідника для комп’ютерних вірусів. Закладку не­ шкідливими програмами
можливо виявити за допомогою стандартних антивірусних за­ і збереження даних
собів — тільки спеціальними тестовими програмами. • Користуйтеся паролями.
У світі розроблено велику кількість антивірусних програм, • Не користуйтеся піратськи­
і надати перевагу тій чи іншій досить важко. Проте для ми копіями програмного за­
ОС Windows 10 існує безкоштовний убудований антивірус безпечення.
Windows Defender (Захисник Windows) компанії Microsoft. • Регулярно оновлюйте про­
Програма Захисник Windows установлюється за замовчуван­ грамне забезпечення.
ням. Вікно цієї програми на відкритій вкладці На початок зо­ • Не запускайте на виконання
бражено на рис. 1. Якщо на комп’ютері не було встановлено невідомі програми.
антивірусної програми, то під час установлення програми За­ • Не відкривайте файли, не
хисник Windows з’явиться повідомлення про потребу в пере­ перевірені на наявність ві­
вірці. На вкладці Оновити надається можливість оновлення русів.
антивірусних баз програми. Вкладка Журнал дозволяє пере­ • Встановлюйте програму за­
глянути потенційно небезпечні об’єкти і взаємодіяти з ними. хисту від вірусів, що постій­
За допомогою кнопки Настройки можна вмикати і вимикати но оновлює свою базу знань.
деякі можливості програми Windows Defenger.
Розділ 6

Щоб перевірити окрему папку або файл за допомогою


програми Захисник Windows, потрібно у файловому провід­
До популярних комерційних нику відкрити контекстне меню папки (файла), виконати
антивірусних програм нале­ команду Перевірка з використанням Windows Defender.
жать ESET NOD 32, BitDefender,
За допомогою програми можна здійснити як повну пе­
Kaspersky Internet Security
ревірку програм і даних, розташованих у комп’ютері, так
тощо. Майже не поступаються
і перевірку окремих частин, наприклад, диска, папки тощо
їм за ефективністю безкоштов­
(експрес-сканування).
ні програми: 360 Total Security,
Panda Free Antivirus, Avast Free
Після виконання перевірки зазначеної папки відкриється
вікно з результатами перевірки, можливий варіант якого
Antivirus, Avira Free Antivirus та ін.
зображено на рис. 2.

Рис. 1. Вікно програми Захисник Windows Рис. 2. Вікно програми Захисник Windows
на вкладці На початок із результатами перевірки папки

Щоб вимкнути або увімкнути програму Захисник


Windows потрібно виконати команду Пуск -» Налаштування -»
-» Оновлення та захист, вибрати пункт Захисник Windows
і увімкнути або вимкнути параметр Захист у реальному часі.

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

1 Що розуміють під захистом даних? 4 Чим відрізняються віруси від шпигунських


програм?
2 Які є типи шкідливих програм? 5 Яких правил слід дотримуватися для забез­
печення комп'ютерної безпеки?
3 Наведіть приклади комп'ютерних вірусів. 6 Чим відрізняється експрес-сканування від
повного сканування?

Н) З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я І
1 Виконайте за допомогою програми Захис­ 2 Виконайте за допомогою антивірусної про­
ник W indows сканування двох будь-яких грами експрес-сканування жорсткого диска
непорожніх папок або файлів, розташова­ до повного його завершення. Скільки часу
них на вашому комп'ютері. Проаналізуйте виконувалося сканування? Проаналізуйте
отримані результати. його результати.
6.3. Загрози при роботі... 115

6.3. Загрози при роботі в Інтернеті. Засоби браузера,


призначені для гарантування безпеки
Чи м ож е зараж ення ком п'ю т ера ш кідливими програм ам и
ст ат ися під час р о бо т и в Інт ернет і?
Активування більшості шкідливих програм вимагає без­
посередньої участі користувача. Загальновідомо, що коли на
незнайомому сайті пропонують щось завантажити, то слід
негайно відмовитися. Деякі зловмисники цілеспрямовано по­ і® ....................;
люють на приватну інформацію користувача (банківські рек­ Через інтерфейс браузера
візити, електронне листування та ін.), деякі намагаються шкідливі програми можуть по­
отримати віддалений доступ до персональних пристроїв — трапляти до комп'ютера з різ­
комп’ютерів, планшетів або мобільних телефонів. них плагінів типу Flash, Java
Розглянемо засоби браузерів, призначені для захисту ін­ і QuickTime. Тому необхідно
формації користувача, на прикладі найбільш потужного і по­ оновлювати не тільки сам бра-
пулярного браузера Google Chrome. узер, а й усі зазначені ком­
У Google Chrome передбачено захист акаунта Gmail від по­ поненти.
тенційно небезпечних листів, які можуть містити шкідливі
програми та попередження в разі спроби завантажити файл,
у якому під виглядом рінгтона або PDF-документа поширю­
ється небезпечний код.
У Google Chrome використовуються додаткові модулі (пла-
гіни), які дозволяють користувачу переглядати мультимедій­
Вбудовані засоби захисту від
ні файли або відео. Встановлені плагіни також можуть ви­
загроз мають Mozilla Firefox,
користовуватися зловмисниками для злому комп’ютера. Тому
Google Chrome, Safari, Opera.
Google Chrome, виявивши застарілий плагін із вразливою
системою безпеки, пропонує користувачу виконати оновлення.
І блокує плагін, поки користувач цього не зробить. Якщо ко­
ристувач спробує відкрити небезпечний сайт, Google Chrome
попередить про це.
Небезпечними вважаються сайти, підозрювані у фішингу або
поширенні спаму, що є окремими видами комп’ютерних загроз.
Розглянемо особливості фішингу і спаму та засоби захисту
від них.
Спам — рекламні та інші повідомлення (наприклад, про
нові послуги, варіанти відпочинку, дешеві товари тощо), які
надходять на поштову скриньку осіб, які не давали дозвіл
на їх отримання. Окремі спам-повідомлення можуть нести
комп’ютерні віруси. Ніколи не слід відповідати на спам-листи
та переходити за посиланнями, які в них містяться.
Фішинг — масове розсилання електронних листів від іме­ F * ----------------------- 1
ні популярних брендів із метою отримання доступу до логіна
Google виявляє веб-сторінки,
і пароля користувача, банківських рахунків та інших персо­
які можуть завдати шкоди.
нальних даних.
Щодня знаходить і позначає
У листах може міститися посилання на сайт, який зовніш­
ньо майже не відрізняється від справжнього. Після відкриття понад 10 тис. небезпечних сай­
проблемної веб-сторінки шахраї намагаються в різний спосіб тів, виводить попередження
примусити користувача увести логін і пароль. для 14 млн результатів пошуку
З метою підвищення надійності захисту від фішингу ви­ Google і 300 тис. завантажень.
робники основних браузерів домовилися про застосування
Розділ 6

однакових способів інформування користувачів про перехід на


підозрілий сайт. Ознайомимося з поділом підозрілих сайтів.
і 0 --------------- н • Підроблені сайти — метою таких сайтів є фішинг та інші
Захищеним є сайт, який вико­ види соціальної інженерії. Вони обманом намагаються
ристовує для обміну даними отримати доступ до особистих даних і паролів користувачів.
протоколи захищеного зв'язку. • Небезпечні сайти — мета таких сайтів полягає в уста­
Підтримка захищених каналів новленні на пристрій користувача шкідливого або неба­
зв'язку потрібна насамперед жаного програмного забезпечення, яке може порушити
сайтам, які працюють із персо­ роботу системи і викликати неполадки в мережі.
нальною інформацією користу­ Зараз у мережі Інтернет існує немало підозрілих сайтів.
вачів (сайти банків, урядових Посилання на такі ресурси можуть поширюватися в різний
установ тощо). спосіб, наприклад електронною поштою.
Щоб забезпечити безпечний перегляд, браузери складають
список сайтів, які підозрюються у фішингу та поширенні
шкідливих програм. Вони аналізують усі веб-сторінки і по­
переджають користувача, якщо сайт становить загрозу.
Зверніть увагу на адресу певного сайта. Для передаван­
ня гіпертекстових даних мережею Інтернет часто викори­
стовується протокол HTTP (.Hyper Text Transfer Protocol). Але
з’єднанням за цим протоколом не є захищеним.
Існує також HTTS (Hypertext Transport Protocol Secure) —
протокол зашифрованого під’єднання, який забезпечує більш
ефективний захист даних. У деяких браузерах поряд із позна­
ченням протоколу https:// відображається значок замка (див.
Позначка захищеного сайта рисунок). Це означає, що з’єднання є захищеним і більш без­
печним.
Однак досвід користування деякими ресурсами свідчить,
що це не завжди так. Зображення замка, який є на сторін­
ках таких ресурсів, можна вважати простою картинкою. Це
означає, що в сайта відсутній сертифікат справжності, не під­
Технологія SSL забезпечує кра­ тримується і SSL-з’єднання.
щий захист і збереження кон­ SSL (англ. Secure Sockets Layer — рівень захищених соне­
фіденційності інформації, на тів) — криптографічний протокол, який гарантує встановлен­
відміну від незашифрованого ня безпечного з’єднання між клієнтом і сервером.
веб-з'єднання. SSL-сертифікат — це сертифікат безпеки; цифровий спо­
сіб ідентифікації, який підтверджено Центром сертифікації.
Протокол забезпечує конфі­
У сертифікаті міститься ідентифікаційна інформація, період
денційність обміну даними між
дії, публічний ключ, серійний номер і цифрові підписи.
клієнтом і сервером, які вико­
Сучасні браузери мають вбудовану систему безпеки, під­
ристовують TCP/IP.
тверджену сертифікатами, отриманими в спеціальних цен­
трах. Система браузера вважатиме сертифікат справжнім,
якщо центр сертифікації, який його видав, є в переліку на­
дійних закладів.
Якщо з’єднання, яке потребує введення конфіденційної ін­
формації, є незахищеним, то слід скористатися іншим ресурсом.

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Які існують типи шкідливих програм? 3 Які сайти вважаються підозрілими? Опишіть їх.

2 Чим відрізняються віруси від шпигунських 4 Що таке протокол зашифрованого під'єднан-


програм? ня? Чому і де він використовується?
Практична робота № 13 117

Практична робота № 13
Тема. Налаштовування параметрів безпеки в середовищі браузера.
Завдання: налаштувати параметри безпеки в середовищі браузера Google Chrome.
Обладнання: комп'ютер зі встановленим браузером Google Chrome.
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.
Відкрийте браузер Google Chrome. статистику відвідування. Щоразу при від­
Відкрийте меню Налаштування. відуванні сайта браузер надсилає серверу
такий файл для ідентифікації користувача.
Виконайте команду Показати розширені на­
Саме завдяки кукам користувач на влас­
лаштування.
ному комп’ютері відразу потрапляє у свій
Н а лаш туй те послугу Захистіть себе та свій
обліковий запис, авторизація відбувається
пристрій від небезпечних сайтів.
автоматично. З точки зору безпеки є деякі
Виберіть команду Від'єднатися від обліко­ недоліки: стороння людина може відвідува­
вого запису Google, оскільки синхроні­
ти форуми та сайти під іменем власника
зація акаунта з браузером означає, що комп’ютера, за куками можна відслідкову­
особисті дані користувача зберігаються
вати, які сайти і коли було відвідано.
на серверах Google.
Натиснувши кнопку Розширені налаштуван­ 8 Виберіть опцію Забороняти всім сайтам за­
ня синхронізації, виберіть команду Шифру­ пускати JavaScript для захисту.
вати синхронізовані дані за допомогою влас­ 9 Виберіть опцію Заборонити всім сайтам ві­
ної парольної фрази. дображати спливаючі вікна.
Налаштуйте вміст. Для цього під рядком 10 Виберіть опцію Заборонити всім сайтам від­
Конфіденційність (див. рисунок) натисніть стежувати ваше фізичне місцезнаходження.
кнопку Налаштування вмісту та виберіть 11 Налаштуйте автозаповнення. Для цього
команду Блокувати файли cookie. Це забез­ зніміть прапорець із команди Увімкнути
печить видалення ваших cookie після за­ автозаповнення. Це допоможе збереженню
криття браузера, і рекламодавці не змо­ браузером ваших логінів, паролів та ін­
жуть відстежувати вас, використовуючи шої конфіденційної інформації, введених
cookie третіх сторонніх сайтів. у форми веб-сайтів.
Примітка. Куки (Cookie— печиво) — неве­
ликий текстовий файл (набір даних), який 12 Збережіть налаштування Google.
сервер відвідуваного сайта записує в брау­
зер користувача. У файлі зберігається ін­ Зробіть висновки: як налаштовувати па­
формація про ім’я та пароль, індивідуальні раметри безпеки в середовищі браузера
налаштування та вподобання користувача, Google Chrome.

О Иимілумнні X
C O ® Chrome chrome://settir>gs

Chrome Налаштування Пошук налаштувань

В е б -п е р е гл я д а ч за у м о в ч а н н я м
Розширеним

Налаштування Зробити Google Chrome переглядачем м промовчаниям

Google Chrome наразі не с вашим переглядачем за умовчанням.

Про Google Chrome К о н ф ід е н ц ій н іс т ь

Налаштування вмісту... Очистити дані веб-перегляду-

Google Chrome може використовувати яеб-послуги для покрашення умов перегляду. За бажанням ці
служби можна вимкнути. Докладніше

«/ Використовувати веб-послугу для виправлення помилок навігації

& Використовувати підказки для завершення пошукових запитів і URL-адрес введених в адресний рядок

в Користуйтеся службою передбачення, щоб сторінки завантажувалися швидше


Розділ 6

6.4. Безпечне зберігання та видалення даних.


Резервне копіювання та відновлення даних
Пригадайт е, що т аке ф айлова сист ема.

Працюючи за комп’ютером, користувач впевнений, що всі


Правила створення кількох опрацьовувані дані надійно зберігаються і ніщо не завадить
облікових записів продовжувати з ними працювати. Проте досить часто виника­
• Лише один з облікових за­ ють проблеми з доступом до даних. Наприклад, після онов­
писів повинен мати права лення програм або встановлення нових пристроїв не заван­
адміністратора — права тажується ОС, з’являються сторонні повідомлення, зникають
встановлювати та видаляти
файли тощо. Щоб уникнути подібного, слід дотримуватися
програмне забезпечення.
правил безпечного зберігання даних.
Насамперед слід розділити жорсткий диск на декілька
• Теки, що містять програмне
розділів (логічних дисків) з тим, щоб на одному (системно­
забезпечення, мають бути
му) зберігати програмне забезпечення й системні дані, на ін­
доступними для читання
ших — решту. Навіть на власному комп’ютері краще створи­
усіх користувачів, окрім ад­
ти кілька облікових записів, дотримуючись певних правил.
міністратора, з можливим
Виходячи з того, що однією з основних причин втрати да­
виключенням для папок із
них (після ненавмисного видалення) є наслідки дій шкідли­
налаштуваннями програми. вих програм, дуже важливо використовувати антивірус.
• Кожний обліковий запис по­ Ще одним важливим правилом безпечного зберігання даних
винен мати папку з повним є створення резервних копій (див. рисунок). Відмова апаратної
доступом лише для цього частини (жорсткий диск), вірусна атака чи неуважність само­
облікового запису та адміні­ го користувача (випадкове видалення інформації) можуть при­
стратора. звести до втрати важливих даних.

Резервне копіювання даних — це створення копій


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

Резервне копіювання можна виконувати за допомогою спе­


Типи резервних копій ціальних утиліт, які забезпечують створення компактних ар­
хівів. Наприклад, одною з таких утиліт є Microsoft Backup,
резервна копія ОС (устано­ що входить до комплекту Windows. Щоб скористатися нею,
вити ОС, драйвери й потрібні на Панелі керування потрібно вибрати відповідне посилання.
програми, зробити резервну Однією з альтернатив резервного копіювання, наприклад,
копію ОС)
під час роботи з великими проектами (науковими роботами,
резервна копія логічного
масштабними кресленнями тощо), може служити створення
диска (розділу) контрольних точок відновлення системи.

Точка відновлення — це подання збереженого ста­


резервна копія окремих
ну системних файлів комп'ютера.У
файлів і папок— найпо­
ширеніший спосіб резерв­
У разі непередбачуваної ситуації, наприклад дій шкідливо­
ного копіювання.
го програмного забезпечення, можна «відкотитися» до стану
системи з усіма параметрами й файлами на період збереження.
Рис. 2. Резервне копіювання даних
Для цього не обов’язково встановлювати додаткове програмне
6.4. Безпечне зберігання... 119

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


функцію як вбудовану, що дозволить не втратити повністю .FAcronis
* True Image — лідер
всю інформацію. Однак все, що було змінено, навіть за умови серед програм для резервно­
збереження після створення контрольної точки, буде втраче­ го копіювання. Вона дозволяє
но. Це найголовніший недолік такого способу страхування. зберігати файли і папки, роз­
Проте неповне відтворення краще, ніж повна втрата даних. діли диска повністю або ро­
Для роботи з утилітою Відновлення системи необхідно збе­ бити образ розділу з ОС, про­
регти відкриті файли та закрити всі програми; клацнути грамами і конфігурацією. Ці дії
кнопку Пуск, у головному меню вибрати Програми —> Стандарт­ можна налаштувати на автома­
ні -» Системні інструменти (Службові) -» Відновлення системи або
тичне і періодичне виконання.
вибрати відповідну дію на Панелі керування. Якщо ОС пошкоджено, можна
Програми, що стали причиною збоїв, слід видалити за до­
завантажити програму з флеш-
помогою утиліти Програми та засоби, яку запускають із Панелі
накопичувача (або іншого носія)
керування.
й відновити резервну копію.

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

У разі видалення дані фізично залишаються на накопи­


чувані, проте у файловій системі більше не відображаються.
Місце на носії, де містяться ці дані, позначається як вільне
для запису нових даних. Якщо в даний розділ або логічний
Під час інсталювання дані про
диск записати дані, може статися часткове або повне замі­
щення даних, позначених як видалені. Це стосується тексто­ програму додаються до сис­
вих, графічних та мультимедійних даних. темних файлів, реєстру ОС.
Окремі компоненти програм
Просте видалення папки з назвою програми з системного можуть копіюватися до інших
диска є некоректним і може призвести до збоїв у роботі системних папок. Тому щоб ви­
операційної системи та накопичення непотрібних файлів. далити інстальовані програми,
Вибір режиму видалення (деінсталяції) запускає спеціаль­ недостатньо просто видалити
ну програму, яка коректно видаляє всі компоненти програми. файли програми.
Розглянемо алгоритм видалення встановлених програм.
Виконайте команду Пуск -» Параметри -» Система -» Застосунки та мож­
Крок 1
ливості.

Крок 2 У вікні, що з'явилося, виберіть зі списку інстальованих програм потрібну.

Крок 3 Натисніть на кнопку Видалити.

Крок 4 Підтвердьте бажання видалити програму вибором кнопки Продовжити.

Крок 5 Дотримуйтесь вказівок програми деінсталяції.

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

1 Назвіть правила безпечного зберігання даних. 5 Як коректно видалити програму, встановле­


ну на комп'ютері?
2 Коли операційна система потребує відновлення?
6 Чи можна відновити дані, переміщені в пап­
3 Що таке точка відновлення?
ку Кошик, після очищення цієї папки?
4 Яка мета резервного копіювання?
Розділ 7. СТВОРЕННЯ ПЕРСОНАЛЬНОГО
НАВЧАЛЬНОГО СЕРЕДОВИЩА
7.1. Поняття персонального навчального середовища.
Використання інтернет-середовищ для створення
та публікації документів
Пригадайт е, які послуги над ає м ереж а Інт ернет . Я к зберегт и
файл, ст ворений удом а, для перегляду т а редагування в класі?

Завдяки розвитку інформаційних технологій мережа Ін­


LMS — система управління на­ тернет і сучасні мобільні пристрої зв’язку стають усе більш
вчальною діяльністю, яка ви­ доступними.
користовується для розробки,
управління та поширення на­ Інтернет містить сервіси для створення, спільного реда­
вчальних онлайн-матеріалів із гування та обміну документами, створення віртуальних
забезпеченням спільного до­ навчальних груп, має засоби для забезпечення аудіовізу­
ступу. Серед ї ї можливостей: альної комунікації, наприклад для проведення інтернет-
виконання індивідуальних за­ конференцій і мережевих семінарів (вебінарів).
вдань, проектів для організації Спільна навчальна діяльність за допомогою Інтернету здій­
сумісної роботи в малих гру­ снюється за двома напрямками: з використанням систем
пах тощо. управління навчанням (LMS — Learning Menegement System)
та в персональному навчальному середовищі (PLE — Personal
Learning Environments) (ПНС).
Якщо дистанційні курси предметно-орієнтовані (зорієнто­
вані на вивчення одного курсу, циклу курсів), то персональне
навчальне середовище (ПНС) зорієнтоване на особу, яка на­
Прикладом LMS є дистанцій­ вчається.
ні курси, розроблені з вико­
ристанням таких ресурсів, як Персональне навчальне середовище — це інфор­
MOODLE, Black Board, Learning маційне середовище, призначене для індивідуального
Space тощо. використання особою, яка самостійно керує своїм на­
Одним із перших великих вчанням для досягнення визначеної навчальної мети.
центрів дистанційного на­
вчання стала Хан-Академія Типове ПНС охоплює весь набір ресурсів, за допомогою
(h ttp s://b u k i.c o m .u a /vid e o s/). яких можна забезпечити зміст навчання та зробити його про­
Поштовхом до створення стали цес більш наочним, створювати зворотний зв’язок із колега­
відеоуроки її автора Салмана ми та друзями. ПНС має великі можливості для самоосвіти,
Хана, американського виклада­ дозволяє вчитися дистанційно, контролювати свої навчальні
ча й підприємця, які у YouTube
ресурси (змінювати їхню структуру, інтегрувати навчаль­
переглянули мільйони людей.
ні ресурси з різних установ і джерел тощо).
ПНС складають сукупність апаратних засобів, сервісів, які
підтримують роботу над спільним проектом, і програмних за­
собів для навчання. Вважають, що ПНС є результатом розви­
тку Веб 2.0 і його впливу на навчальний процес.
7.1. Поняття персонального... 121

Пригадайт е, які сервіси м а є Веб 2.0. Які м есендж ери


ви знаєт е?

Особливе місце у створенні ПНС займають сервіси Веб 2.0.


Такі сервіси Веб 2.0, як блог, вікі, Delicious, YouTube, зручні
F * ----------------
у використанні та мають властивості (доступність, дружність, Пост — повідомлення блогу
безкоштовність тощо), які дозволяють ефективно застосовувати (містить заголовок, дату публі­
їх у навчальному процесі. кації, зміст). Користувачів, які
ведуть блоги, називають бло-
Блог (від англ. blog, web log) — інтернет-журнал подій,
герами.
інтернет-щоденник, у який регулярно додаються записи
у вигляді тексту, зображень або мультимедіа. Від особисто­ Подкаст (Podcast) — інновацій­
го щоденника відрізняється тим, що до його перегляду ма­ ний спосіб проведення занять
ють доступ читачі, які можуть залишати коментарі. У блозі у формі записаних аудіо- та ві-
передбачена можливість показувати або приховувати певний деофрагментів.
матеріал за бажанням власника блогу.
Створення блогу, його ведення (оновлення) відбувається
за допомогою спеціальних мережевих сервісів, які назива­
ють блог-платформою. Це повністю автоматизований інтер­ -------------------
активний сайт, на якому користувач створює й веде влас­
ний сайт. Крім Prezi, для створення
Створення блогу на блог-платформі є простим і доступним онлайн-презентацій і відео
кожному користувачу процесом, який не передбачає знання використовують такі сервіси,
програмування і вміння створювати сайти. Популярними без­ як Google Slides (є складовою
коштовними блог-платформами є Google Blogger (blogger.com),
Google Docs), PowerPoint Online,
livejournal (livejournal.com) та ін.
YouTube Video Editor, SlideShare
Вікі (WikiWiki) — веб-сайт, структуру і вміст якого корис­ (YouTube для презентацій —
тувачі можуть спільно змінювати за допомогою інструментів, частина Linkedln), Adobe Voice,
які й надаються сайтом. Найбільшим відомим і поширеним Office Sway (онлайн-додаток
вікі-сайтом є Вікіпедія (wikipedia.com). у складі Microsoft Office).
Prezi.com — сервіс для створення презентацій, головною
особливістю яких є будова «хмаринками». Сервіс дуже зруч­
ний у використанні, принципи роботи в його середовищі такі
самі, як і в середовищі офісних систем презентацій.
Delicious (від англ. delicious — чудовий) — сайт, який без­
коштовно надає зареєстрованим користувачам послуги збері­ Професійними платформами
гання й публікації закладок на дібрані з певною метою сто­ є WordPress, Joomla (за xoc-
рінки Всесвітньої мережі. (Про закладки та використання тинг блогу необхідно вноси­
цього сайта для створення закладок ви дізнаєтесь у § 7.3.) ти оплату) тощо. Перевагою
Для створення блогу на блог-платформі Google Blogger Wordpress.com є взаємозв'я­
необхідно мати обліковий запис у Google. Якщо ви маєте зок із програмами соціальних
доступ (обліковий запис) до одного із сервісів Google, то медіасередовищ: YouTube.com,
можете користуватися можливостями всіх інш их сервісів SlideShare.net, Vimeo.com.
Google. Згадаємо, що обліковий запис — це об’єднана сис­ На сайтах Ukr.Media, Ukr.Net,
тема входу, яка дозволяє отримати доступ до різноманітних Yandex.ua дозволяється без­
послуг сервісу. коштовно створити власний
Розглянемо процес створення блоку на сервісі Blogger.com. блог, проте його функціональ­
Для знайомства з можливостями створення блогу виконає­ ність буде зменшеною.
мо завдання (с. 123).
Розділ 7

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


Для розміщення блогу на сер­
меню Макет, у якому вибирають команду Усі стовпці —> Додати
верах є українські безкоштовні
гаджет (рис. 1).
хостинги, які спеціалізуються
на блогах (TopUa — сервери
хостингу знаходяться у Німеч­
чині; Ho.ua, InfiumHost — сер­
вери хостингів знаходяться
в Україні).

Гаджет — додатковий функціо­


нальний засіб, який власник
може розмістити на своєму
блозі (практично, це складова
блогу з визначеними функці­
Рис. 1. Команди меню групи Макет
ями) — сторінки, список по­
силань, мітки, канал, логотип Blogger.com надає також можливість створення онлайн-
тощо. опитування для з’ясування ставлення користувачів до різних
питань. Вікно для створення форм опитування має інтуїтивно
зрозумілий інтерфейс. Розглянемо, які є поля для заповнення
у вікні Налаштування опитування (рис. 2).

; Blogger. IT учням ■Налаштування опитування - Google Chrome - D

І hnp$://vrtvw>blogger.com/rearrarige?blogO=23'i0545709036355722&sectionld=<:rossc
Для введення питання призначено
поле Запитання П Blogger

Налаштування опитування
Для введення варіантів відповідей
призначені поля Відповіді
\ Запитання

Для розміщення додаткового варіанта Відповіді

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


Додати іншу відповідь
видалити
Якщо питання містить кілька
правильних відповідей, необхідно
поставити «галочку» біля команди
Дозволити відвідувачам вибирати
Додати іншу відповідь
кілька відповідей
- • □ Дозволити відвідувачам вибирати кілька
Форма містить поля для фіксування відповідей
дати та часу заповнення форми Дата та нао завершення опитування
відвідувачем
« 20.12.16 2:56

Рис. 2. Вікно форми опитування


7.1. Поняття персонального... 123

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Які види освітніх інтернет-середовищ ви 4 Які особливості має блог?
знаєте?
5 Як створити форму опитування за допомо­
2 Що означає поняття «персональне освітнє
гою інтернет-сервіса?
середовище»?
3 Які інтернет-сервіси використовують в освіті? 6 З'ясуйте, чим блог відрізняється від сайта.

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

1 Перейдіть за посиланням Вікно також містить меню з інструментами


http://www.blogger.com. для роботи команд редагування символів,
2 Виконайте команду Створити блог. У вікні абзаців (рис. 4).
(рис. 3) вкажіть назву блогу, його майбутню 5 Додайте до блогу текст, підберіть і розмі­
адресу в Інтернеті (бажано, щоб адреса мі­ стіть графічне зображення. Виберіть ко­
стила тематику блогу). манду Переглянути, і, якщо вас задоволь­
3 Виберіть шаблон блогу. Натисніть кнопку няє вигляд блогу,— команди Зберегти,
Створити блог. Закрити.
4 Для наповнення сторінки інформацією в ко­ 6 Перейдіть у меню Налаштування, активізуй­
лонці меню виберіть Публікації та активі­ те команду Дописи, коментарі та спільний
зуйте команду Новий допис — у результаті доступ. Налаштуйте доступ до свого блогу.
відкриється вікно редагування, в робочу (У налаштуваннях автоматично створюють­
зону якого можна ввести текст, графічні та ся розділи «Архів блога», «Постійні читачі»,
відеозображення, створити посилання тощо. «Про мене».) Збережіть блог.

Рис. 3. Вікно створення блогу

ІТучням ■Публікація -Vor™ ДОН*:, B* O fts *ycrt a f •* В«л#итипа Пот»ч ч

Н*ЛшС4 Та НТЬЦ. > J » ff* * I a ■* Д. 4*- Мш - Л o J S ' 1= ї= U I 9 . налаштування публікації

Рис. 4. Інструменти меню


Розділ 7

7.2. Організація та планування колективної


діяльності. Використання офісних веб-програм
для створення спільних документів
Чи доводилося вам доопрацьовуват и в класі документ ,
ст ворений уд ом а? Чи брали ви участ ь у колект ивній р о бо т і
зі ст ворення документ ів у програм ах, які входят ь до оф існих
пакет ів? Опишіт ь особливост і ко лект ивно ї робот и.
Для спільного створення й ре­ Ви вже знайомі з сервісами Інтернету, в середовищі яких
дагування файлів існують он- можна створити документ для перегляду іншими особами
лайнові сервіси, наприклад з можливістю залишити в ньому коментарі. Такий документ
Google Docs, Zoho Docs, створюється власником, це може бути одна особа, а може
Microsoft Office 365, Stixy, бути й кілька осіб.
Dabbleboard. Вони дозволяють
створювати текстові документи, Колективною діяльністю є діяльність групи з кількох
електронні таблиці, презентації, осіб, спрямована на отримання результату. Якщо відбува­
обмінюватися ними, можуть ви­ ється колективна діяльність зі створення та опрацюван­
користовуватися як онлайнове ня документів, то такі документи називають спільними.
сховище.
Оскільки файли зберігаються на спеціальних серверах, до­
ступ до цих файлів надається користувачам зі спеціальними
правами доступу (можна або лише передивлятись документи,
або ще й редагувати їх, залишати коментарі, спілкуватись
безпосередньо в документі).
Можливості онлайн-сервісів Доступ до ресурсів сервера та спільне використання про­
для роботи з документами: грамного забезпечення є важливим аспектом колективної
• дозволяє працювати з до­
роботи, адже на комп’ютерах може бути встановлено різні
кументами відразу кільком
версії програм. Це може створити проблеми під час спільного
опрацювання файлів.
особам на рівні доступу до
Розглянемо можливості сервіса Google для колективної ро­
документів
боти з документами різного типу.
• підтримує велику кількість
популярних форматів (на­ Google Документи — безкоштовний онлайн-офіс, який
приклад, DOCX, PDF, ODT, надає послуги створення й опрацювання текстових до­
RTF, TXT, HTML) кументів, таблиць (аналогів електронних таблиць) та
• зберігає історію редагуван­ презентацій, а також інтернет-сервіс хмарного зберіган­
ня, що дозволяє повернути­ ня файлів із функціями файлообміну.
ся на кілька кроків назад (до
Щоб увійти на веб-сторінку за адресою https://docs.google.com,
більш ранньої версії)
необхідно ввести логін і пароль вашого облікового запису
• дозволяє створювати й реда­
в Google. Якщо облікового запису Google немає, то Google про­
гувати документи на Google понує зареєструватися, перейшовши за посиланням Створити
iPhone, IPad і Android обліковий запис, після чого у браузері відкривається вікно
• надає можливість працювати Google Документ з елементами, наведеними на рис. 1.
в режимі офлайн (без Інтер- Зазвичай робоча зона містить документи, з якими користу­
нету); файли доступні в авто­ вач вже працював у сервісі Google. Якщо ж користувач впер­
номному режимі, після під'єд- ше відкрив Google Документ, робоча зона буде порожньою.
нання до мережі автоматич­ Щоб створити новий документ, потрібно скористатися кноп­
но оновлюються на сервері кою створення нового документа (червоною кнопкою зі зна­
ком + у правому нижньому куті робочої зони).
7.2. Організація...

Рядок пошуку Кнопка додатків Google

(у□ afefitee
Головне меню
JS
С
І
а* '
Твпмд
SOttyoe^lKCf-
0 *ив.'.',і.ииЛл.;; \ -rV и ь к ю т ' Q ilSVltW IV a i* A
g \
Zscrr-ts ш м і:* V ; ■-*і і \

І G o o g le Д о к у м ен ти Q. Пошук
Значок
6>t* .с*чосч~ ac*s*'
облікового
Рядок меню
W Ним 1 |иТ*Р"*Т‘ОЛіипцдя ®С * ljrw n 20170 і запису
□ кдогитилм'Чтояуау&Алоля' а . ііїгламлаї о*««п 4 11 лип 1017 р •

3» utwy* Зо дніє

В маки №941 iHttxT-Uirw'Vii* 21 <^00 20170 :



Робоча зона
(І »S0 K~Tt^<T о м ш лщ і н і 2C1S-2016 doe • 21 - « • 20170 і Кнопка
в Лркк*ї МФИнцрміт олхипи» И»ют $>20 Ifr d « • 21 20170 і створення
W Припаї (SO И»т«рчт «» N 19-2016 бос ■ 21 ‘«ес» 2017 а : нового
В Дояучїчт (■*) Н4ІІЙ 21 » « в 2017 р і документа
W 7 Акт псраіірки ra :ciH «Ti.d«i і і C tp 'j и аїж м о 2і ^ ? е г а і 7 р. і

Р ін ш

га в П«.-Л?П17Л Т

Рис. 1. Вікно Google Docs


Роботу з новим документом або редагування вже існуючо­
го документа також можна розпочати за допомогою команд
Сервісом передбачено як ство­
додатку Google-документів: Файл -» Створити -» створити новий
рення нового документа, так
файл або Файл -» Відкрити -> Імпортувати існуючий файл. Після
і завантаження існуючого —
цього слід вибрати команду Завантажити.
Сервіс Google Документ призначено для створення й опра­ сервіс працює з такими типами
цювання текстових документів, таблиць (аналог електронних форматів файлів, як DOC (DOCX),
таблиць) і презентацій. Щоб визначити тип документа, слід XLS (XLSX), ODT, ODS, RTF, CSV,
скористатися кнопкою головного меню з одноіменними коман­ РРТ. Це веб-орієнтоване про­
дами. Головне меню також містить команди налаштування грамне забезпечення, тобто
мови і режиму оновлення документа після його опрацювання воно є програмою, яка працює
в автономному режимі. Але для цього необхідно працювати в рамках веб-браузера без ін­
у браузері Google Chrome. сталяції на комп'ютер кори­
На рис. 2 наведено вікна завантаження режиму роботи стувача. Такі програми назива­
з документами, таблицями або презентаціями відповідно. Всі ються веб-програмами.
додатки містять рядок меню з командами опрацювання доку­
мента вибраного типу.

Рис. 2. Вікна документів


різного типу
Розділ 7

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


нового аркуша вибирають «+» на нижній панелі.
Після створення нового документа (будемо називати доку­
ментом і текстовий файл, і таблицю, і презентацію) Google за­
пропонує встановити спільний доступ до файла, що опрацьо­
вується. У правій частині рядка меню з’являється команда
встановлення режиму доступу. При переході до цієї команди
з’являється вікно Надати доступ іншим користувачам (рис. З, а).
У ньому визначається адреса посилання на документ (рис. З, б)
та налаштовуються права облікових записів користувачів для
спільної роботи (рис. 4): перегляд, редагування тощо.
Зверніть увагу на те, що членам колективу, який працює
над створенням документа, варто надати право редагу­
Рис. 3. Вікно налаштування доступу
вання, а решті користувачів, які знатимуть адресу роз­
міщення документа,— право перегляду.
Для публікації готових робіт в Інтернеті користуються ко­
мандою Файл —>Опублікувати в Інтернеті. Решта команд меню вам
знайомі, оскільки такі самі команди містять офісні програми.
Сервіс Google Документи також дозволяє створювати фор­
ми. Google-форми призначені для створення форм опитуван­
ня, які надсилають передплатникам розсилки або вбудовують
у сторінки сайта. Сервісом передбачено створення статистики
по відповідях у зручній формі.
Розглянемо порядок дій для створення форми за допомогою
Google-cepeicy.
Рис. 4. Область вікна
Приступаючи до роботи, слід вибрати команду Таблиця, а по­
для налаштування прав доступу тім команду Вставити —> Форма — з’являється вікно створення
форми (рис. 5). Якщо в адресному полі браузера набрати docs.
google.com/forms, то відбудеться звернення одразу до сторінки
створення форми. Далі потрібно ввести назву форми в рядок
заголовка і почати роботу з питаннями та відповідями до них.

■ VM kj 4 і З Д О Л К П с ґш уі О ц-.рф*>*\гУіп*ЧГ ; j GKUiTtQ i V o u .
*J і
<- Електронна таблиця без назви

Область введення
заголовка форми ЗАПИТАННЯ ВіДПОвіДі

Нова форма Меню вибору


Область введення
вигляду питання
питання

Вибір типу Кнопки для роботи


відповідей з питаннями: копію­
вання, вилучення
встановлення статусу
Є
обов'язкового
в

Рис. 5. Вікно створення форми сервісом Google


7.2. Організація...

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


вигляду питання: текстове, у вигляді графічного або відео-
зображення. Питання можуть бути розподілені за розділами
(остання команда меню); для додавання нового питання при­
значена кнопка із знаком «+».
Після введення питання відкривають список. Для кожного
питання вибирають тип відповідей, який визначає тип питан­
ня: множинний вибір, текст, текст абзацу, прапорці, шкала,
сітка, дата, час (рис. 6).
Команди, що містяться у правому нижньому куті вікна,
надають можливості копіювання, вилучення та опрацювання
питань.
За потреби питанню можна встановити статус обов’я зко­
Рис. 6. Вибір типу відповідей
вого — після створення форми воно буде позначено червоною
за типом питання
зірочкою. Якщо користувач не вводить відповідь до такого
питання, заповнена форма не надсилається. Також можна пе­
ремішувати варіанти, якщо у формі створюються тести для
широкого кола осіб, які одночасно дають відповіді на пи­
тання.
Створивши форму, її зберігають як таблицю або одразу
розсилають користувачам: після запуску команди Надіслати
з’являється вікно (рис. 7), у поля якого вводять дані.
Меню роботи з таблицями містить пункт Форми, в якому
розміщені команди редагування поточної форми, надсилання
або розміщення на сайті, перегляду відповідей.
Статистику відповідей, у тому числі у вигляді діаграми,
знаходять у формі, а відповіді респондентів — в автоматично
створеній таблиці Google, яку можна зберігати на комп’ютері
Рис. 7. Вікно надсилання форми
як таблицю Excel.

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

1 Поясніть поняття спільного документа та 4 Файли яких типів можна створювати і роз­
сутність колективної роботи з ним. міщувати в Google-документи?
2 Назвіть програми, які зручно використати 5 Як створити форму опитування за допомо­
для колективної роботи. гою сервіса Google Документи?
3 Які можливості має сервіс Google Документи 6 З'ясуйте, чим відрізняється форма блогу від
для організації колективної роботи? Google-форми.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Перейдіть за посиланням у повноекранному режимі — відкриється
https://docs.google.com. звичайне вікно відкриття файлів.
2 Активізуйте кнопку Створити (має вигляд
5 Виберіть необхідний для завантаження
папки в меню налаштування вікна перегля­
файл. Він завантажиться і відкриється для
ду документів).
перегляду та редагування у вікні документів.
3 У вікні Створити в рядку меню виберіть ко­
манду Завантажити. 6 Якщо не плануєте працювати із змістом
4 Скористайтеся командою Виберіть файл файла, закрийте його. Файл буде закачано
з комп'ютера, якщо ви працюєте з вікном у сховище Google.
Розділ 7

7.3. Створення і використання спільних


електронних закладок
Пригадайт е призначення ком анди Закладка (панель
Вст авлення —» група П осилання) у т екст овом у проц есорі
M icro soft Word.

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


В V чи написання твору, доводилося закладати потрібні сторінки
Закладка Перехресне П р и м ітк а книжок. Тому доводилося тримати на столі купу посібників.
посилання Закладки, створені в електронному вигляді (див. рисунок),
Посилання Примітки відіграють таку саму роль.
Персональне навчальне середовище призначене для навчан­
Д о д ав ан н я зак л ад ки
ня та розвитку особи, тож у ньому доцільно мати закладки
Закладки можна на джерела з тематики середовища.
пов'язати з
гІперпосиланнями Закладкою (інколи називають вибране) є посилання
для переходу до на необхідне джерело, виконане як запис, який скла­
відповідного місця є
дається з адреси сайта, його назви, додаткових пара­
документі.
метрів. Додатковими параметрами є короткий опис та
Ось що потрібно мітки (ключові слова).
зробити:
1) Виділіть вміст, до Закладки можна створювати в браузері для збереження по­
якого має силань на часто відвідувані сайти чи веб-сторінки. Всі ство­
здійснюватися рені закладки розташовано у відповідному рядку браузера.
перехід. Для створення та використання закладок користувач має ви­
2) Вставте закладку. конати мінімум операцій. Сервіси, які використовуються для
3) Додайте ПНС, для колективної роботи з документами мають послуги
посилання, яке
вказує на закладку.
створення та опрацювання (оновлення, вилучення) закладок.
Інколи виникає потреба створити посилання не на весь до­
О Д о к л а д н іш е кумент (він може бути досить об’ємним), а на його частину, або
перейти з одного місця документа в інше без прокручування.
Розглянемо можливості сервіса Google щодо створення та
Додавання закладки в MS Word
використання закладок у текстовому документі (для таблиць
і презентацій функція створення закладок відсутня).

Приклад. Як результат, документ міститиме прапо­


1) Створення закладки рець на полі.
Створюємо або відкриваємо документ у се­ Закладка має сенс, якщо користувач може
редовищі Google (попередньо перейшовши за переглянути вміст, позначений закладкою.
посиланням https://docs.google.com). Для створення посилання на закладку здій­
Встановлюємо вказівник миші в місце для снюємо перехід встановленням посилання на
закладки або виділяємо фрагмент тексту, неї з потрібного місця — у документі виді­
який і буде закладкою. літь текст, який і буде посиланням. Із пункту
Звертаємося до пункту меню Вставити та меню Вставити вибираємо команду Посилання,
активізуємо команду Закладки — з’явиться а у вікні Закладки, що відкриється,— буде по­
вікно встановлення закладок. казано всі встановлені закладки (і не тільки
Вибираємо в цьому вікні команду Посилан­ з поточного документа). Далі вибираємо по­
ня та клацаємо кнопку ОК. трібну закладку і команду Застосувати.
7.3. Створення...

2) Використання закладок Якщо під час колективної роботи певний


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

Міткою є окремі ключові слова або фрази, які ви­


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

Як ми вже говорили, у звичайній книжці закладкою є па­


перова смужка. Вона вкладається в певне місце книжки і по­
легшує пошук потрібної сторінки. Мітка в електронному до­
кументі обов’язково має назву, по суті є посиланням на місце,
Рис. 1 до завдання
для якого створювалася. Сайт може містити кілька сторінок,
тематично пов’язаних між собою, які доцільно позначити міт­ Усі МІТКИ ▼

ками з однаковою назвою. У разі звернення до мітки з певною Усі МІТКИ


назвою будуть відкриті всі публікації сайта з такою міткою.
бази даних (1)
Наприклад, блог містить публікації, серед міток яких є од­
накові. Під час переглядання публікації під її назвою будуть інформаційні технології (2)
зазначені мітки. Після активування однієї з них на сторінці олімпіада (2)
сайта з’являться всі публікації з такою міткою.
презентації (1)
Для ознайомлення з алгоритмом створення й перегляду
міток виконайте пропоноване завдання. Рис. 2 до завдання

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Відкрийте створений вами блог. Створіть 4 С творіть та к сам о ще дві порожні публі­
порожню публікацію: виконайте команду кації з назвам и Публікація 2 і Публіка­
Новий допис, уведіть назву публікації ція 3 з м іткам и: інформаційні техн о л о гії,
Публікація 1. олім піада та інформаційні техн о л о гії, п р е­
2 У вікні Налаштування публікації виберіть зен тац ії відповідно. П о верн іться у блог
команду Мітки (див. рис. 1 до завдання). на сто р ін к у Публікації.

3 У полі для введення міток уведіть клю­ 5 Скористайтеся списком Усі мітки, щоб по­
чове слово, яке відбиває тему публіка­ бачити, скільки публікацій відповідають темі
ції, наприклад олімпіада, бази даних. На тієї чи іншої мітки (див. рис. 2 до завдання).
підтвердження операції створення міток 6 Перейдіть за міткою Олімпіади — на сто­
рінці Публікації буде показано тільки ті пу­
виберіть команду Готово.
блікації, які й позначено міткою Олімпіади.

З а п и та н н я д л я п е р е в ір к и з н а н ь
У)
1 Поясніть поняття закладки. 4 Поясніть, для яких об'єктів можна створити
закладку в Google-документі.
2 Поясніть поняття мітки.
5 Як створити закладку за допомогою сервіса
3 Назвіть сервіс Інтернету, створений для фор­ Google?
мування системи закладок. 6 З'ясуйте, як створюють бібліотеку закладок.
Розділ 7

7.4. Канали новин

Напевно, є сайт и, які ви періодично відвідуєте, чит аєт е


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

Файл формату XML (англ. extensible


Markup Language — це розширена Основою кожного сайта є його контент — статті, новини,
мова розмітки) — звичайний коментарі, який він періодично оновлюється. Особам, які ці­
текстовий файл, у якому за до­ кавляться тематикою певних сайтів, необхідно слідкувати за
помогою спеціальних кодів, які оновленням інформації на них. Щоб уникнути періодичного
називаються тегами (іноді мар­ відвідування сайта з метою відслідковування новин, є сенс
керами), визначається струк­ підписатись на канал новин.
тура документа та його зміст.
XML-файл можна редагувати Каналом новин є формат подання оновлених даних
будь-яким тестовим процесором
і опрацьовувати стандартними
Ф сайта (XML-формат даних) з визначеної тематики, за
допомогою якого відслідковують оновлення інформа­
XML-аналізаторами. Прикладами
формату XML є формати XSLT, ції на сайті.
XAML, XUL, MathML, GraphML,
XHTML, SVG, XML Schema. Канал новин складається із посилань на оновлену на пев­
ному сайті інформацію. Він містить заголовок, анонс на пуб­
лікацію чи саму публікацію (залежить від послуг, які на­
даються спеціальними програмами), дані автора каналу або
сайта.
Щоб автоматично отримувати, наприклад, оновлені нови­
ни улюбленого сайта, здійснюють підписання на його нови­
ни. Для цього потрібно знайти на цьому сайті посилання на
RSS-канал, яке зазвичай подається у вигляді піктограми —
це загальноприйняте візуальне позначення RSS (рис. 1).
Рис. 1. Піктограма канала новин
RSS — це множина XML-форматів, яку використову­
ють для публікації та постачання інформації, що часто
оновлюється.

Документ у стандарті RSS називають RSS-каналом новин


(RSS-каналом) або RSS-стрічкою (стрічкою, веб-стрічкою).
Багато сучасних браузерів, поштових клієнтів і програм
миттєвого обміну повідомленнями вміють працювати з RSS-
RSS (англ. Rich Site Summary —
каналами. Процес підписання на RSS-канал передбачає та­
RSS 0.9x) у перекладі означає
кож отримання повідомлень про оновлені дані на поштову
збагачене зведення сайта;
скриньку.
Really Simple Syndication —
Канали новин опрацьовуються спеціальними програма­
дуже просте отримання інфор­
ми — RSS-агрегаторами. Агрегаторами можуть бути веб-
мації. Є й інші визначення: RDF
сервіси — онлайн-агрегатори і програми на локальному ком­
Site Summary (RSS 0.9 и 1.0) — п’ютері — локальні агрегатори.
зведення сайта із застосуван­ Локальні агрегатори вбудовані у браузери, поштовий сервіс
ням інфраструктури опису ре­ або можуть бути окремим додатком. Вони мають відслідкову­
сурсів; Really Simple Syndication вати оновлення на сайтах. Якщо інформація на сайті онови­
(RSS 2.x) — дуже просте роз- лась, агрегатор має подати анонс або повідомлення (залежно
повсюдження/поширення. від налаштувань).
7.4. Канали новин

Контент-агрегатором є програма або сервіс, що виконує


завдання накопичення інформації з різних сайтів, форумів,
блогів в одне джерело.
Онлайн-агрегатори нагадують поштові сервіси: в одному ------------------------
із сервісів необхідно створити обліковий запис, і всі кана­ У загальному розумінні агрега-
ли новин будуть надсилатися на поштову адресу облікового тор (від лат. Aggregatio — на­
запису користувача. Отже, оновлення онлайнового матеріа­ копичення) — система-посе-
лу, який цікавить користувача, відбуватиметься незалежно редник, яка об'єднує роботу
від того, працює користувач за комп’ютером, під’єднаним з кількома об'єктами в одному
до мережі, чи ні. Перевірити свою поштову скриньку мож­ каналі.
на в будь-який час на будь-якому пристрої, під’єднаному
до мережі.
RSS-канал має універсальні характеристики для об’єднання
матеріалу. В його основі може бути будь-який мережевий
ресурс: сайт, блог, форум, прайс-лист мережевого магазину
тощо. Кількість каналів на одному сайті не обмежується.
Переваги використання RSS-каналів: Atom — формат, заснований
• швидке ознайомлення зі змінами змісту сайта без від­
на XML, з'явився пізніше RSS
відування самого сайта;
і враховував багато недоліків
• достатність одного RSS-агрегатора для підписки на без­
згаданого формату.
ліч каналів різних сайтів;
• миттєве розповсюдження інформації для підписувачів на
RSS-канал без анонсів електронною поштою або в інший
спосіб.
Є дуже популярні веб-агрегатори, що являють собою сай­
ти для збирання та відображення RSS-каналів. Додати RSS-
канал новин можна в середовищі каталогу каналів за поси­ <- X фtyi’Ken.wA'RSS/
ланням http://rssnews.org.ua/. ::: mburv | S2NCP“!< To' sa» .. 0 “tx&J .*.»%»* ru/м: j *Пї//:е*.<т«е

Сервіс має такі можливості: І ’и ж д е н ь и а


• компоновка найбільш популярних каналів новин (за по­
Прк-рюоа Пр«м
пулярністю, за певними рубриками тощо);
• додавання власного каналу в середовище сервісу; RSS-стрічки Українського тижня
• трансляція каналів — відображення каналів на своєму Q Усі ноаннії Українського тими»

сайті, що дозволяє одразу відслідковувати оновлення. а Оагпнапм; кмини Ухміисідаго тями


RSS-канал можна налагодити в інтернет-браузері. Пусканії Українського
Щоб підписатися на канал новин певного сайта, необхід­ 0 Фотогалереи Українського тижня
но знайти посилання на RSS-канал на цьому сайті — зазви­ т Усі матеріали Українського тижня
чай воно має вигляд невеликої піктограми. Посилання на
RSS-канал також може виглядати як звичайне текстове по­ Рис. 2. Перелік RSS-стрічок
силання (рис. 2). При переході за посиланням необхідно від­ сайта електронної версії газети
слідковувати команди сайта, оскільки їх налаштування для Український тиждень
окремих сайтів різні.

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

1 Поясніть поняття каналу новин. 4 Поясніть різницю між локальним та онлай-


новим агрегаторами.
2 Поясніть призначення каналу новин.
5 Які можливості має RSS-агрегатор?
3 Як ще називають RSS-канали?
6 Назвіть можливості каталогу каналів новин
Наведіть приклад.
Розділ 7

7.5. Синхронізація даних

Назвіть засоби збереж ення даних. П ом іркуйт е над сит уацією :


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

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


двох і навіть більше комп’ютерах, що спонукає до додаткової
Термін «синхронізація» (від роботи з файлами. Для відстеження змін у файлах і папках
грец. synchronos — одночас­ необхідно копіювати їх з одного комп’ютера на інший. Щоб
ний) використовується у двох уникнути такої роботи, для основних папок створюють за­
значеннях: синхронізація про­ вдання синхронізації і запускають в автоматичному режимі,
цесів та/або синхронізація наприклад коли вмикають комп’ютер. Синхронізація мож­
даних. лива для комп’ютерів, з’єднаних мережею (локальною чи Ін-
тернетом).

Синхронізація даних — процес перевірки та реаліза­


ції ідентичності вибраних даних на різних пристроях.

Наприклад, створений текстовий документ міститься


у файлах на кількох комп’ютерах, під’єднаних до сервісу.
Синхронізація процесів є ре­ Якщо на одному з комп’ютерів у документ увести зміни, то
жимом взаємодії кількох про­ на інших комп’ютерах відбудеться оновлення змісту відпо­
цесів, при якому певні стадії відних файлів. Також синхронізація допоможе зберегти ваші
різних процесів відбуваються дані, якщо файли вашого комп’ютера пошкодить вірус.
у визначеному порядку або Під’єднання комп’ютерів або інших пристроїв (планшетів,
одночасно. смартфонів тощо) до сервісу синхронізації означає викорис­
тання на пристроях відповідного інтернет-сервісу, який пе­
редбачає встановлення на пристроях спеціальних програм.
Програма створить папку, в якій і будуть зберігатись файли
для синхронізації. Файли також будуть завантажені у схо­
вище інтернет-сервісу, до папки з файлами буде надано до­
ступ із будь-якого пристрою за умови під’єднання пристрою
Приклади сайтів із програма­ до Інтернету.
ми синхронізації:
Завдання синхронізації:
http://www.cordes-dev.com/
• перевірка ідентичності даних на кількох комп’ютерах
(програма Backer 6.4) (робочому і домашньому, ноутбуку і стаціонарному тощо);
http://www.2brightsparks. • перевірка ідентичності вмісту робочих папок на локаль­
com/ (різні версії програми ному комп’ютері з оновленням сайта;
SyncBack) • створення резервних копій даних — копіювання даних,
які не змінювались, не відбувається;
http://www.smsync.com/
(SmartSync Pro)
• порівняння даних (програми синхронізації в процесі пе­
ревірки даних виявлять і повідомлять про файли, в яких
http://www.websynchronizer. не збігаються дані);
com/ (WebSynchronizer) • обмін файлами з іншими особами за наданим поси­
ланням.
7.5. Синхронізація даних... 133

Як уже зазначалося, для здійснення синхронізації на своє­


му пристрої небхідно встановити спеціальні програми.
Всі додатки Google мають функцію автоматичної син­
хронізації для облікового запису користувача.
Розглянемо алгоритм установлення синхронізації.

Крок 1 Запустіть сервіс Google. Перейдіть у вікно вашого сховища на Google.

Крок 2 Виберіть з меню налаштувань команду синхронізації.

Налаштуйте синхронізацію та підтвердьте вибір — дані будуть


Крок 3
синхронізовані.
Для ознайомленя з порядком синхронізації даних на Google
Диску виконайте завдання та розгляньте алгоритм скасуван­
ня синхронізації даних з облікового запису.
Алгоритм скасування синхронізації даних

Крок 1 У новій вкладці в браузері Chrome відкрийте вікно Налаштування.

Крок 2 Перейдіть за командою Інформаційна панель Google.

Крок 3 У вікні, що відкрилося, натисніть Скинути синхронізацію.

Після цього синхронізовані дані будуть видалені з обліко­


вого запису, тобто на локальному комп’ютері вони залишать­
ся, але перейти до них з інших пристроїв, під’єднаних до Ін-
тернету, буде неможливо.
) З а п и та н н я д л я п е р е в ір к и з н а н ь
І
1 Поясніть поняття синхронізації даних. 4 Яку локалізацію мають дані, що синхроні­
2 Навіщо використовують синхронізацію да­ зують?
них? 5 Як здійснити синхронізацію даних?
3 Поясніть, які завдання вирішуються синхроні­ 6 Як скасувати для даних їхню синхронізацію
зацією даних. в обліковому записі?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Увійдіть у сервіс Google Документи. У меню 5 Встановіть параметри синхронізації:
сервіса зверніться до команди запуска влас­ • в разі потреби синхронізування всіх об'єк­
ного диску — в робочій зоні будуть відобра­ тів, виберіть команду Синхронізувати всі
жені ваші файли та папки, збережені в хмар­ об'єкти;
ному середовищі (або увійдіть у ваш диск
• для синхронізування тільки вибраних об'єк­
на Google сервісі: https://drive.google.com).
тів активізуйте відповідні команди (кла­
2 Розкрийте меню браузера — після адресно­ цанням по маркеру команди встановіть
го рядка розташована кнопка меню команд. прапорець або перемістіть перемикач
3 Виберіть команду Налаштування — відкри­ у положення ВКЛЮЧЕНО для різних версій
ється вікно налаштувань. Windows).
4 Виберіть команду Параметри синхроніза­
6 У розділі Параметри шифрування виберіть
ції — відкриється вікно налаштування па­
спосіб захисту даних.
раметрів синхронізації.
Розділ 7

7.6. Етапи створення веб-сторінок. Конструювання


сайтів. Поняття мови розмітки гіпертексту
Який докум ент називаю т ь сайт ом ? Яка послуга Інт ернет у
дозволяє переглядат и сайт и? Чи однакове значення маю т ь
понят т я веб-ст орінки т а сайт а? Поясніт ь понят т я
хост ингу.

Створення сайта складається з кількох етапів (рис. 1) і по­


чинається з аналізу його тематики, аудиторії для перегляду
й використання та планування його змісту та структури. Не­
Етапи створення сайта обхідно визначити, які розділи повинен містити сайт, на яких
сторінках має бути той чи інший розділ, якою буде навігація
и Загальне планування по сайту. Визначають також кількість сторінок сайта та наві­
гацію між ними.
Сайти поділяють на сайти з лінійною та ієрархічною струк­
II Планування структури турою — на рис. 2 сторінки визначаються блоками, а навіга­
ція — стрілками між ними. Також є сайти з довільною струк­
III Розробка дизайну та плану­ турою, на яких навігація здійснюється в довільному порядку.
вання макета сторінок Сайтом з довільною структурою є, наприклад, Вікіпедія.
Дизайн сайта має відповідати його тематиці, складу ауди­
IV Конструювання торії, на яку розраховано матеріал. Після визначення струк­
тури сайта та оформлення його сторінок необхідно визначити­
ся з розміщенням матеріалу та приступити до конструюван­
щ Хостинг
ня сайтів, яке здійснюють за допомогою мови розмітки гіпер­
тексту HTML або з використанням програм автоматизованого
Рис. 1. Основні етапи створення створення сайтів.
сайта
Мова розмітки гіпертексту HTML — набір вказівок
(тегів), які браузер інтерпретує для відтворення сторі­
нок сайта у своєму вікні.

Для написання тегів можна скористатися текстовим редак­


тором, але зберегти файл із розширення .htm, щоб він відкри­
вався браузером. Для створення інтерактивності сайта вико­
ристовують такі мови програмування, як Java Script, РНР.
а б
Створення сайтів із прямим указанням тегів HTML, кодів
Рис. 2. Лінійна (а) та ієрархічна (б) Java Script, РНР називають конструюванням сайтів вручну.
структури сайтів Існують спеціальні середовища для створення сайтів, які
надають можливість створювати сайти звичайним користу­
вачам і роблять їхню роботу зручною. Адже автоматизоване
створення сайтів не вимагає досконалих знань тегів (прикла­
ди програм Microsoft FrontPage, DreamWeaver (Macromedia)).
Приклад сайта з лінійною Створення сайтів за допомогою спеціальних програм нази­
структурою — сайт навчання вають автоматизованим конструюванням сайтів.
певного курсу; приклад сайта Програми для створення сайтів містять готові шаблони,
з ієрархічною структурою — складові яких розташовують на сторінках сайта, їх наповню­
сайт із каталогами джерел, впо­ ють потрібного інформацією. Такі програми встановлюють на
рядкованих за тематикою. локальному комп’ютері — для конструювання сайта Інтер-
нет не потрібен. Існують інтернет-сервіси, які дозволяють
7.6. Етапи створення.

організувати онлайн-роботу зі створення сайта, вони органі­


зовують створення сайта в середовищі — системі управління
веб-контентом, наданому платними або безкоштовними сер­ HTML (HyperText Markup Langu­
вісними службами. age) мова розмітки гіпертексту.
Онлайн-сервіси надають послуги створення сайта і супро­ Для перегляду тегів будь-якої
водження їх у подальшому. завантаженої в браузер сторін­
Перевагами онлайн-сервісів є: ки виходять у меню браузера
• конструювання сайта не потребує досконалого знання і використовують команду Інші
мови тегів і додаткових мов програмування; інструменти — Інструменти
• наявність готових шаблонів; розробника. У результаті зона
• оперативна публікація сторінок; показу сайта буде розділена
• можливість редагування в режимі онлайн; на дві: в одній сайт, а в другій
• зручний інтерфейс. теги створення цього сайта.
Ознайомимося з алгоритмом створення сайта за допомо­
гою інтернет-сервісів.
Увійдіть у свій обліковий запис на сервісі або зареєструйтесь, якщо обліко­
Крок 1
вий запис відсутній.

Крок 2 Виберіть ім'я сайта та визначте шаблон його оформлення.

Крок 3 Створіть сторінки сайта та систему навігації.


•........................... •
........................... .
Крок 4 Заповніть сторінки сайта інформаційними матеріалами.
L........................

Процес створення сайта в режимі онлайн розглянемо на


прикладі сервіса Google.

*
Приклад. Переходимо за посиланням https:// На початку роботи над сайтом йому необ­
sites.google.com/; вводимо логін і пароль вашого хідно дати назву. Для цього у вікні створення
облікового запису, після чого відкриється вікно сайтів є спеціальне поле. Одночасно в автома­
створення сайтів. Далі після запуску команди тичному режимі в рядку адреси сайта буде
Створити вибираємо режим створення сайтів, запропонована URL-адреса головної сторінки
наприклад Створити в новій версії (а після вибо­ сайта: https://sites.google.com/site/... (тут ... —
ру команди Створити в класичній версії буде за­ назва сайта). Якщо ви надали назву сайта ки­
пропоновано вибрати шаблон сайта). рилицею, то зробіть зміни в адресі сайта —
Відкриється вікно, яке містить зону складо­ вона складається з літер латиниці та цифр.
вих сайта, які необхідно заповнити інформа­ Заповнення необхідних полів створення сайта
цією, та рядок меню з командами: Відмови та підтвердьте командою Створити. У вікні браузера
повернення операцій, Попередній перегляд, Дода­ відкриється домашня сторінка сайта з назвою,
ти редакторів (зазначені команди подані пікто­ панеллю навігації сайта із заголовком «До­
грамами), Опублікувати, Додати, Сторінки, Теми. машня сторінка». Панель навігації складається
Назви команд вказують на їх функціональне з двох пунктів (Домашня сторінка та Карта сайта,
призначення. Командою Додати редакторів можна яка містить посилання на Домашню сторінку).
встановити колективний режим створення сай­ Для створення нових сторінок сайта та на­
та. Команда Додати призначена для додавання повнення їх інформацією користуються ко­
на сторінки сайта тексту, графічного зображен­ мандами рядка меню. У процесі створення
ня, матеріалу, розміщеного за посиланням із за­ сайта варто використовувати команду пере­
значенням адреси URL або в хмарному сховищі. гляду, щоб знати, як буде виглядати сторінка.
Розділ 7

ТХ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Назвіть етапи створення сайтів. 5 Порівняйте поняття веб-сторінки та сайта,
2 За допомогою якої мови створюють сайти? поясніть їх різницю.
3 Як переглянути HTML-теги, за допомогою 6 Поясніть сутність поняття хостингу. Чи по­
яких створено сайт? трібен хостинг для сайтів, створених у се­
редовищі будь-якого онлайн-сервіса?
4 Назвіть переваги використання онлайн-сер-
вісів для створення сайтів.

Практична робота № 14
Тема. Офісні веб-програми для створення спільних документів. Опитування з викори­
станням онлайн-форм.
Завдання: створити форму для проведення онлайн-опитування на тему «Історія розвитку
обчислювальної техніки».
Обладнання: комп'ютер, під'єднаний до мережі Інтернет, обліковий запис у сервісі Google, файл
із фотографією Глушкова В. М.
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.
1 Перейдіть за посиланням Глушкова В. М. Виберіть тип відпові­
docs.google.com/forms — відкриється вікно ді Прапорці та вставте 6 варіантів відпо­
форм сервісу. (Якщо ви створюєте форму відей — обов’язково мають бути Глуш-
не вперше, в робочій зоні будуть створені ков В. М.; Піонер комп’ютерної техніки;
раніше форми.) Засновник інформатики в Україні.
2 Запустіть команду створення нової форми 8 Додайте ще три питання з різними варі­
(кнопка із знаком «+»). антами відповідей на власний розсуд.
3 У вікні, що відкрилось, у поле Форма без 9 Додайте питання Дата опитування, ви­
назви введіть назву форми «Історія розвит­ беріть тип відповіді Дата.
ку обчислювальної техніки». 10 Перейдіть до налаштування форми — ви­
У поле Запитання без назви введіть прізви­ користайте іконку налаштування в ряд­
ще, клас учня. ку меню і виберіть команду Презентація;
4 Виберіть тип відповіді — Абзац. поставте прапорець біля команди Пере­
мішати запитання. Виберіть команду Збе­
У поле Запитання без назви введіть питан­
регти.
ня Який рік вважають початком меха­
нічного періоду розвитку обчислювальної 11 Поверніться до вікна форм за допомогою
техніки. стрілочки в лівому верхньому куті вікна.
Примітка. У процесі створення форми
5 Виберіть тип відповіді — 3 короткими від­ в нижньому правому куті вікна є знак «?»
повідями. для переходу до довідкової системи. Ско­
6 Додайте питання — використайте знак + ристайтесь довідкою, щоб дізнатись, як
у меню праворуч від бланка форми. вставляти відеофрагмент у форму.
Виберіть прізвище автора аналітичної ма­ 12 Запустіть форму декілька разів, перевірте
шини. Виберіть тип питання: 3 варіантами її роботу. Покажіть роботу вчителеві.
відповіді та вставте чотири варіанти відпо­
Зробіть висновки: чому питання подають­
відей (один із них — Беббідж).
ся щоразу в різному порядку; у яких
7 Уведіть нове питання Хто зображений випадках недоцільно змінювати порядок
на фото і вставте з файла фотографію показу запитань, наведіть приклади.
Практична робота № 15 137

Практична робота № 15
Тема. Конструювання сайтів з використанням онлайн-систем.
Завдання: створити сайт на задану тему (наприклад, про життя вашого класу),
Обладнання: комп'ютер, під'єднаний до мережі Інтернет, обліковий запис у сервісі Google, фай­
ли з фотографіями зі шкільного життя.

Хід роботи

Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Перейдіть за посиланням 9 Перейдіть до перегляду сторінки — вона


https://sites.google.com — відкриється вікно порожня, містить тільки назву та панель
перегляду та створення сайтів у сервісі навігації. Перевірте, як працює навігація.
Google. Закрийте режим перегляду. У правій час­
Увійдіть у свій обліковий запис на сер­ тині показано перелік сторінок.
вісі Google — відкривається вікно сайтів 10 Перейдіть до домашньої сторінки і за до­
на Google. помогою команд меню Додати, заповніть
Перейдіть до режиму створення сайта — сторінку описом матеріалів, які буде роз­
натисніть кнопку Створити й у списку ви­ міщено на сторінках сайта.
беріть команду У класичній версії.
11 Заповніть сторінку, присвячену подіям
У вікні, що відкрилось:
у вашому закладі (Клас і події у школі),
1 ) виберіть шаблон сайта на власний розсуд; в яких брав участь ваш клас. Виберіть
2) уведіть назву сайта (Життя нашого класу); шаблон сторінки на власний розсуд. Роз­
3) уведіть адресу сайта; містіть фотографії на сторінці за темати­
кою подій.
4) виберіть тему оформлення сайта.
Підтвердите, що ви не робот, надайте від­ 12 Створіть сторінку, присвячену подорожам
повіді у вікні, що відкриється; виберіть вашого класу або окремих осіб. Додайте
команду Створити. фотографії з подорожей, якщо вони існу­
ють, а також знайдіть в Інтернеті мате­
Виберіть команду Створити сайт (одна сто­
ріал про місця подорожей та додайте на
рінка сайта створена — зазвичай вона на­
сторінку.
зивається головною або домашньою).
За допомогою головного меню перейдіть 13 Повідомте учителю URL-адресу вашого
до свого сайта. Виконайте команду Сторін­ сайта.
ки для створення нової сторінки сайта.
Зробіть висновки: чи була б у вас можли­
Уведіть назву сторінки у відповідне поле
(наприклад, Клас і події у школі), під­ вість за час, витрачений на створення сай­
та, створити сайт з використанням мови
твердите введення за допомогою команди
Готово. розмітки HTML. Відповідь обґрунтуйте.
Розділ 8. МОДЕЛЮВАННЯ
8.1. Поняття моделі та моделювання

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


фізики і географії. Чи д оводилося вам сам ост ійно розроблят и
м оделі? Я кі основні д ії при цьом у ви виконували?

М одель (від латин, modulus — міра, зразок) — це штуч­


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

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


схеми, фотографії, словесного опису, математичних формул
тощо. Наприклад, для визначення маршруту поїздки в метро
достатньо мати схему розташування станцій метрополітену,
яка є його моделлю. Для початкового ознайомлення з архі­
тектурою Києво-Печерської лаври не обов’язково їхати до са­
мої лаври, це можна зробити за допомогою фотографій, схем,
макетів тощо, які також є моделями лаври. Площу земельної
ділянки фермерського господарства не обов’язково вимірюва­
ти за допомогою, наприклад, рулетки безпосередньо на полі,
її можна обчислити за допомогою відповідних математичних
формул. Людина, яка знає музичні ноти, може мати уявлен­
ня про симфонію № 9 Людвіга ван Бетховена, не чуючи саму
симфонію, а шляхом ознайомлення з відповідними нотами.
Учень отримує перше уявлення про земну кулю за допомогою
глобуса (рис. 1 , а -в).

Моделі особливо корисні, коли досліджуваний об'єкт


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

Початковий варіант моделі для будь-якого об'єкта


завжди виникає у свідомості людини. Потім модель
може поступово змінюватися, удосконалю ватися і на­
бувати різних форм. Наприклад, архітектор спочатку
в створю є модель будинку у своїй свідомості, потім він
робить ескіз будинку на папері. Далі може бути ство ­
Рис. 1. Моделі земної кулі (а), рений макет і проект будинку. При цьому на всіх ета­
космічного корабля (б) і Києво-
пах один вид моделі доповнює інші й впливає на їх
Печерської лаври (в)
удосконалення.
8.1. Поняття моделі...
Часто ми навіть не уявляємо, що наше життя пов’язане
з розробкою, вивченням, дослідженням та аналізом моделей.
У повсякденні ми не згадуємо, що наша діяльність часто здій­
снюється завдяки створеній у нашій свідомості моделі. У кра­
щому випадку ми говоримо, що діємо згідно з розробленим
планом, який фактично і є одним із видів моделі. Наприклад,
виконуючи кидок баскетбольного м’яча в кошик із деякої точ­
ки майданчика, ми свідомо обираємо кут, напрям і силу його
кидка саме тому, що попередньо створили модель цієї дії.
Будь-який об’єкт може мати модель. Об’єктом є цілісна
частина навколишнього світу. Об’єктами є не лише предмети
та явища матеріального світу, але й поняття, які створюють
і використовують люди під час спілкування, наприклад сус­
пільство, освіта, економіка.
Модель завжди розробляють із конкретною метою. Напри­
клад, перш ніж побудувати літак, конструктор розробляє де­ Основні цілі
кілька його моделей, кожну з яких досліджують у конкрет­ створення моделі
них умовах. Ці результати враховують у процесі конструю­
вання реального літака. На початку забудови, наприклад, мі­ показати, який вигляд
крорайону міста архітектори розробляють його макет, тобто матиме об'єкт, якого
модель, до якої після цього вносяться необхідні зміни. Отже, реально ще не існує,
завдяки створеним моделям вивчають і досліджують реальні й обговорити його
об’єкти, а на основі даних, отриманих у процесі дослідження у певному колективі
моделі, можна детальніше пізнати сутність оригіналу, тобто
реально існуючого об’єкта або того, що розробляється. Основ­
ні цілі створення моделі наведено на рис. 2. дослідити на моделі
Кожен об’єкт має ім’я (назву) і характеризується певними поведінку об'єкта, якщо
параметрами. Наприклад, море має максимальну глибину, дослідження оригіналу
площу, температуру води тощо. Футболіст має певний зріст, взагалі неможливе,
масу, йому притаманні певні професійні якості. небезпечне або дорого
Серед багатьох параметрів об’єкта є головні, які визначають коштує
його найсуттєвіші властивості. Наприклад, для комп’ютера
такими параметрами є тактова частота процесора, ємність
оперативної пам’яті, довжина діагоналі та роздільна здатність навчитися керувати
монітора, ємність вінчестера. Кількість головних параметрів реальним об'єктом
міститься у межах від одиниць до кількох десятків. Чим
більше параметрів об’єкта відомо, тим точніше його характе­
ристика. Але не завжди відомі всі параметри об’єкта. Для ви­ Рис. 2. Цілі створення моделі
значення деяких із них потрібен тривалий час і певні умови.
Наприклад, багато параметрів об’єкта Місяць були визначені
лише після спеціальних досліджень.
Кожний об’єкт існує в певних умовах. Наприклад, метал
у твердому стані перебуває лише за певної температури; риба
не може існувати без води, людина — без повітря.
Над об’єктами можуть виконуватися певні дії, або сам
об’єкт може виконувати їх. Наприклад, людина може спа­
ти, грати в баскетбол, писати, читати, керувати автомобілем
тощо. Літак може стояти на землі, летіти горизонтально,
йти на посадку тощо. Отже, об’єкт — це частина довкілля,
що може розглядатися як єдине ціле. Об’єкт характеризу­
ється назвою, параметрами і діями, які над ним можна ви­
конати.
Розділ 8

Модель може розроблятися не тільки для матеріальних


об'єктів, але й для процесів і явищ.
Моделі процесів можуть розроблятися для матеріальних
об’єктів, наприклад модель плавлення металу в доменній
печі, модель ковзання вантажу з похилої поверхні, модель
розповсюдження морської хвилі, а також моделі для суспіль­
них, економічних та інших процесів. Приміром, існують мо­
делі економічного розвитку підприємства, галузі, держави,
модель розвитку суспільства протягом певного періоду тощо.
На рис. З зображена модель ліній магнітного поля.
Приклади моделей явищ: модель землетрусу, яка дозволяє
оцінити його наслідки і визначити технічні вимоги до будів­
ництва споруд; модель руху циклонів, яка дозволяє зробити
прогноз погоди на певний період; модель цунамі (рис. 4), що
дозволить попередити населення про загрозу.
Кожен об’єкт, процес або явище можуть мати декілька різ­
Рис. 3. Модель ліній магнітного поля них моделей. Конкретний тип моделі визначається не тільки
метою її створення, але й засобами, які для цього викорис­
товуються. Наприклад, модель земної кулі може бути виго­
товлена у вигляді глобуса, створеного за допомогою картону,
клею і фарби. Вона може також бути створена на екрані мо­
нітора комп’ютера за допомогою графічного редактора.
З описаного слідує, що поняття моделі досить велике за
обсягом. Воно охоплює майже всі сторони людської діяль­
ності, тому однозначного тлумачення цього терміна не існує.
Далі будемо дотримуватися такого визначення моделі.

Ф Модель — це сукупність найважливіших властивостей


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

Відзначимо, що оригінал завжди складніший за будь-яку


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

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

1 Наведіть приклади моделей. 4 Що називають моделюванням?


5 Чи завжди модель відображує реальний
2 Які моделі вам доводилося розробляти?
стан об'єкта?
3 3 якою метою розробляють моделі? 6 Поясніть сутність терміна «модель».
8.2. Класифікація моделей 141

8.2. Класифікація моделей


Відомо, що модель може бути описана словесно, подана
у вигляді схеми, приладу тощо. Поміркуйте, за якими
ознаками можна класифікувати моделі.
Моделі класифікують за багатьма ознаками (рис. 1).

Моделі
■Si н •
За способом подання За призначенням За станом
щ
Матеріальні (фізичні) Науково-дослідницькі Статичні

Нематеріальні Імітаційні Динамічні


(інформаційні)
...... # Навчальні

Ігрові

Рис. 1. Спрощена схема класифікації моделей

За способом подання моделі поділяють на дві основні гру­


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

Ф Інформаційна модель — це вербальний, графічний,


математичний, табличний тощо опис об'єкта.

Вербальною моделлю об’єкта називають його опис природ­


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

Математична модель — це система математичних рів­


нянь, формул (рис. 4), числових множин, які описують
деякі властивості реального об'єкта, процесу або яви­
ща. Багато задач із фізики, біології, хімії розв'язують за
допомогою рівнянь і нерівностей. Рис. 4. Формули закону Ома
та наслідків із нього
Розділ 8

Математичні моделі особливо корисні під час дослідження


будівельних споруд, в аерокосмічній промисловості тощо.
F* За допомогою математичної моделі підприємства можна
Відомо, що Миколай Коперник
(1473-1543) побудував геліоцен­ прогнозувати його фінансовий стан. Для побудови математич­
тричну модель Всесвіту, відпо­ ної моделі підприємства потрібно описати його найважливіші
відно до якої планети рухаються параметри, структуру та особливості поведінки.
навколо Сонця певними орбіта­ Серед інформаційних моделей розрізняють також зна­
ми. Перед появою цієї моделі кові моделі, які створюють за допомогою спеціальних
існувала інша, у якій припуска­
знаків: дорожніх (рис. 5), музичних, мовних та ін. Вер­
лося, що планети і Сонце руха­
бальні й знакові моделі завжди доповнюють одна одну.
ються навколо Землі. Зараз уче­
ні користуються більш точною Вибір конкретного типу моделі суттєво впливає на те, який
моделлю Сонячної системи, яка вигляд матиме об’єкт, що створюється, і якою буде його по­
дає змогу обчислювати маси ведінка за реальних умов. Для всебічного оцінювання реаль­
і закони руху планет. ного об’єкта й визначення його структури бажано водночас
користуватися кількома моделями. Кращою є та модель, яка
найточніше відображає реальний об’єкт.
За призначенням моделі поділяють на науково-дослідницькі,
імітаційні, навчальні, ігрові та ін. Науково-дослідницькі мо­
делі створюють з метою дослідження об’єкта, процесу, яви­

ОАО ща в певних умовах. Наприклад, існують моделі нервової


клітини, дослідження яких допомагає створювати й удоско­
налювати теорію її збудження. Імітаційні моделі розробля­
ють в основному для дослідницьких цілей. Наприклад, на
комп’ютері може бути реалізована модель функціонування
m електронних схем окремих пристроїв, алгоритмів із метою
Рис. 5. Дорожні знаки
визначення правильності їх розробки, надійності та якості.
До навчальних моделей відносять наочні прилади, плака­
ти, схеми, тренажерні системи та ін. Особливо широко вико­
ристовують ці моделі в медицині (рис. 6 ), космонавтиці (ма­
кети орбітальних станцій), біології (макети рослин).
До ігрових моделей належать спортивні, економічні та інші
ігри, в ході яких «програються» різноманітні ситуації і визна­
чається стратегія дій у певних умовах.
За станом розрізняють статичні й динамічні моделі. Ста­
тична модель фіксує стан об’єкта, процесу, явища на певний
момент часу. Наприклад, стан дорожнього руху в годину пік,
покази приладів літака в момент відриву від злітної смуги.
Динамічна модель відображає поведінку об’єкта протягом
певного часу. Наприклад, основні покази приладів літака че­
рез кожну секунду під час зльоту. Динамічні моделі можуть
досліджуватися в реальному масштабі часу, а також у скоро­
чений чи збільшений період часу. Наприклад, процес плав­
лення металу, який реально здійснюється протягом декількох
годин, можна змоделювати протягом десяти хвилин.

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

1 Які типи моделей застосовую ть на 3 За якою моделлю доцільно дослідж увати


практиці? об'єкт?
2 Яку модель називають математичною? 4 За якими ознаками класифікую ть моделі?
8 . 3 . Комп'ютерне моделювання 14З

8.3. Комп'ютерне моделювання


Які м оделі, на ваш у думку; доцільно реалізуват и на
ком п'ю т ері? Наведіт ь приклади м оделей, які вам уж е
доводилося реалізовуват и на комп'ют ері.

Комп'ютерне моделювання — це процес реалізації


Ф інформаційних моделей на комп'ютері. Для реалізації
інформаційних моделей можуть застосовуватися сис­
Переваги комп'ютерного
моделювання

теми програмування, електронні таблиці, математичні Можливість багаторазового


пакети, системи управління базами даних, графічні ре­ повторення тих самих дій
дактори та інші програмні засоби.
Невелика вартість
Комп’ютерне моделювання — це один з ефективних мето­ реалізації моделі
дів наукового пізнання і вивчення систем. Комп’ютерні моделі
просто і зручно досліджувати. Вони забезпечують проведення Н Висока наочність
обчислювальних експериментів, які у звичайних умовах ре­ візуалізації процесів
алізувати неможливо або досить складно. Основні переваги
комп’ютерного моделювання подано на рис. 1 . Безпечність реалізації
Порядок реалізації інформаційної моделі на комп’ютері моделі
складається з таких основних етапів: постановка завдання,
розробка інформаційної моделі, вибір інструментального про­ Висока швидкість виконан­
грамного засобу для реалізації моделі, безпосередня реаліза­ ня дослідження моделі
ція моделі, аналіз отриманих результатів і прийняття відпо­
відного рішення. Отримання результатів
Системи комп’ютерного моделювання застосовують у різ­ моделювання у зручному
них сферах (рис. 2 ). вигляді для аналізу

Рис. 1. Переваги комп'ютерного


Розробка промислових Інформаційні й довідкові моделювання
і сучасних побутових системи
приладів Сфери
Освіта
Розповсюдженими нині є ком­
Наукові п'ютерні симулятори, які імітують
дослідження Мистецтво і дизайн управління якимось процесом,
апаратним або транспортним
Система безпеки • Комп'ютерні мережі засобом. Існують комп'ютерно-
механічні симулятори, у яких від­
Рис. 2. Сфери застосування систем комп'ютерного моделювання творено інтер'єри робочих місць
певних фахівців: кабіни, у яких
Комп’ютерне моделювання особливо інтенсивно застосо­ тренуються пілоти, водії, маши­
вують для випадкових процесів. Випадкові процеси зустрі­ ністи потягів та інші спеціалісти.
чаються в нашому житті досить часто. Хоча не можна дати
точну й однозначну відповідь на результат конкретної події
або процесу, існують деякі їх закономірності, вивчення та до­
слідження яких допомагає людині прийняти правильне рі­
шення в певних умовах або визначити стратегію поведінки.
Дослідження закономірностей випадкових процесів у тех­
ніці сприяє підвищенню її надійності, поліпшенню параме­
трів апаратури, зменшенню матеріальних витрат тощо. До­
слідження випадкових процесів на залізничному транспорті
Розділ 8

сприяє підвищенню безпеки і надійності руху, у медицині —


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

Приклад 1. Хлорид натрію розчиняється Будемо вважати, що маса розчину визна­


у воді. Необхідно визначити, яку масу хло­ чається в кілограмах (кг). З умови завдання
риду натрію і води потрібно взяти для виго­ маємо: в 1 0 0 кг розчину повинно міститися
товлення необхідної кількості розчину певної р (кг) NaCl, а в розчині масою т (кг) — т 1 (кг)
концентрації.
Відомо, що хімічна формула хлорида на­ NaCl. Отримаємо співвідношення: ,
р т1
трію NaCl, а води — Н 2 0. Нехай т — маса
необхідного розчину, т 1 — маса NaCl, т2 — рт
звідки лі, = ------ (кг); т2 - m - m v
маса Н 2 0, р — відсоток концентрації розчину. 1 100

В останні десятиріччя комп’ютерне моделювання ефектив­


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

Приклад 2. У банк поклали суму грошей s Pi=Si_ 1 -й, st +pt для і = 1 , 2, ..., п,
під к відсотків річних. Потрібно розробити мо­
дель розрахунку накопиченої суми (з окру­ у0 = 0 , s0 = s ,
гленням до другого знака після коми) за кож­ де:
ний із п років. Процес розв’язування цієї за­ p t — прибуток за і-й рік;
дачі вручну наведено в таблиці. sI-_1 — накопичена сума за ( і - 1 ) років;
На основі аналізу дій, наведених у таблиці,
sI-_1 — накопичена сума за і років;
можна розробити її математичну модель, яка
подається системою формул: s 0 — початкова сума вкладу.

Таблиця. ПРОЦЕС ОБЧИСЛЕННЯ ПРИБУТКУ ЗА БАНКІВСЬКИМ ВКЛАДОМ

Рік Прибуток за рік, грн Загальний прибуток, грн Накопичена сума, грн

1 1000-0,05 = 50 50 1050

2 1050-0,05 = 52,50 50+52,50 = 102,50 1050+52,50 = 1102,50

3 1102,50-0,05 = 55,13 102,50 +55,13 = 157,63 1102,50+55,13 = 1157,63

4 1157,63-0,05 = 57,88 157,63 +57,88 = 215,51 1157,63 +57,88 = 1215,51

т т З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
Кубик, на гранях якого м істяться циф­ У банк поклали 500 грн на 4 роки під
ри від 1 до 6, кидають доти, доки сума 12,5 % річних. Розробіть програму визна­
й цифр стане більше 50. Розробіть програ­ Ч чення прибутку.
му визначення кількості кидань кубика.
8 . 4 . Використання програмних... 145

8.4. Використання програмних засобів


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

П р и к л а д 1. Інвестор може вкласти в модер­ змінною Р; — прибуток після 10 років. Тоді


нізацію виробництва різну суму гривень на де­ математичну модель цього процесу можна за­
сять років. Для поточної модернізації достат­ писати так: Pt - St ■N t (10 - K t) для г= 1, 2, 3.
ньо вкласти 1 млн грн. У цьому випадку при­ Розмістимо на формі середовища Lasarus
буток складатиме щорічно 15 % від вкладеної 4 компоненти ТМето, компонент TLabel і ком­
суми через 3 роки. Для часткової модернізації понент TButton. У поле об’єкта Метої введе­
потрібно вкласти 2 млн грн. Прибуток почне мо можливі суми інвестицій, у поле об’єкта
надходити щорічно через 4 роки у розмірі М ето 2 — відсотки прибутків, а у поле об’єк­
18 % від вкладеної суми. Для капітальної мо­ та МетоЗ — кількість років, через які почне
дернізації виробництва потрібно вкласти 3 млн повертатися прибуток. Об’єкт Мето4 викорис­
грн. У цьому випадку прибуток почне надхо­ таємо для виведення сумарного прибутку за
дити щорічно через 7 років у розмірі 19 % від кожним варіантом через 10 років. В об’єкт
вкладеної суми. Потрібно розробити модель, Label! введемо повідомлення Результати варіан­
за допомогою якої можна визначити найпри- тів інвестиції. Для об’єкта Buttonl встановимо
вабливіший для інвестора варіант. подію OnClick. Обробник події зображено на
Позначимо змінною Kt кількість років, че­ рис. 1 .
рез які інвестор почне отримувати прибуток Результат виконання програми наведено на
для г-го варіанта, де і = 1, 2, 3, змінною S j — рис. 2. Як бачимо, найкращій результат через
суму інвестиції для г-го варіанта, Nt — кіль­ 1 0 років досягається в процесі часткової мо­
кість відсотків для г-го варіанта інвестиції, дернізації виробництва.
{ TFom i )
//Ін в е с ти ц ії у виробництво протягом 10 р о к ів
procedure T F o m l.B u tto n lC lie k (S e n d e r: T O b je et);
v ar і : in te g e r; p :re a l;
b eg in
fo r i:= l to 3 do
b eg in
//о б ч и с л е н н я р е з у л ь т а т ів ін в е с ти ц ій
p : = S t x T o ! n t (M e m o l.L in e s[ i - 1 ] } *
S trT o In t(M e m o 2 .L i n e s [ i - 1 ] ) * (1 0 -5 trT o In t(M e n o 3 .L i n e s [ i - 1 J ) ї ;
//в и в е д е н н я в а р іа н тів р езу л ьтатів ін в ес ти ц ії
М е г г .о З . L i n e s . A d d ( F l o a t T o S t r ( р ) ) ;
end;
end;
end.

Рис. 1. Програмний код визначення результатів від інвестиції Рис. 2. Результати варіантів інвестиції
Розділ 8

Приклад 2.Відомі харчові властивості


п’ятьох видів продуктів: вівсяна каша на мо-
* Модель визначення загального вмісту основ­
ним компонентів харчових продуктів і калорій­
лоці, картопля смажена, телятина тушкована, ності найдоцільніше реалізувати за допомогою
суп овочевий і вінегрет. Потрібно розробити електронної таблиці MS Excel. На рис. З зо­
коми ютерну модель, за допомогою якої визна­ бражено вміст розробленої електронної табли­
чається загальний вміст білків, жирів, вугле­ ці й обчислено загальний вміст білків, жирів,
водів і калорійність для цих видів продуктів. вуглеводів і калорій у цих видах продуктів.
Систематизуємо ці дані у таблиці (у розрахун­
ку на 1 0 0 г продукту). А 8
А і І . 1
Таблиця. ВМІСТ І КАЛОРІЙНІСТЬ ХАРЧОВИХ ПРОДУКТІВ і Вміст і калорійність харчових продуктів
2 Продукти Білки, г Жири, г Вуглеводи, г Калорії, ккал
Білки, Жири, Вугле­ Калорії, 3 Каша вівсяна на молоці 3,2 4,1 14,2 102
Продукти
г г води, г ккал 4 Картопля смажена 3,7 10,6 24,8 203,3
5 Телятина тушкована 16,8 18,3 0 232
Каша вівсяна на молоці 32 4,1 14,2 102
6 Суп овочевий 1,7 1,8 6,2 43
Картопля смажена 3,7 10 6 24,8 203,3 7 Вінегрет 1,7 10,3 8,2 130,1
Телятина тушкована 16,8 ІЬ 1 0 232 8 Сум а 27,1 45,1 53,4 710,4

Суп овочевий 1,7 1,8 6,2 43 Рис. 3. Реалізація таблиці у середовищі MS Excel
Вінегрет 1,7 | 10,3 8,2 | 130,1

Приклад 3. Протягом двох днів постачальни­ упорядкуємо вміст таблиці у порядку зрос­
ки Костирко, Липко і Личко доставили у ма­ тання цін, після цього встановимо курсор
газин необхідну кількість фруктів (у кг) за до­ у стовпці Маса на значенні 14 і виконаємо
мовленою ціною, які магазин реалізує на 35 % команду Виділення у групі Сортування і фільтр.
дорожче. Необхідно розробити модель, за до­ Отримаємо результат, зображений на рис. 5.
помогою якої визначаються: а) дані про фрук­ Для отримання суми від реалізації фрук­
ти, ціна яких дорівнює або більша ніж 14 грн тів, доставлених постачальником Липко, роз­
за кг; б) сума (у грн), отримана від реалізації робимо запит з іменем Запит2 з полями, що
фруктів, доставлених постачальником Липко. обчислюються. У запиті залишимо поля На­
Для розробки моделі доцільно скористатися зва і Постачальник, а також введемо поле Сума
системою управління базами даних, наприклад такого вмісту:
системою Access 2016. Створимо таблицю з іме­
Сума: [Маса]*([Ціна]+[Ціна]*0,35).
нем Фрукти, вміст якої зображено на рис. 4 .
Для визначення даних про фрукти, ціна У результаті виконання створеного запиту
яких дорівнює або більше ніж 14 грн за кг, отримаємо результат, зображений на рис. 6 .

ІЗ ФруктиХ
Назва Дата - Постачальник - Маса Ціна 4 Примітка -
Слива 17.08.2016 Костирко 25 9,00
Яблуко 15.08.2016 Л и п к о зо 10,00
Персик 17.08.2016 Костирко 20 14,00 маса в кг
Виноград 15.08.2016 Липко 27 15,00 ціна в грн за кі
Абрикос 15.08.2016 Личко 28 16,00

Рис. 4. Таблиця про дані фруктів, поставлених до магазину

З і Фрукти \
Назва Дата - Постачальник * Маса Ціна iV примітка - ІР Запит2\
Персик 17.08.2016 Костирко 20 14,00 маса в кг Назва Постачальник • Сума
Виноград 15.08.2016 Липко 27 15,00 ціна в грн за к Яблуко Липко 405
Абрикос 15.08.2016 Личко 28 16,00 Виноград Липко 546,75

Рис. 5. Вміст таблиці після фільтрації записів Рис. 6. Результат виконання запиту
Практична робота № 16 147

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 На похилій площині, розташованій під ку­ 2 Розробіть і дослідіть комп'ютерну модель
том а до горизонталі, розміщено брусок рівноприскореного р уху об'єкта.
масою т (рис. 7). Розробіть комп'ютерну
а
модель визначення умови, за якої брусок
з О бґрунтуйте програмний засіб для обчис­
буде нерухомий, якщо сила тертя відсутня.
лення кількості і вартості шпалер для об­
% клеювання кімнати розмірами 4 x3 ,5 x2 ,5 м.
Ширина рулонів 55 см, довжина — 10 м.

У графічному редакторі створіть схем у ва­


шого кабінету інформатики.

Рис. 7. Брусок на похилій площині

Практична робота № 16
Тема. Створення, опрацювання і дослідження інформаційних моделей.
Завдання: побудувати інформаційну модель для аналізу ВВП і земельних ресурсів на одну
людину в п'яти країнах світу за даними таблиці.
Таблиця. ОСНОВНІ ПОКАЗНИКИ КРАЇН СВІТУ
Країна Дата Населення, Площа, ВВП, Частина
млн км кв. млрд доларів світу
США 01.12.2015 298 9 363 000 17 047 Америка
Німеччина 01.12.2015 81 357 021 3841 Європа
Японія 01.12.2015 127 337 835 4830 Азія
Китай 01.12.2015 1313 9 596 960 19 392 Азія
Велика Британія 01.12.2015 63 242 514 2679 Європа
Обладнання: комп'ютер із встановленими програмами: табличним процесором, середовищем
програмування.
Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

1 Виберіть програмний засіб для визначен­ 5 Дізнайтеся про середній вік життя лю­
ня ВВП, що припадає на одну людину дини у цих країнах. Розробіть модель, за
в кожній країні. допомогою якої результат подається у ви­
2 Розробіть модель для визначення ВВП, гляді стовпчастої діаграми.
що припадає на кожну людину. Резуль­ 6 Для даних, наведених у таблиці, само­
тат бажано отримати у вигляді діаграми. стійно сформулюйте завдання для роз­
3 Виберіть програмний засіб для визначен­ робки моделі та реалізуйте її за допомо­
ня кількості гектарів, які припадають на гою вибраного програмного засобу.
кожну людину в цих країнах. Зробіть висновок: від чого залежить вибір
4 Розробіть модель на основі вибраного конкретного програмного засобу для мо­
програмного засобу для визначення кіль­ делювання.
кості гектарів. Результат бажано отрима­
ти у вигляді таблиці.
I

Розділ 9. ОДНОВИМІРНІ МАСИВИ


9.1. Основи роботи у середовищі Lazarus
(повторення)
Пригадайт е, що називаю т ь середовищ ем програм ування; які
основні ф ункції воно повинно виконуват и? Яке середовищ е
програм ування ви використ овували у 5 -7 кл а са х; у 8 класі?
Які недоліки, на ваш у думку, м аю т ь ці середовищ а?

Загальні відомості про середовищ е Lazarus


Lazarus — це вільне інтегроване середовище візуально­
го програмування мовою Free Pascal. У середовищі Lazarus
реалізовані елементи об’єктно-орієнтованого програмування
ООП — це методика розробки (ООП). Середовище функціонує під управлінням ОС Windows
програм, в основі якої є понят­ і Linux. Воно забезпечує розробку програм як у консольному,
тя об'єкт, метод і клас. Основна так і у візуальному режимах. Методика розробки програм
ідея ООП полягає в об'єднанні у консольному режимі принципово не відрізняється від мето­
даних, з якими працює про­ дики створення програм у середовищі Free Pascal. Тому далі
грамний код, і процедур їх основна увага буде приділятися візуальному режиму.
опрацювання в єдине ціле. Початковий вигляд вікон середовища Lazarus зображено
на рис. 1 .

Головне вікно
прмкл Пошук Вмглад Почдемм) Код Проект
fc"***"» Л**Ьоп<4 Common Cortrofe j Diotop j D«u Соли©*» 0 «u A««m j System [ Mn< J UlCoxtrob {SytiU*

Вікно інспектора !!►■ ■ © ваш F H 0 * - H f 0 0 o a a o r j g g Q ^ B Вікно редактора


об'єктів тексту
вЬооролелП і
fc m l: TFotml - - «■■»
‘umtl
on It "r.itl;

($node o b )fp c )($ H * 1

t D U r f tO t

Влмтисоеп Поуи ] У м * *
АсЬол - 1 Classes. SysUtils. FileUtil. fores. Controls. Graphics. Dialogs;

ActfveContrcJ :3 |
АІ19П •Моле
ABowOropfOei F«hc
ТГопаІ - classtTfox*)
private
Вікно форми
| private declaration* }
AlpK*81*nd f«he
public
A iphsew vtai » 5 ( public declarations )
> Anchon l«fcTep.«l
Aulokrol Fihe
AutoSoe F«he Forml: Tforml;

taplanantatlon

Вікно
повідомлення

Рис. 1. Вікна середовища Lazarus


9.1. Основи роботи... 149

Головне вікно Lazarus (рис. 2) складається з трьох частин:


головного меню (Файл, Правка та ін.), панелі інструментів (лі­
воруч під головним меню) і палітри компонентів на вкладках
Standard, Additional та ін.

Standard Additional | C om m on Controls | Dialogs | Data Controls | Data Access | System | Misc | LazControls ] SynEdit ' j•

t) В І > HD |^ | ^ ‘ ^ □ Е З а ь с [ Щ ’ [ Е ' [ £ п] 0 © ЕВ1Ш с т Г^[І=ІІ?=]Г1ісїіЩ

Рис. 2. Головне вікно середовища візуального програмування Lazarus

Головне вікно відкрите протягом усього періоду роботи


середовища. Призначення окремих пунктів головного меню
(Файл, Правка, Пошук, Вигляд та ін.) аналогічне призначенню «Найкращий спосіб в чомусь ро­
однойменних пунктів інших прикладних програм, зокрема зібратися до кінця — це спробу­
стандартного редактора тексту. На панелі інструментів роз­ вати навчити цьому комп'ютер».
ташовані кнопки команд, що часто використовуються. Вони Дональд Ервін Кнут
дублюють деякі команди головного меню. Назви цих кнопок
з’являються після встановлення на них вказівника миші.
Тут розташовані, зокрема, такі кнопки: Нова форма П , Збе­
регти 0 , Виконати & та ін. Кнопки цієї панелі призначені
в основному для зручності і прискорення роботи користувача. Перенесення компонента на
На палітрі компонентів розташована значна кількість ком­ форму виконується клацанням
понентів, які користувач може розміщувати на формі в про­ кнопки миші цього компонен­
цесі створення інтерфейсу майбутньої програми. Ці компо­ та, потім клацанням цієї кнопки
ненти згруповані за функціональним призначенням. За за­ у тому місці форми, де перед­
мовчуванням відкриваються компоненти групи Standart (див. бачається його розмістити. Для
рис. 2). Найчастіше з цієї групи застосовують такі компонен­ відмовлення від перенесення
ти: TButton І 0к У TLabel fi&c , TEdit laW. Можна скористатися на форму вибраного компо­
також компонентами групи Additional та ін. Для розкриття нента слід клацнути кнопку зі
компонентів інших груп необхідно клацнути назву відповід­
ної групи. стрілкою , розташовану на
вкладці ліворуч.
Компонент, перенесений на форму, є об'єктом. Кожний
об'єкт має властивості і методи. Властивості визначають
зовнішній вигляд об'єкта (ім'я, розміри, колір та ін.). Ме­
тод визначає поведінку об'єкта, наприклад, як він буде
реагувати на клацання кнопки миші або зміну його роз­
міру. Для налаштування властивостей об'єктів використо­ Кожний об'єкт має ім'я і власти­
вують Інспектор об'єктів. Значення деяких властивостей вості. Поведінка об'єкта і його
можуть змінюватися також програмно. взаємодія з іншими об'єктами
описується за допомогою ме­
Вікно інспектора об’єктів призначене для надання компо­ тодів, які фактично є аналога­
нентам, розташованим на формі, необхідних характеристик ми підпрограм процедурних
(параметрів), наприклад кольору, розміру та ін. Вікно містить мов програмування. Клас — це
вкладки Властивості і Події. У лівому стовпці розташовані на­ сукупність змінних і методів їх
зви властивостей або подій, а в правому — значення власти­ опрацювання. Часто говорять,
востей або імена обробників подій. Для вибору властивості що клас — це шаблон об'єкта,
або події необхідно клацнути кнопкою миші на необхідному а об'єкт — це екземпляр класу.
рядку, після чого можна вибрати або ввести її значення.
150 Розділ 9

Властивості поділяються на прості та складні. Прості


властивості мають лише одне значення, а складні — декіль­
ка значень. Наприклад, властивість Caption (Заголовок) ви­
значається рядком символів, а властивість Font (Шрифт) —
це набір шрифтів, із яких можна вибрати один конкретний
шрифт. Ліворуч від назви складних властивостей розташо­
ваний трикутник. Якщо клацнути світлий трикутник (піс­
ля цього він набуде темного кольору), то відкриється список
його значень. Клацання на темному трикутнику приведе до
Швейцарський інженер і дослід­ згортання списку. Біля простих властивостей трикутника
ник світу програмування. Ав­ немає.
тор і один з розробників мови Для активації будь-якої властивості необхідно клацнути
програмування Паскаль. Ніклаус на ній кнопкою миші. Після активації властивості в кінці
Вірт є одним з найавторитет­ рядка може з’явитися кнопка з трьома точками і кнопка зі
ніших у світі вчених в області стрілкою вниз. Після клацання кнопки з трьома точками від­
комп'ютерних наук, його книга криється діалогове вікно для вибору відповідних значень. На­
«Алгоритми + структури да­ приклад, після активації властивості Color відкриється вікно
них = програми» вважається Колір. Активація кнопки трикутника приведе до розкриття
одним із класичних підручників списку можливих значень цієї властивості.
зі структурного програмування.
У верхній частині вікна інспектора об’єктів міститься спи­
сок імен усіх компонентів, розташованих у даний момент
на формі. Після клацання мишею імені компонента у цьому
списку виконується активація відповідного компонента на
формі. Налаштування вікна інспектора об’єктів здійснюється
за допомогою його контекстного меню.
У першому стовпці вкладки По­ Вікно редактора тексту (див. рис. 2) призначено для вве­
д ії відображається ім'я події, дення і редагування програмного коду. Фактично у редакто­
а в другому — ім'я підпрограми рі тексту міститься структура (шаблон) майбутньої програми,
для ї ї опрацювання (ім'я опра­ що полегшує роботу програміста.
цьовувана події).
Ключові слова виділяються напівжирним шрифтом,
знаки пунктуації — червоним кольором, коментарі —
синім, а помилки — коричневим.

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


створення інтерфейсу майбутньої програми, яку розробляє
користувач. На початку роботи воно містить лише заголовок
Розробка програми
і кнопки управління вікном форми (див. рис. 1). Потім ко­
у середовищі Lazarus
ристувач наповнює її необхідними компонентами.
За замовчуванням на передньому плані міститься вікно ре­
^■■■■•створення інтерфейсу
дактора тексту, яке закриває форму. Активувати вікно можна
програми
за допомогою клавіші F12 або команди Вигляд —> Перемкнути
форму/модуль.
розробка програмного Для створення інтерфейсу на формі розміщують необхід­
коду ні компоненти і встановлюють їхні властивості. Після роз­
міщення на формі будь-якого компонента у вікні редактора
компіляція, зберігання тексту автоматично генерується відповідний програмний код.
і виконання проекту Користувач повинен доповнити його необхідними команда­
ми для реалізації відповідного алгоритму. Усі файли, з яких
Рис 3. Етапи розробки програми складається програмний код, називають проектом.
у середовищі візуального
Програми у середовищі Lazarus розробляють у три етапи
програмування Lazarus
(рис. 3).
9.1. Основи роботи... 151

Для створення інтерфейсу майбутньої програми у се­


редовищі Lazarus використовують форму, а для введення
і редагування програмного коду — вікно редактора. Після
розміщення компонента на форму автоматично змінюється F * -------------- •
програмний код у вікні редактора тексту. Найчастіше ви­ «Гарний токар працює у де­
користовують компоненти групи Standard, у якій містяться кілька разів краще, ніж серед­
стандартні елементи інтерфейсу. Такими компонентами, зо­ ній, а гарний програміст ко­
крема, є: TButton (командна кнопка), TLabel (поле для розмі­ штує у 10000 разів більше, ніж
щення однорядкових написів), ТМето (багаторядковий тек­ звичайний».
стовий редактор) та ін. Вілл Гейтс

Форма та інші об'єкти реагують на події. Перелік подій


міститься в інспекторі об'єктів на вкладці Події. Най­
частіше застосовується подія OnClick. Програміст роз­
робляє код, який відповідно реагує на ту чи іншу подію.
Такий код називають обробником події.

Програма у середовищі Lazarus є проектом. Проект


об’єднує декілька файлів, із яких створюється єдиний файл,
що виконується. У результаті компіляції з файлів проекту
створюється єдиний файл, що виконується, з розширенням
ехе. Ім’я файла збігається з іменем проекту. Користувач роз­ Із детальним описом методики
робляє програмний модуль, усі інші додаються до проекту створення проекту в середови­
автоматично. Заголовок модуля починається ключовим сло­ щі візуального програмування
вом unit, за яким слідує ім’я модуля і крапка з комою. Роз­ Lazarus ви можете ознайомитися
діл опису починається ключовим словом interface. Тут опису­ на сайті interactive.ranok.com.ua
ються компоненти програмного коду: типи, класи, процедури
і функції. Розділ implementation (див. рис. 1) містить програм­
ний код опрацювання даних, який розробляє користувач.

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

1 Які вікна має середовищ е Lazarus? 4 Для чого призначена панель інструментів
головного вікна?
2 За допомогою яких команд виконується
5 Як встановлюю ться події для об'єктів, роз­
компіляція і запуск програми?
таш ованих на формі?
3 Для чого призначено вікно редактора 6 Для чого призначено вікно інспектора
тексту? об'єктів?

ТТ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Запустіть середовищ е Lazarus. Відкрийте і компонент TButton. Установіть раціональ­
вікно форми. Змініть розміри і місце роз­ ні, на ваш погляд, їхні розміри. Сам остій­
таш ування вікна форми. но визначте і встановіть для них необхідні
2 Розмістіть на формі компоненти: TLabel, властивості.
TEdit, TMemo, TListBox, TButton. Для 4 На формі з іменем Спільна робота розмі­
кожного з них установіть необхідні вла­ стіть компоненти: TPopupMenu, TCheckBox,
стивості за власним бажанням. TMemo. Експериментальним шляхом спро­
3 На формі з іменем Моя робота розмістіть буйте визначити їх функціональне призна­
два компоненти TLabel, компонент TEdit чення.
152 Розділ 9

9.2. Поняття типів користувача і масиву

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


ваш у думку, не м ож на в м о в а х програм ування обм еж ит ися
ли ш е п рост им и т ипам и даних?
У 8 класі ви вивчали базові типи даних середовища Lazarus.
Приклад 1. Нагадаємо, що базовими є прості (скалярні) типи. Існують
type autumn=(oct, nov, dec); п’ять стандартних простих типів: цілі, дійсні, символьні, булів-
var a_1 : autumn; ські й тип дата-час. Простим типом є також перелічуваний
У цьому прикладі змінна a_1 тип, але він оголошується користувачем (приклади 1, 2). Скла­
може набути будь-якого дені типи будуються з простих за певними правилами. Серед
з трьох значень: oct, nov, dec. складених (структурованих) найчастіше застосовуються маси­
ви, формування яких засновано на використанні інших типів.
Незважаючи на те що середовище Lazarus має потужну
структуру стандартних (вбудованих у мову) типів даних, воно
Приклад 2. type letter='al..lnl; надає також можливість створення нових типів, які назива­
var x: letter; ють користувацькими. Структура їх оголошення така:
Змінній x можна присвоюва­ type <новий тип даних>=<визначення типу>;
ти символи від 'а' до 'п1. var <список змінних: новий тип даних>;

Масив — це структурований тип даних, елементи яко­

Приклад 3. Прикладом одно-


Ф го мають один тип, наприклад integer, char та ін.

вимірного масиву рядково­ Структура масиву може бути одновимірною (лінійною), дво­
го типу є назви пристроїв вимірною (табличною) та багатовимірною. Загальну структу­
комп’ютера: ру одновимірного масиву можна позначити так:
х[1], х[2], х[3], ..., х[п—1], х[п]
Номер Значення Місце елемента у масиві, тобто його порядковий номер, на­
елемента елементів зивають індексом. Індекс записують у квадратних дужках, на­
масиву масиву приклад запис х[і] означає г'-й елемент масиву. Так, числа 105,
1 монітор 11, 173 , 35, 40 можна розглядати одновимірним масивом цілих
2 миша чисел, у якому п’ять елементів. У прикладі 3 видно, що пер­
шим елементом масиву є монітор, другим — миша.
3 принтер
Перш ніж опрацьовувати масив, його потрібно оголосити.
4 клавіатура Оголошення можна зробити такими способами.
5 сканер
• У розділі змінних. Структура оголошення одновимірного
масиву в цьому розділі така:
var <ім'я_змінної>: array [n1..n2] of <тип елементів масиву>;
Тут array — ключове слово, яке вказує, що змінна є масивом;
Приклад 4. у квадратних дужках визначається діапазон індексів: пі — ін­
var masl: array [1..7] of integer; — декс першого елемента масиву; п2 — індекс останнього елемента
змінна masl оголошена одно- масиву. Після слова of вказується тип елементів масиву (при­
вимірним масивом цілих чи­ клад 4).
сел, у якому 7 елементів типу Масив також може бути оголошений за такою структурою:
integer. var <ім'я змінної>: array [n1..n2] of <тип елементів>=
(значення елементів);
Наприклад:
var mas3: array [1..4] of 5Ігіпд=('байтІ, 'миша1, 'файл1, 'змінна');
9.2. Поняття типів... 153

• У розділі типів. Структура оголошення масиву така:


type <ім'я типу>=аггау [n1..n2] of <тип елементів>; Для одночасного опрацювання
декількох типів даних у багатьох
var <ім'я зм ін н о їх <ім'я типу>; мовах програмування, в тому числі
у мові Free Pascal, застосовується
Із наведеної структури видно, що після оголошення типу спеціальний тип, який називають
оголошується ім’я масиву. записом. Формат опису змінної
Наприклад, type mas4=array [0..5] of real; var s: mas4; типу запис такий:
• У полі const. Оголошення масиву має таку структуру: var <ім'я з а п и с у х record
const <ім'я змінної>=аггау [п1..п2] ім 'я і: ти п і;
of <тип елементів>=(значення елементів); Ім'я2: тип2;

Наприклад, const mas5=array [1..4] of integer=(33, 54, 2, 32);


ім'яІМ: типІЧ;
Індексами елементів масивів можуть бути дані будь-якого
end;
типу, в тому числі вирази, але найчастіше ними є цілі чис­
ла. Якщо індексом є змінна, то її необхідно оголосити кон­ Наприклад,
стантою. var reds: record
Наприклад, const n=7; var a: array [1..n] of integer; name: string [15]; //прізвище
Будь-якому елементу масиву можна присвоїти певне зна­ uspich: real; //середній бал
чення за допомогою оператора присвоювання. Наприклад, end;
mas[4]:=5; — четвертому елементу одновимірного масиву mas
присвоєно значення 5.

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Наведіть визначення масиву. 6 Наведіть загальну структуру одновимірного
2 Які існують структури масивів? масиву.
7 Як оголошується одновимірний масив у розді­
3 Назвіть способи оголошення масивів.
лі оголошення змінних?
4 Як здійснюється звернення до елементів 8 За якою структурою оголошуються масиви
масиву? в розділі типів?
5 Яким може бути тип індексу елемента ма­ 9 Наведіть приклад оголошення одновимірного
сиву? масиву в розділі const.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Оголосіть у розділі змінних масив рядко­ 5 Визначте значення елемента а[2] в масиві:
вого типу з елементами: файл, біт, папка, -Д . const a: array [-1..3] of real=(105, 77, 2.4, 60,
дані. 107);
2 Оголосіть у розділі типів масив чисел: 2, 6 , 6 Знайдіть помилки в оголошенні масиву:
2.1, 40, 7.
var 1_а: array [-3,2] of char;
3 Оголосіть у полі const масив: процесор,
пам'ять, плата, символ. 7 Знайдіть помилки в оголошенні масиву:
4 Визначте значення елементів а[1] і а[3] var mas: array [-1..2] of геаІ=('байт', 'біт',
в результаті оголошення масиву: 'миша');
var z: array [0..3] of string=('21', 'стіл',
'лист', '3.5');
154 Розділ 9

9.3. Введення і виведення значень елементів масиву


Наведіть означення масиву. Які існують способи оголош ення
масиву? Чи можна під час оголош ення м асиву присвоїт и еле­
мент ам м асиву необхідні значення? Які, на ваш погляд, ком по­
нент и можна використ овуват и для введення даних у масиві?
Елементи масиву можуть набувати значень різними спосо­
бами: присвоюватися під час оголошення масиву, вводитися
з клавіатури, присвоюватися під час виконання програми.
Способи і методи введення і виведення елементів масиву для
Програміст пише у середньо­ консольних і візуальних додатків відрізняються.
му 10-12 рядків програмного У візуальних додатках середовища L a z a ru s для формуван­
коду, які потрапляють у кінце­ ня масивів, уведення значень його елементів із клавіатури,
вий продукт. а також виведення елементів найчастіше застосовуються ба­
гаторядкові текстові поля ТМето і TListBox, а також функ­
ції InputBoxO і ShowMessage(). Можуть застосовуватися також
і однорядкові текстові поля TEdit і TLabel. Розглянемо створен­
ня, введення і виведення елементів одновимірних масивів на
конкретних прикладах.
• Використання компонента ТМето для введення і компо­
нента TListBox для виведення значень елементів однови-
мірного масиву.

* Приклад 1. Розмістимо на формі компонен­ ScrollBars об’єкта Метої. Активуємо об’єкт


ти: ТМето, TListBox і TEdit. Надамо відповідним Editl, виберемо для нього подію OnClick і вве­
властивостям цих компонентів значень згідно демо код, зображений на рис. 2.
з рис. 1. Уведемо з клавіатури 10 назв най­ Після успішної компіляції програми ви­
більших річок України: Дніпро, Десна, Дністер, конуємо її. Результат виконання зображено
Сіверський Донець, Псел, Західний Буг, Горинь, на рис. 3. За допомогою смуг прокручування
Прут, Прип'ять, Сейм. Для цього активуємо можна переглянути всі назви річок.
об’єкт М е т о ї, в інспекторі об’єктів виділимо
властивість Lines і клацнемо в цьому рядку
кнопку з трьома крапками. Відкриється вікно
редактора рядків, у яке введемо назви десяти
перелічених річок. Після натискання кнопки
ОК відкриється вікно форми (рис. 1).
Встановимо також значення ssVertical (верти­
кальна смуга прокручування) для властивості
Рис. 1. Назви річок України у полі
p ro cedure T Form l.B uttonlC licfc(S ender: T O bject); об'єкта М е то ї
v a r і : in te g e r ; //з м ін н а цілого типу
т а з : a r r a y [1 . . 10] o f s tr in g ; //м аси в рядкового типу & Виведення в ListBox
b eg in .... . . ~
Західний Буг * Західний Буг А
f o r i : = l to 10 do //ц и к л уведення елементів масиву
Горинь Горинь
mas [ i ] :=Memol.Lines [ i - l j ; //в вед ен н я елементів масиву Прут Прут
f o r i : = l to 10 do //ц и к л виведення елементів масиву Прип'ять v Прип'ять V
L istB o x l.Ite m s [ i-l]:= m a s [ i ] ; //вивед ення елементів масиву
end; EditlІ
end.
Рис. 3. Уведені та виведені назви
Рис. 2. Код для введення і виведення масиву з використанням
річок України
компонентів ТМ ето і TListBox
9.3. Введення і виведення... 155

• Формування масиву випадковими числами і виведення


їх у текстові поля TListBox і ТМето.

Приклад 2. Генеруються 12 випадкових чи­ на початку програми встановлено оператор


сел з діапазону від 0 до 6 . Із цих чисел фор­ Randomize. Без цього оператора кожного разу
мується масив, значення елементів якого виво­ будуть генеруватися однакові числа.
дяться в поле об’єкта ListBoxI, а в поле об’єкта На рис. 5 зображено один із можливих ре­
Метої виводяться всі елементи цього масиву, зультатів виконання програми.
крім елементів, значення яких дорівнюють 6 . Зверніть увагу на те, що в поле об’єкта
Код, що реалізує це завдання, зображено на Метої виведені всі елементи масиву, крім еле­
рис. 4. На формі розміщено об’єкти Метої, ментів зі значенням 6 .
ListBoxI, Label!, Label2 і Buttonl. Властивостям компонентів надано значень,
Нагадаємо, щоб при кожному запуску про­ які забезпечують їх зовнішній вигляд, зобра­
грами генерувалися різні випадкові числа, жений на рис. 5.
p ro ced u re TForml. B u tto n lC lic k (Sender: T O bject);
3 v a r і : in te g e r ; //з м ін н а ц ілого типу
m a s:a rra y [1 ..1 2 ] o f in te g e r ; //м аси в цілого типу
b eg in
Randomize;
f o r i : = l to 12 do //ц и к л для створення масиву
b eg in //п о ч ато к операторних дужок
mas [ і ] :=Random (7 ); //присвоювання значення елементу масиву
L istB o x I.Item s.A d d (In tT o S tr (mas[ і ] ) ) ; //виведен н я елемента масиву
end; //к ін е ц ь операторних дужок
f o r і : - 1 to 12 do //ц и к л для виведення масиву
i f mas [ і ] О б th e n //ч и дорівнює елемент масиву б?
Memol.Lineз . Add (In tT o S tr і т а з ; і ] ) ) ; //виведення елементів масиву
end;
end.
Рис. 5. Результати виведення масиву
Рис. 4. Код створення і виведення масиву випадкових чисел випадкових чисел

• Формування масиву на основі обчислених значень і ви­


ведення їх у декілька колонок текстового поля TListBox.
Приклад 3. Створимо масив, значеннями ListBoxI надамо значення 2. Код реалізації
елементів якого є висота вільного падіння цього завдання наведено на рис. 6 .
тіла після кожної із дванадцяти секунд (ви- На формі розміщено об’єкти ListBoxI, Label!,
g t2 Buttonl. їхнім властивостям надано значень,
соту обчислюють за формулою h =----). Для щоб зовнішній вигляд компонента був орієн­
2
того щоб значення елементів масиву виводи­ товно таким, як зображено на рис. 7.
лися колонками, властивості Columns об’єкта
procedure TForml.ButtonlClick(Sender: TObject);
var t:in te g e r; //зм інна цілого типу
mas; array [1..121 of real; //масив дійсних чисел
begin
for t:= l to 12 do //цикл для створення масиву
mas Itl;= 9.8*t*t/2; //створення масиву
for t:= l to 12 do //цикл для виведення масиву
ListBoxI. Items Add(FloatToStr(mas)t])); //виведення масиву
end:
end.

Рис. 6. Код створення і виведення масиву значень висоти Рис. 7. Уполі об'єкта ListBoxI виведено
вільного падіння тіла значення висоти вільного падіння тіла
156 Розділ 9

• Формування масиву в процесі його оголошення


і виведення в текстове поле ТМето.
Приклад 4. Варіант коду формування масиву Після успішної компіляції програми і її
цілих чисел у процесі його оголошення і виве­ виконання отримаємо результат, зображений
дення в поле об’єкта Метої подано на рис. 8 .
procedure ТFornl.Button1С1І ck іSender: TObject);
Bvar і: integer;
шаа|: array [1..12] of integer=(44, 32,
3, 37, S3, 1 , 21, 10, 90,75, 66, 53);
begin
fo r i:= l to 12 do
Memo1.Lines,Add (IntToStr n a a [i]));
end;
end,
Рис. 8. Код формування масиву в процесі його Рис. 9. Масив цілих чисел,
оголошення і виведення в поле об'єкта М е то ї виведений у поле об'єкта М е то ї

• Уведення елементів масиву за допомогою функції


InputBoxO і виведення за допомогою функції ShowMessageO.

Приклад 5. На рис. 10 зображено код із ви­ алгоритм). Якщо натиснути кнопку Cancel, то
користанням функції InputBoxO для циклічно­ функція повертає значення рядка за замовчу­
го введення елементів масиву рядкового типу ванням.
і функції ShowMessageO для виведення еле­ Під час виконання функції InputBoxO ви­
ментів цього масиву. водиться вікно (див. рис. 1 1 ), програма при­
У процесі введення даних із клавіатури зупиняє виконання, у рядок слід увести зна­
зручно застосовувати функцію InputBoxO, яка чення певного елемента масиву, клацнути
має таку структуру: InputBox (заголовок, підказка, кнопку ОК і ввести значення наступного еле­
рядок за замовчуванням), де: заголовок — це за­ мента. Після завершення введення всіх еле­
головок вікна ( 1 ) (рис. 1 1 ), яке висвітлюється ментів виконання програми продовжується.
на формі під час виконання функції; підказ­ Ф ункція ShowMessageO виводить на форму
ка — підказка для користувача (2 ) (рис. 1 1 ); вікно із заданим текстом.
рядок за замовчуванням — рядок для введення У вікно, зображене на рис. 12, виведено
значення елемента масиву (3) (рис. 11). Якщо перший елемент масиву. Після кожного кла­
клацнути кнопку ОК, то елементу буде при­ цання кнопки ОК виводиться черговий еле­
своєно введене значення (на рис. 1 2 це слово мент до завершення виведення всіх елементів.
1

2
рrocednге TFornl.ButtonlClick(Sender: TObject);
var і : integer; //змінна цілого типу З
mas: array [1 ..7 ] of string; //масив рядкового типу
begin
for i:= l to 7 do //цикл для уведення масиву
Рис. 11. Вікно функції InputBoxO для
mas [1 ] :=InputBox ! ’ Уведення1, //уведення масиву
введення значень елементів масиву
'Увести елемент N1-IntT oS tr( і ) , 1 ’);
fo r і:= і to 7 do //цикл для виведення масиву
ShowMessage( 'Елемент t r -IntT oS tr[і] //виведення масиву
+ '-'-m a s [i]);
end;
end.

Рис. 10. Код уведення й виведення масиву за допомогою Рис. 12. Вікно функції ShowMessageO для
функцій InputBoxO і ShowMessageO відповідно виведення значень елементів масиву
9.3. Введення і виведення... 157

• Уведення й виведення елементів масиву в консольних


програмах.
Уведення значень елементів масиву в консольних програ­
мах здійснюється за допомогою клавіатури. Для цього ви­
користовують оператори readln або read і оператори циклу.
Спочатку вводиться значення першого елемента, потім —
другого, третього і т. д. Виведення значень елементів масиву
виконується за допомогою операторів write і writeln.

Приклад 6. На рис. 13 наведено код, за до- Якщо з клавіатури будуть уведені числа:
помогою якого елементи одновимірного масиву 12, 13.2, 3, 40 .5, 5, 6.7, то на екран буде виве-
(дійсні числа) вводяться за допомогою клаві- дено результат виконання програми (рис. 14).
атури, а потім виводяться на екран. Масив
складається із 6 чисел.
var
і :integer; //змінна цілого типу mas[1 ]= 1 2
mas:array [1..6] o f real; //масив дійсного типу
] begin mas[2]=13.2
fo r i:=l to 6 do //цикл введення масиву
begin / / п о ч а т о к о п е р а т о р н и х дуж о к
mas[3]=3
writeln (’у в е с т и a [ ' , i , ’] = ’); //повідомлення про введення
mas[4]=40.5
readln (mas [ i] ) //введення елементів масиву
end; //кінець операторних дужок mas[5]=5
f o r i:=l to 6 do //цикл виведення масиву
writeln ( ' m a s [• , i , ']= ' , m a s [ i] ); //виведення елементів масиву mas[6]=6.7
rea d l n //призупинення виконання програми
end.
Рис. 14. Результат
Рис. 13. Код уведення одновимірного масиву за допомогою клавіатури виконання програми

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

1 Які компоненти застосовують для введення 5 Поясніть використання функції ShowMessage().


і виведення масивів? 6 Поясніть порядок використання функції
2 За допомогою яких операторів уводять InputBoxO.
елементи масиву в консольних додатках? 7 Як можуть формуватися масиви?
3 За допомогою яких операторів виводять 8 Поясніть методику використання компонента
елементи масиву в консольних додатках? Т М е т о для введення даних.
4 Які функції застосовують для введення і ви­ 9 Поясніть методику використання компонента
ведення даних у масив? TListB ox для виведення даних.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 Розробіть консольну програму для введен­ 4 Розробіть код із використанням компонента
ня і виведення масиву, що містить слова: TListB ox для формування і виведення маси­
змінна, масив, дані, параметри, рекурсія. ву 10 випадкових чисел з діапазону від 0
2 Розробіть консольну програму формування до 20.
масиву 10 цілих випадкових чисел з діа­
5 Розробіть код із використанням функцій
пазону від 0 до 100.
InputBoxO, ShowMessageO і компонента
3 Розробіть код для введення і виведення за
TListB ox для введення і виведення масиву
допомогою компонента Т М е т о масиву, що
цілих чисел.
м і с т и т ь 5 дійсних чисел.
158 Розділ 9

9.4. Класичні алгоритми опрацювання числових


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

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

Назвіть ком понент и і функції, які м ож на використ овуват и


для введення даних у м асив і виведення д ан их із нього. Яким із
н и х ви надаєт е перевагу і чом у? Які, на ваш погляд, о п ер а ц ії
Приклад 1. Нехай задано м ож на виконуват и над значенням и елем ент ів масиву?
масив із чотирьох чисел: 2 , 6 ,
24, 7. Тобто п = 4, а[1]=2, а[2]=6,
Числові масиви — це масиви, значеннями елементів
а[3]=24, а [4] =7. Сума обчислю­
ється таким чином: Ф яких є цілі або дійсні числа.

s=0;
і=1: s=s+a[1]=0+2=2, • Знаходження загальної суми значень елементів масиву.
і=2: s=s+a[2]=2+6=8, Нехай дано одновимірний масив цілих або дійсних чисел
і=3: s=s+a[3]=8+24=32, а[1], а [2], ..., а[п]. Обчислити суму значень елементів цього ма­
і=4: s=s+a [4] =32+7=39. сиву можна методом послідовного накопичення. Сутність цьо­
го методу полягає в тому, що до початку додавання початкове
значення суми вважається таким, що дорівнює нулю, тобто
s=0. Потім до цього значення додається значення першого
елемента масиву: s=s+a[1]. До отриманої суми додається зна­
чення другого елемента масиву: s=s+a[2] і так далі до остан­
нього елемента (приклад 1 ).
Розглянемо алгоритм знаходження суми значень елемен­
тів масиву, що задовольняють певну умову.

Рис. 1. Блок-схема алгоритму


обчислення суми елементів
одновимірного масиву з виве­
денням поточних значень суми
9.4. Класичні алгоритми... 159

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


на рис. 1 . на рис. 2. Для об’єкта Editl обрано подію OnClick.
Приклад 2. Варіант коду обчислення Після успішної компіляції і виконання
суми значень елементів масиву цілих чисел програми отримаємо результат, зображений
procedure TForm l.EditlClick(Sender: TObject);
рис. 3.
const n=6; //константа типу змінної
v ar і , s:in te g e r; //зм інні цілого типу
З //оголошення і присвоювання значень елементам масиву
mas:array [ l..n ] of in teg er= (3 ,5,7,10,12,14);
begin
s:=Q; //початкове значення суми
E d itl.T e x t:= 'Сума*'; / / виведення 'Сума=' в об'єкт E d itl
fo r і:=1 to n do //цикл обчислення суми
з;=з+-таз[іЗ; //обчислення суми
E d itl.Text:= E ditl.T extrIntT oS tr(s); //виведення результату
end;
end.
Рис. 3. Результат обчислення суми
Рис. 2. Код обчислення суми значень елементів масиву елементів масиву

• Знаходження кількості елементів, що дорівнюють зна­


ченню заданого.
Нехай у масиві а[1], а[2], а[3], ..., а[п] потрібно визначити
кількість елементів, значення яких дорівнюють с. Сутність
алгоритму полягає у послідовному порівнянні всіх елементів
масиву, починаючи з першого елемента, із заданим значен­
ням. Якщо значення елемента масиву дорівнює заданому, то
показник кількості збільшується на одиницю.
Алгоритм знаходження кількості заданих елементів у ма­
сиві може бути таким:
........................... .
Увести значен­
Крок 1 Крок 5 т:=т+1
........................... * ня с і масив а
........................... «
Крок 2 т:= 0 Крок 6 і:=і+1
V .........................

Якщо І<=П, Т О
Крок 3 і:=1 Крок 7 крок 4, інак­
........................... |
ше — крок 8
...................... . Якщо а[і]=с, то
Крок 4 крок 5, інак­ Крок 8 Кінець
........................... *
ше — крок 6
Як бачимо, змінній т, у якій підраховується кількість
елементів, спочатку присвоюється значення нуль. Потім по­
рівнюється значення елемента а[1] зі значенням с. Якщо їхні
значення збігаються, то значення змінної т збільшується на
одиницю, інакше її значення не змінюється. На наступно­
му кроці порівнюється значення елемента а [2 ] зі значенням с
і виконуються дії, аналогічні тим, що виконувалися на по­ Рис. 4. Блок-схема алгоритму
передньому кроці. Потім порівнюється значення елемента а[3] знаходження кількості елементів,
що дорівнюють значенню заданого
і так далі до а[п]. Блок-схему алгоритму подано на рис. 4.
160 Розділ 9

Приклад 3. На рис. 5 зображено код, за 40 циклів значення змінної т виводиться


допомогою якого створюється масив із 40 у поле об’єкта Labell. Для цього об’єкта об­
цілих випадкових чисел з діапазону від 0 рано подію OnClick.
до 6 . Значення кожного елемента масиву На рис. 6 зображено можливий результат
виводиться в поле об’єкта М етої й одразу виконання програми. У полі об’єкта Метої
порівнюється з цифрою 4 . Якщо значення є повзунок, за допомогою якого можна пере­
елемента дорівнює 4, то значення змінної т глянути, у якому порядку генерувалися всі
збільшується на одиницю. Після виконання випадкові числа.
procedure TFormi,LabellCliclciSender: TObject);
var і, m; integer; //змінні цілого типу
mas: array [1,40] of integer; //масив цілого типу
begin
ж; =0; //початкова кількість чисел
3 //при кожному виконанні програми будуть різні випадкові числа
Randomize;
for і:=1 to 40 do //цикл
3 begin //відкриття операторних дужок
maa;i]:=Random (7); //формування масиву
Метої.Lines.Add In tlo S tr(таз[ І] ) ) ; //виведення масиву
i f masii}=4 then т:=щті; //чи дорівнює елемент числу 4?
end; //закриття операторних дужок
Labell, Caption := 'Цифр, що дop і вмить 4='-In tlo S tr ;m}; //виведення результату
end;
end.
Рис. 6. Результат обчислення
Рис. 5. Код обчислення кількості цифр 4, що містяться у масиві кількості цифр у масиві

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

1 Назвіть класичні алгоритми опрацювання одновимірних ма­


сивів.
2 Поясніть сутність алгоритму обчислення суми значень еле­
ментів одновимірного масиву.
3 Накресліть блок-схему алгоритму обчислення кількості еле­
ментів масиву, значення яких дорівнюють заданому.
4 Накресліть блок-схему алгоритму обчислення в одновимір-
ному масиві кількості елементів, значення яких дорівнюють
заданому.

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

1 Дано масив чисел: 71, 2, 7, 12, 4, 5, 17, 10. Розробіть програму


обчислення суми чисел масиву, більших за 8.

( 4 Дано масив чисел: 66, 3, 12, 7, 9, 22, 44, 15. Розробіть про­
граму обчислення кількості чисел, менших від 22.

( з і На рис. 7 наведено блок-схему алгоритму створення нового


Рис. 7. Блок-схема алгоритму масиву s із елементів заданого масиву а. Розробіть програму
створення нового масиву Ч реалізації цього алгоритму.
9.4. Класичні алгоритми... 161

9.4.2. Пошук даних у масиві


У повсякденном у ж и т т і част о доводит ься здійсню ват и
пош ук необхідного об'єкт а серед багат ьох із них. Чи м ожна
т акі процеси подат и у вигляді загального алгорит м у?
У масивах часто доводиться здійснювати пошук елемента,
значення якого збігається із заданим. Існують різні методи
пошуку потрібних елементів у масиві, всі вони базуються на
переборі елементів масиву. Перебір може бути повний (пря­
мий), за яким перевіряються всі елементи масиву, і неповний
(скорочений). Нижче описано сутність двох найпростіших ме­
тодів пошуку даних у масиві: лінійний і двійковий.
• Лінійний пошук даних.

0 Лінійний пошук базується на прямому переборі елемен­


тів масиву.
Нехай дано масив а[1], а[2], ..., а[п] і значення с (ключ).
Потрібно визначити, чи є у цьому масиві елемент, значення
якого збігається зі значенням с.
Сутність лінійного пошуку така. Спочатку с порівнюється
з а[1]. Якщо вони збігаються, робиться висновок, що елемент Рис. 1. Блок-схема алгоритму ліній­
знайдено на першій позиції масиву, і на цьому пошук завер­ ного пошуку в одновимірному ма­
шується. Інакше с порівнюється з а [2 ] і робиться аналогічний сиві, де і — лічильник кількості
переглянутих елементів; п — за­
висновок, потім — з а[3] і так далі до а[п].
гальна кількість елементів у масиві
Блок-схему алгоритму подано на рис. 1.
* Приклад 1. Визначити, чи є у масиві з 10 ви­ повідомлення про наявність ключа, Label2 —
падкових цілих чисел з діапазону від 0 до 6 для виведення повідомлення про номер по­
число 5. Тобто достатньо знайти номер першої зиції, на якій розташовано ключ. Якщо клю­
позиції, на якій розміщено такий елемент. ча немає, виводиться нульова позиція. Для
Програмний код подано на рис. 2. У програмі об’єкта Labell обрано подію OnClick.
використано об’єкти: ListBoxI — для виведен­ На рис. З зображено один із результатів ви­
ня елементів масиву, Labell — для виведення конання програми.
procedure TForml.LabellCliclc!Sender TObject);
const n=I0; //константа типу змінної
var mas: array [l..n ] of integer; //иасив цілого типу
p :strin g ; i , c, k: integer; //змінні різних типів
begin
Randomize; //забезпечує генерування різних випадкових чисел
с:=5; //значення ключа
р : =' Ключа .чекає'; //ознака відсутності ключа
fo r і:=1 to n do //цикл створення масиву
1 begin //початок операгорних дужок
mas[ і ] :=Random (7); //формування масиву
ListBoxI.Items.Add(IntToStr (mas[it)) //виведення масиву
end; //кінець операторних дужок
for i:= l to n do //цикл аналізу масиву
i f mas[i]=c then begin //чи дорівнює елемент значенню с?
k;=i; //запам'ятовується номер позиції
р:='Клвч є '; //ознака - ключ знайдено
Break end; //переривання циклу
Labell.Caption:=p; //повідомлення про наявність ключа
L a b e l2 .C a p tio n Ключ на позиції- -IntToStr (k); //виведення номера позиції
end; end.
Рис. 3. Можливий результат пошуку
Рис. 2. Код реалізаціїлінійного пошуку заданого значення у масиві елемента в масиві
162 Розділ 9

Розглянутий метод лінійного пошуку є найпростішим. Але


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

Нехай дано масив а[1], а[2], ..., а[п], елементи якого впоряд­
ковані за зростанням їхніх значень. Потрібно визначити, чи
Приклад 2. Нехай дано масив
є в цьому масиві елемент, значення якого збігається зі зна­
цілих чисел: 2, 5, 8 , 9, 13,
ченням с.
15, 20, 21 і ключове значен­
Сутність цього методу така. На кожному кроці масив ді­
ня с = 15. У масиві міститься
литься навпіл та визначає, в якій із частин може міститися
8 елементів. Номер середнього
шуканий елемент, інша частина не розглядається. У процесі
елемента дорівнює 4, тому що
пошуку значення лівої і правої меж масиву будуть постійно
[(1+8)/2]=4. Оскільки а[4]<15,
змінюватися.
далі пошук будемо проводити
Позначимо поточне значення лівої межі масиву змінною І,
в частині масиву, що склада­
а значення правої межі — змінною р (початкові значення
ється з елементів: 13, 15, 20,
змінних: 1= 1 і р =п). Спочатку в цьому масиві обирають еле­
21. У цьому масиві номером
мент, розташований у середині масиву, — а[і]. Значення ін­
середнього елемента є число
дексу середнього елемента можна визначити за формулою
[(5+8)/2]=6. Значення шостого
і=[(І+р)/2] (квадратними дужками позначена ціла частина чис­
елемента дорівнює 15 і збіга­
ла). Значення середнього елемента порівнюють із ключовим
ється зі значенням с. На цьо­
значенням с. Якщо с=а[і], елемент знайдено. Якщо с<а[і], то
му виконання алгоритму за­
далі для пошуку обирають частину масиву, розташовану лі­
вершується.
воруч від а[і], у протилежному випадку — частину масиву,
розташовану праворуч від а [і]. Для обраної частини процес
повторюють (приклад 2 ).
Блок-схему алгоритму подано на рис. 4.

Виведення

Кінець

Рис. 4. Блок-схема алгоритму двійкового пошуку в масиві


9.4. Класичні алгоритми... 163

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


лівої межі масиву (він дорівнює 1 ), а змінній р — початковий
номер правої межі (він дорівнює п). У блоці 4 обчислюється
середній індекс розглядуваної ділянки масиву і його значен­
ня присвоюється змінній і.
У блоці 5 ключове значення с порівнюється зі значен­
ням елемента, розташованого посередині поточної ділян­
ки. Якщо ці значення збігаються, ключ знайдено, виво­
диться індекс і елемента масиву із ключовим значенням с
(блок 10) і робота алгоритму завершується (блок 12). Але
якщо згадані значення різні, керування передається блоку
6 , де перевіряється, чи більше значення с за значення се­
реднього елемента а [і]. Якщо с>а[і], шуканий елемент роз­
Ада Августа Лавлейс розроби­
ташований праворуч від а [і] і значення правої межі не змі­
ла перші програми для аналі­
нюється, а значенням лівої межі стає величина і+1 (блок 7).
тичної машини Беббіджа, за­
Якщо ж с<а[і], то пошук ключового значення треба вести лі­
клавши тим самим теоретичні
воруч від а [і]. У цьому випадку значення лівої межі не змі­
нюється, а значенням правої межі стає величина і-1 (блок 8 ). основи програмування. Саме
Алгоритм припиняє роботу у двох випадках: коли викону­ вона вперше ввела поняття
ється умова с=а[і] і коли значення лівої межі перевищує зна­ циклу операції. У наші дні Ада
чення правої (блок 9). Настання другого випадку означає, що Лавлейс по праву називають
всі необхідні перевірки виконані, а ключового значення в за­ першим програмістом у світі.
даному масиві не знайдено.
Метод двійкового пошуку значно швидший за метод ліній­
ного пошуку. Проте, як уже згадувалося, двійковий пошук
можна застосовувати лише до впорядкованих масивів.

Приклад 3. На рис. 5 подано код програми, Результаті виконання коду зображено


що реалізує алгоритм двійкового пошуку. на рис. 6 .
procedure TForml.ButtonlClick(Sender: TObjecc);
const n=7; //константа типу змінної
] var mas: array [ 1 ..n] of strin g s //масив рядкового типу
('алгоритм1, 'байт', 'монітор',
' ноутбук' , 1принтер , ' сканер’, ' файл' );
і , 1, р :integer; //змінні цілого типу
с :string; //змінна рядкового типу
v id s;boolean=false; //змінна логічного типу
begin
с:='ноутбук'; //термін, що відшукується
1;=1; //початкова ліва межа
p:=n; //початкова права межа
while ((l<=p) and (not vids!) do //чи завершений пошук?
] begin //відкриваються операторні дужки
d iv 2 ; //обчислення середнього індексу
i f mas;i]<c then l:= i+ l //пошук терміна і
else i f mas [i]>c then p:=p-l //зміна меж масиву
else v id s:=true //ознака наявності терміна
end; //закриваються операторні дужки
i f vids then E ditl.Text: '('терм ін на п о зи ц ії-')-IntT oS tr(і)
else E d itl.T ext:= ('термін відсутній'); //виведення результату
end; end.
Рис. 6. Результат виконання коду
Рис. 5. Код реалізації двійкового пошуку даних у масиві двійкового пошуку даних
164 Розділ 9

• Пошук мінімального і максимального елементів.


Розглянемо сутність алгоритму пошуку мінімального еле­
Приклад 5. Розглянемо покро-
мента в масиві (пошук максимального елемента принципово не
кове виконання алгоритму по­ відрізняється від пошуку мінімального). Спочатку мінімаль­
шуку мінімального елемента ним вважається елемент, розташований на першій позиції.
в масиві 37, 15, 41, 7, 21. Його значення порівнюється зі значенням другого елемента.
min:=37; Якщо значення другого елемента менше від першого, то далі
1- й цикл: 15<37? Так — min:=15
меншим вважається другий елемент. Потім значення меншого
2- й цикл: 41<15? Ні елемента порівнюється зі значенням третього елемента і так
3- й цикл: 7<15? Так — min:=7 далі до останнього елемента. У результаті буде знайдено най­
4- й цикл: 21<7? Ні. менший елемент. Отже, алгоритм пошуку мінімального (мак­
Результат: min=7 симального) елемента є циклічним алгоритмом (приклади 5, 6 ).

Приклад б. На рис. 7 наведено код пошуку мі- Результат виконання коду зображено
німального і максимального елементів у одно- на рис. 8 .
вимірному масиві.
procedure TForml. B uttonlC lick ( Sender: TO bject);
const n=12; //іменована константа
таз: array [ l ..n ] of integer^ / / масив цілого типу
(41,20,3,6 0 ,1 1 ,3 1 ,5 ,1 7 ,5 0 ,1 6 ,3 3 ,1 5 );
v ar i , min, max: in te g e r; / / змінні цілого типу
і begin
т х ;= т а з[1 ]; //початкове значення змінноі max
т іп := таз[1 ]; //початкове значення змінної min
fo r i:=2 to n do //цикл аналізу масиву
1 begin //відкриваються операторні дужки
i f та з[і!> ш х then max:=mas[i]; //ч и більше mas[і] максимального?
i f mas д ] стіп then m in:=masii]; //ч и менше mas [ і ] мінімального?
end; //закриваються операторні дужки
ЕаіП.ТехС: = 'Максимальним є число '+ In tT o S tr(max); //виведення max
E d it2 .T ex t: * 'Мінімальним є число -IntT oS tr(m in ); //виведення min
end;
end.
Рис. 8. Результат пошуку міні­
Рис. 7. Код пошуку мінімального і максимального елементів масиву мального і максимального чисел

З а п и т а н н я дл я п е р е в ір к и з н а н ь
У)
1 Які існують найпростіші методи пошуку да­ 3 Поясніть сутність двійкового методу пошуку
них у масивах? даних у масиві.
2 У чому полягає перевага двійкового пошу­ 4 Накресліть блок-схеми: алгоритму лінійного
ку над лінійним? пошуку даних; двійкового пошуку даних.

ТТ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
і Опишіть динамику процесу пошуку числа 17 4 Генерується 10 цілих випадкових чисел
у масиві: 53, 21, 7, 40, 17, 4, 35. _ у діапазоні від 0 до 15. Розробіть алгоритм
2 ' У довільному порядку вводяться назви 5 об­ ™ і програму пошуку мінімального і макси­
ласних центрів України. Розробіть алгоритм мального з цих чисел. Масив випадкових
і програму визначення: чи є в цьому пере­ чисел виведіть у поле об'єкта Lis tB o x l.
ліку місто Суми. 5 Розробіть програму визначення третьої за
<з> Опишіть динаміку процесу пошуку мінімаль­
ного і максимального чисел у масиві: 77, 65,
довжиною річки України.
й 7, 21, 13, 40, 88, 51, 57.
9 . 5 . Упорядкування елем ентів... 1 6 5

9.5. Упорядкування елементів масиву


Поясніт ь сут ніст ь лінійного і двійкового алгорит м ів пош уку
даних у масиві. У чом у їх переваги й недоліки? Сф ормулюйт е
сут ніст ь алгорит м у пош уку м аксим ального елем ент а. За
яким и правилам и, на ваш у д ум ку м ож на впорядкуват и за
зрост анням 4 цілі числа?
Упорядкувати масив означає розмістити його елементи за
зростанням або спадання їхніх значень. Існує багато мето­
дів упорядкування одновимірного масиву. Далі розглянемо
лише найпростіші методи, які широко використовують для
розв’язування різноманітних задач. Такими методами є метод Загальне значення слова «сорту­
сортування вибором, метод сортування обміном і метод встав­ вання» — це розподіл елементів
ки. На основі цих методів побудовані інші, більш складні, на групи за деякою ознакою,
методи впорядкування масивів. наприклад розподіл яблук по
• Упорядкування масиву методом вибору. сортах за їх якістю, листів — за
Нехай дано масив а[1], а[2], ..., а[п], який необхідно впоряд­ поштовими індексами, банок із
кувати за зростанням його елементів. Сутність методу вибору фарбами — за кольором тощо.
така. Відшукують елемент із максимальним значенням і мі­ Проте у програмуванні під сор­
няють його місцем з останнім елементом масиву. Після цього туванням розуміють упоряд­
останній елемент із подальшого розгляду виключають, а для кування елементів (за деякою
перших (п-1) елементів процедуру повторюють. Тобто аналізу­ характеристикою), наприклад
ється масив а[1], а[2], ..., а[п—1], у якому також відшукують мак­ шикування учнів за зростом на
симальний елемент. Цей елемент міняють місцями з елементом уроці фізкультури, розташуван­
а[п—1]. Подібні дії виконують у масиві а[1], а[2], ..., а[п—
2], потім — ня слів у словнику в алфавіт­
у масиві а[1], а [2], ..., а[п—3] тощо. Отже, на кожному циклі алго­ ному порядку, упорядкування
ритму значення правої межі масиву зменшується на одиницю. точок площини за зростанням
Цей індекс будемо зберігати у змінній р. У табл. 1 наведено координати х тощо.
динаміку процесу впорядкування масиву 15, 12, 17, 8 , 14, 6 .
Таблиця 1. УПОРЯДКУВАННЯ МАСИВУ МЕТОДОМ ВИБОРУ

Цикли Дії, що виконуються Стан масиву


і Масив, у якому відшукується max | 15 12 17 8 14 6
І
І Масив після першої перестановки І 15 13 6 8 14 17

Z
І Масив, у якому відшукується max І 15 із 6 8 14
І Масив після другої перестановки І 14 із 6 8 15 17

D
І Масив, у якому відшукується max І 14 із 6 8
І Масив після третьої перестановки І 8 із 6 14 15 17
І Масив, у якому відшукується max І 8 із 6
4
І Масив після четвертої перестановки І 8 6 13 14 15 17

D
І Масив, у якому відшукується max І 8 6
І Масив після п'ятої перестановки 1 6 8 13 14 15 17
І Упорядкований масив І 6 8 13 14 15 17

Із таблиці видно, що перестановка елементів виконується


після повного завершення поточного циклу перегляду масиву.
166 Розділ 9

2 Перестановка елементів — це обмін значеннями між двома


х <------------ у змінними, між змінною з максимальним значенням і змін­
ною, розташованою на останній справа позиції невпорядко-
ваної частини масиву. Для виконання перестановки потрібна
z третя змінна, у якій тимчасово зберігатиметься значення од­
нієї з двох змінних, значення яких необхідно поміняти міс­
z:=x цями. Для перестановки в алгоритмі будемо використовува­
х:=у ти змінну 2 (рис. 1). Перестановка значень елементів масиву
y:=z деякою мірою нагадує процес переливання рідини з першої
посудини в другу і з другої у першу. Для цього рідину пе­
Рис. 1. Обмін значеннями між реливають із першої посудини у третю, із другої у першу,
змінними х і у а з третьої — у другу.
Блок-схему алгоритму подано на рис. 2.

Рис. 2. Блок-схема алгоритму впорядкування масиву методом вибору

Початкове значення правої межі масиву (значення змін­


ної р) дорівнює значенню змінної п. Змінна т містить індекс
поточного елемента з максимальним значенням, а змінна і
містить індекс елемента, що переглядається у даний момент.
Оскільки перший елемент завжди спочатку вважається най­
більшим, то у блоці 4 змінна т набуває значення 1, а змін­
на і — значення 2.
У блоці 5 перевіряється: чи більше значення поточно­
го елемента а [і] за значення поточного найбільшого елемен­
Метод сортування вибором є
та а [т ]. Якщо а[і]>а[т], то індекс поточного максимального
досить простим. Проте він най-
елемента у блоці 6 набуває нового значення. Індекс поточного
повільніший, оскільки в ньому елемента масиву збільшується на одиницю у блоці 7. Якщо
не враховується те, що в зада­ цей індекс менший або дорівнює правій межі (блок 8 ), то по­
ному масиві деякі з елементів шук максимального елемента триває далі. Якщо ж і > р, то це
можуть бути вже впорядкова­ означає, що всю невпорядковану ділянку масиву переглянуто
ними. Навіть якщо масив буде і в блоці 9 елемент із максимальним значенням міняють міс­
повністю впорядкованим, кіль­ цями з останнім. У блоці 10 значення правої межі ділянки,
кість операцій в алгоритмі не що переглядається, зменшується на одиницю. Ознакою завер­
зменшиться. шення процесу виконання алгоритму є той факт, що індекс
правої межі дорівнює одиниці (блок 1 1 ).
9 . 5 . Упорядкування елем ентів... 1 6 7

Приклад 1. Програмний код реалізації ал- формується із 10 випадкових чисел у діапазоні


горитму впорядкування масиву методом ви- від 0 до ЗО. На рис. 4 зображено один із можли-
бору подано на рис. 3. У цьому коді масив вих результатів виконання програмного коду.•

procedure TForal.ButtonlClick(Sender: TObject);


const n=10; //іменована константа
var mas: array [1. . n] of integer; //масив цілого типу
p, i , m, z: integer; //змінні цілого типу
begin
Randomize; //при кожному запуску випадкові числа різні
for і:=1 to n do //цикл створення масиву
3 begin //початок операторних дужок
mas[ і ] :=Random (ЗО); //формування масиву
Li3tBoxl. Items.AddiIntToScr mas[ і ] )) //виведення масиву
end; //кінець операторних дужок
p:=n; //початкове значення щ>авоі нежі
while p>l do //цикл упорядкування масиву
begin //початок операторних дужок
m:=l; //початкове значення лівоі межі
for i:=2 to p do //цикл пошуку максимального елемента
i f mas[i]>mas[m] then m:=i; //який елемент більше?
z:=mas[m]; mas[m]:=mas[p]; masip]:=z; //переміщення макс. елемента
p:=p-l end; //зменшення правоі нежі масиву
for i:= l to n do //цикл виведення масиву
ListBox2.Items.Add(IntToStr(mas[ i ] )); //виведення упорядкованого масиву
end; end.
Рис. 4. Результат упорядкування
Рис. 3. Програмний код упорядкування масиву методом вибору масиву методом вибору

• Упорядкування масиву методом обміну.


Сутність упорядкування масиву за зростанням значень
його елементів методом обміну така. Масив а[1], а[2], ..., а[п]
переглядається зліва направо. Спочатку порівнюються еле­
менти а[1] і а[2], потім — а[2] і а[3], а[3] і а[4], а[4] і а[5] і так
далі до елементів а[п-1] і а[п]. Кожного разу, коли попередній
елемент більший за наступний, значення елементів міняють­
ся місцями. Зрозуміло, що після повного завершення першого
перегляду всього масиву на останній позиції буде міститися
елемент із максимальним значенням. Після цього елемент а[п]
з подальшого розгляду виключається, переглядається масив
а[1], а[2], ..., а[п-1] і з його елементами виконуються аналогічні
дії, в результаті чого на позицію п - 1 буде переміщено другий У 1959 році Дональд ІІІелл за­
за величиною елемент. пропонував удосконалення ал­
Процедура повторюється для масиву а[1], а [2], ..., а[п —2], горитму прямих вставок. Його
потім — для масиву а[1], а [2 ], ..., а [п —3] і т. д. З описаного ідея — порівнювати елементи,
випливає, що сортування масиву завершується після повно­ розташовані на певній відстані
го впорядкування всіх елементів масиву. Ознакою того, що один від одного, і покроково
масив упорядкований, є те, що після завершення його пере­ зменшувати цю відстань.
гляду жодної перестановки елементів не було.
Для свідомого розуміння сутності сортування масиву ме­
тодом прямого вибору розглянемо динаміку впорядкування
на конкретному прикладі.
168 Розділ 9

Приклад 2. Дано масив 41, 52, 58, 70, 6 6 , був повністю впорядкований, потрібно поміня­
який потрібно впорядкувати за зростанням ти місцями четвертий і п’ятий елементи. Для
значень елементів. У цьому масиві 3 перші цього виконуються дії, наведені у табл. 2 .
елементи впорядковано. Для того щоб масив

Таблиця 2. ПРОЦЕС УПОРЯДКУВАННЯ МАСИВУ

Зовнішній Внутрішній Елементи, що Значення у (початкове


цикл цикл порівнюються елементів масиву значення true)

1 41 > 52? 41 52 58 | 70 66 true

2 52 >58? 41 52 58 | 70 66 true
1
3 58 >70? 41 52 58 1 70 66 true

4 70 >66? 41 52 58 1 70 66 false

41 52 58 1 66 70

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

1 41 > 52? 41 52 58 1 66 70 true

2 2 52 >58? 41 52 58 1 66 70 true

3 58 >66? 41 52 58 1 66 70 true

Упорядкований масив 41 52 58 1 66 70

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

Із табл. 2 видно, що після першого зовнішнього циклу ма­


сив є впорядкованим. Але змінна у має значення false, тому
виконується другий зовнішній цикл. Після його завершення
жодної перестановки елементів не було, тому процес упоряд­
кування завершується. Звернемо особливу увагу на те, що на
початку будь-якого зовнішнього циклу ця змінна набуває зна­
чення true. Після того як у внутрішньому циклі відбувається
Метод сортування обміном
хоча б одна перестановка елементів, змінна у набуває значен­
у середньому діє швидше за
ня false і до кінця цього циклу не змінюється.
метод сортування вибором,
оскільки в ньому враховуєть­ На основі аналізу процесу впорядкування наведеного вище
ся можливість упорядкуван­ масиву розробимо алгоритм упорядкування методом обміну.
ня масиву до того, як його В алгоритмі використано такі позначення: р — індекс правої
буде переглянуто максималь­ межі поточної ділянки масиву; у — ознака наявності пере­
ну кількість разів. становки: на початку кожного зовнішнього циклу вона набу­
ває значення true. Якщо після завершення зовнішнього циклу
змінна у має значення true, це означає, що перестановок під
час останнього перегляду не було, якщо y=false, то відбулася
принаймні одна перестановка; і — індекс поточного елемента
масиву; 2 — змінна, призначена для тимчасового зберігання
значення елемента масиву під час перестановки елементів.
9 . 5 . Упорядкування елем ентів... 1 6 9

підготовка до
початкове значення вибору черго­
Крок р:=п-1 Крок 7 і:=і+1
правої межі масиву вого елемента
масиву
ознака того, що на Якщо і <= р,
перевірка умови
початку зовнішнього то крок 4,
Крок y:=true Крок 8 завершення вну­
циклу перестановок інакше
трішнього циклу
елементів не було крок 9
перший індекс ма­ зменшення пра­
Крок і:=1 Крок 9 Р=Р-1
сиву вої межі масиву
Якщо Якщо y=false, перевірка умови
mas[i]>mas[i+1], порівняння сусідніх то крок 2, зовнішнього ци­
Крок Крок 10
то крок 5, елементів інакше — клу (чи впоряд­
інакше — крок 7 крок 11 кований масив?)
z:=mas[i];
перестановка еле­
Крок mas[i]:=mas[i+1]; Крок 11 Кінець
ментів
mas[i+1]:=z
ознака того, що від­
Крок y:=false булася перестановка
елементів

Приклад 3. Програму, що реалізує алгоритм випадкових чисел з діапазону від 0 до 50. На


сортування методом обміну, подано на рис. 5. рис. 6 зображено один із можливих результа-
У цьому коді масив формується з десяти тів виконання програмного коду.
procedure TForml.ButtonlCliclciSender: TObject);
const n=lQ; //іменована константа
var у : boolean; //змінна логічного типу
i, z , p; integer; //змінні цілого типу
mas: array [l..n] of integer; //масив цілого типу
begin
Randomize; //при кожному запуску випадкові числа різні
for 1:=1 to П do //цикл формування масиву випадковими числами
begin //відкриваються операторні дужки
mas i ] ;-Random (50); //створюється масив випадкових чисел
Memol.Lines.Add(IntToStr(mas[i])) //виведення масиву
end; //закриваються операторні дужки
p:=n-l; //початкове значення правої межі масиву
repeat //зовнішній цикл упорядкування масиву
y:=true; //ознака: у масиві перестановок не було
for i:=l to p do //початок внутрішнього циклу
begin //відкриваються операторні дужки
i f mas[i]>mas[i+l] then //який елемент більше?
begin //відкриваються операторні дужки
z:=mas[i); mas[ і ) :=mas[i+l]; m as[i+l]:=г;//переміщення елементів
y:=false //ознака: у внутрішньому циклі було переміщення
end; //закриваються операторні дужки
end; //кінець внутрішнього циклу
p;=p-l; //зменшення правої межі масиву
u n til y; //перевірка умови завершення зовнішнього циклу
for i:=l to n do //цикл виведення упорядкованого масиву
Memo2.Lines.Add(IntToStr(m as[i])); //виведення елементів масиву
end; end.
Рис. 6. Результат упорядкування
Рис. 5. Програмний код упорядкування масиву методом обміну масиву методом обміну
170 Розділ 9

• Упорядкування масиву методом вставки.


Метод сортування вставкою також є простим у реалізації.
Приклад 4. Динаміку впоряд­ За швидкістю впорядкування він особливо ефективний для
кування масиву 33 14 70 17 масивів невеликого розміру і для частково впорядкованих
наведено в таблиці: масивів.
Сутність цього методу така. Спочатку впорядковуються два
Цикли Стан масиву перші елементи масиву. Потім на кожному наступному кроці
33 14 70 17 береться наступний за порядком елемент і вставляється в уже
1 впорядковану частину так, щоб ліворуч від нього всі елемен­
14 33 70 17 ти були не більшими, а сусідній правий — не меншим від
14 33 70 17 нього. Якщо ця умова не виконується, береться наступний за
2 порядком елемент і виконуються аналогічні дії (приклад 4).
14 33 70 17
Зазначимо, що в цьому параграфі розглянуто лише най­
14* 33 70 " 17 простіші методи впорядкування даних. Існують й інші, більш
3
14 17 33 70 досконалі та складні методи, спрямовані насамперед на під­
вищення швидкості сортування.

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

1 Які переваги й недоліки мають методи впо­ 4 Розробіть програму впорядкування назв ра­
рядкування масиву вибором і обміном? йонів свого міста (області) за алфавітом.
2 Як здійснюється перестановка двох еле­ 5 Поясніть сутність алгоритму впорядкування
ментів масиву? масиву методом вибору.
6 Поясніть сутність алгоритму впорядкування
3 Який вигляд матиме масив 21, 40, 5, 13, 18
масиву методом обміну.
після завершення першого зовнішнього
циклу впорядкування масиву методом ви­ 7 Поясніть сутність алгоритму впорядкування
бору? масиву методом вставки.

ТТ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Відомі прізвища і зріст 8 учнів вашого класу. і програму впорядкування назв областей
Розробіть алгоритм і програму виведення у порядку зменшення їхніх площ. Викори­
на екран прізвищ учнів у порядку зменшен­ стайте метод вибору.
ня їх зросту. Використайте метод вибору.
З Опишіть у вигляді таблиці впорядкування
2 Знайдіть в Інтернеті назви 7 найбільших за масиву чисел 33, 60, 7, 12, 80, 41 у порядку
площею областей України. Розробіть алгоритм їх зменшення. Використайте метод вибору;
метод вставки.

Практична робота № 17
Тема. Розробка алгоритмів роботи з одновимірними масивами та їх реалізація у вигляді
програм.
Завдання: розробити алгоритм і програму для реалізації одного із завдань, наведених
у таблиці.
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.
Практичні роботи № 17,18 171

Таблиця. ЗАВДАННЯ ДЛЯ ВИКОНАННЯ ПРАКТИЧНОЇ РОБОТИ № 17

Варіант Завдання Початкові дані


1 N учнів класу виконують стрибки у довжину. Розробіть алгоритм N=6
і програму для визначення того, скільки учнів стрибнули далі за 4.7; 3.8; 3.3; 3.6; 3.1; 3.9;
встановлений норматив с. с = 3.5
2 Відомі результати змагань чемпіонату світу з жіночого біатлону. Роз­ Норвегія, Німеччина,
робіть алгоритм і програму визначення того, чи входить команда Україна, Росія, Франція,
України у 6 кращих команд і, якщо є, яке місце вона посідає. Швеція

Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

1 Виберіть один із варіантів завдань за вка­ 4 Перевірте роботу програми із різними


зівкою вчителя або самостійно. ( У разі початковими даними.
успішного виконання одного варіанта, ви­ 5 Виконайте програму із зазначеними
конайте іншій.) в таблиці початковими даними. Про­
2 Проаналізуйте умову задачі, побудуйте ін­ аналізуйте отриманий результат.
формаційну модель. Зробіть висновок: які компоненти до­
3 Розробіть алгоритм і реалізуйте його в се­ цільно використовувати для обчислення
редовищі програмування. кількості заданих елементів у масиві.

Практична робота № 18
Тема. Класичні алгоритми для роботи з масивами та їх реалізація у вигляді програм.
Завдання: розробити алгоритм і програму для реалізації одного із завдань, наведених
у таблиці.
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.
Таблиця. ЗАВДАННЯ ДЛЯ ВИКОНАННЯ ПРАКТИЧНОЇ РОБОТИ № 18

Варіант Завдання Початкові дані


1 Дано масив з N цілих додатних чисел. Розробіть алгоритм і програму N = 7;
визначення, наскільки максимальне число більше за мінімальне. 105, 34, 160, 31, 28, 60,
70
2 Знайдіть в Інтернеті прізвища космонавтів України. Розробіть алго­
ритм і програму впорядкування їхніх прізвищ в алфавітному порядку.

Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

1 Виберіть один із варіантів завдань за вка­ 4 Перевірте роботу програми із різними


зівкою вчителя або самостійно. ( У разі початковими даними, дібраними само­
успішного виконання одного варіанта, ви­ стійно.
конайте іншій.) 5 Виконайте програму із зазначеними
2 Проаналізуйте умову задачі, побудуйте ін­ в таблиці початковими даними. Про­
формаційну модель. аналізуйте отриманий результат.
Зробіть висновок: які методи сортуван­
3 Розробіть алгоритм і реалізуйте його в се­ ня і пошуку доцільно використовувати
редовищі програмування. в цій роботі.
10. СИМВОЛЬНІ
РОЗД ІЛ
ТА РЯДКОВІ ВЕЛИЧИНИ
10.1. Загальні відомості про символьні та рядкові
величини
Пригадайт е, за допом огою я к и х кодів подаю т ься сим воли
в комп'ют ері. Чи м ож ут ь сим воли бут и значенням и
елем ент ів м асиву? Що, на ваш погляд, називаю т ь рядком
у м о в а х програм ування?
Символ — це цифра, літера або інший знак клавіатури.
Робота із символами кодової Кожний символ має свій унікальний двійковий код. Нині для
таблиці Unicode у середовищі кодування символів найчастіше застосовують кодові таблиці
Lazarus реалізована не повною ASCII і Unicode. Латинські літери розташовані у першій поло­
мірою. Приміром, функція ви­ вині таблиці ASCII. їхні коди збігаються з кодами цих літер
значення кількості національних у таблиці Unicode і є обов’язковими для всіх країн світу. Для
символів у рядку насправді ви­ кодування національних символів використовується друга по­
значає кількість байтів, які за­ ловина таблиці ASCII (коди від 128 до 256), а також табли­
ймає рядок. Тобто в процесі ця Unicode, у якій кожний символ кодується двома байтами.
визначення кількості символів Для роботи із символами у середовищі Lazarus викорис­
у рядку результат буде збільше­
товується тип даних char. Символьні змінні оголошуються
но вдвічі. Тому далі в процесі
в розділі оголошення змінних, наприклад var z, а_1 : char.
опрацювання рядків і символів
Рядок — це набір символів. Кількість символів у рядку
будемо використовувати пере­
важно латинські літери. Ф називають його довжиною. Основним типом для робо­
ти з рядками є тип даних string. Порядок оголошення
рядкових змінних принципово не відрізняється від по­
рядку оголошення інших типів даних, наприклад var
bas, b_1: string;.
Приклад 1. У результаті вико­
нання фрагмента коду: Рядкові й символьні константи беруться в одинарні лапки,
var predm: string; наприклад 'а1, 'Символ' '21'. Значення символьним і рядковим
begin змінним присвоюються за допомогою оператора присвоюван­
predm—'Інфор'+'матика'; ня, наприклад а_1:='к'; Ь_1—'Інформатика'. Довжина символьного
рядка може бути обмежена. У цьому випадку під час оголо­
отримаємо слово: Інформатика. шення змінної у квадратних дужках вказується максимальна
кількість символів, які може містити ця змінна, наприклад
var strl: string [25]; (змінна strl може містити до 25 символів).
Якщо довжина змінних типу string під час їх оголошення не
Приклад 2. У результаті вико­ вказана, максимальна кількість символів може сягати 255.
нання фрагмента коду:
Однією з основних операцій над рядковими даними
var а_1 : string; b_1 : char;
є їх об'єднання. Ця операція позначається символом «+»
begin
а_1 —'процесор1; (приклад 1).
b_1 :=а_1 [4]; Рядок фактично є масивом символів, з якого можна отри­
мати будь-який символ, вказавши його номер у квадратних
змінна b_ 1 отримає символ ц. дужках (приклад 2 ).
10.1. Загальні відомості...

Приклад 3. Два учні грають у таку гру. літеру. У будь-якому випадку повідомляється
Один учень каже: «Назви четверту літеру про правильність відповіді, а також загадане
у назві найулюбленішої в усьому світі спор­ слово — футбол. На рис. 1 наведено код моде­
тивної гри». Другий учень називає відповідну лювання цієї гри у консольному режимі.

const п ат= 'ф утбол '; //іменована константа


var x:char; //змінна символьного типу
у: string; //змінна рядкового типу
begin
w riteln ('увести 4-ту літеру у назві спортивної гри');
readln (х); //уведення літери
3 //чи збігається введена літера з 4-ою літерою у слові
i f x=nazva[4] then у: = 'правильно, це футбол'
else у := 'неправильно, це футбол';
w riteln (у); //виведення результату
readln //призупинення виконання програми
end.

Рис. 1. Програма моделювання гри учнів

Приклад 4. Розробити програму, за допо


* і виконати над ними операцію об’єднання. Код
могою якої з літер слова facilities створюється реалізації цього завдання наведено на рис. 2.
слово file. Для цього необхідно зі слова facilities Результат виконання програмного коду по­
вибрати першу, четверту, п’яту і дев’яту літери дано на рис. 3.

procedure TForml.ButtonlClick(Sender: TObject);


var a, b :strin g ; //змінні рядкового типу
begin
a := 'f a c i l i t i e s ’; //присвоювання значення змінній
E d itl.T ex t:= 'початкове слово '-a ; //виведення початкового слова
b:=a[l]-a[4]+a[5]+a[9); //створення нового слова
Edit2.Text;= 'отримане слово ' -b //виведення нового слова
end;
end.
Рис. 3. Результат виконання
Рис. 2. Програмний код створення слова із літер іншого слова коду створення нового слова

) З а п и т а н н я д л я п е р е в ір к и з н а н ь
І
1 Яку назву має тип даних для роботи із сим- 3 Наведіть приклад оголошення рядкових
волами? змінних.
2 Яку назву має тип даних для роботи з ряд- 4 Як присвоюються змінним символьні й ряд-
ками? кові константи?

Н) З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Розробіть програму, за допомогою Розробіть програму для виведення на екран
якої слова Динамо, Шахтар і 2 :2 другої і восьмої літер у слові calculate.
f t
об'єднуються в одну конструкцію Дина­
<3> Розробіть програму, за допомогою якої з літер
мо — Шахтар 2:2. слова vertorization створюється слово var.
*
Розділ 10

10.2. Функції опрацювання рядків і символів


Поясніть правило за п и су р яд кових і сим вольних конст ант .
Я ку операцію над рядкам и ви вже знаєт е? Які щ е о п ер а ц ії над
рядкам и вам м ож ут ь знадобит ися?
Середовище Lazarus має спеціальні функції для роботи
з рядками і символами, основні з яких наведено у таблиці.

Таблиця. ОСНОВНІ ФУНКЦІЇ ОПРАЦЮВАННЯ РЯДКІВ І СИМВОЛІВ

Функція Призначення Тип аргументів Тип результату


length (S) Визначення довжини (кількості символів) S — рядковий Цілий
рядка S

concat (SI, S 2,...) Об'єднання рядків S I, S2, ... S I, S2, ... — Рядковий
рядковий

copy (S, n, m) Копіювання m символів рядка S, починаючи S — рядковий, Рядковий


з позиції п п — цілий,
m — цілий

delete (S, n, m) Вилучення m символів із рядка S, починаючи S — рядковий, Рядковий


з позиції п п — цілий,
m — цілий

insert (SI, S2, n) Вставлення рядка S1 у рядок S2, починаючи 51 — рядковий, Рядковий
з позиції п 52 — рядковий,
п — цілий

pos (SI, S2) Визначення номера позиції, з якої починаєть­ 51 — рядковий, Цілий
ся входження рядка S2 у рядок S1 52 — рядковий

chr (x) Повернення символу, код якого дорівнює X х — цілий Символьний

ord (c) Повернення коду символу с с — символьний Цілий

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


допомогою операцій =, <, <=, >, >=, <>. У процесі порівнян­
ня рядків послідовно здійснюється порівнювання символів
---------------------------- , зліва направо. Рядки вважаються рівними, якщо вони ма­
ють однакову довжину й усі символи в них однакові. Мен­
Нині більшість програм ство­ шим вважається той рядок, у якого менший код першого не­
рюється командами. Але тіль­ збіжного символу. Наприклад, істинними є співвідношення:
ки один програміст відповідає 'масив'<'маска', 'рядками'<'рядок'. Якщо один рядок повністю збі­
за її архітектуру, інші — лише гається з початком іншого, то більшим буде довший рядок.
кодери. Наприклад, істинними є співвідношення: 'стовп'<'стовпець',
'багаторядковий'>'багато'.
Нижче розглянемо приклади використання функцій опра­
цювання даних рядкового і символьного типів.
10.2. Функції опрацювання.

• Ф ункція length (S).


Ця функція визначає довжину рядка S.

Приклад 1. Два слова вводять в поля об’єктів Код реалізації цього завдання зображено на
Edit! і Edit2. Властивість Text об’єкта Edit! на­ рис. 1 .
буває значення amplification, а властивість Text Результат виконання програмного коду по­
об’єкта Edit2 — значення access. Потрібно ви­ дано на рис. 2.
значити, наскільки перше слово довше за дру­
ге. Результат вивести у поле об’єкта Edit3.

procedure TForml.Button1Click(Sender: TObject);


v ar a l, a2:integer; //зм інні цілого типу
begin
al:= length (E ditl.T ext ; //довжина рядка у полі E d itl
a2:=length (Edit2 .T ext); //довжина рядка у полі Edit2
E dit3.T ext:=’Перше слово довше на ’т //уведення різниці
In tT o S tr(a l-a 2 )-'символів ' //кіл ькості символів
end;
end.
Рис. 2. Результат визначення
Рис. 1. Програмний код визначення різниці довжин слів різниці довжин слів

• Ф ункція concat (SI, S2, ...).


Ця функція об’єднує декілька рядків в один.

Приклад 2. Розробити код, за допомогою об’єкта Label2; слово OnCreate — у полі об’єк­
якого зі слів події, Код, OnCreate, опрацюван­ та Label3; слово опрацювання — у полі об’єкта
ня створюється речення: Код опрацювання події Label4. Код створення речення подано на
OnCreate. рис. 3.
Будемо вважати, що кожне слово окре­ Результат виконання коду зображено на
мо зберігається в полях об’єктів: слово по­ рис. 4.
дії — у полі об’єкта Label!; слово Код — у полі

procedure TForml.B uttonlC lick(Sender: TObj e c t);


v ar a l F a2, a3, a4 :strin g ; //зм інні рядкового типу
begin
al:=L abell.C aption*' //слово поля об'єкта Labell
a2;=Label2.Caption-1 //слово поля об'єкта Label2
a3:=Label3.Caption; //слово поля об'єкта Labels
a4:=Label4.Caption-' '; //слово поля об'єкта LabeH
Label5. Caption:=a2-a4-al-a3; //виведення речення
end;
end.
Рис. 4. Результат виконання коду
Рис. 3. Код створення речення з окремих слів створення речення
Розділ 10

Ф ункція copy (S, n, m). Ця функція призначена для копі­


ювання m символів із рядка S, починаючи із символу п.

Приклад 3. У поле об’єкта Labell уводиться об’єкта Labell присвоюється речення 'application
рядок. Потрібно скопіювати з нього m симво­ binary interface1, у якому виділяються 6 симво­
лів, починаючи із символу п, і присвоїти їх лів, починаючи з позиції 13.
властивості Text об’єкта Edit!. На рис. 5 наведе­ Результат виконання програмного коду зо­
но програмний код реалізації цього завдання. бражено на рис. 6 .
До початку розробки коду властивості Caption

procedure TFoml. ButtonIClickі Sender; TObject} ;


var a l, a2: strin g ; //змінні рядкового типу
begin
1 //змінна al набуває значення властивості Caption
' //о б ’єкта Labell
a l ;=Labell.Caption;
J //змінній a2 присвоюється 6 синволів змінної a l,
//починаючи з 13-ої позиції
а2:=сору [аі, 13, 6);
Editl.Text;=a2; //виведення результату
end;*•
end,
Рис. 6. Результат копіювання
Рис. 5. Програмний код копіювання символів із рядка символів із рядка

• Ф ункція delete (S, n, т). За допомогою цієї функції з ряд­


ка S вилучається m символів, починаючи з позиції п.
Після вилучення результат залишається у рядку S.

Приклад 4. Вилучити слово аІТор з ого­ вилучення слова — у полі об’єкта Label2. Код
лошення type TAIign = (alNone, аІТор, alBottom, реалізації цього завдання зображено на рис. 7.
а ILeft). Вміст цього оголошення будемо збері­ На рис. 8 подано результат виконання цьо­
гати у полі об’єкта Labell, а результат після го програмного коду.

procedure XForml .ButtonlC lickіSender: TObject);


var a l: strin g ; //змінна рядкового типу
begin
] //змінна al набуває значення властивості Caption
a l :=L abell.Caption;
] / / з рядка a l вилучається слово аІТор
Delete (a l, 24, 6);
Label2.Caption:=al; //виведення результату
end;
end,

Рис. 7. Програмний код вилучення слова з рядка Рис. 8. Результат, отриманий


після вилучення слова з рядка
10.2. Функції опрацювання.

• Ф ункція insert (SI, S2, п). Ц я функція забезпечує встав­


лення рядка S1 у рядок S2, починаючи з позиції п.

П р и к л а д 5. У текст Actions speak louder вста­ Edit3 — значення Текст, що вставляється, власти­
вити слова than words так, щоб було створено вості Text об’єкта Edit4 — значення than words,
речення: Actions speak lounder than words. властивості Text об’єкта Edit5 — значення Текст
Для розв’язування завдання використаємо після вставлення. Програмний код реалізації
6 компонентів TEdit і компонент TButton. До сформульованого завдання подано на рис. 9.
розробки програмного коду надамо властивос­ Результат виконання програмного коду зо­
ті Text об’єкта Edit! значення Текст до вставлен­ бражено на рис. 1 0 .
ня, властивості Text об’єкта Edit2 — значення
Actions speak louder, властивості Text об’єкта
■»: Forml І 0

procedure І Forml.But t onlС1іс k (Sender: TObj e c t); Текст до вставлення


var a l, a2:string; //знінні рядкового типу
begin Actions speak louder

//змінна al набуває значення властивості Text об'єкта Edit2 Текст, що вставляється


al:= E dit2.Iext;
//змінна а2 набуває значення властивості Text об’єкта Edit4 than words

a2:=Edit4.Text; Текст після вставлення


in se rt (а2, a l, 15); //вставлення у рядок аі рядка а2
Actions speak louder than words
Edit 6. te x tu a l ; //виведення нового рядка
end; Виконати
end.
Рис. 10. Результат вставлення слів
Рис. 9. Програмний код вставлення слів у речення у речення

Ф ункція pos (SI, S2). Ця функція визначає номер позиції,


починаючи з якої текст S2 входить до тексту S1.

П р и к л а д 6 . Розробити код, за допомогою і властивості Caption об’єкта Label3 — значен­


якого у реченні The Dnipro's plunging shore від­ ня Текст, що відшукується. Властивості Caption
шукується номер позиції, починаючи з якої об’єкта Label2 надамо значення The Dnipro's
міститься слово plunging. plunging shore, а властивості Caption об’єкта
Для розробки програмного коду використа­ Label4 — значення plunging. Програмний код
ємо 5 компонентів TLabel і компонент TButton. реалізації поставленого завдання зображено
На початку розробки програмного коду нада­ на рис. 1 1 .
мо властивості Caption об’єкта Labell значен­ Результат виконання програмного коду по­
ня Текст, у якому відшукується інший текст, дано на рис. 1 2 .
!procedure TForml.ButtonlClickіSender: TObject);
var a l, a2: string; n: integer; //оголошення змінних
begin
//змінна al набуває значення властивості Caption об'єкта Label2
a l :=Label2.Caption;
j //змінна a2 набуває значення властивості Caption об'єкта Label4
a2:=Label4.Caption;
n:=pos [a2, a l) ; //виведення номера позиції
Labels.Сарсіоп:='Почи.“.ається з позиції 1
-rintloStrln);
end;
end.
Рис. 12. Результат пошуку позиції,
Рис. 11. Програмний код визначення позиції, з якої починається текст
з якої починається заданий текст
Розділ 10

• Ф ункція chr (х). Ця функія повертає символ, код якого


дорівнює X.
• Ф ункція ord (с). Ця функція повертає код символу с.

Приклад 7. Розробити програмний код для англійського символу а. Властивості Text ком­
визначення коду будь-якого латинського сим­ понента Edit2 присвоїмо символ, код якого до­
волу і визначення символу за відомим його рівнює 97. Для об’єкта Buttonl встановимо по­
кодом. дію OnClick. Програмний код реалізації цього
Розмістимо на формі 2 компоненти TEdit завдання подано на рис. 13.
і компонент TButton. Властивості Text об’єкта Результат виконання цього коду зображено
Editl у програмі присвоїмо значення коду на рис. 14.

procedure TForal.ButtonlClick(Sender: TObject);


var x:char; //змінна символьного типу
begin
x := 'a '; //змінній x присвоєно символ a
//виведення коду символу
E dicl.Text:=' Цей символ має код 'rln tlo S tr(o rd (x )) ;
//виведення символу відповідного коду
Edit2.T ext:='Такий код має символ '- c h r (97)
end;
end.
Рис. 14. Виведення коду символу
Рис. 13. Програмний код визначення символу й коду символу й символу за його кодом

З а п и т а н н я дл я п е р е в ір к и з н а н ь
У)
1 Для чого призначена функція chr (х)? 5 Поясніть порядок виконання функції
delete (S, п, т).
2 Поясніть призначення аргументів функції
copy (S, п, т)? 6 Наведіть приклад використання функції
ord (с).
3 Яке призначення функції concat (SI, S2,__)?
7 Наведіть приклад використання функції
4 Які дії виконує функція insert (SI, S2, п)? copy (S, n, т).

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
і
1 Розробіть код обчислення кількості сим­ 3 Розробіть алгоритм і код, за допомогою якого
волів у рядку, не враховуючи символ з рядка вилучаються всі слова, у яких є задана
пробілу. Перевірте роботу програми на літера. Перевірте роботу програми на прикладі
прикладі рядка: memory expansion card. вилучення з рядка multiple document interface
слів, у яких є літера о.
2 Розробіть код, за допомогою якого піс­
ля третього символу рядка вставляються 4 Розробіть код, за допомогою якого із окре­
два інші символи. Вставте, наприклад, мо введених у довільному порядку слів ство­
символи or після третього символу ряд­ рюється речення: Алгоритм упорядкування
ка infmation system. рядків.
10.3. Класичні алгоритми...

10.3. Класичні алгоритми опрацювання рядків


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

Над рядками можуть виконуватися різноманітні операції.


Як правило, для цього застосовуються описані вище функції,
а інколи й інші засоби.
До розповсюджених алгоритмів опрацювання символів
можна віднести пошук заданого символу в рядку, пошук за­
даного підрядка, упорядкування елементів рядкової величи­
ни та ін. Слід також враховувати, що в реальних алгоритмах
опрацювання рядків зазвичай використовується не одна окре­
ма функція, а певна комбінація цих функцій. У світі існує близько 8500 мов
програмування, але кількість
• Пошук заданого символу в рядку. мов, на яких пишуть програми
професійні програмісти, не пе­
Найпростіше здійснити пошук символу в рядку можна за
ревищує 10.
допомогою функції pos (SI, S2). Якщо після виконання цієї
функції її значення дорівнює нулю, це означає, що символ
у рядку відсутній. Приклад використання функції pos (SI, S2)
для пошуку символу в рядку вже розглядався в попередньо­
му параграфі. Можливий і такий варіант пошуку.
Рядок — це фактично масив символів. Кожний символ
можна розглядати як елемент цього масиву. Це означає, що
пошук заданого символу в рядку принципово не відрізня­
ється, наприклад, від пошуку заданого числа в числовому
масиві.
Нижче наведено в словесній формі алгоритм пошуку сим­
волу в рядку (де п — довжина рядка).

і:=1 (змінна і — лічиль­ Такий символ є, він розта


Крок Крок
ник символів у рядку) шований у позиції і

Якщо і-й символ дорів­


нює заданому символу,
Крок Крок Перейти до кроку 8
то крок 5, інакше —
крок З

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


Крок і:=і+1 Крок
має

Якщо і<=п, то крок 2,


Крок Крок Кінець
інакше — крок 7
Розділ 10

П р и к л а д 1. Прослідкуйте динаміку виконан­ для виведення результату. Зверніть увагу на


ня алгоритму на прикладі пошуку в рядку East те, що пошук символу в тексті завершується
or West — home is best символу w. На рис. 1 одразу після знайдення потрібного символу
зображено програмний код пошуку символу (у даному випадку символу w) або після ана­
в рядку. У властивості Caption об’єкта Labell збе­ лізу всіх символів тексту.
рігається текст: East or West — home is best. Влас­ На рис. 2 подано результат пошуку симво­
тивість Caption об’єкта Label2 використовується лу w у наведеному вище рядку.

procedure TForml.ButtonlClickISender: TObject) ;


var al, a2:string; //змінні рядкового типу
у ;boolean; //змінна логічного типу
i , n:integer; //змінна цілого типу
begin
y:=false; //ознака відсутності символу в рядку
a2:= 'Такого символу немає'; //початковий результат пошуку
a l ;= Iabell.Caption; //змінній аі присвоюється значення рядка
n:=length (al); //визначення довжини рядка
i:=0; //початковий номер символу
repeat //початок циклу
i:= i+ l; //підготовка до вибору чергового символу
i f a l [i]='W then //перевірка наявності символу в рядку
p begin //початок операторних дужок
а2:=’Тахий символ є, він на позиції № ' ;
y:=true; //ознака наявності символу в рядку
end; //кінець операторних дужок
u n til у or (i>n); //перевірка умови завершення циклу
i f у then Label2.Caption;=a2^IntToStr(i) //перевірка і
else Labe12,Caption =а2 / /виведення результату
end;
end.

Рис. 1. Програмний код пошуку заданого символу в рядку Рис. 2. Результат пошуку символу w в рядку

• Пошук заданого підрядка.


Пошук заданого підрядка в рядку можна виконати різ­
ними способами. Найпростіший із них — використання
функції pos (SI, S2), яка фактично для цього і призначена.
Результатом виконання цієї функції є номер позиції, почи­
наючи з якої міститься підрядок у рядку. Якщо значення
функції дорівнює нулю, то це свідчить про відсутність під­
рядка в рядку.
Розглянемо алгоритм пошуку заданого підрядка.
10.3. Класичні алгоритми... 181

Приклад 2. На рис. З зображено програм­ об’єкта Labell — значення Every country has its
ний код пошуку підрядка в рядку. На формі customs і властивості Caption об’єкта Label2 —
розташовано такі об’єкти: Edit!, Edit2, Labell, значення country has. Нагадаємо, що у випадку
Label2, Label3 і Buttonl. До розробки програм­ відсутності підрядка в рядку функція pos на­
ного коду властивості Text об’єкта Edit! нада­ буває нульового значення.
но значення Рядок, у якому відшукується підря- Результат виконання програмного коду по­
док, властивості Text об’єкта Edit2 — значення дано на рис. 4.
Підрядок, що відшукується, властивості Caption

procedure TForml.ButtonlClick{Sender: TObject);


var a l, bl, у :string; niinteger; //оголошення змінних
begin
] //змінна al набуває значення властивості Caption об'єкта Labell
al:=Labell.Caption;
] //змінна bl набуває значення властивості Caption об'єкта Label2
bl:=Label2.Caption;
j //визначення номера позиції входження підрядка в рядок
n:=pos (bl, a l);
i f n>0 then //якщо підрядок відсутній у рядку, то п=0
у:='Такий підрядок є, він починається з позиції №'
TlntloStrIn)
else у ;='Такий підрядок відсутній';
ІаЬеІЗ.Caption;=у //виведення результату/
end;
end.

Рис. 3. Програмний код пошуку підрядка в рядку• Рис. 4. Результат пошуку підрядка в рядку

• Упорядкування символів у рядку.


Раніше вже зазначалося, що в середовищі Lazarus існу­
65 А 97 а
ють деякі проблеми з використанням функцій опрацювання
рядків і символів національних алфавітів. Тому будемо вико­ 66 В 98 ь

ристовувати в основному латинські символи, для кодування 67 С 99 С


яких застосовується перша половина кодової таблиці ASCII
68 D 100 d
(символи з кодом від 0 до 127). Латинські символи (так само
як і національні символи) кодуються в алфавітному порядку 69 Е 101 Є

за зростанням (рис. 5). Це означає, що, наприклад, символ а 70 F 102 f


має менший код, ніж символ Ь, а символ b — менший код,
ніж символ с. Тому впорядкування символів рядка в алфавіт­ 71 G 103 g
ному порядку не викликає труднощів, оскільки воно зводить­ 72 Н 104 h
ся до простого порівняння їхніх кодів.
73 1 105 І
Оскільки рядок фактично є масивом символів, а кожний
символ — двійковим числом, то алгоритм упорядкування Рис. 5. Фрагмент кодової таблиці
символів у рядку принципово не відрізняється від розгля­ ASCII
нутих вище алгоритмів упорядкування чисел у числовому
масиві.
Розділ 10

Приклад 3. На рис. 6 зображено код упо­ з упорядкованими символами здійснюєть­


рядкування символів у рядку методом ви­ ся за допомогою властивості Caption об’єкта
бору. На формі розташовано об’єкти: Editl, Labe 12.
Edit2, Label!, Label2, Buttonl. Властивості Text Результат виконання програмного коду по­
об’єкта Editl присвоєно значення Рядок до упо­ дано на рис. 7. Зверніть увагу на те, що у ряд­
рядкування символів, властивості Text об’єкта ку впорядкованих символів відсутні пробіли.
Edit2 — значення Рядок після упорядкування Насправді вони є і розташовані на початку
символів, властивості Caption об’єкта Label! — цього рядка, тому що код пробілу має наймен­
значення copyleft media text. Виведення рядка ше значення серед усіх латинських символів.
procedure TForml.ButtonlClick(Sender: TObject);
var s t:s trin g ; //змінна рядкового типу
z:char; //змінна символьного типу
m, n, i , p;integer; //змінні цілого типу
'begin
] //змінна s t набуває значення властивості Caption об'єкта Labell
s t :=Labe11.Caption;
n:=length ( s t) ; //визначення довжини рядка
p:=n; //початкове значення правої межі рядка
while p>l do //зовнішній цикл
begin //відкриваються операторні дужки
m:=l; //початкове значення лівої межі рядка
fo r i:=2 to p do //внутрішній цикл
i f st[i]>st[m ] then ra =І; //порівняння символів
z:=st[ra]; st[m ]:=st[p ; 3 t[p ] := г; //перестановка символів
p:=p-l //зменшення правої межі рядка
end; //закриваються операторні дужки
Label2.Caption:=st //виведення рядка
end;
end.
Рис. 7. Результат упорядкування
Рис. 6. Код упорядкування символів у рядку методом вибору символів рядка

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

1 Визначте, яке значення набуде змінна п піс­ 2 Сформулюйте алгоритм пошуку символу
ля виконання фрагмента коду: в рядку.
s l:= 'x _ l хог у !'; 3 У чому полягає сутність алгоритму визначен­
s2:='xor'; ня кількості слів у рядку?
n:= pos(sl, s2); 4 Сформулюйте сутність алгоритму виділення
слів у рядку.

Н) З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я І
1 Розробіть алгоритм заміни у рядку од­ 3 Рядок містить назви українських міст, записані
ного символу іншим заданим символом. англійськими літерами. Розробіть алгоритм і про­
Наприклад, у рядку gam e замініть літеру грамний код їх упорядкування за алфавітом. Пе­
g літерою п. ревірте роботу програми на прикладі назв міст:
2 Задано послідовність латинських симво­ Poltava, Sumy, Chernivtsi, Uzhhorod, Kyiv, Ternopil.
лів. Упорядкуйте їх в алфавітному поряд­ 4 Розробіть код упорядкування в алфавітному
ку. Якщо в послідовності цих символів є порядку назв п'яти найбільших країн світу за
символ f, після нього вставте два пробіли. кількістю населення.
Практичні роботи № 19,20 183

Практична робота № 19
Тема. Розробка алгоритмів з обробкою символьних та рядкових величин, їх реалізація
у вигляді програм.
Завдання: розробити алгоритм і програму для реалізації одного із завдань варіантів 1-3.
Варіант 1. Чотири латинські літери розташовані в алфавітному порядку: d, е, т , о.
Отримайте з них слово modem.
Варіант 2. Виправте помилки в рядку: Current localtime inUkraine так, щоб отри­
мати рядок: Current local time in Ukraine.
Варіант 3. Вставте у рядок A little is a dangerous thing слово knowledge після
слова little.
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.

Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Виберіть один із варіантів завдань за вка­ 4 Виконайте програму. Проаналізуйте


зівкою вчителя або самостійно. (У разі отриманий результат.
успішного виконання одного варіанта, ви­ Зробіть висновок: які функції опрацю­
конайте іншій на власний розсуд.) вання рядків і символів доцільно за­
Проаналізуйте умову задачі. стосовувати у цій роботі.
Розробіть алгоритм і реалізуйте його в се­
редовищі програмування.

Практична робота № 20
Тема. Класичні алгоритми для роботи з рядками та їх реалізація у вигляді програм,
Завдання: розробити алгоритм і програму для реалізації одного із завдань варіантів 1-3.
Варіант 1. На скільки символів відрізняється найдовше слово від найкоротшого
у заданому рядку, наприклад у такому: We live in Ukraine?
Варіант 2. Упорядкуйте слова рядка в алфавітному порядку. Проаналізуйте по­
рядок виконання алгоритму на прикладі такого рядка: resistor, library,
raster, host, double.
Варіант 3. Вилучте з рядка всі слова, які починаються з літери Ь, наприклад
з рядка: macro, bit, sampler, bar, save, basic,
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.

Хід роботи
Під час роботи з комп’ютером дотримуйтесь правил безпеки.

Виберіть один із варіантів завдань за вка­ 3 Розробіть алгоритм і реалізуйте його


зівкою вчителя або самостійно. (У разі у середовищі програмування.
успішного виконання одного варіанта, ви­ 4 Виконайте програму. Проаналізуйте отри­
конайте іншій на власний розсуд.) маний результат.
Проаналізуйте умову задачі. Зробіть висновок: які компоненти до­
цільно використовувати у цій роботі.
Розділ 11. ДВОВИМІРНІ МАСИВИ
11.1. Загальні відомості про двовимірні масиви
Наведіть означення одновим ірного масиву. Я к оголош ую т ься
одновим ірні м асиви? Які існуют ь класичні алгорит м и
опрацю вання значень елем ент ів одновим ірного масиву?
Чим, на ваш у д ум ку відрізняю т ься двовим ірні м асиви від
одновим ірних?
Ви вже знаєте, що масив — це структурований тип даних,
елементи якого мають один тип.

* Двовимірний масив являє собою таблицю, що склада­


ється з фіксованої кількості рядків і стовпців.
Приклад 1. Двовимірний масив
цілих чисел із трьома рядка­ Елемент двовимірного масиву має два індекси: номер ряд­
ми і чотирма стовпцями може ка і номер стовпця (приклади 1 , 2 ).
мати такий вигляд:
Приклад 2. Кількість пального, що доставляють з нафтоба­
Номери стовпців зи на станцію заправки у робочі дні, можна подати у вигляді
двовимірного масиву (таблиці):
1 2 3 4
Дні тижня
1 44 32 100 7
понеділок вівторок середа четвер п'ятниця
Номери
2 55 41 72 53 АЗ-20 6,4 7 5,5 6 6,2
рядків Назви
ЗЛ_2 10 5,5 6 6,4 7,4
3 33 84 91 46 станцій
РК-5 7,8 4,8 5,7 6,6 7
У кожній клітинці вказана кількість пального (в тоннах),
що постачається на станцію. Для опрацювання такого масиву
потрібно дні тижня ототожнювати з номерами стовпців, а на­
зви станцій — із номерами рядків.

Загальну структуру двовимірного масиву можна подати


в такому вигляді:
а[1,1], а [1,2], ..., a[1,j], ..., а[1,п]
а[2,1], а[2,2], ..., a[2,j], ..., а[2,п]

а[т,1], а [т,2 ], ..., a[m,j], ..., а[т,п ]


У квадратних дужках — індекси елемента масиву. Місце
Приклад 3. елемента у двовимірному масиві визначається двома індекса­
var mas: array [1..4,1..5] of char; — ми. Перший індекс — це номер рядка масиву, другий — но­
оголошено двовимірний ма­ мер стовпця.
сив символів mas, що має Способи оголошення двовимірного масиву принципово не
чотири рядки з номерами відрізняються від оголошення одновимірного масиву. Різни­
від 1 до 4 і п’ять стовпців ця в тому, що в оголошенні двовимірного масиву через дві
із номерами від 1 до 5. крапки вказується діапазон індексів рядків, а потім, відо­
кремлюючи комою, — діапазон індексів стовпців (приклад 3).
11.1. Загальні відомості.
У розділі змінних структура оголошення двовимірного ма­
сиву така:
var <ім'я змінної>: array [діапазон рядків, діапазон стовпців] of
Приклад 4.
<тип елементів>;
type nov=array [1 ..8,1 ..1 0 ] of real;
Оголосити двовимірний масив можна і так: оголосити новий
var mas: nov; — оголошено чис­
тип даних, а потім описати змінну нового типу (приклад 4):
ловий масив дійсного типу
type <ім'я типу>=аггау [діапазон рядків, діапазон стовпців]
з іменем mas, у якому 8 ряд­
of <тип елементів>;
ків і 1 0 стовпців.
var <ім'я змінної>: <ім'я типу>;
Для оголошення масиву можна використовувати констан­
ти, визначені у розділі оголошення констант. Наприклад:
const n=7: т=5:
var mas: array [1 ..n,1 ..m] of integer;
Для звернення до елемента двовимірного масиву слід
вказати ім ’я масиву і значення індексів у квадратних дуж ­
ках. Н априклад, для звернення до елемента, розташованого
у третьому рядку четвертого стовпця слід вказати: mas[3,4].
Будь-якому символу можна присвоїти певне значення,
наприклад: mas[2,4]:=5 — елементу двовимірного масиву,
розташованому у другому рядку четвертого стовпця, при­
своєно символ 5.
Двовимірні масиви можна вводити як у консольному, так Брендан Айк, автор мови про­
і у візуальному режимах. Як правило, для введення значень грамування JavaScript, що є стан­
елементів двовимірного масиву використовують вкладені ци­ дартом для веб-програмування.
кли. Внутрішній цикл використовується для введення зна­ Брав участь устворенні амери­
чень елементів різних стовпців одного рядка, а зовнішній — канської компанії Mozilla, яка
для переходу до нового рядка. Для введення значень елемен­ розробляє браузер Firefox.
тів масиву в консольному режимі використовується оператор
readln (read), а для виведення — оператор writeln (write).
Розглянемо два приклади введення і виведення двовимір­
них масивів у консольних додатках.

Приклад 5. На рис. 1 зображено консольну Після виконанняі програми


пре на екран буде ви­
програму формування двовимірного масиву ведено імена елементів масиву та їхні значен­
цілими випадковими числами і виведення їх ня (рис. 2 ).
за допомогою оператора write по рядках.
const п=3; к=4;
var
і , j :integer; //змінні цілого типу
mas: array [1 ..п Д ..т ] of integer; //двовимірний масив
begin
Randomize: //для генерування різних випадкових чисел
for і:=1 to n do //зовнішній цикл формування масиву
for j:= l to Е do //внутрішній цикл формування масиву
mas [i,j]:=random (9); //формування масиву mas[1,1]=6 mas[1,2]=0 mas[1,3]=2 mas[1,4]=4
for і:=1 to n do //зовнішній цикл виведення масиву
begin mas[2,1]=5 m as[2,2]=4 m as[2,3]=8 mas[2,4]=3
for j:= l to m do //внутрішній цикл виведення масиву
write (’ mas[’ , і , 1, j , ' ] =' , m as[i,j ] ) ; //виведення масиву
w riteln; //призупинення виконання програми mas]3,1]=6 mas[3,2]=1 mas[3,3]=2 mas[3,4]=5
, end;
end.
Рис. 1. Консольна програма формування елементів масиву Рис. 2. Результат виконання програми
випадковими числами
Розділ 11

Приклад 6 . На рис. З зображено консоль­ після запуску програми послідовно вводити


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

mas[1,1]=1.00000000000000E+000

//іменовані константи
mas[1,2]=2.00000000000000T+000
const п= J; m=4;
var і , j integer; //змінні цілого типу mas[1,3]=3.00000000000000E+000
та з : array of rea l; //двовимірний масив
begin
mas[1,4]=4.00000000000000E+000
fo r і:=1 to n do //зовнішній цикл уведення масиву mas[2,1]=5.00000000000000E+000
for j:= l to d do //внутрішній цикл уведення масиву
begin //відкриваються оператори; дужки mas[2,2]=6.00000000000000E+000
write ('увести гвазр,і, ' , j , ' ] =' ) ; //повідомлення про уведення mas[2,3]=7.00000000000000E+000
readln m as[i,j]) //уведення чергового елемента масиву
end; //закриваються операторні дужки mas[2,4]=8.00000000000000E+000
for i:= l to n do //зовнішній цикл виведення масиву mas[3,1]=9.00000000000000E+000
fo r j:= l to m do //внутрішній цикл виведення масиву
w riteln 'm a s [ ',if mas:i, j ] ) ; //виведення масиву mas[3,2]=1.00000000000000E+001
readln //призупинення виконання програми
mas[3,3]=1.10000000000000E+001
end.
mas[3,4]=1.2000000000000E+001
Рис. 3. Консольна програма введення масиву з клавіатури і його
виведення Рис. 4. Результат виконання програми

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

1 Наведіть означення двовимірного масиву. 4 Як оголошується двовимірний масив у роз­


ділі змінних?
2 Наведіть загальну структуру двовимірного
масиву. 5 Як оголошується двовимірний масив у розді­
лі типів?
3 Як здійснюється звернення до окремих еле­
6 Наведіть приклад оголошення двовимірного
ментів двовимірного масиву?
масиву з використанням іменованих констант.

Н) З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я І
1 Визначте помилки в операторах: 3 x 4 , елементами якого є назви геометрич­
них фігур (трикутник, прямокутник та ін.).
а) type mas=array [1..4,5] of real; var mas;
З Знайдіть в Інтернеті 8 найбільших озер Украї­
б) var a; array [3,4] of integer; ни. Збережіть назви цих озер у двовимірному
масиві, розмір якого визначте самостійно. Роз­
2 Розробіть консольну програму введення робіть консольну програму реалізації цього за­
і виведення двовимірного масиву розмірами вдання.
11.2. Введення і виведення... 187

11.2. Введення і виведення значень елементів


двовимірних масивів у візуальному режимі
Я ку ст рукт уру м аю т ь двовим ірні м асиви і я к вони оголош у­
ю т ься? Поясніт ь п оряд ок звернення до о крем и х елем ент ів
двовим ірного масиву. За допом огою я к и х операт орів здій­
сню єт ься введення і виведення значень елем ент ів м асиву
в консольном у реж им і?
Середовище Lazarus має різноманітні компоненти для ор­
ганізації введення/виведення даних у візуальному режимі.
Раніше вже були описані й наведені приклади використання
компонентів TEdit, TLabel, TMemo, TListBox і функцій InputBoxO,
ShowMessage(). Ці засоби застосовувалися у процесі введення-
виведення одновимірних масивів. Досить зручним для органі­
зації введення/виведення значень двовимірних масивів є ком­
понент TStringGrid (таблиця рядків). Він визначений у модулі
Grids, а його піктограма розташована на вкладці Additional па­
літри компонентів. Компонент переноситься на форму і стає
об’єктом так само, як і інші компоненти. Основні властивості
об’єкта наведено в табл. 1 .
Т а б л и ц я 1. О С Н О В Н І В Л А С Т И В О С Т І О Б 'Є К Т А S t r i n g G r i d

Н азва властивості П ризначення властивості

Nam e В и з н а ч а є ім 'я о б 'є к т а

C o lC o u n t В и з н а ч а є к іл ь к іс т ь с т о в п ц ів

Row Count В и з н а ч а є к іл ь к іс т ь р я д к ів

В к а з у є к л іт и н к у , р о з т а ш о в а н у н а п е р е х р е с т і с т о в п ц я н о м е р с о ї і р я д к а н о м е р r o w
G e l l s [ c o l, ro w ]
(сто в п ц і н у м е р у ю т ь с я в ід 0 д о C o l C o u n t - 1, а р я д к и — в ід 0 д о R o w C o u n t - 1)

В и з н а ч а є к іл ь к іс т ь л ів и х с т о в п ц ів , я к і в и д іл я ю т ь с я к о л ь о р о м і зал иш аю ться
F ix e d C o ls
н а м іс ц і у п р о ц е с і п р о к р у ч у в а н н я го р и зо н та л ь н о ї см уги

В и з н а ч а є к іл ь к іс т ь в е р х н іх р я д к ів , я к і в и д іл я ю т ь с я ін ш и м к о л ь о р о м і з а л и ш а ю т ь с я
F ix e d R o w s
н а м іс ц і у п р о ц е с і п р о к р у ч у в а н н я в е р ти к а л ь н о ї см уги

S c r o llB a r s В и з н а ч а є н а я в н іс т ь с м у г п р о к р у ч у в а н н я

Значення в л а сти в о сті tru e д о зв о л я є ред агуван н я м асиву, а зн а чен н я fa ls e з а б о ­


O p t io n s .g o E d it in g
р о н я є й о го р ед а гув а н н я

D e f a u lt C o lW id t h В и з н а ч а є ш и р и н у с т о в п ц ів

D e f a u lt R o w H e ig h t В и з н а ч а є в и с о т у р я д к ів

H e ig h t В и з н а ч а є в и с о т у о б 'є к т а

W id t h В и з н а ч а є ш и р и н у о б 'є к т а

Font В и з н а ч а є ш р и ф т , я к и м в ід о б р а ж а є т ь с я в м іс т к л іт и н о к
Розділ 11

Приклад 1. Розглянемо
приклад уведен­
ня цифрових значень у клітинки об’єкта
* Значення інших властивостей залишимо
за замовчуванням. Після цього двічі клацне­
StringGridl за допомогою клавіатури, створення мо поле об’єкта StringGridl, розташованого на
двовимірного масиву із цих елементів і виве­ формі. Відкриється вікно Редактор StringGrid,
дення значень масиву у зворотному порядку зображене на рис. 1. У клітинки цього редак­
в клітинки об’єкта StringGrid2. тора введемо в 3 рядки і 4 стовпці цілочисло­
Для цього розмістимо на формі два компо­ ві значення так, як показано на рис. 1 .
ненти TStringGrid і компонент TButton. Надамо Після завершення введення цифрових зна­
такі значення властивостям об’єктів StringGridl чень клацнемо кнопку Гаразд. Форма набуде
і StringGrid2: ColCount — 4; RowCount — 3; вигляду, як на рис. 2 .
FixedCols — 0; FixedRows — 0; Options — goEdi-
ting — true.

І Використання TStringGrid Е)

Рис. 1. Вікно редактора StringGrid Рис. 2. Вміст об'єкта StringGridl


після введення масиву

На рис. З зображено код, за допомогою яко­ Звернемо увагу на те, що у властивості Cells
го послідовно зчитуються значення клітинок спочатку вказується номер стовпця, потім —
об’єкта StringGridl, зі значень яких формується номер рядка, а в масиві — навпаки.
двовимірний масив mas розмірністю 3x4. Потім Після успішної компіляції та виконання
значення цього масиву виводяться у зворот­ програми отримаємо результат, поданий на
ному порядку в клітинки об’єкта StringGrid2. рис. 4.

procedure TForal. ButtonlCliclc (Sender: TObject);


ivar i , j : integer; //змінні цілого типу
mas: array [1 ..3 ,1 ..4 ] of integer; //двовимірний масив
begin
for i:= l to 3 do //зовнішній цикл формування масиву
for j:= l to 4 do //внутрішній цикл формування масиву
//введення значень масиву із клітинок StringGridl
ваз [ і , j]:= S trT o In t(S trin g G rid l.C e lls[j-l,i-l]);
for і : =1 to 3 do //зовнішній цикл виведення масиву
for j:= l to 4 do //внутрішній цикл виведення масиву
//виведення елементів масиву в клітинки StringGrid2
StringGrid2.C ells[j - 1 , і - 1 ] :=IntToStr(лаз[ 4 -і,5-j ]);
end;
end.

Рис. 3. Код введення і виведення масиву Рис. 4. Результати введення і виведення


за допомогою об'єктів StringGridl і StringGrid2 двовимірного масиву
11.2. Введення і виведення... 189

Приклад 2. Створимо двовимірний масив Значення основних властивостей об’єкта


розмірністю п х т, елементами якого є цілі StringGridl обираємо такі самі, як у прикладі 1.
випадкові числа з діапазону від 0 до 2 0 і ви­ Програму реалізації цього завдання наведено
ведемо елементи цього масиву в клітинки на рис. 5.
об’єкта StringGridl. Додамо на форму компонент Результат виконання програми зображено
TButton, для якого визначимо подію OnClick. на рис. 6 .

procedure TForml.ButtonlClick(Sender: TObject);


const n=3; m=4; //іменовані константи
var і , j:in te g e r; //змінні цілого типу
mas: array [ l .. n r l..n ] of integer; //двовимірний масив
begin
Randomize; //генерування різних випадкових чисел
for і:=1 to n do //зовнішній цикл формування масиву
for j:= l to m do //внутрішній цикл формування масиву
таз [ і , j]:=Random (20); //формування масиву
for і:=1 to n do //зовнішній цикл виведення масиву
for j:= l to m do //внутрішній цикл виведення масиву
//виведення елементів масиву в клітинки StringGridl
StringG ridl.C e lls [j-1 ,i-1 ]:= In tIo S tr(mas[i,j ]);
end;
end,

Рис. 5. Код створення і виведення масиву Рис. 6. Двовимірний масив випадкових


в клітинки об'єкта StringGridl чисел

Приклад 3. Перший член спадної геоме­ Надамо основним властивостям об’єкта


тричної прогресії дорівнює а, знаменник q. StringGridl такі значення, як і в попередніх
Обчислити 12 перших членів цієї прогресії прикладах. Програму реалізації завдання зо­
і створити з їх значень масив розмірністю бражено на рис. 7.
3x4. Елементи масиву розмістити в порядку Результат виконання програми наведено на
зменшення їхніх значень. Вивести елементи рис. 8 .
масиву за допомогою компонента TStringGrid.

procednre TForml.ButtonlClick(Sender; TObject);


Jvar p, q: rea l; //змінні дійсного типу
i, j:in te g e r; //змінні цілого типу
mas; array [1 .,3 ,1 . .4; of real; //масив чисел дійсного типу
begin
P:=10; //значення першого члена прогресії
q:=0.5; //значення знаменника прогресії
for i:= l to 3 do //зовнішній цикл створення масиву
for j;= l to 4 do //внутрішній цикл створення масиву
begin //відкриваються операторні душ і
m as;i,j ] ;=p; //елементу масива присвоюється значення
p:=p-q; //обчислення члена прогресії
end; //закриваються операторні дужки
for i:= l to 3 do //зовнішній цикл виведення масиву
for j:= l to 4 do //внутрішній цикл виведення масиву
] //виведення елементів масиву в клітинки StringGridl
StringG ridl.C ells[j-1 , i-1];=FloatT oStr(mas[i Fj ] ) ;
end;
end.

Рис. 7. Код створення масиву з членів спадної Рис. 8. Масив значень членів спадної
геометричної прогресії геометричної прогресії
Розділ 11

Lazarus забезпечує роботу не тільки зі статичними, але


Якщо для динамічного маси­ й із динамічними масивами. Для динамічних масивів зна­
ву не вистачає пам'яті, вини­ чення їх розмірів під час оголошення масиву не задаються,
кає помилка EOutOfMemory. вказується лише тип елементів масиву. Якщо розмір масиву
Якщо після використання ди­ невідомий, то не можна відвести для нього і пам’ять. Для
намічного масиву потреба відведення пам’яті й надання програмі можливості вико­
в ньому відпадає, його можна ристовувати такі масиви виконується їх ініціалізація за до­
знищити за допомогою про­ помогою функції SetLength (ім’я масиву, кількість елементів
цедури Finalize (ім'я масиву). у масиві).
Інші способи введення значень елементів двовимірних ма­
сивів будуть розглянуті в наступних розділах.

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

1 Які компоненти забезпечують введення/ви- 4 Яке призначення мають властивості


ведення даних? ColCount і RowCount?
2 Який компонент зручний для введення/ви- 5 Назвіть основні властивості об'єкта
ведення двовимірних масивів? StringGrid.
3 Як нумеруються стовпці й рядки об'єкта 6 Для чого призначено вікно редактора
StringGrid? об'єкта StringGrid?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
і
У школі 3 дев'яті класи. Від кожного класу в кро­ 3 Відомі результати зовнішнього незалежного
сі на 1 км беруть участь по 4 учні. Використай­ оцінювання п'яти учнів з української мови,
те компонент TStringGrid для введення резуль­ історії, математики і фізики. За допомогою
татів забігу. Створіть відповідний двовимірний функції InputBoxO уведіть ці результати
масив. Результати учнів кожного класу відо­ в масив і виведіть його значення за допо­
бразіть за допомогою компонентів TListBox. могою функції ShowMessage().
2 Чотири учасники гри, починаючи з першо­ 4 У табл. 2 наведено 4 кращі команди чемпіо­
го, по черзі кидають 5 разів гральний кубик нату України з футболу з 2011 до 2015 року.
із цифрами від 1 до 6. Зареєструйте результа­ Використайте 2 компоненти TStringGrid для
ти кидання кубика у масиві й виведіть резуль­ створення відповідного масиву та виведен­
тати за допомогою компонента TStringGrid. ня його значень.
Таблиця 2

Рік 1-ше місце 2-ге місце 3-тє місце 4-те місце

2011-2012 Шахтар Динамо Металіст Дніпро

2012-2013 Шахтар Металіст Динамо Дніпро

2013-2014 Шахтар Дніпро Металіст Динамо

2014-2015 Динамо Шахтар Дніпро Зоря


11.3. Класичні алгоритми... 191

11.3. Класичні алгоритми опрацювання значень


елементів двовимірних масивів
Пригадайте, які компоненти вже використовувалися для
введення і виведення значень елементів масиву. Які з них доцільно
застосовувати для двовимірних масивів? Які алгоритми, на ваш
погляд, можна назвати класичними для двовимірних масивів?
До класичних алгоритмів опрацювання двовимірних маси­
вів можна віднести обчислення загальної суми значень елемен­
тів масиву, суми значень елементів головної і побічної діагона­
лей, суми значень елементів кожного рядка і кожного стовпця.
• Обчислення загальної суми значень елементів двовимір­
ного масиву.
Сутність алгоритму обчислення загальної суми значень елемен­
тів двовимірного масиву розглянемо на прикладі такого масиву:
Математик, професор Дорт-
а[1,1], а [1,2], ..., а[1,п]
а[2,1], а[2,2], ..., а[2,п] мундського коледжу (США)
Джон (Янош) Кемені (на фото
а[т,1], а [т,2 ], ..., а[т,п ] праворуч) разом із Томасом
Існують різні підходи до обчислення суми значень елементів Курцем розробив мову про­
масиву. Зокрема, можна знайти суму чисел у кожному рядку, грамування BASIC та мережеву
а потім додати значення отриманих сум або обчислити суму систему користування декіль­
чисел у кожному стовпці, а потім додати значення отрима­ кома комп'ютерами одночас­
них сум. Однак частіше застосовується метод «накопичення», но (англ. timesharing). Є одним
сутність якого полягає в тому, що на початку значення суми із піонерів викладання основ
дорівнює нулю. Потім до цього значення додається перший програмування.
елемент першого рядка, до отриманої суми — другий елемент
того самого рядка і так далі до останнього елемента цього ряд­
ка. До суми чисел першого рядка додається перший елемент
другого рядка, потім другий елемент другого рядка і так далі
до останнього елемента.
Приклад 1. Для двовимірного масиву:
а[1,1], а [1,2], а[1,3]
а[2,1], а[2,2], а[2,3]
обчислення суми за допомогою цього методу буде здійснюва­
тися так:
s[0]:=0; s[3]:=s[2] + а[1,3]; s[6]:=s[5] + а[2,3].
s[1]:=s[0] + а [1,1]; s[4]:=s[3] + а [2,1];
s[2]:=s[1] + а [1,2]; s[5]:=s[4] + а[2,2];

Приклад 2. Для двовимірного масиву цілих чисел:


12, 21, 10
33, 22, 13
сума його елементів обчислюється у такому порядку:
s[0]:=0; s[3]:=33+10=43; s[6]:=98+13=111.
s[1]:=0+12=12; s[4]:=43+33=76;
s[2]:=12+21=33; s[5]:=76+22=98; Рис. 1. Блок-схема алгоритму
обчислення суми значень елементів
Блок-схему алгоритму зображено на рис. 1. двовимірного масиву
Розділ 11

У блок-схемі використано такі змінні: і, j — лічильники


циклів (і — лічильник рядків, j — лічильник стовпців), т —
кількість рядків у масиві, п — кількість стовпців у масиві,
s — сума значень елементів масиву.
За допомогою внутрішнього циклу обчислюється сума чи­
сел у рядку, а за допомогою зовнішнього циклу — перехід до
чергового рядка. Використання вкладених циклів характер­
не для більшості програм опрацювання двовимірних масивів.

Приклад 3. Розмістимо на формі компо­ Після успішної компіляції програми запу­


нент TLabel і компонент TButton. Для об’єкта стимо її на виконання й уведемо такі значення:
Buttonl обираємо подію OnClick. Програму, 10,5 2 3 4
що реалізує алгоритм обчислення загальної 1 11 12,7 15
5 6 7 8
суми значень елементів масиву, зображено
Результат виконання програми подано на
на рис. 2.
рис. 3.

procedure TForml. ButtonlCliclc(Sender: TObject);


const n=3; m=4; //іменовані константи
var i , j : integer; / / змінні цілого типу
з : real; //змінна дійсного типу
mas: array [ l . . n , l . .m] of rea l; //двовимірний масив
begin
fo r i:= l to n do //зовнішній цикл уведення масиву
fo r j:= l to m do //внутрішній цикл уведення масиву
//уведення значеньіз клавіатури і присвоювання їх елементам масиву
таз [ і , j ] :=StrToFloat(InputBox ('Уведення',
'Увести m a s['T ln tIo S tr(i)+ V + In tT o S tr(j)+ '} V ' ) ) ;
s:=0; //початкове значення суми
for i:= l to n do //зовнішній цикл обчислення суми
for j:= l to m do //внутрішній цикл обчислення суми
s:= s-m as[i,j ] ; //обчислення суми
Labell.Caption:=' Сука= '-F loatT oS tr(s); //виведення результату
end;
end.

Рис. 2. Програма обчислення суми значень елементів Рис. 3. Результат обчислення суми значень
двовимірного масиву елементів двовимірного масиву•

• Обчислення суми значень елементів масиву, розташова­


них на головній і побічній діагоналях.
Приклад 4. Дано масив цілих
чисел: Термін «головна діагональ» зазвичай використовуєть­
ся у масивах, у яких кількість рядків і стовпців однакова.
1 2 3 4
Головна діагональ — це діагональ, що з’єднує лівий верхній
5 6 7 8
елемент масиву з правим нижнім. Якщо, приміром, масив
9 10 11 12
має розмірність 4x4, то на головній діагоналі розташовані
13 14 15 16
елементи а[1,1], а[2,2], а[3,3] і а[4,4] (приклад 4).
Головна діагональ: числа 1, Побічна діагональ — це діагональ, що з’єднує правий
6 , 1 1 , 16; побічна діагональ:
верхній елемент масиву з лівим нижнім. На цій діагоналі
числа 4, 7, 10, 13. для наведеного вище масиву розташовані елементи а[1,4],
а [2,3], а [3,2], а [4,1].
11.3. Класичні алгоритми... 193

Розглянемо а л г о р и т м обчислення значень елементів,


р о з т а ш о в а н и х на Позначимо змінною
головній діагоналі.
s значення суми елементів, змінною п — кількість рядків
і стовпців у масиві, змінною і — поточний номер рядка
(стовпця), mas[i, і] — значення елемента масиву на головній
діагоналі. З урахуванням таких позначень алгоритм обчис­
лення суми значень цих елементів, можна подати так:

Крок У в е с т и м а с и в m a s [ n ,n ] Крок і:=і+1

Я к щ о і< = п , т о к р о к 4 ,
Крок s := 0 Крок
ін а к ш е — крок 7

Крок і:=1 Крок Виведення s

Крок s := s + m a s [і,і] Крок 8 К ін е ц ь

Приклад 5. Двовимірний масив розмірністю масиву зі значень членів цієї прогресії й об­
п х пнабуває значень членів арифметичної про­ числення суми значень елементів головної
гресії, перший член якої позначимо змінною а, діагоналі.
різницю прогресії — змінною d. На рис. 4 Результат виконання програми наведено на
зображено програму створення двовимірного рис. 5.

procedure IForml.ButtonIClick;Sender: TObject);


const n=i; //іменована константа
var і, і ,a, d, s:integer; //змінні цілого типу
таз: array [ l .. n ,l .. n ] of integer; //двовимірний масив
begin
з:=0; //початкове значення суми
a:= l; //значення першого члена прогресії
d:=2: //різниця прогресії
for i:= 1 to n do //зовнішній цикл створення масиву
fo r j : = l to n do //внутрішній цикл створення масиву
begin //відкриваються операториі дужки
mas |i,j] := a ; //елемент масиву набуває значення CD
$ Головна д іа ...
a:=atd //обчислення поточного члена прогресії
end; //закриваються операторні дужки
fo r i:= l to n do //цикл обчислення суми С ум а= 64
з:= з-т а з[І,І]; //обчислення суми
labell.C aption:=' Сума= 1-IntT oS tr(з); //виведення результату О б ч и сл и ти
end;
end.

Р и с. 4. П р о г р а м а о б ч и с л е н н я з н а ч е н ь е л е м е н т ів Р и с. 5. Р е з у л ь т а т о б ч и с л е н н я з н а ч е н ь
г о л о в н о ї д іа г о н а л і м а с и в у е л е м е н т ів г о л о в н о ї д іа г о н а л і

Розглянемо а л г о р и т м обчислення значень ел ементів


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

Цей алгоритм можна подати так.

Крок 1 У в е с т и м а с и в m a s [n,n] Крок 6 і:=і+1

............................ .
Крок 2 s := 0 Крок 7 j:= j-1

Я к щ о і< = п , т о к р о к 5,
Крок 3 і:=1 Крок 8
ін а к ш е — крок 9

Крок 4 j:= n Крок 9 Виведення S

Крок 5 s := s + m a s [i,j] Крок 10 К ін е ц ь

Приклад 6. Елементи масиву розмірністю


5 x 5 набувають значень випадкових цілих
* значення основних властивостей: ColCount — 5,
RowCount — 5, FixedCols — 0, FixedRows — 0.
чисел. Для виведення цього масиву викорис­ Програму обчислення суми чисел побічної ді­
таємо компонент TStringGrid. Для виведення агоналі зображено на рис. 6.
суми значень побічної діагоналі — компо­ Результат виконання програми наведено на
нент TLabel. Для об’єкта Buttonl обрано подію рис. 7.
OnClick. Для об’єкта StringGridl встановлено такі

procedure TForml.ButtonlClickiSender: TObject);


const n=S; / / іменована константа
1 var i , j f s: integer; //змінні цілого типу
mas: array [ l .. n ,l .. n ] of integer; //двовимірний масив
begin
Randomize; //для генерування різних випадкових чисел
for i:= l to n do //зовнішній цикл створення масиву
fo r j:= l to n do //внутрішній цикл створення масиву
1 begin //відкриваються операторні дужки
1 //елементу масива присвоюється ціле випадкове число
таз [і, j]:=random (21);
S tringG ridl.C ells;j - l , i - l ] :=IntToStr т а з ; i , j ] ) ;//виведення масиву
end; //закриваються операторні дужки
з : =0; / / початкове значення суми
j:=n; //початковий номер стовпця
for i:= l to n do //цикл обчислення суми
1 begin //відкриваються операторні дужки
s:=s-mas [i, j ) ; //обчислення суни значень побічної діагоналі
//зменшення номера стовпця
end; //закриваються операторні дужки
Labell.Caption:=' Сума= ’-intToStrj(s); //виведення суми
end;
end.
Р и с . 7. Р е з у л ь т а т о б ч и с л е н н я с у м и ч и с е л
Р и с. 6. П р о г р а м а о б ч и с л е н н я з н а ч е н ь е л е м е н т ів п о б іч н о ї д іа г о н а л і п о б іч н о ї д іа г о н а л і

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


А л г о р и т м обчислення суми значень елементів в одному
рядку двовимірного принципово не відрізняється від
масиву
алгоритму обчислення суми значень елементів одновимірно-
го масиву. Тому задача обчислення суми значень елементів
кожного рядка двовимірного масиву зводиться до обчислення
суми значень елементів п одновимірних масивів. У процесі
11.3. Класичні алгоритми... 195

розробки алгоритму використаємо такі змінні: п — кількість


рядків, т — кількість стовпців, і — поточний номер рядка,
j — поточний номер стовпця, s — сума значень елементів
рядка. Цей алгоритм можна подати так.
............................ .
Я к щ о j< = m , т о к р о к 5,
Крок 1 У в е с т и м а с и в m a s [ n ,m ]
ін а к ш е — крок 8

Крок 2 і:=1 Виведення s

Крок 3 s := 0 Крок 9 і:=і+1

Якщ о і< = п , т о к р о к З,
Крок 4 j:=1 Крок 10
ін а к ш е — к р о к 11

Крок 5 s:= s + a [i,j] Крок 11 К ін е ц ь

Крок 6 j:=j+1

П р и к л а д 7. Програму реалізації алгорит­ використано значення властивостей, анало­


му зображено на рис. 8 . Для введення ма­ гічних тим, які використовувалися у попе­
сиву використано функцію InputBoxO, для редніх прикладах (звертаємо увагу на те, що
виведення масиву — компонент TStringGrid, для об’єкта StringGridl значення властивостей
для виведення суми значень елементів ряд­ FixedCols і FixedRows слід встановити такими,
ків — компонент TListBox, для виконання про­ що дорівнюють нулю).
грами — компонент TButton з подією OnClick. Результат виконання програми наведено на
Для компонентів, розташованих на формі, рис. 9.
procedure TForml.ButtonlClick(Sender TObject);
const n=3; m=4; //іменовані константи
var і, j , s: integer; //змінні цілого типу
лазі arra y '1. .n, 1, in] of integer; //двовимірний масив
begin
for i:= l to n do //зовнішній цикл уведення масиву
for j;= l to m do //внутрішній цикл уведення масиву
begin //відкриваються операторні дужки
//уведення значень елементів масиву (5 )
Сума рядків
в а з і[ і , зі i= 5 trIo In tіInputBoX''Уведення',
■Увести и а з ір + I n t I o S t r ( i ) + V t l n t T o S t r ( j ) ’)); 3 45 14
a
//виведення масиву в клітинки StringGridl
S t r i n g G r i d l . C e l i a :=IntToStr(m asl[i,j ] ) ; 33 61 37 5
end; //закриваються операторні дужки 77 33 22
for і:=1 to n do //зовнішній цикл обчислення суни рядків 6
begin //відкриваються операторні дужки
s:= 0; //початкова сума рядка
for j : = l to m do //цикл обчислення суми поточного рядка
з:=зтшаа1[і,j] ; //обчислення суни значень рядка
ListBoxl,Items.Add(IntToStr(з)] ; //виведення суми рядка
end; //закриваються операторні дужки
end;
end.

Р и с. 8. П р о г р а м а о б ч и с л е н н я с у м и з н а ч е н ь р я д к ів Р и с. 9. Р е з у л ь т а т о б ч и с л е н н я с у м и
д в о в и м ір н о г о м а с и в у р я д к ів д в о в и м ір н о г о м а с и в у
Розділ 11

• Обчислення кількості заданих значень у масиві


1 * - - ..... — А лгорит м обчислення кількост і заданих значень у дво­
вимірному м асиві аналогічний алгоритму обчислення та­
Гарний п р о г р а м іс т у 10 р а з ів
ких значень у одновимірному масиві. Різниця полягає лише
п р о д у к т и в н іш и й , н іж с е р е д н ій ,
в тому, що після завершення аналізу одного рядка необхідно
а в ід м ін н и й — у 2 0 -1 0 0 р а з ів
здійснити перехід на наступний рядок. Розглянемо алгоритм
п р о д у к т и в н іш и й , н іж с е р е д н ій .
обчислення кількості чисел, менших від значення с, у маси­
ві mas[n, т]. Кількість таких чисел присвоюється змінній k.

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


зображено на рис. 10. Масив формується ви­ номери рядків і номери стовпців. Це озна­
падковими числами з діапазону від 0 до 20. чає, що кількість стовпців і рядків у об’єкті
Значення елементів цього масиву виведено StringGridl на одиницю більша за кількість
в клітинки об’єкта StringGridl, а результат — рядків і стовпців у масиві. Тому властивість
в поле об’єкта Labell. ColCount повинна мати значення 5, власти­
Результат виконання програми зобра­ вість RowCount — значення 4, а властивості
жено на рис. 11. Зверніть увагу на те, що FixedCols і FixedRows — значення 1.
procedure TForml.Button2Click(Sender: TObject];
const n=S; m=4; //іненоваиі константи
var i, j, 1c: integer; //змінні цілого типу
таз: array [ 1 ..n ,1, .a] of integer; //двовимірний масив
begin
Randomize; //генерування різних випадкових тесел
for i:= l to n do //зовнішній цикл створення масиву
for j :=1 to m do //внутрішній цикл створення масиву
3 begin //відкриваються операторні дужки
//елементу масива присвоюється випадкове тесло
таз [ і , } ] :=random 21);
//значення елемента масиву виводиться в клітинки StringGridl
К іль кість чисел
S tringG ridl.C ells[ j , і ] :=IntToStr(mas Ei,j ]);
end; //закриваються операторні дужки
Рядки 1 стовпець 2 стовпець 3 стовпець 4 стовпець
1с;=0; //початкове значення кількості чисел
for і;=1 to n do //зовнішній цикл обчислення кількості чисел 1 рядок 12 2 16 19
for j;= l to в do //внутрішній цикл обчислення кількості тесел 2 рядок 13 17 7 3
i f в а з ;і,j ) <10 then k;*k+l; //перевірка й обчислення кількості чисел 3 рядок 4 12 2 9
Labell.Caption;= 'Кількість чисел=1-FloatToStr (к); //виведення результату
end;
Кількість чисел=б Виконати
end.

Рис. 10. Програма обчислення кількості заданих Рис. 11. Результат обчислення кількості
значень у масиві заданих значень у масиві
11.3. Класичні алгоритми...

• Пошук мінімального і максимального значень у двови­


мірному масиві
Сутність а л г о р и т м у п о ш у к у м а к с и м а л ь н о г о ( м і н і м а л ь н о ­
г о ) з н а ч е н н я е л е м е н т а д в о в и м і р н о г о м а с и в у полягає в тому,
F* -..............
що спочатку максимальним (мінімальним) обирається зна­ П оган ий п р о г р а м іс т н е т іл ь к и
чення елемента першого рядка першого стовпця. Це мак­ не виконує свою роботу, але
симальне (мінімальне) значення послідовно порівнюється зі й створю є проблеми, які до­
значеннями всіх елементів масиву. Кожного разу, коли по­ водиться в и р іш у в а т и ін ш и м .
точне значення елемента більше за максимальне (менше від
мінімального), поточне присвоюється максимальному (міні­
мальному). Процес порівняння елементів продовжується до
останнього елемента масиву.
Розглянемо а л г о р и т м п о ш у к у м а к с и м а л ь н о г о і м і н і м а л ь ­
н о г о з н а ч е н ь е л е м е н т а в м а с и в і mas[n, т]. Значення макси­
мального елемента зберігається у змінній max, а мінімально­
го — у змінній min.

Крок 1 Увести м асив mas[n,m] Крок 9 min:=mas[i,j]

Крок max:=mas[1,1] Крок 10 j:=j+1

Якщ о j<=m, т о к р о к 6,
Крок min:=mas[1,1] Крок 11
ін а к ш е — к р о к 12

Крок і:=1 Крок 12 і:=і+1

Я к щ о і< = п , т о к р о к 5,
Крок j :=1 Крок 13
ін а к ш е — к р о к 14

Якщ о mas[i,j]>max, то
Крок Крок V Виведення max і min
к р о к 7, ін а к ш е — крок 8

Крок 7 max:=mas [i,j] Крок 15 К ін е ц ь

Якщ о mas[i,j]<min,
Крок 8 т о к р о к 9, ін а к ш е -
к р о к 10

Приклад 9. На рис. 12 зображено про­ максимального і мінімального елементів ви­


граму реалізації алгоритму. У програмі за водиться за допомогою двох компонентів
допомогою клавіатури у 3 рядки і 4 стовп­ TEdit.
ці об’єкта StringGridl уводяться цілі числа, Результат виконання програми наведено на
з яких створюється масив mas[3, 4]. Значення рис. 13.
Розділ 11

prooednre TForml. ButtonlCliclc (Sender: TObjectj;


var i , j , max, min: integer; //змінні цілого типу
mas: array [1 ..3 ,1 ,,4 ] of integer; //двовимірний масив
begin
for i:= i to 3 do //зовнішній цикл створення масиву
for j:= l to 4 do //внутрішній цикл створення масиву
//елементу масиву присвоюється значення клітинки StringGridi
mas ( і , 3 ]:=StrIoInt(StringG ridi, C e lls [ j - l , i - l ] ) ;
max:=mas[l,I j ; //початкове значення змінної max
min:=mas[1,1]; //початкове значення змінної min
for і :=1 to 3 do //зовнішній цикл аналізу масиву
for j:= l to 4 do //внутрішній цикл аналізу масиву
begin //відкриваються операторні дужки
//чи більше значення поточного елемента за значення max
i f m as[i,j]>max then max: =шаз[і , j ] ;
] //чи менше значення поточного елемента відзначення min
i f mas[ і , j]<min then min:=mas[i,j ] ;
end: //закриваються операторні дужки
//виведення максимального значення масиву
E d itl.te x t:= 'Максимальне значеная=1-IntT oS tr(шх>;
//виведення мінімального значення масиву
Edit2.Text:='Мінімальне значення^'-IntT oS tr(min);
end: end.
Рис. 13. Результат пошуку максималь­
Рис. 12. Програма пошуку максимального і мінімального елементів ного і мінімального елементів

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

1 Що називають головною діагоналлю двови­ 3 Поясніть сутність алгоритму обчислення


мірного масиву? суми значень рядків двовимірного масиву.
2 Накресліть блок-схему алгоритму обчислен­ 4 Наведіть алгоритм обчислення суми зна­
ня загальної суми значень елементів двови­ чень елементів головної діагоналі двовимір­
мірного масиву. ного масиву.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Із клавіатури за допомогою функції Input- за тонну). Створіть масив із наведених да­
Вох() у масив розмірністю п х т уводять до­ них. Розробіть алгоритм і програму обчис­
датні і від'ємні числа. Розробіть алгоритм лення середньої ціни продукції за цими ре­
і програму заміни додатних чисел одини­ гіонами.
цею, а від'ємних — нулем. Виведіть новий З Протягом п'яти днів від чотирьох госпо­
масив у поле об'єкта S trin g G rid i. дарств району на елеватор надходить зерно
2 У таблиці наведено середні ціни реалі­ нового врожаю. Розробіть алгоритм і про­
зації продукції сільського господарства граму визначення, з якого господарства на­
в окремих регіонах України у 2015 році (грн дійшло найбільше зернових.

Зернові та зернобобові Худоба та птиця Молоко та молочні


Регіон
культури (у живій масі) продукти
Вінницька обл. 2781,7 25 725,5 4299,6
Житомирська обл. 2774,3 22 352,7 4368,2
Львівська обл. 2959,6 18437,2 4330,4
Полтавська обл. 3368,7 22 788,3 4454,3
Чернігівська обл. 3046,1 21 877,5 4207,5
Практична робота № 21 199

Практична робота № 21
Тема. Розробка алгоритмів з двовимірними масивами і їх реалізація у вигляді програм,
Завдання: розробити алгоритм і програму для реалізації завдання одного з наведених варіантів,
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.

Варіант 1. Елементи двовимірного масиву 2. Розмістити на формі компоненти: TButton,


розмірністю п х т набувають випадкових зна­ TLabel і TStringGrid.
чень з діапазону від 0 до 20. Розробіть алго­ 3. Установити необхідні властивості компо­
ритм і програму обчислення кількості чисел нентів.
у масиві, менших від 15.
4. У програмі передбачити:
Завдання бажано виконувати у такій по­ • виведення значень елементів масиву
слідовності. в клітинки об’єкта StringGridl;
• для виведення результату використати
1. Розробити алгоритм реалізації завдання.
об’єкт Labell.

Варіант 2. Відомі рейтинги восьми марок 2. На основі даних, що містяться в об’єкті


3-річних автомобілів за два роки: StringGridl, створити двовимірний масив
рейтингів.
Рік Lexus Porsche Buick Toyota Honda Chevrolet
3. Також на основі даних об’єкта StringGridl
2015 1 6 2 3 5 10
створити одновимірний масив марок ав­
2016 1 2 3 4 7 6 томобілів.
Із таблиці видно, що найвищий рейтинг як 4. Опрацювати двовимірний масив, а саме:
у 2015, так і у 2016 роках має марка автомо­ обчислити середнє значення рейтингів,
біля Lexus. Розробіть алгоритм і програму ви­ із яких створити одновимірний масив за
значення середнього рейтингу кожної марки два роки.
за два роки і розмістіть назви марок у поряд­
ку зменшення їх рейтингу. 5. Упорядкувати одновимірний масив рей­
тингів у порядку їх зростання, відповід­
Після розробки алгоритму бажано дотри­ но до яких розмістити у масиві марки
муватися такого порядку виконання роботи. автомобілів.
1. Із клавіатури за допомогою функції
6. Вивести масив назв марок автомобілів,
InputBoxO увести дані таблиці в клітинки
об’єкта StringGridl. наприклад, у клітинки об’єкта ListBoxl.

Хід роботи
П ід час роботи за комп’ютером дотримуйтесь правил безпеки.

1 Виберіть один із варіантів завдань за 3 Розробіть алгоритм і реалізуйте його


вказівкою вчителя або самостійно. у середовищі програмування за наведе­
(У разі успішного виконання одного ва­ ним планом.
ріанта, виконайте іншій). 4 Виконайте програму. Проаналізуйте
2 Проаналізуйте умову задачі, побудуйте отриманий результат.
інформаційну модель. Зробіть висновок: які компоненти мо­
жуть бути використані у цій роботі.
Розділ 11

Практична робота № 22
Тема. Класичні алгоритми для роботи з двовимірними масивами, їх реалізація у вигляді
програм.
Завдання: розробити алгоритм і програму для реалізації завдання одного з наведених варіантів.
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.

Варіант 1. У шаховому турнірі брали участь 2. Розмістити на формі компоненти:


6 шахістів. Нижче у таблиці наведено резуль­ TButton, TStringGrid, TMemo. Вибрати для
тати турніру. об’єкта Buttonl подію OnClick.
№ з/п Прізвище 1 2 3 4 5 6 3. Розробити програму реалізації алгорит­
1 Таран X 0 1 Уг 0 0 му. У програмі слід передбачити:
2 Колот 1 X Уг Уг 1 1
• уведення за допомогою функції InputBoxO
3 Пахов 0 Уг X 0 Уг 0 у поле об’єкта StringGridl результатів тур­
4 Носов Уг Уг 1 X 1 Уг ніру;
5 Середа 1 0 Уг 0 X 0 • створення на основі даних об’єкта
6 Литвин 1 0 1 Уг 1 х StringGridl двовимірного масиву результа­
тів учасників;
Розробити алгоритм і програму визначення • обчислення результатів кожного учасни­
прізвищ учасників, які виконали норматив ка і створення на основі цих результатів
першого розряду (для присвоювання першого одновимірного масиву;
розряду потрібно набрати не менше 50 % від • пошук у створеному одновимірному ма­
максимально можливої кількості очок). сиві значень, рівних або більших за 3;
Доцільно дотримуватися такого порядку • виведення у поле об’єкта Метої прізвищ
виконання роботи. учасників, результати яких відповіда­
1. Розробити алгоритм розв’язування. ють нормі першого розряду.
Варіант 2. У таблиці наведено результати 3. Вибрати для об’єкта Buttonl подію OnClick.
оцінювання учнів з окремих предметів. 4. Розробити програму реалізації алгорит­
Мате­ Істо­ Інфор­ Хімія му, у якій виконати такі дії:
№ з/п Прізвище матика рія матика • увести з клавіатури за допомогою функ­
1 Раков 8 11 12 8 ції InputBoxO У клітинки об’єкта StringGridl
2 Юшко 10 11 10 9 дані, наведені в таблиці;
3 Сахно 12 10 11 10 • створити двовимірний масив результатів
4 Темків 9 11 12 11 оцінювання учнів;
5 Смирнова 11 12 11 10 • обчислити середнє значення кожного
стовпця двовимірного масиву і з обчис­
Визначте, з якого предмета учні мають най­
лених значень створити одновимірний
вищій середній бал успішності. Роботу реко­
масив;
мендується виконувати у такій послідовності.
• знайти максимальне значення однови­
1. Розробити алгоритм розв’язування.
мірного масиву;
2. Розмістити на формі компоненти: TLabel, • вивести за допомогою об’єкта Label! від­
TButton, TStringGrid. повідну назву предмета.
Хід роботи
Під час р о б о т и за к о м п ’ю т е р о м до тр им уй те сь правил безпеки.

і Виберіть один із варіантів завдань за 3 Розробіть алгоритм і реалізуйте його


вказівкою вчителя або самостійно. в середовищі програмування за наведе­
(Можливе виконання завдання коман­ ними вказівками.
дою з двох-трьох учнів). 4 Виконайте програму. Проаналізуйте
Проаналізуйте умову задачі, побудуйте отриманий результат.
2'
інформаційну модель. Зробіть висновок: чи можна виконати цю
роботу без операторів циклу.
CODE В

ОІООІІОІ
ОІІОІООІ
ОІІООООІ

і Ц Розділ 12. ДОПОМІЖНІ АЛГОРИТМИ


ОІІОІІІІ
ОІІІОІОІ

12.1. Загальні відомості про допоміжні алгоритми


і підпрограми

Пригадайт е, які функції, вбудовані у мову, ви вже вико­


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

Допоміжний алгоритм — це заздалегідь розроблений


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

Із підпрограмами ви вже зустрічалися раніше у процесі


розробки програм обчислення значень арифметичних та ін­ Скорочення довжини
ших виразів, не акцентуючи увагу саме на цьому терміні. програмного коду,
Наприклад, використовувалися функції обчислення кореня а отже, зменшення
квадратного — sqrt(x), абсолютного значення виразу abs(x) та обсягу пам'яті для ї ї
ін. Функції можуть використовуватися в одній програмі ба­ збереження за раху­
гаторазово у різних місцях цієї програми. Перелічені та інші нок того, що в про­
функції і є підпрограмами. Але вони вбудовані в саму мову грамі не потрібно
програмування і тому їх називають стандартними підпрогра­ кожного разу наводи­
мами. Для їх використання достатньо вказати ім ’я функції ти повний текст коду
і значення аргументу. підпрограми (достат­
Крім стандартних підпрограм сучасні мови програмування ньо в основній про­
надають можливість програмісту самому створювати підпро­ грамі вказати її ім'я
грами. Головні переваги використання підпрограм наведено й аргументи)
на рис. 1.
Рис. 1. Переваги використання
Сутність використання підпрограм продемонстровано на підпрограм
рис. 2.
202 Розділ 12

Рис. 2. Організація звернення до підпрограм


Підпрограми користувача обо­
в'язково слід описати у розділі
Із рис. 2 видно, що основна програма містить оператори
опису, дотримуючись встанов­
Перший раз звернення до підпрограми здійснюється
s i —s i 0 .
леного синтаксису. Опис мі­
з оператора s 2 . Після завершення виконання підпрограми
стить заголовок підпрограми
управління передається оператору основної програми, розта­
і тіло підпрограми. У заголо­
шованому безпосередньо за оператором s 2 , тобто оператору S3.
вку оголошується ім'я підпро­ Другий раз звернення до підпрограми здійснюється з опера­
грами й у круглих дужках па­ тора s 9 , а повертається управління до оператора s i 0 основної
раметри (якщо вони є). програми. З основної програми можна неодноразово звертати­
Тіло підпрограми слідує безпо­ ся до багатьох підпрограм.
середньо за ї ї заголовком. Під
час звернення до підпрограм
Отже, підпрограма — це логічно завершений фраг­
їм передаються конкретні дані
мент програми з наданим іменем, який має строго ви­
для опрацювання.
значене призначення і до якого можна неодноразово
Результат обчислення підпро­
звертатися з основної програми.
грамою повертається в основну
програму.
У кожній мові програмування існують свої правила розробки
підпрограм користувача, звернення до них, отримання резуль­
татів, виходу з підпрограм і повернення в основну програму.
Одна підпрограма може містити опис інших підпрограм.
Це означає, що з однієї підпрограми можна звертатися до де­
кількох інших підпрограм.

Змінні, константи й типи даних, які використовуються


у підпрограмі, можуть бути оголошені як в основній
програмі, так і в підпрограмі. Якщо вони оголошені
Катерина Логвинівна Ющенко
в основній програмі, то доступні у будь-якій підпрогра­
написала перші програми для
мі і їх називають глобальними. Змінні, константи й типи,
першої ЕОМ, створеної у НАН
оголошені у підпрограмі, доступні лише цій підпрограмі
України під керівництвом
і їх називають локальними.
С. О. Лебедєва. За 40 років
роботи в Інституті кіберне­
Кожна змінна, константа й тип обов’язково повинні бути
тики ім. В. М. Глушкова НАН
оголошені до моменту їх використання. Областю їх дії є та
України нею створена широ­
підпрограма, у якій вони оголошені. У програмі можуть ви­
ковідома в Україні і за кордо­
користовуватися глобальні та локальні змінні з однаковими
ном наукова школа теоре­ іменами. У цьому випадку вони сприймаються як різні змін­
тичного програмування. ні. Однак для запобігання плутанині краще цього уникати.
12.1. Загальні відомості... 203

Передавання аргументів формальним параметрам здій­


снюється у процесі виклику підпрограми. Наприклад,
у підпрограмі обчислення квадратного кореня — sqrt(x) змін­
на х — це формальний параметр. Після виклику цієї підпро­
грами змінна х набуде конкретного значення, наприклад 23,
тобто воно є аргументом, з якого слід обчислити квадратний
корінь.
Формальних параметрів у підпрограмі може бути декіль­
У підпрограмах розрізня­
ка. Однак їхня кількість, тип і порядок розміщення повинні
ють формальні та фактичні
однозначно відповідати кількості, типам і порядку розміщен­
ня аргументів. Якщо ця вимога не виконується, транслятор параметри. Змінні, вказані
повідомить про наявність синтаксичної помилки. в заголовку підпрограми, на­
зивають формальними пара­
У середовищі Lazarus існують два різновиди підпрограм:
метрами, або просто пара­
процедури і функції. Принципова відмінність між ними по­
метрами. Змінні, які вказані
лягає в тому, що результатом виконання підпрограми-функ-
в операторі виклику підпро­
ції завжди є один результат-значення, а результатом вико­
грами, називають фактични­
нання підпрограми-процедури можуть бути декілька значень,
одне значення або жодного. В основній програмі процедури ми параметрами, або аргу­
і функції оголошуються між розділом оголошення змінних та ментами.
операторною частиною.
Структура процедур і функцій аналогічна структурі про­
грами. Як і основна програма, вони мають складатися із за­
головка й операторів, розміщених між ключовими словами
begin і end. Цю групу операторів називають тілом процеду­
ри (функції). Процедура (функція) завершується словом end,
після якого ставиться символ крапки з комою.

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

1 Що називають допоміжним алгоритмом? 5 Поясніть сутність формальних і фактичних


параметрів.
2 Які переваги дає використання підпрограм?
6 Які різновиди підпрограм існують у сере­
3 Які змінні називають глобальними й локаль­ довищі Lazarus?
ними? 7 Яка основна відмінність підпрограм-функцій
від підпрограм-процедур?
4 Поясніть область дії локальних і глобальних
змінних. 8 Наведіть означення підпрограми.

ТТ З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Основна програма займає 5 Кбайтів пам'яті, 2 Розроблено програму, яка займає 4 Кбай-
а підпрограма — 0,75 Кбайта. Із різних ти пам'яті. Потім виникла необхідність у цій
місць основної програми здійсню ється програмі тричі обчислити квадрат числа
звернення до підпрограми 6 разів. Визна­ і двічі — модуль числа. Який орієнтовно
чте, на скільки орієнтовно більше пам'яті обсяг пам'яті буде займати така програма,
займала б ця програма за умови відсут­ якщо кожного разу обчислювати ці значен­
ності підпрограми. ня безпосередньо у цій програмі?
204 Розділ 12

12.2. Процедури
Що називаю т ь допом іж ним алгорит м ом і підпрограм ою ?
Поясніть загальний принцип звернення до підпрограм . Які
зм інні називаю т ь глобальним и й ло ка льн и м и ? Поясніт ь
сут ніст ь ф орм альних і ф акт ичних парам ет рів. Я кі різновиди
підпрограм існуют ь у середовищ і Lazarus?

У структурі опису процеду­ Загальна структура опису процедури має такий вигляд:
ри обов'язковими є ключове
procedure <ім'я процедури>[(список формальних параметрів)];
слово procedure, ім'я проце­
дури, ключові слова begin, label <список міток>;
end і тіло процедури. Інші const <список констант>;
складові використовуються за type <список типів>;
необхідності. Найчастіше про­
var <список змінних>;
цедура оголошується у розді­
лі опису основної програми begin
або іншої процедури. //тіло процедури
end;
Список формальних параметрів — це перелік імен змін­
них і їхніх типів у заголовку процедури. Імена параметрів
відокремлюються одне від одного комами, а перед іменем
типу ставиться символ двокрапки. Параметри можуть мати
будь-який тип, у тому числі й структурований. Якщо де­
кілька параметрів мають однаковий тип, його можна вказа­
Приклад 1.
ти для всієї групи параметрів. У цьому випадку групи па­
Процедура без параметрів: раметрів різних типів відділяються одна від одної символом
procedure minor;
крапки з комою.
Із синтаксису заголовка видно, що процедура може і не
Процедура з параметрами: мати формальних параметрів. У такому разі в заголовку вка­
procedure nash_1 (a, b: real; і, j, k: зується лише її ім’я. Подібні процедури називають процеду­
integer); рами без параметрів. Процедури, які мають список формаль­
них параметрів, називають процедурами з параметрами.
В оголошенні можуть використовуватися і var-параметри.
Службове слово var перед змінними у списку формальних
параметрів свідчить про те, що ці змінні можуть набувати
нові значення в процесі роботи підпрограми. їх називають
параметрами-змінними, а змінні без службового слова var —
параметрами-значеннями (приклад 2).
Для звернення до процедури використовується оператор
виклику такої структури:
Приклад 2. В оголошенні
ім'я процедури [(список фактичних параметрів)];
procedure nash_2 (х,у: real; var z: real);
Фактичні параметри у списку фактичних параметрів від­
x, у — це параметри-значення,
окремлюються один від одного комою. Якщо в описі процеду­
z — параметр-змінна.
ри формальні параметри відсутні, то в разі її виклику фак­
тичні параметри також повинні бути відсутні.
Нагадаємо, що між формальними і фактичними параме­
трами має бути повна відповідність. Це означає, що кількість
формальних і фактичних параметрів, а також послідовність
12.2. Процедури 205

їх розміщення повинні бути однаковими, а тип кожного


фактичного параметра має збігатися з типом відповідного
формального параметра. Як фактичні параметри можуть бути
використані константи або вирази.
У середовищі Lazarus допускається будь-який рівень
вкладеності процедур і функцій. Так, процедура, оголошена
в основній програмі, може містити оголошення внутрішніх
процедур або функцій, які, у свою чергу, теж можуть місти­
ти оголошення підпрограм і т. д. Область дії імен, описаних
у процедурі або функції, поширюється на всі вкладені про­
цедури чи функції.

Приклад 2. Обчислити об’єми двох цилін- Алгоритм обчислення об’єми циліндрів


дрів за відомими радіусами (г) і висотами (h) з використанням допоміжного алгоритму
за умови, що г, іі — цілі числа. Об’єм цилін- може бути таким,
дра збережемо у змінній v.

Основний алгоритм Допоміжний алгоритм


Увести змінні х і, х2,
Крок 1 Крок 1 v:=3.14*r*r*h
хЗ, х4

Крок 2 г:=х1 Повернення до основ­


ного алгоритму (до кро­
і*.........................V
ку, що слідує за кроком,
Крок 3 h:=x2 Крок 2
з якого було звернення
Звернення до кроку 1 до допоміжного алго­
Крок 4 ритму)
допоміжного алгоритму
Виведення v (об'єм пер­
Крок 5
шого циліндра)

Крок 6 г:=хЗ

Крок 7 h:=x4

Звернення до кроку 1
Крок 8
допоміжного алгоритму
Виведення v (об'єм дру­
Крок 9
гого циліндра)

Крок 10 Кінець

Для реалізації алгоритму розмістимо на використаємо процедуру obem і глобальні


формі 4 компоненти TEdit, 2 компоненти TLabel змінні. Результат обчислення об’єму циліндра
і компонент TButton. Встановимо такі значен­ надається змінній V . Звернення до процедури
ня властивості Text: об’єкта Editl — 2, об’єкта здійснюється з основної програми двічі. Ва­
Edit2 — 3, об’єкта Edit3 — 4, об’єкта Edit4 — ріант програмного коду реалізації алгоритму
5. Об’єкти Labell і Label2 використаємо для зображено на рис. 1.
виведення результатів обчислення об’ємів Результат виконання програми подано на
циліндрів. Для об’єкта Buttonl обираємо по­ рис. 2.
дію OnClick. Для обчислення об’єму циліндра
206 Розділ 12

procedure TForml.ButtonlClicK'Sender: TObject);


var r,h :in te g e r; //глобальні змінні цілого типу
v :rea l; //глобальна змінна дійсного типу
procedure obem; //процедура obem без параметрів
begin //початок тіла процедури obem
v:=3.14"r*r*h; //обчислення об’єму циліндра
end; //кінець щюцедури obem
begin //початок основної програми
r:=StrT oInt(E ditl.T ext.'; //значення радіуса першого циліндра
h;=StrToInt(Edit2.Textj; //значення висоти першого циліндра
obem; //перше звернення до процедури obem
//виведення об’єму першого циліндра
Labe 11. Capt і on:=’Першого ципіндра=' - FI oatToS t r (V);
r:= S trIo In t(E d it3 .Iex t); //значення радіуса другого циліндра
h:=StrToInt(Edit4.Text); //значення висоти другого циліндра
obem; //друге звернення до процедури obem
//виведення об'єму другого циліндра
Label2. Caption:=’Другого циліидра^-FloatToStr (v) ;
end;
end.
Рис. 2. Результати обчислення об'єму двох
Рис. 1. Програмний код з процедурою без параметрів конусів

На рис. З зображено ще один варіант про- Разом із тим, вона розміщена вище за те міс-
грамного коду реалізації того самого алгорит- це програмного коду, де здійснено звернення
му. У цьому варіанті процедура obem містить- до цієї процедури,
ся за межами обробника події об’єкта Button!.
var
Fornl: TForml;
r,h :in teg e r; //глобальні змінні цілого типу
v ire a l; //глобальна знінна дійсного типу
implementation
{$й *.lfm)
{ TForml )
procedure obem; //процедура obem без параметрів
3 begin //початок тіла процедури obem
| ч;=3.14*г*г*Ь; //обчислення об'єму циліндра
L end; //кінець процедури obem
procedure TForml.ButtonIClick[Sender: TObject);
jl begin //початок основної програми
r:= StrT oInt(E ditl.T ext); //значення радіуса першого циліндра
h:=StrToIntiEdit2.Text); //значення висоти першого циліндра
obem; //перше звернення до процедури obem
3 //виведення об'єму першого циліндра
Labell,Caption:= Першого циліндра='-FloatToStr(V);
r:=StrToInt(Edit3.Text); //значення радіуса другого циліндра
h:=5trToInt(Edit4.Textj; //значення висоти другого циліндра
obem; //друге звернення до процедури obem
3 //виведення об'єму другого циліндра
Label2,Caption:= Другого циліндра-1+FloatIoStr (V);
end; end.

Рис. 3. Програма з процедурою без параметрів за межами обробника подій


12.2. Процедури 207

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


в тому, що кожного разу перед зверненням до процедури
необхідно виконати певну кількість операторів присвоюван­
ня. Ці оператори надають змінним, які використовуються
Лідерами в рейтингу мов про­
у процедурі, певних значень. Для того щоб не виконувати
грамування на кінець 2016 року
згадані присвоювання, необхідно застосувати процедуру
за даними аналітичної компанії
з параметрами. Структуру процедури з параметрами було
наведено вище. RedMonk є такі: JavaScript, Java,
Як параметри-змінні у підпрограму слід передавати ті РНР, Python, С#, C++, Ruby.
величини, що мають модифікуватися в операторах підпрогра­
ми, а як параметри-значення — ті величини, яким у підпро­
грамі не присвоюється жодних значень.

Приклад 3. Розробити програму обчис­ Варіант програми обчислення об’єму ци­


лення об’єму двох циліндрів за відомими ліндра зображено на рис. 4 .
висотою і радіусом основи з використанням Результат виконання програми подано на
процедури з параметрами. До процедури об­ рис. 5.
числення об’єму циліндра величину v (шу­ На рис. 6 наведено програму, яка реалізує
каний об’єм) передамо як параметр-змінну, ту саму функцію, що й попередня програма,
а величини г і h (радіус і висоту цилін­ процедура з параметрами міститься за ме­
дра) — як параметри-значення. жами обробника подій.

v ar
Forml: TForml;
v a r т е з і, res2: r e a l; //глобальні змінні дійсного типу
implementation
($R *.lfm )
( TForml )
procedure TForml.B utto nlC lickiS ender: TObject);
procedure obem (r, h :in te g e r; v a r r e s : r e a l ) ; //заголовок процедури obem
- begin //початок тіл а процедури
re s := 3.14*r*r*h; //обчислення об'єму циліндра
end; //к ін ец ь тіл а процедури
^ begin //початок основної програми
//перше звернення до процедури obem
obem (StrToInti (L istB oxl. Items [0]) , S tr l o ln t (LiatBoxl. Items [1 ]) ,r e s l) ;
//виведення об'єму першого циліндра
L ab e ll.C a p tio n ;= 'Першого циліндра = '-F lo a tT o S tr (r e s i) ;
//д р у ге звернення до процедури obem
obem (S trT oInt(L istB oxl.Item s[2]) , S trT oInd(L istB ox l.Item s[3 ]) ,r e s 2 ) ;
//виведення об'єму другого циліндра
L abel2.C aption:= 'Другого циліндра = '+ F lo a tT o S tr(re s2 );
end;
end.
Рис. 5. Результат виконання
Рис. 4. Програма з процедурою з параметрами усередині програми з процедурою
обробника подій з параметрами
208 Розділ 12

var
Forml: TForml;
var real, res2 :real; //глобальні змінні дійсного типу
implementation
procedure obem ( r,h :integer; var r e s :r e a l) ; //заголовок процедури obem
begin //початок тіла процедури
res:=3.14*r*r*h; //обчислена об'єму циліндра
end; //кінець тіла процедури
{SR *.lfm}
{ TForml )
procedure TForml.ButtonlClickISender: TObject);
begin //початок основної програми
//перше звернення до процедури obem
obem (StrToInt(ListBoxl. Items[0]) , StrT oInt(ListBoxl. Items [1]) , r e s l) ;
//виведення об'єму першого циліндра
Labe11.Caption:=' Першого циліндра»'-FloatT oS tr(resl);
//друге звернення до процедури obem
obem(StrToInt(ListBoxl.Items[2]) , StrToInt(ListBoxl.Item s[3]), res2 );
] //виведення об'єму другого циліндра
Label2.Caption:=' Другого циліндра= '-FloatToStr(res2) ;
end;
end.

Рис. 6. Програма з процедурою з параметрами за межами обробника подій

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Яка інформація міститься в заголовку про­ 5 Наведіть правила запису формальних пара­
цедури? метрів процедури.
2 Які різновиди формальних параметрів вико­ 6 Наведіть загальну структуру опису процедури.
ристовуються у процедурах? 7 Яка різниця між параметрами-змінним і па-
3 Як здійснюється виклик процедур? раметрами-значеннями?
4 Які компоненти є обов'язковими в описі 8 Як пов'язані формальні і практичні параме­
процедури? три процедури?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 Розробіть алгоритм із використанням до­ З У банк поклали s грн під k % річних. Роз­
поміжного алгоритму обчислення повної робіть алгоритм і програму обчислення на­
поверхні двох діжок із відомими радіусами копиченої суми через п років. У програмі
і висотами. Реалізуйте алгоритм із викорис­ використайте дві процедури без параме­
танням процедури без параметрів. трів. За допомогою першої процедури вво­
дяться вихідні дані, а за допомогою дру­
2 Складіть програму з використанням підпро­
гої — обчислюється і виводиться накопи­
грами, яка визначала б день тижня за його
чена сума.
номером (1 — понеділок, 2 — вівторок і т. д.).
12.3. Функції 209

12.3. Функції

Я ку загальну ст рукт уру м а є проц едура? Які складові цієї


ст рукт ури є обов'язковим и? Поясніт ь сут ніст ь т ермінів
«парамет ри-змінні» т а «парамет ри-значення». Я к здійсню ­
єт ься звернення до процедур?
Загальний опис функції складається із заголовка функції, У структурі опису функції обо­
розділу опису, тіла функції і має таку структуру: в'язковими є ключове слово
function <ім'я функції>(<список формальних параметрів>): function, ім'я функції, клю­
<тип результату>; чові слова begin, end і тіло
функції. Інші складові викори­
label <список міток>;
стовуються за необхідності.
const <список констант>; Найчастіше функція оголошу­
type <список типів>; ється у розділі опису основ­
ної програми або іншої під­
var <список змінних>; програми.
begin
//тіло функції
end;
Як і в процедурі, обов’язковим тут є заголовок і тіло
функції. Заголовок починається службовим словом function
(приклад 1). Список формальних параметрів функції відпо­*У
відає списку формальних параметрів процедури. Він містить
імена формальних параметрів і їхні типи. Тип результату —
це тип значення, що повертає функція. Повертатися можуть Приклад 1. Оголошення
скалярні значення цілого, дійсного, логічного, символьного функцій:
і посилального типів. 1) function min (a,b: real;
У тілі функції має міститися хоча б один оператор присво­ var c: real): real;
ювання, у лівій частині якого вказується ім ’я даної функції. 2) function ab (a: integer): char;
Так результат виконання функції повертається у програму, 3) function con (var a,b:
з якої цю функцію було викликано. Наприклад: integer): integer;
function func_1(a1, а2: integer): real;
begin
func_1 :=(2*a1 -3*a2)/3;
end;
Розглянемо приклади використання функцій у програмах.

Приклад 2. Розробити алгоритм і програму обчислення зна­

чення виразу (a -b )V a 2 + b2 для двох пар значень змінних а


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

Алгоритм розв’язування цієї задачі можна подати так.


210 Розділ 12

Основний алгоритм Допоміжний алгоритм


Увести значення х і, у і,
Крок 1 Крок 1 p:=sqrt(a*a+b*b)
Ш х2, у2 .......... .*

Крок 2 а:=х1; Ь:=у1 Крок 2 fun_1:=p*(a-b)


.......... .*
Звернення до кроку 1 Повернення до основ­
Крок 3 ного алгоритму (до
допоміжного алгоритму
Крок 3 кроку, що слідує без­
^..........................* посередньо за кроком
Крок 4 y:=fun_1
виклику)
%
Крок 5 Виведення у П риміт ка: Значення виразу л]а2 + Ь2 збере­
% жено у локальній змінній р.
Крок 6 а:=х2; Ь:=у2
%
Звернення до кроку 1
Крок 7
допоміжного алгоритму
.........................
Крок 8 z:=fun_1
.........................
Крок 9 Виведення Z

........................,
Крок 10 Кінець

Для реалізації алгоритму на формі розміщено об’єкти, на­


ведені у таблиці.

Назва Назва
Призначення об'єкта Призначення об'єкта
об'єкта об'єкта

Висвітлення повідомлення Для


Editl Label6 Виведення результату z
першого звернення

Висвітлення повідомлення Для Поява повідомлення а= при пер­


Edit2 Label7
другого звернення шому зверненні

Поява повідомлення Ь= при пер­


Labell Введення значення х і Label8
шому зверненні

Поява повідомлення а= при дру­


Label2 Введення значення у і Label9
гому зверненні

Поява повідомлення Ь= при дру­


Label3 Введення значення х2 LabellO
гому зверненні

Label4 Введення значення у2 Buttonl Встановлення події OnClick

Label5 Виведення результату у Label5 Виведення результату у


12.3. Функції 211

procedure TFoml. ButtonlClick (Sender: TObject);


var y, z :re a l; //глобальні знінні
function fun_l (a, b :in teg er : rea l; //заголовок функції
'v a r p :re a l; //локальна змінна
3 begin //початок тіла функції
p;=sqrt(a*a-rb*b); / /обчислення кореня квадратного
fun_l:=р*(а-Ь); //обчислення арифметичного виразу
end; //кінець тіла процедури
Зbegin //початок основної програми
З //перше звернення до фукції
y;=fun_l(StrToInt(Labell.C aptionl, Strlolnt(L abel2.C aption)) ;
З //виведення результату після першого звернення до функції
L a b e ls .C a p tio n ;Результат 1-го звернення3 1-FloatT oStr(у);
З //друге звернення до функції
r:= fun_l(S trT oIntіІаЬеІЗ.Caption| , StrToInt іLabel4 .Caption)) ;
//виведення результату після другого звернення до функції
Labels.Caption;= 'Результат 2-го звернення3 1-FloatT oStr(z);
end;
end.

Рис. 1. Програмний код із функцією

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

У тілі функції може бути оператор, який присвоює значен­


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

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


лінійних відрізків: х, у і г. Потрібно розро­ умову можливості існування трикутника,
бити алгоритм і програму визначення: чи мо­ а у другому — обчислювати площу трикут­
жуть дані відрізки бути сторонами трикутни­ ника. Фактичні довжини відрізків позначимо
ка. Якщо можуть, обчислити площу трикут­ змінними а, Ь, с, а формальні — відповідно
ника з цими сторонами. З М І Н Н И М И X , у І 2.

Для розв’язання цієї задачі розробимо Алгоритм розв’язування задачі можна по­
основний алгоритм і два допоміжні: у першому дати так.
212 Розділ 12

Основний алгоритм Перший допоміжний алгоритм

Крок 1 Увести значення а, Ь, с Якщо (x+y>z) and (x+z>y)


and (y+z>x),
Крок 1
то umova:=true, інакше
Крок 2 х:=а; y:=b; z:=c umova:=false

Звернення до кроку 1 пер­ Перейти до кроку 4 основ­


Крок 3 Крок 2
шого допоміжного алгоритму ного алгоритму
Якщо umova=true, то крок 1
........................... .
другого допоміжного алгорит­
Крок 4
му, інакше — крок 5 основного
Другий допоміжний алгоритм
алгоритму
...................... .
Крок 5 plosha:='He трикутник' Крок 1 p:=(x=y=z)/2
..................... ,
Крок 6 Виведення plosha Крок 2 plosha:=sqrt(p*(p-x)*(p-y)*(p-z)

Перейти до кроку 6 основ­

°°
Крок 7 Кінець
о_
О
L.......... ного алгоритму

Для реалізації алгоритму розмістимо на значення змінної а, об’єкт Label5 — для вве­
формі компонент TEdit, 7 компонентів TLabel дення значення змінної Ь, об’єкт Label6 — для
і компонент TButton. Об’єкт Editl призначений введення значення змінної с, об’єкт Label7 —
для виведення повідомлення Сторони трикут­ для виведення результату, об’єкт Buttonl —
ника, об’єкт Labell — для виведення повідо­ для надання події OnClick.
млення х=, об’єкт Label2 — для виведення по­ Програму реалізації алгоритму подано на
відомлення у=, об’єкт Label3 — для виведення рис. 3. Результат виконання програми зобра­
повідомлення z=, об’єкт Label4 — для введення жено на рис. 4.
var
Foral: TForml;
a ,b ,c: integer; з: rea l; //глобальні змінні
implementation
function plosha (x ,y ,z :in te g e r):real; //заголовок функції plosha
var p: rea l; //локальна змінна
begin //початок тіла функції plosha
р: = (х-у-гй)/2; //півпериметр трикутника
plosha:= sqrt(р*(р-х)*(р-у)* (p-z)); //площа трикутника
end; //кінець тіла функції plosha
function umova х, у , ї : in te g e r): boolean; //заголовок функції umova
begin //початок тіла функції umova
i f (x-y>z) and xrz>y) and (y+z>x) then umova:=true else umova:=false;
end; //кінець тіла функції umova
($R *.lfm)
{ TForml )
procedure TForml.ButtonlClick(Sender: TObject);
begin //початок основної програми
a:=StrToInt(Label4.Caption); //присвоювання значення змінній a
b:=StrToInt(Labels.Caption); //присвоювання значення змінній b
c:=StrToInt(label6.Caption); //присвоювання значення змінній c
i f umova (a,b,c) then begin s:=plosha (a,b ,c); //звернення до
Label?.Caption:=,nnoma='-FloatToStr(s) end //функцій і
else Label7.Caption:»('He трикутник'); //виведення результату
end; end.
Рис. 4. Результат виконання
Рис. 3. Програмний код із двома функціями програмного коду з двома функціями
12.4. Використання масивів... 213

Інколи процедури або функції здійснюють взаємне звер­


нення одна до одної. У такому випадку використовується ви­
переджальний опис (приклад 4).
Сутність випереджального
опису полягає в тому, що ви­
Приклад 4. користовувана підпрограма
procedure an_1 (х: real); forward; //випереджальний опис
може бути описана тільки
procedure an_2 (x: integer); //початок процедури an_2
заголовком, одразу за яким
begin
a n j (5); //виклик процедури ап_1 записується стандартна ди­
end; ректива forward. Опис тексту
procedure an_1; //початок процедури ап_1 такої програми може бути
begin у будь-якому місці розділу
an_2 (7); //виклик процедури ап_2 описів без повторення списку
end; формальних параметрів.

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

1 Для чого використовується змінна Result? 4 Які компоненти в описі функції є обо­
2 Яку структуру має заголовок функції? в'язковими?

3 Як повертається результат функції у програ­ 5 Наведіть загальну структуру опису функції.


му, що його викликала? 6 Наведіть приклад опису функції.

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
І
1 Розробіть програму обчислення значення використовуючи підпрограму визначення
( а 2 + Ь2) мінімального числа з двох.
виразу — 2— - j- — — з використанням функ-
(С + СІ )+ оС З Відомі довжини всіх сторін трьох трикутників.
ції обчислення значення виразу х 2 + у 2. Розробіть алгоритм обчислення загальної пло­
2 Дано дві групи цілих чисел: аі, а2, аЗ і Ь1, щі трикутників із використанням допоміжного
Ь2, ЬЗ. Розробіть алгоритм і програму ви­ алгоритму. Розробіть програму реалізації алго­
значення мінімального числа у кожній групі, ритму з використанням функції.

12.4. Використання масивів як формальних


параметрів підпрограм
У чом у полягає принципова різниця в описі процедури
і ф ункції? Поясніт ь, я к результ ат виконання ф ункції
поверт аєт ься в основну п р огр а м у Д о сі я к ф орм альні
п арам ет ри підпрограм розгляд алися зм інні ска ляр н и х типів.
Чи м ож ут ь, на ваш у думку, ним и бут и інш і т ипи даних?

У підпрограмах формальними параметрами можуть бути


не тільки змінні, але й одновимірні масиви. Масиви можуть
бути звичайними, але частіше використовуються так звані
відкриті масиви.
214 Розділ 12

Відкритим и називають масиви, які оголошуються у роз­

Приклад 1.
Ф ділах var або typ e без діапазону індексів, вказується
лише тип елементів.
Оголошення відкритих
масивів: Відкриті масиви оголошуються за такою структурою:
1) mas_1: array of integer; var <ім'я масиву>: array of <тип>; (приклад 1).
2) mas_2: array of char; Оскільки після оголошення відкритого масиву його розмір
невідомий, то для нього не можна виділити пам’ять. Тому
й використовувати такий масив на цьому етапі не можна.
Розмір відкритих масивів можна задавати і змінювати під
час виконання програми.
F * ------------- Виділення пам’яті масиву здійснюється за допомогою
Профільний IT-ресурс DOU.UA функції SetLength, яка має таку структуру:
провів у 2017 році опитування SetLength (<ім'я відкритого масиву>, <розмір масиву>);
щодо популярності мов про­ Звільнення пам’яті, виділеної для відкритого масиву, здій­
грамування, в якому взяли снюється за допомогою команди:
участь 8 тисяч спеціалістів, із <ім'я відкритого масиву>:=піІ;
яких 90 % проживає в Україні.
Отже, відкритий масив є не статичним (для статичного ма­
Найпопулярнішими виявилися
сиву виділяється пам’ять на весь час виконання програми),
такі мови: Java, JavaScript, С#, а фактично динамічним. Для нього виділяється пам’ять після
РНР, Python, C++. визначення розмірності масиву, а звільнити її можна в будь-
який час після опрацювання елементів масиву.
Нумерація елементів відкритого масиву завжди починаєть­
ся з нуля. За допомогою функції high можна визначити ін­
декс останнього елемента масиву (high=Length-1).
Перший індекс відкритого масиву дорівнює нулю, а остан­
ній можна отримати за допомогою стандартної функції:
Функцію high можна викори­ high <ім'я відкритого масиву>;
стовувати як параметр циклу: Параметром функції high є ім ’я відкритого масиву, а ре­
for і:=0 to high(mas_1) do зультатом — індексний номер останнього елемента масиву.
Наприклад, якщо виділено пам’ять для 100 елементів від­
критого масиву, то функція high поверне число 99 (оскільки
індексація починається з 0, і, відповідно, індекс останнього
елемента масиву дорівнюватиме 99).
Відкриті масиви найчастіше використовуються як параме­
три підпрограм (процедур або функцій). Разом із тим їх мож­
на використовувати й у звичайних програмах.

Приклад 2. Розробити програму обчислення ListBoxI — для виведення значень елемен­


суми значень елементів одновимірного відкри­ тів створеного масиву; Buttonl — для вста­
того масиву. новлення події OnClick. Програму обчислен­
На формі розміщено такі об’єкти: Label!, ня суми значень елементів масиву подано
властивість Caption якого має значення До­ на рис. 1. Масив формується випадковими
вжина масиву; Label2, властивість Caption яко­ числами.
го має значення Значення елементів масиву; Результат виконання програми зображено
Label3 призначений для виведення результату; на рис. 2.
12.4. Використання масивів... 215

procednre TForml.ButtonlCliclc(Sender: TObject);


var mas: array of integer; //оголошення відкритого масиву
i, n, s: integer; //змінні цілого типу
begin
Randomize; //генерування різних випадкових чисел
n:=StrT oInt(Editl.Text); //довжина масиву
SetLength (mas, n); //виділення пам'яті під масив
for i:=0 to high(mas) do //циклічне створення масиву
begin //відкриваються операторні дужки
masfi]:=Random(20); //елементу масиву присвоюється значення
ListBoxl.Items.Add(IntToStr:ffias[ii) ); //виведення масиву
end; //закриваються операторні дужки
s:=0; //початкове значення суми
for i:=0 to high(mas) do //циклічне обчислення суни
s:=s-m as[i); //обчислення суми значень елементів масиву
mas:=NIL; //звільнення пам'яті, виділеної під масив
Label3.Caption;=’Сума=’flntT o S tr(s); //виведення суми
end;
end.
Рис. 2. Результат виконання
Рис. 1. Програма з відкритим масивом програми з відкритим масивом

Як уже зазначалося, відкриті масиви зазвичай використо­


вують для передавання у підпрограму масивів різних розмі­
рів. Це дозволяє за допомогою тієї самої програми опрацьову­
вати масиви довільної довжини. Без використання відкритих
масивів довелось би для кожного масиву іншої довжини роз­
робляти власну програму.
Найчастіше у підпрограмах як формальні параметри ви­
користовують стандартні типи даних (integer, char та ін.).
Але можна використовувати і нестандартні типи даних.
У такому разі їх необхідно оголосити раніше оголошення Джеймс Гослінг, автор мови
підпрограм. Тип масиву оголошується за такою структурою: програмування Java, творець
type <тип масиву>=аггау [список індексів] of <тип елементів>; віконної системи NeWS, Gos-
Наприклад: lingEmacs, один із розробників
type skan = array [1..8] of byte; StarSeve. Наразі входить в ко­
Опис підпрограми, наприклад процедури, у якій як пара­ манду відомого українського
метр використовується відкритий масив, має такий вигляд: стартапа Jelastic як незалеж­
procedure <ім'я процедури> <ім'я масиву>: <тип масиву>; ний директор.
Наприклад:
procedure proc_1 (vas_3: skan);
* .........................................................
Приклад 4. На рис. З наведено програму, звернення — кількість елементів масиву mas2,
в якій оголошено два масиви: masl і mas2. що також дорівнює 4. Отже, за допомогою од­
Формальними параметрами процедури ргос нієї процедури опрацьовуються два різні за
є відкритий масив mas типу integer. Звернен­ довжиною і змістом масиви, але їхні типи
ня до процедури з основної програми здій­ збігаються з типом відкритого масиву про­
снюється двічі. Перший раз формальним па­ цедури. На формі розташовано об’єкти Labell
раметрам процедури передаються значення і Label2, за допомогою їхніх властивостей
масиву masl завдовжки 5, а у процесі другого Caption здійснюється виведення результатів
звернення передаються значення масиву mas2 звернення до процедури. Для об’єкта Buttonl
завдовжки 4. Під час першого звернення до обрано подію OnClick.
процедури обчислюється кількість елементів Результат виконання програми зображено
масиву masl, що дорівнює 4, а під час другого на рис. 4 .
216 Розділ 12

procedure TForml,ButtonlClickiSender; TObject);


var masl;array 10 . . ^] of integer= (4,4,3,4,5); //перший масив
таз2:array [0..3] of integer=(5r4, 4r3) ; //другий масив
m:integer; //глобальна змінна
] //заголовок процедури, формальним параметром якої є масив
] procedure ргос : ш з :array of integer);
var j :integer; //локальна змінна
begin //початок тіла процедури
m;=□; //початкове значення кількості чисел, що відшукуються
for j ;=0 to highimasi do //цикл аналізу масиву
i f rcas[j]=4 then т:=в-1; //чи дорівнює значення елемента масиву 4
end; //кінець тіла процедури
З begin //початок тіла основної програми
ргос (тазі); //перше звернення до процедури
Labell. Caption :=' У першому масиві таких чисел=l-fIntToStr (в);
ргос (ваз2); //друге звернення до процедури
Iabel2.Caption:='У другому масиві таких чисел='тІпсїо5и(п);
end; //кінець тіла основної програми
end.

Рис. 3. Програма з процедурою, формальним параметром Рис. 4. Результат виконання процедури,


якої є масив формальним параметром якоїє масив

З а п и та н н я д л я п е р е в ір к и з н а н ь
?)
1 Які масиви називають відкритими? 5 Наведіть приклад оголошення відкритого
масиву.
2 Для чого призначена функція SetLength?
6 Як можна визначити максимальний індекс
3 Як можна звільнити пам'ять, виділену під
масиву?
відкритий масив?
7 Як викликається процедура, у якій параме­
4 За якою структурою оголошуються відкриті
трами є відкриті масиви?
масиви?

Т Т З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 Розробіть програму для визначення різниці програми. Масив формується випадковими
суми значень парних елементів одновимір- цілими числами з діапазону від 0 до 75.
ного числового масиву і суми значень його З Розробіть програму з використанням про­
непарних елементів. Використайте функцію, цедури, формальним параметром якої є від­
формальними параметрами якої є відкритий критий масив. За допомогою процедури об­
масив. числюється сума значень елементів трьох
2 Розробіть програму пошуку мінімального масивів різної розмірності. Елементи всіх
числа у відкритому масиві. Кількість елемен­ трьох масивів набувають значень під час
тів масиву вводиться у процесі виконання оголошень масивів.
12.5. Поняття рекурсії... 217

12.5. Поняття рекурсії. Рекурсивні алгоритми


У всіх ро зглян ут и х раніш е п р и кла д а х підпрограм и виклика­
л и ся з о сн ов н о ї програм и. А чи м ож ут ь, на ваш погляд, під­
п рограм и викликат и сам і себе?
У програмуванні інколи використовують рекурсивні під­
програми. Виклик може виконуватися неодноразово. Рекур­
сивними підпрограмами можуть бути як процедури, так
і функції.

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


Ф сама себе.

Реалізація рекурсивних підпрограм заснована на структу­


рі даних, що називається стеком. Важливо усвідомити, що
в процесі кожного звернення до рекурсивної підпрограми для
неї у стеці значень виділяється окремий фрагмент пам’яті.
Макс Левчін (нар. 1975 р.
Фрагментом (або блоком) є певна кількість комірок пам’яті.
в м. Києві) є автором багатьох
У процесі першого звернення до підпрограми у вершину стека
стартапів, співзасновником та
записується адреса команди основної програми, до якої потріб­
но повернутися після завершення всіх викликів рекурсивної головним інженером PayPal,
підпрограми. У наступні блоки стека записуються значення віце-президентом з розробки
фактичних параметрів процедури і дії, які потрібно виконати. в компанії Google.
Зазначимо, що рекурсивні обчислення в багатьох випад­
ках є неефективними і тому часто замінюються рекурентни­
ми обчисленнями. Метод рекурентного обчислення потребує
меншого обсягу пам’яті й реалізується швидше за рекурсив­
ний. Для свідомого розуміння такого висновку розглянемо
детальніше сутність рекурентного і рекурсивного обчислень.
Нагадаємо, що рекурентне обчислення значення матема­
тичного виразу на кожному кроці здійснюється через його
значення на попередньому кроці. Наприклад, алгоритм об­
числення значення виразу у = х п можна подати так.

Отже, після того як вираз і<=п із кроку 6 набуде значен­


ня false, виконання алгоритму завершується і змінна у буде
містити результат обчислення. Для рекурсивного обчислення
значення х п (п — додатне ціле, х — може бути дійсне) по­
трібно обчислити значення х" ', оскільки х" = х" 1• х. У свою
чергу, для обчислення х" 1 потрібно обчислити х" 2, оскільки
х п_1 = х п~2•х і т. д. Процес обчислення слід припинити після
обчислення х°, оскільки воно має значення 1. Але результат
ще не отримано, отримано лише опорне значення функції.
Для отримання кінцевого значення функції потрібно реалі­
зувати зворотний процес обчислення, що міститься у стеку.
Пояснимо сутність і необхідність цього процесу на прикладі
обчислення значення виразу х п. Рекурсивна функція його об­
числення має такий зміст:
function st (х, n:integer): integer;
begin
if n=0 then st:=1 else st:=st(x, n-1)*x;
end;
Ця рекурсивна підпрограма виконується у такій послідов­
ності.

Перший раз вона викликається з основної програми, наприклад, за допо­


могою команди z= st(2, 3); (отже, х = 2 і п = 3). У результаті цього виклику
в стеку виділяється перший блок пам'яті (вершина стека) й управління пе­
редається умовному оператору.
Нагадаємо, що у вершину стека записується адреса команди основної
пам'яті, до якої слід повернутися після всіх звернень до процедури.
Оскільки на цьому етапі вираз п = 0 набуває значення false, то виконується
гілка else. Тут у виразі st:=st(x, п-1)*х робиться спроба обчислити значення
st(2,2), тобто в дійсності виконується звернення до самої функції st з нови­
ми значеннями параметрів. Тому обчислення переривається.

Викликається другий раз функція st, але вже з параметрами st(2, 2). У стеку
також виділяється наступний блок пам'яті, а в умовному операторі викону­
ється гілка else і робиться спроба обчислити значення функції st з параме­
трами st(2, 1).

Третій раз викликається функція st з параметрами st(2, 1). У стеку також ви­
діляється блок пам'яті і знову виконується гілка else з параметрами st(2, 0).

Четвертий раз виклик виконується з параметрами st(2, 0). У стеку виділя­


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

У процесі повернення до основної програми виконують­


ся такі дії. Зі стека вибирається опорне значення st(2, 0)=1,
оскільки у стеку реалізується принцип «останній прийшов —
перший вийшов». На наступному кроці обчислюється значен­
ня st(2, 1)=1*2, потім — st(2, 2)=2*2, нарешті — st(2, 3)=2*4=8. Це
значення передається змінній z в основну програму.
Динаміку описаного процесу «заглиблення» і виходу зі сте­
ка для описаної функції наведено в таблиці.
12.5. Поняття рекурсії... 219

Таблиця. Д И Н А М ІК А В И К О Н А Н Н Я Р ЕК У Р С ІЇ

Р ів е н ь р е к у р с ії Р е к у р с и в н е « загл и б л ен н я» Рекурсивне повернення

0 В и к л и к z := s t (2,3) -І -» В и х ід z := 8

1 s t( 2 ,3 ) := s t( 2 ,2 ) * 2 і t st(2 ,3 ):= 2 * 4 (8)

2 s t(2 ,2 ):= s t(2 ,1 )* 2 і t s t(2 ,2 ):= 2 * 2 (4)

3 s t(2 ,1 ):= s t(2 ,0 )* 2 і t st(2,1):=1 *2 (2)

4 st(2,0):= 1 ->

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


факторіала заданого числа п, яке виконується за формулою
п\ = т г(п- 1)!, якщо п > 0 і п\ = 1, якщо п = 0. Програму обчис­
лення факторіала з використанням рекурсивної функції зо­
бражено на рис. 1.
Результат виконання програми наведено на рис. 2.

іmplementation
(SR * . lfm }
{ TFornl }
functionfactorial |n: integer):integer; //заголовок функції
(begin //податок тіла функції,
if п>1 then factorial:=n*factorial(n-1) //обчислення факторіала
else factorial:=l //заданого числа
end; //кінець тіла функції
(procedure TForml.ButtonlClick(Sender: TObject);
V::r m:integer; //змінна, від значення якої обчислюється факторіал
fact :integer; //змінна для обчисленого значення факторіала
begin //початок тіла основної програми
m :—StrToInt {Е(іitl.TeXt) ; //присвоювання значення змінній
fact:“factorial(m); //звернення до функції factorial
] //виведення значення обчисленого факторіала
Label2.Caption:='$aKTopiaH числа 1+Editl.Text+• ='+IntToStr(fact);
end;
end.

Р и с. 1. П р о г р а м а о б ч и с л е н н я ф а к т о р іа л а Р и с. 2. Р е з у л ь т а т о б ч и с л е н н я
ф а к т о р іа л а

П р и к л а д . Дано два цілі додатні числа. По­ ґрунтується на використанні алгоритму Ев-
трібно розробити програму для обчислення кліда. Програму реалізації цього алгоритму
найбільшого спільного дільника з викори­ з використанням рекурсивної функції наведе­
станням рекурсивної функції. но на рис. 3 . Функція має ім ’я evk, а числа,
Програму знаходження найбільшого спіль­ для яких обчислюється найбільший спільний
ного дільника двох цілих чисел без вико­ дільник, позначені змінними п і пі.
ристання рекурсивних підпрограм ми вже Результат виконання програми зображено
розглядали раніше. Розв’язання цієї задачі на рис. 4.
220 Розділ 12

va r
Forml: TForml;
implementation
{$R *.Ifm}
{ TForml )
function evkj (n , m :integer) :integer; //заголовок функції, evk
Ibagln //початок тіла функції
if n= m then //перевірка умови завершення виклику функції
(Elh-n //виклик функції
else if n> m then (ev»j(n m ,m ) //з різними значеннями
else iev*j:=|evlj (n,m n ) ; //параметрів
end; //кінець тіла функції
]procedure T F o r m l .B u t t o n lClick(Sender: T O b j e c t ) ;
va r f, x, у :inte g e r ; //оголошення змінних
begin //початок тіла основної програти
x:=StrToInt(Editl.Text); //значення змінної х
у := S t r T o I n t ( E d ± t 2 .T e x t ); //значення змінної у
f :=§v§(x,y) ; //звернення до функції evk
E d l t 3 .Text:*I n t T o S t r ( f ); //виведення результату
end; //кінець тіла основної програми
end.

Рис. 3. Програмний код обчислення найбільшого спільного дільника Рис. 4. Результат обчислення
найбільшого спільного дільника

Отже, рекурсія є складним процесом, який вимагає до­


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

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

Що називають рекурсією у програмуванні? 4 Які недоліки має рекурсивне обчислення?


З якою метою у тілі рекурсії передбачається 5 Поясніть сутність «заглиблення» й виходу
умовний оператор? зі стека у процесі реалізації рекурсії.
з На якій структурі даних ґрунтується реаліза­
ція рекурсивних підпрограм?

З а в д а н н я д л я с а м о с т ій н о г о в и к о н а н н я
»
1 Розробіть рекурсивну функцію для обчис­ 4 Розробіть програму пошуку мінімального
лення п перших членів заданої геометрич­ елемента того самого масиву, який ви ви­
ної прогресії. користовували для п. З, без використання
рекурсивної функції. Порівняйте розробле­
2 Дано десяткове натуральне число а. Розро­
ні програми і визначте, якій із них слід на­
біть рекурсивну функцію обчислення кіль­
дати перевагу і чому.
кості цифр у цьому числі.
3 Розробіть програму з використанням ре­ 5 Розробіть програму з використанням ре­
курсивної функції для визначення міні­ курсивної функції обчислення добутку зна­
мального елемента одновимірного число­ чень елементів одновимірного числового
вого масиву. масиву.
Практичні роботи № 23, 24 221

Практична робота № 23
Тема. Розробка алгоритмів з використанням допоміжних алгоритмів користувача та їх ре­
алізація у вигляді програм.
Завдання: для кожного із завдань, наведених у таблиці, розробити алгоритм із використан­
ням допоміжного алгоритму і програму реалізації алгоритму у візуальному режимі
середовища Lazarus.

Варіант Завдання Початкові дані


hi =10, а1=6, Ьі =8
Дано висоти і сторони основи трьох прямокутних пара­
1 h2=15, а2=4, Ь2=10
лелепіпедів. Обчисліть їх загальний об'єм.
h3= 8, аЗ=7, Ь3=12
Дано гіпотенузи трьох прямокутних рівнобедрених три­
2 сі =25, с2=36, сЗ=49
кутників. Обчисліть загальну площу цих трикутників.
3 Дано радіуси трьох кіл. Обчисліть їх загальну довжину. гі =14, г2=8, гЗ=10

Обладнання: комп'ютер із встановленою програмою — середовищем програмування.

Хід роботи
Пі д час р о б о т и з к о м п ’ю т е р о м дотр им уй те сь правил безпеки.

Виберіть один із варіантів завдань само- 5 Виконайте програму для заданих по­
стійно або за вказівкою вчителя. (У разі чаткових даних і доведіть, що програма
успішного виконання одного варіанта, функціонує правильно.
виконайте інший.)
6 Виконайте програму для інших початко­
2 Розробіть алгоритм розв’язування за­ вих даних і переконайтеся, що отримано
вдання. правильний результат.
3 Розробіть програмний код реалізації ал­
Зробіть висновок: чи існують такі зна­
горитму.
чення початкових даних, для яких роз­
4 Уведіть код програми в комп’ютер і ви- роблена програма не працює.
правте всі синтаксичні помилки.

Практична робота № 24
Тема. Розробка алгоритмів з використанням масивів як формальних параметрів і реаліза­
ція у вигляді програм.
Завдання: для кожного із завдань, наведених у таблиці, розробити алгоритм і програму його
реалізації з використанням підпрограми, у якій формальними параметрами є масиви.

Варіант Завдання Початкові дані


Дано масив цілих чисел а[1], а[2], ..., а[п]. Знайдіть у ньому 43, -5, 0, 21, 23, -321,
1
кількість додатних і кількість від'ємних чисел. -6 6 , 7, -59
На змаганнях у стрибках у воду з вишки спортсмена оціню­
ють 7 суддів. Максимальна і мінімальна оцінки не врахову­
9.5, 9.4, 9.5, 9.2, 9.5,
2 ються. Якщо максимальних або мінімальних оцінок декілька,
9.3, 9.2
не враховується по одній оцінці. Знайдіть середній бал ви­
ступу спортсмена.
Дано рядок символів. Знайдіть номери, на яких розташова­
3 subscription
ний СИМВОЛ S.

Обладнання: комп'ютер із встановленою програмою — середовищем програмування.


222 Розділ 12
Хід роботи
Під час р о б о т и з к о м п ’ю т е р о м дотр им уй те сь правил безпеки.

1 Виберіть один із варіантів завдань само­ 4 Уведіть код програми в комп’ютер. Спро­
стійно або за вказівкою вчителя. (У разі буйте виконати компіляцію програми.
успішного виконання одного варіанта, Виправте всі синтаксичні помилки.
виконайте інший.) Уважно проаналізуй­ 5 Виконайте програму для заданих по­
те сутність завдання і тип даних. чаткових даних і доведіть, що програма
2 Розробіть у вигляді блок-схеми або у сло­ функціонує правильно.
весній формі алгоритм розв’язування за­ 6 Виконайте програму для інших початко­
вдання. вих даних і переконайтеся, що отримано
правильний результат.
3 Визначте необхідні компоненти та їхні
властивості, розмістіть їх на формі Зробіть висновок: чим принципово відріз­
й розробіть програмний код реалізації няється опрацювання двовимірних маси­
алгоритму. вів від одновимірних.

Практична робота № 25
Тема. Розробка рекурсивних алгоритмів та їх реалізація у вигляді програм.
Завдання: для кожного із завдань, наведених у таблиці, розробити рекурсивний алгоритм
і програму його реалізації.
Варіант Завдання Початкові дані
Дано рядок, який містить п символів. Розміс­ п=7
1
тіть символи у зворотному порядку. рядок: abcdefg
Дано n-розрядне ціле число. Розмістіть цифри п=б
2
числа у зворотному порядку. 654321
Вершини першого квадрата:
У першому квадраті розташовано два прямо­
хі =20, уі =120, х2=120, у2=120,
кутники, сторони яких паралельні осям коор­
хЗ=120, уЗ=40, х4=20, у4=40
3 динат. Відомі координати вершин прямокутни­
Вершини другого квадрата:
ків. Визначте загальну площу обох прямокут­
хі =10, уі =90, х2=100, у2=90,
ників.
хЗ=100, уЗ=10, х4=10, у4=10
Обладнання: комп'ютер із встановленою програмою — середовищем програмування.

Хід роботи
Під час р о б о т и з к о м п ’ю т е р о м дотр им уй те сь правил безпеки.

1 Виберіть один із варіантів завдань само- 6 Виконайте програму для будь-яких по­
стійно або за вказівкою вчителя. (У разі чаткових даних. Переконайтеся, що про­
успішного виконання одного варіанта, грама функціонує правильно.
виконайте інший.) ^
Виконайте програму для початкових да­
2 Проаналізуйте умову завдання. Визначте них, наведених у таблиці. Доведіть, що
загальний порядок розв’язання. результат є правильним.
3 Розробіть у словесній формі алгоритм
Зробіть висновок: чи можна було викона­
розв’язування завдання.
ти завдання за допомогою рекурентного
4 Розробіть програмний код реалізації ал­ обчислення.
горитму.
5 Уведіть програму в комп’ютер. Виконай­
те компіляцію програми і виправте син­
таксичні помилки.
Розділ 13. РОЗВ'ЯЗУВАННЯ
КОМПЕТЕНТНІСНИХ ЗАДАЧ
Які задачі цікавлят ь вас більш е: ті, які п ост авлені
у ф орм алізованом у вигляді, чи ті, які сф орм ульовані
у словесній ф ормі, для я к и х сп очат ку пот рібно розробит и
м ат ем ат ичну м одель? Наведіть приклади т а ки х задач.

Задача № 1
У кожний період розвитку людства популярними були різ­
ні імена як серед жінок, так і серед чоловіків. Нині спосте­
рігається тенденція до використання стародавніх імен, таких
як Матвій, Кирило, Анастасія. Дослідіть, які імена найчасті­
ше зустрічаються, наприклад, серед 11 учнів вашого класу.
Розробіть необхідний алгоритм і програму визначення кіль­
кості різних імен.

Рекомендації. Існують різні алгоритми розв'язування цього завдання. Один із можливих алгоритмів
ґрунтується на використанні допоміжного масиву, елементи якого під час уведення в основний
масив імен учениць набувають значення true. Потім його відповідні елементи набувають значення
false, якщо ім'я раніше вже зустрічалося в основному масиві або збігається з поточним іменем від­
повідного елемента основного масиву. Для розв'язання завдання можна також використати й різні
засоби (компоненти). Доцільно дотримуватися такого порядку виконання завдання.

■ Кількість імен - X
Крок Розробити алгоритм.
Дмитро
Різних імен =
Ольга
Олена
Розмістити на формі необхідні компонен­ Дмитро
Крок
ти, наприклад TListBox, TEdit і TButton. Аліса Виконати
Дмитро
Тетяна
Увести в об'єкт ListBoxI імена учнів кла­
су, наприклад у такому порядку: Дмитро, Рис. 1. Об'єкти ListBoxI, Editl
Ольга, Олена, Дмитро, Аліса, Дмитро, і Buttonl на формі
Тетяна, Олена, Тетяна, Олег, Юрій
Крок (рис. 1). Властивості Text об'єкта Editl Ф Кількість імен - □
надати значення Різних імен=, а власти­
вості Caption об'єкта Buttonl — значен­ Дмитро л
Різних імен=7
ня Виконати. Установити подію OnClick О льга
Олена
для об'єкта Buttonl.
Дмитро
Аліса Виконати
Дмитро
Розробити програмний код реалізації
Т е тян а v
Крок алгоритму. Результатом цього виконання
повинні бути дані, наведені на рис. 2. Рис. 2. Результат, який необхідно
отримати
Розділ 13

Порівняти розроблений вами програмний код із варіантом коду, зображеним


на рис. З, з метою виявлення переваг і недоліків кожного з них.
procedure TForal.ButtonlClicklSender: TObject);
var і , k, n : integer; //змінні ц ілого типу
nasi: array [1..11] of strin g ; //масив імен
nas2: array [1. .11] of boolean; //допоміжний масив
begin
for i:= l to 11 do //цикл створення масивів
] begin //відкриваються операторні дужки
masl[i] := ListBoxI.Itemsfi-1 ]; //створення основного масиву
mas2[i]:= true; //створення допоміжного масиву
end; //закриваються операторні дужки
k;=0; //початкова кількість імен
Крок for i:= l to 11 do //цикл аналізу допоміжного масиву
i f oas2[i] then //аналіз елемента допоміжного масиву
] begin //відкриваються операторні дужки
k:=krl; //збільшення кількості імен
fo r n := i+ l;to 11 do //цикл зміни допоміжного масиву
] //елемент допоміжного масиву набуває значеня fa lse , якщо
J //ім 'я раніше вже зустрічалося
mas2[n]:= (тазі [n] о т а з і [ і ] );
end; //закриваються операторні дужки
E d itl.Text:= E ditl.Text-IntToStr(k ; //виведення кількості імен
end;
end.

Рис. 3. Варіант програмного коду реалізації завдання 1


Задача № 2
Дано двовимірний масив цілих чисел розмірністю п х т .
Розробіть алгоритм і програму визначення мінімального чис­
ла в кожному рядку і створення з них одновимірного масиву.
Сформулюйте самостійно умову задачі, з якою ви зустрічали­
ся в житті або можете зустрітися та яку можна формалізува­
ти у сформульованій формі.
Задача № З
Для підготовки до участі в чемпіонаті з легкої атлетики
тренер поставив перед спортсменом завдання: перший тиж­
день пробігати дистанцію, довжина якої умовно дорівнює оди­
ниці, а кожного наступного тижня збільшувати дистанцію на
довжину, яка дорівнює початковій дистанції, поділеній на но­
мер поточного тижня. Таким чином, математична модель бігу
спортсмена така: 1, 1 + 1/2, 1 + 1 /2 + 1 /3 , 1 + 1/2 + 1/3 + 1/4 +...
Розробіть алгоритм і програму визначення номера тижня,
коли дистанція буде більшою за 1,91.
Задача № 4
Розробіть програму для автоматизації пошуку ліків у базі
аптеки. Одним із можливих варіантів може бути такий. Піс­
ля запуску програми на формі повинні з’явитися компоненти,
орієнтовний зміст яких зображено на рис. 4 .
На формі розташовані такі об’єкти: ListBoxI, Labell, Buttonl
і Button2. Для об’єкта Buttonl встановлено значення Розпочати
роботу властивості Caption. Усі інші об’єкти порожні. Після
клацання кнопки Розпочати роботу відкривається вікно функ­
Рис. 4. Зміст форми після запуску
ції InputBox. Якщо ввести у це вікно, наприклад, латинську
програми
літеру Ь, то з масиву, в якому зберігаються всі назви ліків
Задачі № 4, 5

аптеки, вибираються всі ті ліки, назви яких починаються


з цієї літери, і виводяться у поле об’єкта ListBoxI аналогічно
тому, як зображено на рис. 5.
У полі об’єкта Button2 з’явилося повідомлення Завершити ро­
боту, а поле об’єкта Buttonl стало порожнім. Після клацання
кнопки Завершити роботу повинно відкритися таке вікно, як
зображено на рис. 4 . Якщо в цьому вікні клацнути кнопку Роз­
почати роботу й увести літеру, на яку не починається жодна на­
зва ліків у базі (масиві) аптеки, наприклад літеру w, то повинно
відкритися вікно, орієнтовний зміст якого зображено на рис. 6 . Рис. 5. Варіант змісту форми після
На рис. 7 подано програму, що реалізує описаний сценарій. введення букви

procedure TForml.ButtonlClickіSender: TObjectj; //перший обробник події


var m s: array [1..13J of s tr in g s ( 'analginum', //формування
'ccdeinum', ’camphors’ , 'emplasfrum', 'magnesia', 'bromum', / / масиву
'atrapinum ', 'barium ', 'novocainum', 'm ixture1, 'a n tis e p tic a ', //назв
'balsamum'. 'glycerinum '); //л ік ів
і, z;integer; a,b Fx: strin g ; //оголошення змінних
begin
z:= 0 ; //ознака "ліки відсутні"
a:=InputBox (’Уведення' , 'Увести першу літеру 1 1) ;
for і ;=1 to 13 do //цикл аналізу масиву
*1 begin //відкриваються операторні дужки
b:=mas[i); //вибір чергової назви ліків
x:=copy (b, 1 , 1 ); //виділення першої літери у назві
i f a=x then //чи збігається літера? Рис. 6. Варіант змісту форми
begin //відкриваються операторні дужки у випадку відсутності ліків
z:=z+l; //збільшення кількості назв ліків
ListBoxI.Items Iz-1]:=b; //виведення назв ліків
end; end; //закриваються операторні дужки
i f z=Q then Labell.Caption; = ’таких ліків немає1;
Buttonl.Captior.;=' //очищення Caption об'єкта Buttonl
Button2.Caption:= 'Завершити роботу';
end;
procedure TForml.Button2Click(Sender: TObject); //другий обробник події
var з ;integer; //оголошення змінної
begin
for j:= l to 13 do //цикл очищення об'єкта ListBoxI
L istB oxI.Item s'j-1]:=' '; //очищення об'єкта ListBoxI
Buttonl.Caption:='Розпочати роботу';
Button2.Caption:=' ’ ; //очищення Caption об'єкта Button2
L abell.Caption:=' '; //очищення Caption об'єкта Labell
end; end.

Рис. 7. Програмний код для провізора аптеки


Проаналізуйте програму, доведіть, що вона функціонує
правильно для іншої бази ліків. Зверніть увагу на те, що
в коді програми використано 2 обробники подій. Перший
обробник виконує функцію пошуку і виведення назв ліків,
а другий виконує допоміжну функцію — встановлює нові
значення й очищує поля компонентів.
Виберіть нові компоненти для реалізації завдання. Зробіть
спробу розробити більш компактний програмний код і дове­
діть, що він функціонує правильно, або запропонуйте інший
варіант підвищення продуктивності праці провізора аптеки.
Задача № 5
Із 1 до 1 0 березня учень спостерігав, на скільки збільшив­
ся світловий день. Розробіть алгоритм і програму визначення
того, у які дні день збільшувався найбільше.
РОЗДІЛ 14. СТВОРЕННЯ ТА РОЗРОБКА
НАВЧАЛЬНИХ ПРОЕКТІВ
14.1. Структура проекту в середовищі Lazarus
Чи д оводилося вам раніш е брат и участ ь у проект ній
діяльност і з інш их предм ет ів? Я ку функцію ви виконували
в них?

Проект (від латин, projectus — «кинутий вперед») — це ці­


Ф лісна сукупність моделей та їхніх властивостей, описаних
у формі, придатній для його реалізації. Процес розробки
проекту називають проектуванням. Проектування — це
Етапи підготовки до проектів
процес визначення архітектури, компонентів, інтерфейсів
та інших характеристик системи або її частини.
j" 4 Визначення теми проекту
і розбиття його Проектування широко застосовується у багатьох сферах
на окремі незалежні, людської діяльності: будівництві, космонавтиці, пароплав­
але взаємопов'язані стві, суспільній діяльності, машинобудуванні, програмуван­
частини (модулі) ні тощо. Методологія проектування суттєво залежить від
об’єкта, для якого створюється проект. Наприклад, методоло­
і” а Формування груп для гія проектування інформаційної системи описує весь процес
розробки проекту її створення і супроводу у вигляді життєвого циклу. Ж ит­
(з урахуванням інтересів тєвий цикл означає, що проект має певну сукупність етапів
учнів) розробки і що існує обмежений проміжок часу його існуван­
ня, а також необхідність передбачення модернізації проекту.
і" 4 Визначення основних Існують декілька моделей життєвого циклу. Наприклад, про­
етапів розробки кожного ект розробки програмного забезпечення зазвичай виконується
модуля проекту, строку у такій послідовності: постановка задачі, розробка необхідних
їх виконання та порядку алгоритмів, кодування (програмування), тестування, експлуа­
об'єднання окремих моду­ тація, удосконалення.
лів у єдиний проект Незважаючи на те що об’єкти проектування досить різно­
манітні, існують загальні принципи, яких слід дотримувати­
ся. Одним із таких принципів є послідовність проектування
Формулювання технічних
від загального до конкретного. Він визначає порядок проек­
умов, яким повинен від­
тування за етапами з урахуванням завдань кожного етапу
повідати проект, переліку (рис. 1). Принцип варіантності передбачає можливість розроб­
літератури, якою доцільно ки декількох проектів, із яких вибирається найбільш раціо­
користуватися у процесі нальний або оптимальний.
роботи над проектом, по­
рядку його оформлення, Важливим принципом є комплексність, тобто врахуван­
тестування і захисту ня багатьох складових проекту: технологічної, санітар­
но-гігієнічної, кошторисної та інших. Зазвичай над про­
Рис. 1. Загальний порядок підготовки ектом працює не один фахівець, а колектив працівників,
до виконання навчальних проектів тому кожний із них повинен дотримуватися єдиних ви­
із програмування мог і норм проектування.
14.1. Структура проекту... 227

Які, на ваш у думку, особливост і м а є розробка проект у


в середовищ і Lazarus?
Правила і методика розробки проектів у кожній мові про­
грамування має свої особливості.
Розглянемо деякі особливості створення навчальних проек­
тів у середовищі візуального програмування Lazarus (рис. 2).
Проект у середовищі Lazarus — це програма, розробле­
на користувачем для розв’язування певної задачі. Проект
об’єднує декілька файлів, із яких створюється єдиний файл,
що виконується. Мінімальний склад файлів проекту такий:

Файл опису проекту (.Ірі).


Файл проекту (.Ірг). У ньому зберігаються всі основні па­
раметри програми. Без цього файла неможливо виконати
програму.
Модуль форми (.Ifm). Містить опис усіх об'єктів, розташова­
них на формі. Файл містить також властивості тих об'єктів,
які змінені програмістом. Особливості створення
Програмний модуль (.pas) — файл коду програми. Його проектів у середовищі Lazarus
можна поділити на окремі, менші за обсягом, модулі*У
й кожний із них підключити до проекту.
Необхідність створення
Зазвичай проект містить також файл ресурсів (.lrs). У ньо­ графічного інтерфейсу
му можуть зберігатися дані різних типів. програми
У результаті компіляції з файлів проекту створюється єди­
ний файл, що виконується, з розширенням ехе. Ім'я файла Розробка програмного
збігається з іменем проекту. Користувач розробляє про­ коду мовою Free Pascal
грамний модуль, усі інші додаються до проекту автоматично.
Програмний модуль має таку загальну структуру: Компілювання, тесту­
unit <ім'я модуля>; //заголовок модуля вання, збереження
interface //розділ опису (список модулів, типів, і виконання проекту
//констант, змінних, процедур і функцій)
implementation //розділ коду програми Рис. 2. Особливості створення
end. //кінець модуля проектів у середовищі візуального
програмування Lazarus
Розділ опису має таку загальну структуру:
interface
uses <список_модулів>;
type <список_типів>;
const <список_констант>;
var <список_змінних>;
procedure <ім'я процедури^

function <ім'я_функції>;
Заголовок модуля починається ключовим словом unit, за
яким слідує ім’я модуля і крапка з комою. Розділ опису по­
чинається ключовим словом interface. Тут описуються компо­
ненти програмного коду: типи, класи, процедури і функції.
Розділ implementation містить програмний код опрацювання
даних, який розробляє користувач.
228 Розділ 14

14.2. Варіанти тем навчальних проектів


у середовищі Lazarus
Пригадайт е, з чого починаєт ься розроб ка програм ного коду
в середовищ і Lazarus. Які ком понент и ви використ овували
найчаст іш е? Я к ви доводили правильніст ь виконання
програм ного коду?
Сучасні програмні проекти є досить складними. Успішна
їх реалізація залежить від ретельного планування проекту,
розбиття його на окремі незалежні та взаємопов’язані модулі
і визначення способів їх об’єднання у єдине ціле, методів тес­
тування модулів і програми у цілому.
У цьому параграфі наведено три варіанти навчальних про­
Таблиця. РОЗШИРЕННЯ ФАЙЛІВ,
ПРОГРАМ І ТИПІВ ФАЙЛІВ
ектів. Над кожним проектом може працювати від 3 до 5
учнів. Учні призначають відповідальних за розробку окремих
Розши- л частин проекту, його опис і інструкції для користувача. За­
Програма Тип файла
рення г г вершується розробка проекту його захистом.
wav MediaPlayer Звуковий Проект 1
Неформато-
Створіть для допомоги молодшим школярам каталог часто
txt Блокнот вживаних розширень файлів з описом.
ваний текст
У таблиці наведено деякі розширення, які автоматично
bmp Paint Растровий присвоюються файлам програмами, що їх створюють, а та­
Форматова-
кож назви відповідних програм і назви типів файлів.
doc MS Word Розробіть проект, за допомогою якого дані, наведені у таб­
ний текст
лиці, виводяться у клітинки компонента TStringGrid в алфа­
Електронна вітному порядку розширень. Виявіть переваги і недоліки роз­
xls MS Excel
таблиця робленого програмного коду порівняно з наведеним.
Рекомендації. Бажано дотримуватися такого порядку дій.

Розмістити на формі 2 компоненти TStringGrid Розширення Програма Тип файла


і компонент TButton. В об'єкт StringGridl уве­
Крок 1 wav Media player Звуковий
сти дані, наведені у таблиці так, як зображено на
рис. 1. txt Блокнот Неформ. текст

bmp Paint Растровий


Розробити програмний код, за допомогою яко­
doc MS Word Форм, текст
го з даних, що містяться у клітинках об'єкта
StringGridl, створюється двовимірний масив xls MS Excel Електр. таблиця
Крок
з іменем mas, елементи якого мають тип string. < >
Створений масив упорядкувати в алфавітному
Рис. 1. Об'єкт StringGridl
порядку розширення файлів.
з уведеними даними з Excel
Розширення Програма Тип файла
bmp Paint Растровий

Доповнити програмний код, розроблений на doc MS Word Форм, текст


txt Блокнот Неформ. текст
кроці 2, кодом виведення створеного масиву
Крок wav
в клітинки об'єкта StringGrid2 так, як зображено Media player Звуковий
на рис. 2. xls MS Excel Електр. таблиця

Рис. 2. Об'єкт StringGrid2


з елементами створеного масиву
14.2. Варіанти тем... 229

Порівняти розроблений код із контрольним кодом, зображеним на рис. 3.


Виявити переваги і недоліки розробленої вами і наведеної програм.

procedure TFoш і. But t on 1Click (Sender: TObjeccj;


v ar і , j , лі,р;in te g er; z :s tr in g ; //оголошення змінних
m asiarray [ 1 ..5 Д ..З ] of s trin g ; //оголошення двовимірного масиву
begin
fo r i:= l to 5 do //зовнішній цикл формування масиву
fo r j : * l to 3 do //внутрішній цикл формування масиву
//уведення масиву із клітинок StringG ridl
mas [ і , jj:= S trin g G rid l.C ells [3 - 1 , 1 ];
p:=S; //початкове значення нижнього рядка
w hile р>1 do //цикл упорядкування масиву
begin //відкриваються операториі дужки
Крок ш:=1 ; //початкове значення першого стовпця
fo r і ;=2 to р do //цикл пошуку максимального елемента
//елемент якого рядка першого стовпця більше?
i f гсазд, lj>mas;in, l j then rr.:=i;
z:=mas;tnrl ] ; т а з ;т , 1 ] := таз[р , 1 J; mas[p , 1 J :=z; //переміщення
г := т а з ;т , 2 і; т а з [ т , 2 ] :=mas[p,2 ]; т а з [р , 2 ]:= г; //у с іх стовпців
z ;=masim,3]; я а з [ я ,3 ) := тгз;р .З і; m as[p,3]i=z; //рядка
р;=р- 1 ; //зменшення номера рядка масиву
end; //закриваються оператори! дужки
fo r і :=1 to S do //зовнішній циклвиведення масиву
fo r j :=1 to 3 do //внутрішній цикл виведення масиву
5 tr in g G rid 2 .C e lls [j-l,ij := та з:і, Л ;//виведення елементів масиву
end;
end.

Рис. 3. Програмний код реалізації завдання проекту 1

Проект 2
Щорічно в Україні для підготовки й формування коман­
ди з чотирьох учнів 9-11 класів для участі в міжнародній
олімпіаді з інформатики проводяться збори, на які запрошу­
ються 8 учнів, нагороджених дипломами першого ступеня за
результатами Всеукраїнської олімпіади поточного року. Усі
учні після завершення зборів виконують контрольні завдан­
ня, які оцінюються максимальною сумою балів — 600. Учні,
які набрали максимальну кількість балів, потрапляють до
команди. Розробіть алгоритм і програму формування коман­
ди учнів.
Рекомендації. Бажано дотримуватися такого порядку дій.

Знайти в Інтернеті дані про учнів, нагородже­


........................... .
них дипломами першого ступеня
Крок 1
за результатами Всеукраїнської олімпіади з ін­
форматики поточного року.

........................... .
Крок 2 Розробити алгоритм реалізації завдання.
230 Розділ 14

Олімпіада □

пп ПІБ Школа Клас Бали |


1 Зімін ОЛ. 37. Київ 10 310
2 Петренко Н.К. 45. Харків 10 550
3 Петрік А.І. 90. Суми 9 470
4 Дрозд СА 5. Полтава 11 490
Розмістити на формі 2 компоненти 5 Сахно П.П. 12. Фастів 11 480
TStringGrid і компонент TButton. Внести 6 Каменев І.В. ЗО. Житомир 11 580
в об'єкт StringGridl дані, знайдені в Ін-
7 Зіненко 8.І. 145. Київ 10 500
тернеті, про учнів і суму балів, набрану
Крок 8 РуН08 М.П. 11. Львів 11 470
ними на олімпіаді. В об'єкт StringGrid2
внести назви рядків і стовпців. Зра­ ПП ПІБ | Школа [клас Бали |
зок оформлення об'єктів зображено
на рис. 4. 1
2

3
4

Виконати :

Рис. 4. Об'єкт StringGridl з уведеними


даними й об'єкт StringGrid2
ПП ПІБ Школа Клас Бали

Розробити і виконати програму реалі­ 1 Каменев І.В. 30. Житомир 11 580

зації алгоритму. Для правильно розроб­ 2 Петренко Н.К. 45, Харків 10 550
Крок 3 Зіненко В.І. 145, Київ 10 500
леної програми отримаємо результат,
зображений на рис. 5.І 4 Дрозд СА 5. Полтава 11 490

І Рис. 5. Результат виконання коду проекту 2


Проаналізувати розроблену програму і контрольну програму, зображену на рис, б.
Виявити переваги і недоліки розробленої вами і наведеної програм.
procedure TForml.BuctonlClick(Sender: TObject);
var integer; z:strin g ; //оголошення змінних
mas: arra y [1 , , 8 , 1 . . 1 ] of strin g ; //оголошення масиву
begin
fo r i :=2 to В do //зовнішній цикл створення масиву
for j ;®1 to 4 do //внутрішній цикл створення масиву
mas[ i , j j :=StringG ridl.Cells j , і J; //введення елементів масиву
|;* 1; //початковий номер рядка
while iU5 do //проаналізувати 4 рядки масиву
begin //відкриваються операторні дужки
m :=|; //початковий номер макс. елемента
Крок for І;=Ш+І to 3 do //цикл пошуку макс. елемента у 4 стовпці
if mas;i,4i>masim,4J then т:=і;//який елемент більше?
for і:=1 to 4 do //цикл переміщення і виведення рядків
begin //відкриваються операторні дужки
//переміщення елементів чотирьох стовпців чергового рядка масиву
z:=mas[m,i); m as> ,і] :=таз[Ш,і]; т а з [І,і] :=z;
//виведення чотирьох стовпців чергового рядка масиву
5tringGrid2.C ells[ і , | ] ;-т а з ; І , і ] ;
end; //закриваються операторні дужки
|:=fl+l; //збільшується значення номера рядка
end; //закриваються операторні дужки
end;
end.

Рис. 6. Програмний код реалізації завдання проекту 2


14.2. Варіанти тем... 231

Проект З
У шкільній олімпіаді з інформатики бере участь різна
кількість учнів 9-11 класів. Роботи учнів оцінюються загаль­
ною сумою від 0 до 50 балів. Розробіть алгоритм і програму
визначення середнього балу результатів участі в олімпіаді
учнів кожного класу.
Рекомендації. Найдоцільніше для реалі­ формальні параметри процедури краще вико­
зації цього завдання використати дві під­ ристати відкритий масив.
програми. За допомогою однієї підпрограми Для розробки програми можна викорис­
можна створювати три масиви (за кількістю товувати різні компоненти, наприклад TEdit,
класів), у яких зберігаються отримані резуль­ TLabel, TMemo, TListBox, TStringGrid та ін. Мож­
тати кожного учня класу, а за допомогою дру­ на також використати функції InputBoxO,
гої підпрограми — обчислювати середній бал ShowMessageO і компонент TButton. Для ана­
учнів кожного класу. Для створення масивів лізу ефективності розробленого вами проекту
необхідно використати підпрограму-процеду- на рис. 7 зображено програму одного з варі­
ру, а для обчислення середнього балу — або антів реалізації сформульованого завдання.
функцію, або процедуру. У цьому варіанті використано дві процедури.
Оскільки від кожного класу в олімпіа­ Уведіть цю програму, переконайтеся, що вона
ді бере участь різна кількість учнів, то як функціонує правильно, і виявіть її недоліки.
procedure TForml. B u tto n lC lic k (Sender: T O bject);
ty p e m as=array o f in te g e r ; //т и п масиву
v a r і , n , s :i n te g e r ; з г : r e a l; а: т а з; //оголошення змінних і масиву
pro cedure v e d iv a r n :in te g e r ; v a r a :т а з ) ; / /процедура уведення масиву
v a r j : in te g e r ; //локальн а змінна
begin //початок т іл а процедури ved
f o r j:= 0 to (n-1) do //цикл уведення масиву
a [ j] := S tr T o I n t[InputB ox( 'К іл ькість * , 'б а л ів учня ’ //уведення
+ In tT o S c r(]+ l), 1 ’)); //зн ач ен ь елементів масиву
end; //к ін е ц ь процедури ved
pro cedure зшп(п:in te g e r ; а ;т а з ) ; //процедура обчисл. середи, значення
v a r j : in te g e r ; //локальна змінна
b egin //початок т іл а процедури sura
s;= 0; //початкове значення суки елем, масиву
f o r j :=0 to (n-1) do //ц и к л обчислення суки елементів масиву
з := з - а [ j ] ; //обчислення суми елементів масиву
s r := s /n ; //с ер е д н є значення суми елементів масиву
end; //к ін е ц ь процедури sum
begin //п оч аток т іл а основної програми
f o r i:= 9 to 11 do //ц и к л опрацювання масиву
begin //відкриваю ться операториі дужки
n:= S crT oInt[InpucB ox[ ’Кількість учнів *, //к іл ь к іс т ь учнів класу,
' '+ In tT o S tr ( і ) , ' ' ) ) ; / / я к і брали участь в олімпіаді
SetLength (а ,п ); //ви ділен н я п ам 'яті масиву
v e d (n ,a ); //звернення до процедури ved
sum (n ,а ) ; //звернення до процедури sum
ShowMessage('Середній бал учнів класу 1 //виведення
-In tT o S tr (і) + ' = ’4-FloatToStr fs r ) ) ; //середн ього значення
а :=NIL; end; end; //звіл ьн ен н я пам’я т і
end.

Рис. 7. Варіант програми реалізації завдання проекту З

Після запуску програми на екрані з’явиться вікно, зразок


якого наведено на рис. 8. У це вікно слід увести кількість учнів Рис. 8. Вікно для введення кількості
учнів у класі
9 класу, які брали участь в олімпіаді, і клацнути кнопку ОК.
232 Розділ 14

Кількість X Потім послідовно будуть з’являтися вікна, один зі зразків


якого зображено на рис. 9, у які потрібно ввести кількості
балів учня 2
балів, отриманих кожним учнем цього класу.
40
Після завершення введення кількості балів, отриманих
✓ ок X Cancel учнями 9 класу, на екран буде виведено середній бал учнів.
Зразок такого вікна зображено на рис. 10.
Рис. 9. Вікно для введення кількості В аналогічному порядку слід увести дані про учнів 10
балів, отриманих учнем і 11 класів.
На рис. 11 подано програму, яка реалізує те саме завдан­
ня, але замість процедури, у якій обчислюється середній бал,
використано функцію. Як випливає з аналізу цієї програми,
вона суттєво відрізняється від першої програми, у якій як
підпрограми використовувалися обидві процедури.
procedure TForml.ButtonlClick(Sender: TObject);
type mas=array of integer; //тип масиву
var i,n ,s :in te g e r; s r:re a l; a:mas; //оголошення змінних і масиву
procedure ved(var niinteger; var а:та з); //процедура уведення масиву
var j:in te g e r; //локальна змінна
Рис. 10. Вікно із середнім балом
begin //початок тіла гцзоцедури ved
учнів класу
for j:=0 to (n-1) do //цикл уведення масиву
a[j]:=StrTo!nt(InputBox('Кількість балів учня 1 //уведення
+IntToStr(j+l), ' ') ) ; //значень елементів масиву
end; //кінець процедури ved
function sum(n:integer; a:m as):real; //функція обч. середи, значення
var j : integer; //локальна змінна
begin //початок тіла функції sum
s:=0; //початкове значення суми елем, масиву
for j:=0 to (n-1) do //цикл обчислення суми елементів масиву
s:=s+a[j]; //обчислення суми елементів масиву
sum;=s/n; //середнє значення суми елементів масиву
end; //кінець функції sum
begin //початок тіла основної програми
for i:=9 to 11 do //цикл опрацювання масиву
begin //відкриваються операторні дужки
n;=Str!oInt(InputBox('Кількість учнів //кількість учнів класу,
'класу '-IntT oStr(i) ' ' ) ) ; //я к і брали участь в олімпіаді
SetLength (a,n); //виділення пам'яті масиву
ved(n,a); //звернення до процедури ved
sr:=sum (n,a); //звернення до функції sum
ShowMessage(' Середній бал учнів класу ' //виведення
-r-IncToStr (і)+' = 4FloatToStr (sr)) ; //середнього значення
a:=NIL; end; end; //звільнення пам'яті
end.

Рис. 11. Програмний код із процедурою і функцією

З урахуванням проведеного аналізу розробіть власну про­


граму, у якій відсутні виявлені недоліки.
Комп'ютерний словник
База даних — сховище організованої сукупно­ Комп'ютерна безпека — стан захищеності си­
сті даних різного типу, які відображають стан стем опрацювання й зберігання даних, за
об’єктів певної предметної галузі та зв’язки якого забезпечується конфіденційність, до­
між ними. ступність і цілісність даних
Вербальна модель — опис об’єкта, процесу, Інформаційна культура — елемент загальної
явища природною мовою. культури людини, що є характеристикою осо­
Відкритий масив — масив, у розділі var або бистості, яка проявляється в умінні цілеспря­
type якого оголошується масив без діапазону мовано працювати з інформацією, опануванні
індексів, вказується лише тип елементів. нових засобів інформаційно-комунікаційних
технологій, дотриманні морально-етичних
Головна діагональ — діагональ масиву, що
норм під час створення й використання ін­
з’єднує лівий верхній елемент із правим ниж­ формаційних матеріалів.
нім.
Інформаційна модель — вербальний, графіч­
Двійковий пошук — пошук даних у впорядко­
ний, математичний, табличний тощо опис
ваному масиві.
об’єкта.
Двовимірний масив — структура даних одного
типу, що складається з фіксованої кількості Інформаційна система — програмно-апаратний
рядків і стовпців. комплекс для зберігання даних, виконання
над ними операцій, обумовлених специфікою
Допоміжний алгоритм — алгоритм, який може предметної галузі, забезпечення зручного гра­
неодноразово використовуватися в основному фічного інтерфейсу для доступу до необхідних
алгоритмі. даних та їх опрацювання.
Експрес-сканування — швидке сканування,
Інформаційні процеси — процеси, пов’язані
за допомогою якого сканується оперативна
з пошуком, збиранням, збереженням, опра­
пам’ять і системні файли. цюванням, передаванням, відображенням
Електронний документообіг (обіг електронних і захистом інформації.
документів) — сукупність процесів створен­
Інформаційна технологія — сукупність мето­
ня, опрацювання, відправлення, передавання, дів і способів пошуку, збирання, накопичен­
одержання, зберігання, використання та зни­
ня, зберігання й опрацювання інформації на
щення електронних документів, які викону­ основі засобів обчислювальної і комунікацій­
ються із застосуванням перевірки цілісності,
ної техніки.
а в разі необхідності — з підтвердженням
факту одержання таких документів. Ключ таблиці — стовпець (або кілька стовп­
ців), який однозначно ідентифікує рядки.
Запит — об’єкт бази даних, призначений для
вибору з таблиці необхідних даних і подання Комп'ютерне моделювання — процес реаліза­
їх користувачу в зручній формі. ції інформаційних моделей на комп’ютері.
Запит із параметрами — запит, у процесі ви­ Комп'ютерний вірус — шкідлива програма,
конання якого потрібно ввести деякі дані. що здатна до самокопіювання та вбудовуван­
Запит на змінення — запит, за допомогою яко­ ня в код інших програм, системні ділянки
го вносяться зміни в таблиці. пам’яті чи завантажувальні сектори, а також
поширення своїх копій різними каналами
Звіт — об’єкт бази даних, призначений для
зв’язку.
виведення даних у зручному для користувача
вигляді. Лінійний пошук — пошук даних у масиві,
заснований на прямому переборі елементів
Інформатика — галузь людської діяльності,
масиву.
пов’язана з процесами опрацювання інформа­
ції за допомогою комп’ютера та середовища їх Масив — структурований тип даних, елемен­
застосування. ти якого мають один тип.
234 Комп'ютерний словник

Математична модель — система математичних Формальні параметри — змінні, вказані у за­


рівнянь, формул, числових множин, які опи­ головку підпрограми.
сують деякі властивості об’єкта, процесу або Шкідлива програма — спеціально розробле­
явища. на програми для пошкодження та знищення
Метод вибору — метод упорядкування еле­ файлів, даних, програмного забезпечення, ви­
ментів масиву, заснований на пошуку макси­ крадення особистих даних користувача.
мального (мінімального) елемента й зміні міс­
— антивірусна програма, що забезпечує
a v a st!
ця його розташування.
високий ступінь захисту комп’ютера від віру­
Моделювання — процес створення моделі. сів та інших шкідливих програм.
Модель — сукупність найважливіших вла­ c h r (х) — функція повернення символу, код
стивостей об’єкта, процесу, явища, яка визна­ якого дорівнює X.
чається метою її створення і може мати різні
форми вираження. C o lC o u n t — кількість стовпців компонента
TStringGrid.
Модель даних — спосіб об’єднання даних
у структури. c o n s a t (S I , S2) — функція об’єднання рядків S1
і S2.
Параметри підпрограми — дані, що переда­
ються у підпрограму для опрацювання. — функція копіювання т симво­
c o p y (S, п , т )

Підпрограма — логічно завершений фрагмент лів рядка S, починаючи з символу п.


програми з присвоєним іменем, до якого мож­ d e l e t e (S, п , т ) — функція вилучення з ряд­
на звертатися неодноразово. ка S т символів, починаючи з позиції п.
Побічна діагональ — діагональ масиву, що з’єд­ I n p u t B o x O — функція, що застосовується для
нує правий верхній елемент із лівим нижнім. циклічного уведення елементів масиву.
Редактор StringGrid — вікно для уведення еле­ i n s e r t (S I , S 2 , п) — функція вставлення в ря­
ментів двовимірного масиву. док S2 рядка S1, починаючи з позиції п.
Рядок — набір символів певної довжини. le n g t h (S) — функція визначення довжини
Символ — цифра, буква або інший знак кла­ рядка.
віатури.
o r d (с) — функція повернення коду символу с.
Синхронізація даних — процес перевірки та p o s (S I , S2) — функція визначення номера по­
реалізації ідентичності вибраних даних на зиції, з якої починається входження рядка S2
різних пристроях. у рядок S1.
Стандартна підпрограма — підпрограма, вбу­
Row Count — кількість рядків компонента
дована у мову програмування.
TStringGrid.
Таблиця — об’єкт бази даних, у якому збері­
R S S — множина XML-форматів, яку викорис­
гаються дані різного типу.
товують для публікації та постачання інфор­
Фактичні параметри — змінні, що вказані мації, що часто оновлюється.
в операторі виклику підпрограми.
S h o w M e s s a g e O — функція, що застосовується
Фільтрування даних — вибір із таблиці запи­
для циклічного виведення елементів масиву.
сів, які містять задані значення в обраних
полях. — компонент, що використовуєть­
T S t rin g G rid

Форма — об’єкт бази даних, за допомогою ся для введення/виведення двовимірних ма­


якого можна вводити й змінювати дані у таб­ сивів.
лицях.
Алфавітним покажчик
А І
Авторське право 10 Інтернет 90
Інтернет-провайдер 93
Б Інстант-месенджер 99
База даних 37 Інтернет-ресурс 107
Безпечний сайт 116 Інформатика 4
Інформаційна безпека 110
В Інформаційна культура 9
Вербальна модель 141 Інформаційна модель 141
Видавнича система 23 Інформаційна система 8
Відкритий масив 214 Інформаційна технологія 5
Інформаційний процес 6
г
Геосервіс 102
Головна діагональ 192
к
Канал зв’язку 81
Канал новин 130
Д Ключове поле 49
Двійковий пошук даних 162
Двовимірний масив 184 Компонент 149
— TListBox 154, 155
Домен 85
— TMemo 154, 155
Доменне ім’я 95
— TStringGrid 187
Доменна система імен 97
Допоміжний алгоритм 201 Комп’ютерна мережа 76
— бездротова 82
Е — кабельна 81
Електронний документ 12 — клієнт-серверна 77
Електронний документообіг 13 — однорангова 77
Комп’ютерне моделювання 143
з Комп’ютерний вірус 112
Закладка 128
Запит 56 л
— із параметрами 59 Лінійний пошук даних 161
— на вибірку даних 56
— на змінення 62 м
— на обчислення 59 Макет 23
Захист даних 112 Масив 152
Звіт 70 Маска підмережі 94
236 Алфавітний покажчик

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


Мережева спільнота 99 Таблиця 46
Мережевий протокол 87 Точка відновлення 118
Метод вибору 165 Топологія 78
Метод обміну 167
Метод вставки 170 Ф
Моделювання 140 Фактичні параметри 205
Модель 138, 140 Фільтрування записів 54
Модель даних 38 Форма 64
Формальні параметри 214
н Ф ункція 203
Настільна видавнича система 23 — chr (х) 174, 178

п — concat (SI, S2, ...) 174, 175


— copy (S, n, m) 174, 176
Параметри підпрограми 203
— delete (S, n, m) 174, 176
Право інтелектуальної власності 10
— InputBoxO 156
Публікація 22
— insert (SI, S2, n) 174, 177
Персональне навчальне середовище 120
— length (S) 174, 175
Підпрограма 202
— ord (c) 174, 178
Побічна діагональ 192
— pos (SI, S2) 174, 177, 179, 180
Програма розпізнавання тексту 17
— ShowMessageO 156
Програмне навчальне середовище 118
Процедура 204 Ш
Шаблон 25
Р Ш кідлива програма 112
Резервне копіювання даних 118
Редактор StringGrid 187 I
Рекурсивна підпрограма 217 IP-адреса 94
Робоча група 85
Рядок 172 м
Мас-адреса 89
с
Сервіси Веб 2.0 100 R
Сервіси Інтернету 99 RSS 130
Синхронізація даних 132
Стандартна підпрограма 201 U
Сортування записів 54 URL-адреса 95
Зміст
Розділ 1. ІНФОРМАЦІЙНІ ТЕХНОЛОГІЇ У СУСПІЛЬСТВІ
1.1. Інформатика та її вплив на розвиток суспільства........................................................................................................................ 4
1.2. Інформаційні процеси та інформаційні системи.......................................................................................................................... б
1.3. Поняття інформаційної культури й інтелектуальноївласності.............................................................................................9
Практична робота № 1 ..........................................................................................................................................................................11

Розділ 2. ЕЛЕКТРОННИЙ ДОКУМЕНТООБІГ


2.1. Поняття електронного документообігу ....................................................................................................................................... 12
2.2. Апаратні засоби для забезпечення електронного документообігу ................................................................................14
2.3. Програмне забезпечення електронного документообігу.................................................................................................... 17
Практична робота №2 ..........................................................................................................................................................................18
2.4. Програми автоматизованого перекладу текстів.........................................................................................................................19
Практична робота № 3 ......................................................................................................................................................................... 21

Розділ 3. КОМП'ЮТЕРНІ ПУБЛИКАЦІЇ


3.1. Поняття комп'ютерної публікації. Програмні засобидля створення публікацій........................................................ 22
3.2. Види та структура публікацій. Основні складові публікацій................................................................................................24
3.3. Створення комп'ютерної публікації.................................................................................................................................................26
Практична робота № 4 ......................................................................................................................................................................... 29
3.4. Робота з текстовими об'єктами. Зв'язки між об'єктами публікації ................................................................................... ЗО
3.5. Робота з графічними об'єктами...........................................................................................................................................................32
3.6. Етапи роботи з публікацією.................................................................................................................................................................34
Практична робота № 5 ......................................................................................................................................................................... 35
Практична робота № 6 ......................................................................................................................................................................... 35

Розділ 4. БАЗИ ДАНИХ


4.1. Поняття бази даних. Реляційна модель даних............................................................................................................................ 37
4.2. Загальні відомості про систему Access 2016................................................................................................................................ 42
4.3. Таблиці ..........................................................................................................................................................................................................45
4.4. Запити ..........................................................................................................................................................................................................56
4.5. Форми ..........................................................................................................................................................................................................64
4.6. Звіти .......................................................................................................................................................................................................... 70
Практична робота № 7 ......................................................................................................................................................................... 73
Практична робота № 8 ......................................................................................................................................................................... 74
Практична робота № 9 ......................................................................................................................................................................... 74
Практична робота № 10....................................................................................................................................................................... 75

Розділ 5. МЕРЕЖЕВІ ТЕХНОЛОГІЇ


5.1. Класифікація комп'ютерних мереж...................................................................................................................................................76
5.2. Апаратне і програмне забезпечення мереж................................................................................................................................ 79
5.3. Канали зв'язку..............................................................................................................................................................................................81
5.4. Мережеві пристрої................................................................................................................................................................................... 83
5.5. Адресація в мережах............................................................................................................................................................................... 85
5.6. Мережеві протоколи............................................................................................................................................................................... 87
5.7. Призначення і структура Інтернету.................................................................................................................................................90
5.8. Способи під'єднання до мережі. Функції провайдера............................................................................................................ 92
Зміст

5.9. Адресація в Інтернеті. Поняття IP-адреси, доменного імені та URL-адреси.................................................................94


5.10. Адміністрування доменних імен .......................................................................................................................................................96
5.11. Сучасні сервіси Інтернету..................................................................................................................................................................... 98
5.12. Сервіси Веб 2 .0 ......................................................................................................................................................................................... 100
5.13. Геосервіси....................................................................................................................................................................................................102
5.14. Спеціальні інструменти пошуку.......................................................................................................................................................104
5.15. Інтернет-ресурси для вивчення навчальних предметів......................................................................................................107
Практична робота № 11 ..................................................................................................................................................................... 108
Практична робота № 12..................................................................................................................................................................... 109

Розділ 6. ОСНОВИ ІНФОРМАЦІЙНОЇ БЕЗПЕКИ


6.1. Класифікація загроз інформаційній безпеці. Морально-етичні і правові засоби захисту даних.......................110
6.2. Захист даних. Шкідливі програми, їх типи, принципи дії і боротьба з ними................................................................112
6.3. Загрози при роботі в Інтернеті. Засоби браузера, призначені
для гарантування безпеки ..................................................................................................................................................................115
Практична робота № 13......................................................................................................................................................................117
6.4. Безпечне зберігання та видалення даних. Резервне копіювання та відновлення даних..................................... 118

Розділ 7. СТВОРЕННЯ ПЕРСОНАЛЬНОГО НАВЧАЛЬНОГО СЕРЕДОВИЩА


7.1. Поняття персонального навчального середовища. Використання інтернет-середовищ
для створення та публікації документів.....................................................................................................................................120
7.2. Організація та планування колективної діяльності. Використання офісних веб-програм
для створення спільних документів...............................................................................................................................................124
7.3. Створення і використання спільних електронних закладок..............................................................................................128
7.4. Канали новин..............................................................................................................................................................................................130
7.5. Синхронізація дан и х..............................................................................................................................................................................132
7.6. Етапи створення веб-сторінок. Конструювання сайтів. Поняття мови розмітки гіпертексту............................ 134
Практична робота № 14..................................................................................................................................................................... 136
Практична робота № 15......................................................................................................................................................................137

Розділ 8. МОДЕЛЮВАННЯ
8.1. Поняття моделі та моделювання.....................................................................................................................................................138
8.2. Класифікація моделей............................................................................................................................................................................141
8.3. Комп'ютерне моделювання................................................................................................................................................................. 143
8.4. Використання програмних засобів для комп'ютерного моделювання......................................................................... 145
Практична робота № 16..................................................................................................................................................................... 147

Розділ 9. ОДНОВИМІРНІ МАСИВИ


9.1. Основи роботи у середовищі Lazarus (повторення)..............................................................................................................148
9.2. Поняття типів користувача і масиву...............................................................................................................................................152
9.3. Введення і виведення значень елементів масиву.................................................................................................................... 154
9.4. Класичні алгоритми опрацювання числових одновимірних масивів........................................................................... 158
9.5. Упорядкування елементів масиву...................................................................................................................................................165
Практична робота № 17......................................................................................................................................................................170
Практична робота № 18......................................................................................................................................................................171
Зміст

Розділ 10. СИМВОЛЬНІ ТА РЯДКОВІ ВЕЛИЧИНИ


10.1. Загальні відомості про символьні та рядкові величини..................................................................................................... 172
10.2. Функції опрацювання рядків і символів.......................................................................................................................................174
10.3. Класичні алгоритми опрацювання рядків...................................................................................................................................179
Практична робота № 19..................................................................................................................................................................... 183
Практична робота №2 0 ..................................................................................................................................................................... 183

Розділ 11. ДВОВИМІРНІ МАСИВИ


11.1. Загальні відомості про двовимірні масиви................................................................................................................................ 184
11.2. Введення і виведення значень елементів двовимірних масивів у візуальному режимі .....................................187
11.3. Класичні алгоритми опрацювання значень елементів двовимірних масивів........................................................... 191
Практична робота № 21..................................................................................................................................................................... 199
Практична робота №2 2 .....................................................................................................................................................................200

Розділ 12. ДОПОМІЖНІ АЛГОРИТМИ


12.1. Загальні відомості про допоміжні алгоритмиі підпрограми...............................................................................................201
12.2. Процедури................................................................................................................................................................................................. 203
12.3. Функції ....................................................................................................................................................................................................... 209
12.4. Використання масивів як формальних параметрів підпрограм..................................................................................... 213
12.5. Поняття рекурсії. Рекурсивні алгоритми.....................................................................................................................................217
Практична робота №23 .....................................................................................................................................................................221
Практична робота №24 .................................................................................................................................................................... 221
Практична робота №2 5 .....................................................................................................................................................................222

Розділ 13. РОЗВ'ЯЗУВАННЯ КОМПЕТЕНТНІСНИХ ЗАДАЧ


Задача № 1 ................................................................................................................................................................................................. 223
Задача №2 ................................................................................................................................................................................................. 224
Задача №3 ................................................................................................................................................................................................. 224
Задача №4....................................................................................................................................................................................................224
Задача №5 ................................................................................................................................................................................................. 225

Розділ 14. СТВОРЕННЯ ТА РОЗРОБКА НАВЧАЛЬНИХ ПРОЕКТІВ


14.1. Структура проекту в середовищі Lazarus...................................................................................................................................226
14.2. Варіанти тем навчальних проектів у середовищі Lazarus.................................................................................................. 228
Відомості про користування підручником
С т а н п ід р у ч н и к а
№ П р і з в и щ е т а і м ’я Н авчаль­
на початку в к ін ц і
з /п учня / учениці н и й р ік
року року
1

На вч а ль не в идання
РУДЕНКО Віктор Дмитрович
РЕЧИЧ Наталія Василівна
ПОТІЄНКО Валентина Олександрівна
«Інформатика для загальноосвітніх навчальних закладів
з поглибленим вивченням інформатики»
підручник для 9 класу загальноосвітніх навчальних закладів
Рекомендовано Міністерством освіти і науки України
Видано за рахунок державних коштів. Продаж заборонено

Провідний редактор І . Л . М о р е в а . Редактори Л . А . К а ю д а , Ю . М . М и р о н о в а .


Художнє оформлення В . І . Т р у ф ен. Технічний редактор А . В . П л іс к о .
Комп’ютерна верстка О. В . С м ія н , С. В . Я ш и ш . Коректор Н . В . К р а с н а .
В оформленні підручника використані зображення,
розміщ ені в мереж і Інтернет для вільного використання
П ідписано до д руку 20.07.2017. Ф орм ат 84x108/16.
Папір офсетний. Гарнітура Ш кільна. Друк офсетний.
Ум. друк. арк. 25,20. Обл.-вид. арк. 32,76. Тираж 5366 прим. З ак аз № 2912.
ТОВ Видавництво «Ранок»,
вул. Кібальчича, 27, к. 135, Х арків, 61071.
Свідоцтво суб’єкта видавничої справи ДК № 5215 від 22.09.2016.
Адреса редакції: вул. Космічна, 21а, Х арків, 61145.
E-mail: office@ ranok.com .ua. Тел. (057)701-11-22, тел ./ф акс (057)719-58-67.
Н адруковано у друкарні ТОВ «Міцар + »,
пров. Сімферопольський, 6, Х арків, 61052.
Свідоцтво суб’єкта видавничої справи ДК № 3461 від 14.04.2009.
Тел. + 38(057) 764-83-04. E-mail: kt@ m itsar.com .ua

You might also like