Властивості і типи алгоритмів

Алгоритм має відповідати певним вимогам, тобто мати властивості.

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

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

Залежно від послідовності дій розрізняють наступні типи алгоритмів:

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

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

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

У розрахунково-графічній роботі необхідно виконати розв'язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. При вирішенні кожної задачі необхідно розробити постановку задачі, блок-схему алгоритму, таблицю ідентифікаторів та текст програми мовою VBA. Складену програму необхідно протестувати, використавши контрольний приклад згідно завдання. Вихідні дані для вирішення кожної поставленої задачі потрібно брати згідно номеру варіанту із „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”. При цьому у відповідних розділах розрахунково-графічної роботи вирішуються наступні задачі:

1) Створення власної панелі інструментів користувача для розташування на ній кнопок виклику програм лінійної, розгалуженої та ітераційної циклічної структури.

2) Розробка алгоритму та програми лінійної структури для розрахунку значень заданих функцій згідно номера варіанта відповідного розділу „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”.

3) Розробка алгоритму та програми розгалуженої структури для розрахунку значень заданої функції в залежності від значень вхідних даних згідно номера варіанта відповідного розділу „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”.

4) Розробка алгоритму та програми табуляції функції однієї змінної з використанням ітераційного циклу при розрахунку значень заданої функції згідно номера варіанта відповідного розділу „Методичних вказівок до виконання лабораторних робіт на тему “Програмування мовою VBA” із дисципліни “Інформатика”.

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

За допомогою текстового редактора MS Word створити звіт про виконану розрахунково-графічну роботу, що повинен містити: титульну сторінку; бланк завдання; зміст; вступ, порядок вирішення кожної поставленої задачі, список використаних літературних джерел. Текст звіту оформлюється шрифтом типу Times New Roman розміром 14 кегель з полуторним інтервалом і повинен бути вирівняним по ширині з абзацним відступом 1,25 см. Всі сторінки повинні бути пронумеровані. Титульна сторінка і бланк завдання включаються до нумерації сторінок, але номери на них не проставляються. Звіт повинен бути оформлений у відповідності з вимогами

ДСТУ Б А. 2. 4 - 4 - 95. Основні вимоги до робочої документації - К.- 1997., і роздрукований на аркушах формату А4. До звіту додається електронна копія звіту підготовленого в текстовому редакторі MS Word із створеними у звіті макросами, що містять розроблені програми.

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

Тема8

Першим поколінням СКБД прийнято вважати ієрархічні й мережеві системи. Ці системи отримали широке поширення в 1970-х роках, а першою комерційною системою цього типу була система IMS компанії IBM.

У 1980-х роках ці системи були витіснені системами другого покоління — повсюдно використовуваними і донині реляційними СКБД. У цих системах використовувалися непроцедурні мови управління даними (SQL) і передбачався значний ступінь незалежності даних. Реляційні системи внесли значні удосконалення в управління даними:графічний користувацький інтерфейс (GUI), клієнт-серверні застосунки, розподілені бази даних, паралельний пошук даних та інтелектуальний аналіз даних.

Але вже до кінця 1980-х років існуюча тоді реляційна модель перестала задовольняти розробників в силу низки обмежень. Відповіддю на зростаючу складність програм баз даних стали два нових напрямки розвитку СКБД: об'єктно-орієнтовані СКБД і об'єктно-реляційні СКБД.

У 1991 був утворений консорціум ODMG (en:Object Data Management Group), основною метою якого стало вироблення промислового стандарту об'єктно-орієнтованих баз даних. Між 1993 та 2001 роками ODMG опублікувала п'ять ревізій своїх специфікацій. Остання версія стандарту має індекс 3.0, після чого група розпустилася. До кінця 1990-х існувало близько десяти компаній, що виробляли комерційні продукти, що позиціонуються на ринку як ООСКБД. Найбільш відомими системами даного класу стали Objectivity, Versant виробництва однойменних компаній, а також СКБД Jasmine, випущена компанією CA. Незважаючи на переваги, що дозволяють ефективніше вирішувати певний ряд завдань, об'єктно-орієнтовані системи так і не змогли завоювати значущу частку ринку СКБД, залишившись «нішевим» продуктом.

Постачальниками традиційних реляційних СКБД також була проведена значна робота з об'єднання об'єктно-орієнтованих і реляційних систем. Розробники постаралися розширити мову SQL, щоб включити в неї концепції об'єктно-орієнтованого підходу, зберігаючи переваги реляційної моделі (об'єктні розширення мови SQL були зафіксовані в стандарті SQL:1999). Основний принцип — це еволюційний розвиток можливостей СКБД без поломки попередніх підходів та зі збереженням наступності з системами попереднього покоління.

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

1. Крім традиційних послуг з управління даними, СКБД третього покоління повинні забезпечити підтримку розвиненіших структур об'єктів і правил. Розвинутіша структура об'єктів характеризує засоби, необхідні для зберігання і маніпулювання нетрадиційними елементами даних (тексти, просторові дані, мультимедіа).

2. СКБД третього покоління повинні включити в себе СКБД другого покоління. Системи другого покоління внесли вирішальний вклад у двох областях — непроцедурний доступ за допомогою мови запитів SQL і незалежність даних. Ці досягнення обов'язково повинні враховуватися в системах третього покоління.

3. СКБД третього покоління повинні бути відкриті для інших підсистем. Це включає оснащення різноманітними інструментами підтримки прийняття рішень, доступом з багатьох мов програмування, інтерфейсами до існуючих популярних систем і бізнес-застосунків, можливістю запуску програм з бази даних на іншій машині і розподілені СКБД. Весь набір інструментів і СКБД має ефективно функціонувати на різноманітних апаратних платформах з різними операційними системами. Крім того, СКБД, що розраховує на широку сферу застосування, повинна бути оснащена мовою четвертого покоління (4GL).

У середині 1990 років було лише кілька дослідних прототипів СКБД, які поєднали найкращі риси реляційних і об'єктно-орієнтованих СКБД. Першим комерційним продуктом, якому були властиві об'єктно-реляційні риси, став Universal Server компанії Informix (згодом була поглинена IBM). В даний час більшість цих ідей вже втілено в реальних комерційних рішеннях, в тому числі і в продуктах основних постачальників СКБД (Oracle Database і IBM DB2).

Розвиток індустрії систем керування базами даних базується на значних фундаментальних наукових дослідженнях. Найчастіше, між самими дослідженнями та їхньою конкретною реалізацією в прикладних рішеннях минають роки, а іноді й десятиліття. Роботу в області управління даними проводять як університетські дослідницькі групи (MIT, Berkeley), так і центри розробок основних постачальників СКБД (Oracle, IBM, Microsoft). Інвестування в управління даними — це довгострокове, і разом з тим, вигідне вкладення коштів. В даний час дослідники мають у своєму розпорядженні засоби, що дозволяють ефективно реалізувати найскладніші запити, що маніпулюютьтерабайтами й петабайтами різних даних.

Основними тенденціями, які дали привід для проведення різних масштабних досліджень в області баз даних стали:

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

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

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

4. Активний розвиток засобів комунікації та «всесвітньої павутини» World Wide Web. WWW стає єдиним інформаційним середовищем, що пронизує весь світ і об'єднує величезне число користувачів та електронних пристроїв.

5. Поява нових важливих областей застосування СКБД. У першу черг

Тема 10

Наши рекомендации