
- •Інформаційні моделі і алгоритми Етапи розв'язування задач з використанням комп'ютера
- •Постановка задачі
- •Моделювання
- •Класифікація моделей
- •Математичні моделі
- •Алгоритми
- •Властивості алгоритмів
- •Блок-схеми алгоритмів
- •Базові структури алгоритмів
- •Типи виразів
- •Алгоритмічне мислення
- •Програми. Програмування
- •Запис програм
- •Програми-посередники
- •Мови програмування
- •Помилки в програмах
- •Основи взаємодії людини і комп'ютера
- •Проблеми розв'язування задач
Математичні моделі
Серед різних видів інформаційних моделей особливе місце займають математичні моделі. Опис найбільш суттєвих властивостей об'єктів і явищ, які досліджуються в задачі за допомогою математичних формул і рівнянь, називається побудовою математичної моделі цього об'єкта. Математична модель дає можливість звести розв'язування реальної задачі до вирішення математичної задачі. Саме цей факт лежить в основі застосування математики у пізнанні законів і їх практичного застосування.
Комп'ютерні технології дозволяють автоматизувати і прискорити обробку наукових експериментів в атомній і ядерній фізиці, керувати космічними апаратами при вивченні космосу тощо. Багато з цих процесів на стільки складні, що необхідні обчислення зайняли б мільйони років навіть при роботі великої кількості математиків.
З появою комп'ютерів математичні моделі широко використовуються не лише у фізиці та техніці, але й в інших галузях: в соціології, економіці, біології, географії, екології та інших.
Алгоритми
Наступний крок у розв'язанні задачі - це описування процесу обробки даних, тобто побудова алгоритму.
Алгоритм — це послідовність точних вказівок, зрозумілих виконавцю, здійснити скінчену послідовність дій, направлених на досягнення результату Термін «алгоритм» - транскрипція імені великого середньоазіатського математика Мухамеда аль-Хорезмі (латиною Algorithm). Ще в IX сторіччі він створив правила виконання чотирьох арифметичних дій. Досить довго поняття «алгоритм» вважалося математичним поняттям і використовувалося в математиці для, описування правил розв'язування задач.
Але поняття «алгоритм» набагато ширше. Кожна людина, навіть не помічаючи цього, щодня виконує задачі, які можна записати як певну послідовність дій, тобто у вигляді алгоритму. Наприклад, йдучи з дому, необхідно виконати цілий ланцюжок дій по забезпеченню безпеки квартири: вимкнути газ, вимкнути електроприлади, закрити кватирки, замкнути двері
Форми запису алгоритмів можуть бути різні:
словесна форма запису;
сукупність математичних формул;
словесно-формульна;
графічна форма (блок-схема).
Блок-схема має деякі переваги, оскільки наочно зображає дії і порядок виконання цих дій.
Виконавцем алгоритму може бути людина, робот, комп'ютер, система «людина-машина», верстат-автомат тощо, яких «навчено» виконувати вказівки алгоритму.
Якщо виконавцем є деякий автомат, то вираз «виконавця навчено виконувати вказівку» означає, що автомат може виконати задану вказівку автоматично, без зовнішнього втручання:
Сукупність вказівок, які можуть бути виконані виконавцем, називається системою вказівок виконавця.
Властивості алгоритмів
Алгоритм повинен мати такі властивості:
зрозумілість - виконавець повинен розуміти кожну з команд, що входять до алгоритму, тобто алгоритм повинен складатися лише з команд, які входять в систему команд виконавця;
визначеність - алгоритм не повинен містити вказівок, зміст яких може сприйматися неоднозначно; також неприпустимі ситуації, коли після виконання чергового розпорядження виконавцю не ясно, що потрібно робити далі;
дискретність - алгоритм розбивається на окремі дії, що легко виконуються даним виконавцем, виконувати дії наступного розпорядження можна лише, виконавши дії попереднього;
формальність - виконавець, сприймаючи і виконуючи вказівки алгоритму (навіть не розуміючи їх змісту), діючи за алгоритмом, може виконати поставлене завдання;
скінченність - виконання алгоритму завершується після виконання кінцевої кількості кроків;
результативність - виконання послідовності операцій алгоритму повинно приводити до цілком конкретного результату;
масовість - можливість застосування алгоритму для вирішення великої кількості однотипних завдань.