- •Куперштейн л.М.
- •Та інтелектуальних систем
- •Рецензент: к.Т.Н., доцент Ревенок в.І.
- •Тема 1. Програмне забезпечення системного оброблення інформації
- •1.2 Системне програмування
- •1.3 Поняття мови програмування та їх історичний розвиток
- •1.4 Етапи підготовки програми
- •1.5. Поняття операційної системи
- •2.1. Класифікація засобів розробки додатків
- •Тема 2. Засоби створення програмних додатків
- •2.2. Класифікація додатків, що використовують бази даних
- •Тема 3: Структурована мова запитів sql
- •3.1. Компоненти скбд
- •3.2. Основні поняття sql
- •3.3. Типи даних sql
- •Символьні дані
- •Точні числа
- •Закруглені числа
- •Дата і час
- •3.4 Базові команди sql
- •Розділ group by
- •Розділ having
- •4.2. Перенесення додатку на інший комп'ютер.
- •5.3. Сталі та змінні.
- •5.4.Типи даних
- •5.5. Представлення значень у комп’ютері.
- •6.1.Арифметичні операції над даними
- •6.3.Команда присвоєння, суміщена з арифметичною операцією. Математичні функції
- •7.1. Умовні оператори Оператор if
- •7.3. Оператори вибору Оператор switch
- •Оператор break
- •Оператор continue
- •Оператор повернення
- •Оператор goto
- •Помічений оператор
- •Порожній оператор
- •Тема 9. Вступ до проблеми штучного інтелекту
- •9.1. Поняття та проблеми штучного інтелекту
- •Проблеми штучного інтелекту
- •9.2. Представлення знань
- •9.3. Рішення задач
- •9.4. Експертні системи
- •9.5. Засоби спілкування з еом на природній мові. Навчання.
- •9.6. Когнітивне моделювання. Обробка візуальної інформації і робототехніка
- •Тема 10. Експертні системи як різновид систем штучного інтелекту
- •10.1. Сучасний рівень розвитку експертних систем. Критерії вибору задач, що реалізуються методами і засобами штучного інтелекту
- •10.2. Ведення в експертні системи
- •10.3. Класифікація експертних систем
- •10.4. Інструментальні засоби для побудови експертних систем
- •Тема 11. Методологія проектування експертних систем
- •11.1. Етапи проектування експертних систем
- •Тема 12. Технологія проектування експертних систем на основі продукційної моделі
- •12.1. Продукційна модель експертних систем
- •Представлення знань.
- •12.2. Особливості організації логічного висновку
- •Запит користувача
- •12.3. Організація пошуку рішень у простих та складних ес
- •12.4. Приклади використання пм
- •Тема 13. Технологія проектування експертних систем на основі логічної моделі подання знань
- •13.1. Поняття логічної моделі знань
- •13.2. Характеристика мови предикатів першого порядку. Особливості подання знань
- •13.3. Апарат логічного висновку
- •13.4. Особливості машинної реалізації мови предикатів першого порядку
- •Тема 14. Поняття семантичної мережі та її використання в експертних системах.
- •14.1. Поняття та компоненти семантичних мереж
- •14.2. Класифікація семантичних мереж
- •14.3. Побудова та використання семантичних мереж
- •Тема 15. Технологія проектування експертних систем на основі фреймової моделі подання знань
- •Структура фрейма
- •15.2.Базові елементи фреймів
- •15.3. Загальний вигляд фреймової моделі.
- •Тема 16. Характеристика програмних засобів створення експертних систем
- •16.1. Експертна система «експерт»
- •16.2. Практична робота з системою «експерт». Робота користувача по створенню власної бази знань
- •16.3. Представлення знань і формування бази знань в системі internist
- •Тема 17: Базові концепції нейронних мереж
- •17.1. Історія нейронних мереж
- •17.2. Нейрон. Штучний нейрон. Принцип роботи
- •17.3. Активаційна функція та її різновиди
- •Лінійна функція активації з насиченням Лінійна передавальна функція
- •17.4. Обґрунтованість застосування нейромереж
- •Машина фон Неймана у порівнянні з біологічною нейронною системою
1.2 Системне програмування
Дамо визначення системної та прикладної програми згідно з діючим державним стандартом.
Системна програма - це програма, яка призначена для підтримки працездатності СОІ або підвищення ефективності її використання.
Прикладна програма - це програма, яка призначена для розв'язання задачі або класу задач у певній галузі застосування СОІ.
Відповідно до термінології, системне програмування - це процес розробки системних програм (у тому числі керуючих та обслуговуючих).
З іншого боку, система - єдине ціле, що складається з множини компонентів та множини зв'язків між ними. Тоді системне програмування - це розробка програм складної структури.
Ці два визначення не суперечать одне одному, оскільки розробка програм складної структури проводиться саме для забезпечення працездатності чи підвищення ефективності СОІ.
Зафіксований у державному стандарті поділ програмного забезпечення на системне та прикладне є деякою мірою застарілим. Сьогоднішній поділ передбачає щонайменше три градації програмного забезпечення:
системне;
проміжне;
прикладне.
Проміжне програмне забезпечення (middleware) визначається як сукупність програм, що виконують керування вторинними (такими, що сконструйовані самим програмним забезпеченням) ресурсами, орієнтованими на розв'язання певного (широкого) класу задач. До такого програмного забезпечення відносяться менеджери транзакцій, сервери баз даних (БД), сервери комунікацій та інші програмні сервери. З точки зору інструментальних засобів розробки проміжне програмне забезпечення ближче до прикладного, оскільки не працює прямо з первинними ресурсами, а використовує для цього сервісні програми. З точки зору алгоритмів і технологій розробки проміжне програмне забезпечення ближче до системного програмного забезпечення, оскільки завжди є складним програмним виробом багаторазового та багатоцільового використання і в ньому застосовуються ті ж або схожі алгоритми, що і в системному програмному забезпеченні.
Сучасні тенденції розвитку програмного забезпечення полягають у зниженні обсягу як системного, так і прикладного програмування. Основна частина роботи програмістів виконується у проміжному програмному забезпеченні. Зниження обсягу системного програмування визначене сучасними концепціями операційних систем, об'єктно-орієнтованою архітектурою та архітектурою мікроядра, відповідно до яких більша частина функцій системи виноситься в утиліти, які можна віднести і до проміжного програмного забезпечення. Зниження обсягу прикладного програмування обумовлене тим, що сучасні продукти проміжного програмного забезпечення пропонують усе більший набір інструментальних засобів та шаблонів для розв'язання задач свого класу.
Значна частина системного і практично все прикладне програмне забезпечення пишеться мовами високого рівня, що забезпечує скорочення витрат на їх розробку або модифікацію та здатність до перенесення.
Системне програмне забезпечення підрозділяється на системні керуючі програми та системні обслуговуючі програми.
Дамо визначення системної керуючої програми та системної обслуговуючої програми згідно з діючим державним стандартом [5].
Керуюча програма - це системна програма, що реалізує набір функцій керування, який включає у себе керування ресурсами та взаємодію з оточуючим середовищем СОІ, відновлення роботи системи після виявлення несправностей у технічних засобах.
Програма обслуговування (утиліта) - призначена для надання послуг загального характеру користувачам та обслуговуючому персоналу СОІ .
Керуюча програма сумісно з набором необхідних для експлуатації утиліт складають операційну систему.
Окрім утиліт, які входять до складу операційної системи, можуть бути і інші утиліти (того ж або іншого виробника), що виконують додаткове (опційне) обслуговування. Як правило, це утиліти, які забезпечують розробку програмного забезпечення для операційної системи.
Дамо визначення системи програмування згідно з діючим державним стандартом [5].
Система програмування - це система, що складається з мови програмування, компілятора чи інтерпретатора програм, поданих цією мовою, відповідної документації, а також допоміжних засобів для підготовки програм до форми, придатної для виконання.
В свою чергу системне програмне забезпечення поділяється на такі частини: інструментальні засоби (система програмування), операційні системи та засоби контролю і діагностики несправностей.
Інструментальні засоби (система програмування) с засобами для розробки як прикладного, так і системного програмного забезпечення.
До інструментальних засобів належать:
макроасемблери (машинно–орієнтовні мови);
транслятори з машинно–незалежних мов програмування високого рівня (BASІC, PASCAL, FORTRAN, C та ін.) на машинно–орієнтовні мови (від англ. translatіon – переклад, трансляція);
засоби редагування, компонування і завантаження програм;
налагоджувальні програми.
Ці інструментальні програмні засоби необхідні для розробки інших програм. Саме тому вони й називаються інструментальними засобами.
