- •Куперштейн л.М.
- •Та інтелектуальних систем
- •Рецензент: к.Т.Н., доцент Ревенок в.І.
- •Тема 1. Програмне забезпечення системного оброблення інформації
- •1.2 Системне програмування
- •1.3 Поняття мови програмування та їх історичний розвиток
- •1.4 Етапи підготовки програми
- •1.5. Поняття операційної системи
- •Тема 2. Засоби створення програмних додатків
- •2.1. Класифікація засобів розробки додатків
- •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.3 Поняття мови програмування та їх історичний розвиток
Мова – це спосіб запису алгоритмів, призначений для виконання на ЕОМ.
Мови, призначені для фіксації алгоритмів у вигляді деяких повідомлень чи послідовностей повідомлень, і передавання таких повідомлень споживачеві інформації (виконавцеві алгоритму), називаються алгоритмічними мовами. Отже, сукупність знаків і правил, за допомогою яких описуються алгоритми, утворюють алгоритмічну мову.
При конструюванні алгоритмічної мови виходять з деякого набору операцій, які вважаються елементарними і типовими для об’єктів певного вигляду. Змістовну частину алгоритмічної мовою називають семантикою. Сукупність законів форми опису алгоритмів утворює синтаксис алгоритмічної мови.
Алгоритмічні мови, призначені для фіксації алгоритмів, розрахованих на виконання електронними обчислювальними машинами, називають мовами програмування.
Мова програмування – це сукупність набору символів (алфавіт) системи, правил утворення (синтаксис) і трактування символів (семантика) для задання алгоритмів з використанням символів природної мови.
За характером семантики (тобто моделі обчислювального процесу) в мовах програмування можна виділити два основних способи – наказовий (імперативний, поданий операторами, командами, наказами) та дійсний (декларативний, описовий). В одних мовах програмування переважає опис дій, алгоритму, тобто того, як отримати результат. Такі мови називаються імперативними, процедурними, алгоритмічними. Наприклад, Фортран, Бейсик, Алгол, ПЛ/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 має кращі засоби для розробки великих програмних комплексів і дозволяє більш ефективно використовувати особливості апаратури.
Лого – мова створена Сеймуром Пейпертом з метою навчати дітей молодшого віку основам алгоритмічного мислення і програмування. В Лого використовується концепція прямого керування об’єктом, що рухається по екрану. Назва "Лого" походить від грецького слова "логос", яке значить "слово", "думка". Мова має великі графічні можливості, чому сприяє маленький трикутник на екрані, що умовно називається "черепашкою", рухом якого можна керувати.
