
- •Комп’ютерна логіка: основні поняття та застосування
- •1.1. Основні поняття комп’ютерної логіки та теорії автоматів
- •1.2. Застосування теорії цифрових автоматів
- •1.2.1. Виробництво сучасних цифрових систем
- •1.2.2. Програмування
- •1.2.3. Побудова трансляторів
- •Тип 0 – необмежені граматики (загального вигляду, з фразовою структурою). Практичного застосування в міру своєї складності такі граматики не мають.
- •Тип 2 – контекстно-вільні (кв) граматики. Кв-граматики широко використовуються для описування синтаксису комп’ютерних мов.
- •1.2.4. Реалізація візуалізації алгоритмів дискретної математики та програмування
- •1.2.5. Штучний інтелект
- •1.2.6. Створення прикладного програмного забезпечення для мобільних пристроїв та мікроконтролерів
- •1.2.7. Побудова моделей документообігу на основі скінченно-автоматної моделі теорії автоматів
- •1.2.8. Пошук ланцюжків у тексті
- •2. Інформаційні основи комп’ютерів
- •2.1. Комп’ютер як інформаційна система (система відбору, опрацювання та збереження інформації)
- •2.2. Поняття інформації, даних та сигналу
- •2.3. Міри інформації
- •2.3.1. Структурна міра інформації
- •2.3.2. Статистична міра інформації
- •2.3.3. Семантична міра інформації
- •Семантичні міри інформації
- •Змістовність інформації
- •Доцільніть інформації
- •2.4. Основи кодування інформації
- •2.5. Представлення інформації в комп’ютерах
- •2.5.1. Представлення символьної інформації в комп’ютерах
- •2.5.2. Представлення сигналів в комп’ютері. Цифровий сигнал.
- •2.3.1. Дискретизація
- •2.3.2. Квантування
- •2.4. Технічні засоби представлення інформації в цифровій формі
- •2.4.1. Аналого-цифрові перетворювачі
- •2.4.2. Цифро-аналогові перетворювачі
- •3. Подання інформації в комп’ютерних системах. Системи числення
- •3.1. Основи систем числення
- •3.2. Позиційні системи числення
- •3.3. Переведення чисел з однієї системи числення в іншу
- •3.3.1. Переведення цілих чисел з однієї позиційної системи числення в іншу
- •3.3.2. Переведення правильних дробів
- •3.3.3. Переведення неправильних дробів
- •3.4. Двійкова система числення
- •3.5. Двійкова система числення з цифрами 1,
- •3.6. Шістнадцяткова та вісімкова системи числення
- •3.7. Вибір системи числення для подання даних у цифрових комп’ютерних системах
- •3.8. Форми подання чисел у цифрових автоматах
- •3.8.1. Форма подання двійкових чисел із фіксованою комою
- •3.8.2. Подання від’ємних чисел у формі з фіксованою комою
- •3.8.3. Форма подання чисел з плаваючою комою
- •3.9. Похибки подання чисел
- •4. Арифметичні дії з двійковими та десятковими числами в цифрових комп’ютерних системах
- •4.1. Виконання операцій над двійковими числами
- •4.1.1. Формальні правила двійкової арифметики
- •4.1.2. Додавання двійкових чисел
- •4.1.3. Множення двійкових чисел
- •4.1.4. Ділення двійкових чисел
- •4.2. Виконання арифметичних операцій над десятковими числами
- •4.2.1. Подання десяткових чисел в д-кодах
- •4.2.2. Формальні правила порозрядного додавання десяткових чисел у д-кодах
- •4.2.3. Подання від’ємних чисел у д-кодах
- •4.2.4. Множення чисел у д-кодах
- •4.2.5. Ділення чисел у д-кодах
- •4.2.6. Переведення двійкових чисел у д-коди та навпаки
1.2.4. Реалізація візуалізації алгоритмів дискретної математики та програмування
При вивченні алгоритмів опрацювання інформації, що подаються різними структурами даних, важливу роль відіграє візуалізація алгоритмів, що дає змогу в наочній формі динамічно відображати деталі їх роботи.
Візуалізація – це програма, в процесі роботи якої на екрані комп’ютера динамічно демонструється застосування алгоритму до вибраного набору даних. Візуалізація дає змогу вивчати роботу алгоритмів у покроковому режимі, аналогічному режиму трасування програм.
Для деяких алгоритмів динамічний варіант демонстрації його роботи є природнішим, ніж набір статичних ілюстрацій.
При вивченні більшості алгоритмів разом з режимом "крок вперед" дуже корисний також і режим "крок назад", що дає змогу швидше та повно зрозуміти алгоритм. Наприклад, в алгоритмах пошуку з поверненням буває необхідно зробити кілька кроків назад для того, щоб зрозуміти, чому та або інша гілка пошуку відкинута.
Приклади візуалізації: обхід двійкового дерева, алгоритми теорії розкладів, сортування тощо. Тобто, складні алгоритми з великою кількістю переходів, умов та галужень можна подати компактніше та зрозуміло у вигляді скінченного автомата з передбачуваною та наочною поведінкою.
1.2.5. Штучний інтелект
Штучні нейронні мережі (ШНМ) – математичні моделі, а також їх програмні або апаратні реалізації, побудовані за принципом організації та функціонування біологічних нейронних мереж – мереж нервових клітин живого організму. Це поняття виникло при вивченні процесів, що протікають у мозку, та при спробі змоделювати ці процеси.
Нейронні мережі – потужний метод моделювання, що дає змогу відтворювати надзвичайно складні залежності. ШНМ піддаються налаштуванню та навчанню. Використання автоматів при створенні штучних нейронних мереж дає змогу виключити появу непередбачених станів у їх роботі. Нейронні технології особливо інтенсивно застосовуються в експертних системах прогнозування родовищ та фінансовій справі при оцінюванні інвестицій.
1.2.6. Створення прикладного програмного забезпечення для мобільних пристроїв та мікроконтролерів
При побудові серверних програмних забезпечень, що відповідають на запити, велику роль відіграє "відсутність стану" – немає потреби зберігати стани між двома послідовними запитами.
При побудові вдалого інтерактивного програмного забезпечення, керованого подіями, багато що залежить від того, чи продумана модель управління станами. Скінченний автомат – дуже зручна концепція, яку доцільно використати для структуризації програмних продуктів.
Оскільки програмні забезпечення для мобільних систем повинні використати простір екрана та системні ресурси ефективно, скінченні автомати є особливо корисними при розробленні програмного забезпечення для таких застосувань.
Програма є сукупністю скінченних автоматів, що взаємодіють один з одним та із "зовнішнім світом". Діаграма переходів скінченного автомата описує переходи між екранними формами, дуги переходів зі стану в стан описують дії користувача. З кожною з конструйованих форм повинен зв’язуватися скінченний автомат, що керує візуальною поведінкою форми. Якщо в самій формі міститься кілька сторінок, наприклад, діалогові вікна з вкладками, то передбачається для кожної з підсторінок власний скінченний автомат.
Скінченні автомати значно розширюють можливості керування виконанням фонових завдань. Їх використання робить можливим надання фоновими потоками інформації про стан виконання, а також поводження інших потоків із запитами до фонового потоку на виконання певних дій, наприклад, із запитом на припинення виконання фонової роботи. При цьому в наочній графічній формі можуть бути виражені як зв’язки між автоматами, так і їхня внутрішня структура. Головна перевага – можливість повторного використання коду, швидка модифікація, наочність, що важливо у разі програмного забезпечення для мобільних пристроїв, які вимагають економного витрачання екранного простору, пам’яті, обчислювальної потужності та інших ресурсів.