Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Опорний_конспект.TSPiIS.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
554.5 Кб
Скачать

КУПЕРШТЕЙН Л.М.

ТЕХНОЛОГІЯ СТВОРЕННЯ ПРОГРАМНИХ ТА ІНТЕЛЕКТУАЛЬНИХ СИСТЕМ

КОНСПЕКТ ЛЕКЦІЙ

(для студентів спеціальності

Економічна кібернетика”

денної та заочної форми навчання)

ВІННИЦЯ – 2010

ВІННИЦЬКИЙ ФІНАНАСОВО – ЕКОНОМІЧНИЙ УНІВЕРСИТЕТ

Кафедра економічної кібернетики

КУПЕРШТЕЙН Л.М.

ТЕХНОЛОГІЯ СТВОРЕННЯ ПРОГРАМНИХ ТА ІНТЕЛЕКТУАЛЬНИХ СИСТЕМ

КОНСПЕКТ ЛЕКЦІЙ

(для студентів спеціальності

Економічна кібернетика”

денної та заочної форми навчання)

ВІННИЦЯ – 2010

Вступ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1

Програмне забезпечення системного оброблення інформації . . . . . . . .

2

Засоби створення програмних додатків . . . . . . . . . . . . . . . . . . . . . . . . . .

3

Структурована мова запитів SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

Основні поняття інтегрованого середовища розробки програмних систем С++Builder 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

Типи даних C++ Builder 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

Вирази та операції C++ Builder 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

Цикли та розгалуження в C++ Builder 6 . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Масиви, структури, списки, стеки, черги, об’єднання в C++ Builder 6 .

9

Вступ до проблеми штучного інтелекту. . . . . . . . . . . . . . . . . . . . . . . . . .

10

Експертні системи як різновид систем штучного інтелекту. . . . . . . . . .

11

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

12

Технологія проектування експертних систем на основі продукційної моделі . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

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

14

Поняття семантичної мережі та її використання в експертних системах

15

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

16

Характеристика програмних засобів створення експертних систем . . .

17

Базові концепції нейронних мереж . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ВСТУП

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

Метою дисципліни є формування теоретичних знань і практичних навичок створення програмних систем засобами багатокористувацьких СУБД та експертних систем для розв'язання економічних задач.

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

Студент повинен знати:

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

  • основні методи створення автоматизованих інформаційних систем;

  • основи мови запитів реляційних баз даних.

Студент повинен вміти:

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

  • створювати системи керування базами даних розвязання економічних задач;

  • будувати автоматизовану інформаційну систему;

  • застосовуючи SQL-запити динамічно представляти інформацію реляційної бази даних;

Студент повинен мати навички;

  • використання C++Builder 6 для створення автоматизованих інформаційних систем;

  • використання програмних продуктів при розв'язанні економічних задач.

Тема 1. Програмне забезпечення системного оброблення інформації План

  1. Системне програмне забезпечення.

  2. Розвиток мов програмування.

  3. Операційна система.

1 Системне програмне забезпечення

Пристрої та електронні схеми ЕОМ називають апаратною частиною (від англ. hardware – металевий виріб). Набір програм, складених для даної ЕОМ називають її програмним забезпеченням (від англ. software – м'який виріб).

Апаратна частина EOM і програмне забезпечення утворюють обчислювальну систему або автоматизовану інформаційну систему.

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

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

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

До прикладного програмного забезпечення загального призначення належать:

  • текстові редактори та текстові процесори;

  • програми опрацювання електронних таблиць (табличні редактори);

  • програми, призначені для графічного подання даних (ділова графіка);

  • системи управління даними (бази даних);

  • системи підтримки комунікацій.

Системне програмне забезпечення – набір обслуговуючих програм, призначених для трансляції і завантаження прикладних програм користувача.

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

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

До інструментальних засобів належать:

  • макроасемблери (машинно–орієнтовні мови);

  • транслятори з машинно–незалежних мов програмування високого рівня (BASІC, PASCAL, FORTRAN, C та ін.) на машинно–орієнтовні мови (від англ. translatіon – переклад, трансляція);

  • засоби редагування, компонування і завантаження програм;

  • налагоджувальні програми.

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

2 Розвиток мов програмування

Мова – це спосіб запису алгоритмів, призначений для виконання на ЕОМ.

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

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

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

Мова програмування – це сукупність набору символів (алфавіт) системи, правил утворення (синтаксис) і трактування символів (семантика) для задання алгоритмів з використанням символів природної мови.

За характером семантики (тобто моделі обчислювального процесу) в мовах програмування можна виділити два основних способи – наказовий (імперативний, поданий операторами, командами, наказами) та дійсний (декларативний, описовий). В одних мовах програмування переважає опис дій, алгоритму, тобто того, як отримати результат. Такі мови називаються імперативними, процедурними, алгоритмічними. Наприклад, Фортран, Бейсик, Алгол, ПЛ/1, Паскаль. Інші мови передбачають не стільки побудову (обчислення) результату, скільки опис (декларацію) його властивостей, тобто яким є шуканий об’єкт; на основі цієї інформації системи програмування повинна побудувати алгоритм. Такі мови називаються декларативними, непроцедурними, проблемно–орієнтованими, мовами відношень, специфікацій, мовами штчного інтелекту, автоматичного програмування, синтезу алгоритмів (Лісп, Рефал, Пролог).

Фортран – найстаріша (перша версія створена в 1954–55рр) мова високого рівня. Назва походить від початкових складів англійських слів – FORmula TRANslator (перекладач формул). Ця мова розроблена співробітниками фірми ІBM під керівництвом Джона Бекуса. Призначена для програмування чисельних розрахунків на ЕОМ. В Фортрані погано розвинуті алгоритмічні конструкції і структури даних (немає, наприклад, літерних величин), багато умовностей і обмежень.

Алгол – з’явилась в 1960 році. Назва походить від англійських слів ALGOrіthmіc Language (алгоритмічна мова). Мова орієнтована на наукове застосування. В неї було введено багато нових понять, наприклад, поняття блочної структури.

Також при підтримці фірми ІBM з’явилася мова Кобол (Cobol – скорочення від англійських слів Common Busіness Orіented Language – загальноприйнята ділова орієнтована мова). Вона орієнтована на розв’язування економічних задач, а точніше – на обробку інформації.

ПЛ/1 (PL/1) – створено на початку 60–х років. Абревіатура походить від англійських слів Programmіng Language. Це універсальна програмно–орієнтована мова, створена фірмою ІBM. В неї включено практично всі можливості найбільш популярних в ті часи мов програмування (Алгол, Фортран, Кобол) і багато що понад того. "Мінімальна" ПЛ/1, включаюча лише необхідні засоби, досить проста, зручна в роботі і легка у вивченні

Рапіра – створена спеціально для навчання школярів, має багато переваг. На жаль, ця мова не отримала широкого розповсюдження, тому працювати з нею можуть лише школи, що мають ЕОМ "Агат".

Рапіра розроблена Г.А.Звенігородським і описана ним у серії статтей в журналі "Квант" (1980 р.) і в книзі "Первые уроки программирования".

Бейсик (Basіc) – мова програмування, розроблена в 1965 році професорами Дартмутського коледжу (США) Т.Куртцем і Дж.Кемені для навчання студентів, незнайомих з обчислювальною технікою. Назва мови походить від абревіатури англійських слів Begіnner's All–purpose Symbolіc Іnstructіon Code, тобто універсальний символічний командний код для початківців. Це засіб забезпечення діалогу людина–ЕОМ в режимі розподілу часу.

Фокал – гірше за Бейсік (жарт).

СІ – це мова професіоналів, мова системного програмування. Створена на початку 70–х років як інструментальний засіб для реалізації операційної системи Unіx на ЕОМ фірми DEC. В мову СІ включено засоби програмування майже на рівні асемблера. Її переваги – лаконічність, багатий набір операцій, струнка система використання вказівників – обертаються недоліками при спробі навчати їй школярів.

Паскаль (Pascal) – популярна мова програмування, розроблена в 1969–70 рр. Ніклаусом Віртом, професором Вищої технічної школи в м.Цюриху. Названа на честь видатного французького математика, першого конструктора пристрою, який тепер відносять до класу цифрових обчислювальних машин. Мова розроблялася, передусім, з метою навчання програмуванню. В мові Паскаль знайшли відображення концепції структурного програмування, основні ідеї якого були висловлені Е.Дейкстрою.

Лісп (LІSP) – мова функціонального програмування, розроблена в 1961році американським вченим Дж. Маккарті. Родоначальник функціональних мов (в їх основу покладено поняття функції). Широко використовується у задачах штучного інтелекту. Назва мови походить від англійського словосполучення LІSt Processіng – обробка списків. Одна з найважливіших властивостей мови – простота роботи зі списками.

В 1980 році з’явилася мова Ада. Названа вона на честь Ади Лавлейс – першої програмістки (жінки–програміста) в історії обчислювальної техніки, дочки англійського поета лорда Джорджа Гордона Байрона. Мова була створена у Франції за замовленням американського Міністерства оборони як універсальна мова програмування.

Мова Пролог (Prolog – PROgrammatіon en LOGіque /PROgrammіng іn LOGіc/ – логічне програмування) розроблена А.Калмерауером (Колмероє) та іншими вченими університету Люмміні у Франції в 1973 році. Це мова для задач, пов’язаних зі штучним інтелектом (як і Лісп). Лише Лісп оперує списками (ланцюговими послідовностями елементів), а Пролог – деревами (логічними розгалуженнями). Мова базується на логічному численні. Вона створена спеціально для роботи з базами знань.

Існує дуже багато спеціалізованих мов, що дозволяють ефективно розв’язувати задачі в деяких галузях: моделювання (мови Сімула, Сімкрит і GPSS), управліня апаратурою (Форт), для написання баз даних (Кодасіл), для навчання програмуванню (Лого, Робік, Алгоритмічна мова, А.П.Єршова) та ін.

APL (Applіed Programmіng Language) – мова створення дуже компактних програм за допомогою надпотужних операцій і операторів.

Рефал – алгоритмічна мова рекурсивних функцій. Створена в СРСР наприкінці 60–х років В.Турчиним. Назва походить від словосполучення РЕкурсивні Функціональні АЛгоритми. Мова базується на нормальних алгоритмах Маркова.

Сімула – одна з найцікавіших мов програмування задач імітаційного моделювання. Створена в Норвегії.

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

Лого – мова створена Сеймуром Пейпертом з метою навчати дітей молодшого віку основам алгоритмічного мислення і програмування. В Лого використовується концепція прямого керування об’єктом, що рухається по екрану. Назва "Лого" походить від грецького слова "логос", яке значить "слово", "думка". Мова має великі графічні можливості, чому сприяє маленький трикутник на екрані, що умовно називається "черепашкою", рухом якого можна керувати.

1.3 Операційна система (ОС) ЕОМ, комплекс програм, що постійно знаходяться в пам'яті ЕОМ; організує управління пристроями комп'ютера та його взаємодію з користувачем.

Основні функції ОС:

  • забезпечення доступу користувача до ресурсів обчислювальної системи;

  • організація взаємодії програмного забезпечення та апаратної частини комп'ютера;

  • розподіл ресурсів обчислювальної системи між користувачами (програмами);

  • виявлення помилок в роботі комп'ютера чи програмного забезпечення та видача відповідних діагностичних повідомлень;

  • збереження та відновлення інформації у випадку аварії або помилки користувача (оператора чи програми).

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

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