
- •Інформаційні моделі і алгоритми Етапи розв'язування задач з використанням комп'ютера
- •Постановка задачі
- •Моделювання
- •Класифікація моделей
- •Математичні моделі
- •Алгоритми
- •Властивості алгоритмів
- •Блок-схеми алгоритмів
- •Базові структури алгоритмів
- •Типи виразів
- •Алгоритмічне мислення
- •Програми. Програмування
- •Запис програм
- •Програми-посередники
- •Мови програмування
- •Помилки в програмах
- •Основи взаємодії людини і комп'ютера
- •Проблеми розв'язування задач
Помилки в програмах
Помилки в програмах допускаються вже на етапі запису алгоритму (наприклад, не враховано, що лютий місяць не завжди має 28 днів). Помилки допускає програміст як логічні так і синтаксичні (наприклад, невірно записаний розділовий знак). Тому після написання програми її обов'язково треба налагодити.
Розрізняють помилки даних і помилки програми. Користувач при введенні даних досить часто помиляється і програма повинна вміти ці помилки виявляти. Але є й такі помилки, які найкраща
програма не може виявити. Наприклад, якщо дата народження 1982 рік, а користувач увів 1882, то програма попередить користувача, що введено «сумнівний» рік народження. Але якщо користувач увів 1983 рік, то програма не зафіксує це як помилку.
Користувачі і програмісти помиляються частіше, ніж машина. У комп'ютера можуть бути технічні поломки, як у будь-якого технічного апарата, але справний комп'ютер не помиляється.
Основи взаємодії людини і комп'ютера
Основою взаємодії людини і комп'ютера є два принципи:
принцип угод;
принцип мовчазних угод.
Угода визначає набір функцій, які будуть виконуватися конкретною програмою, і варіанти виконання кожної функції. Мовчазна згода визначає певний варіант виконання деякої функції, якщо користувач не визначив іншого. Наприклад, збереження документа Word з мовчазної згоди - файл буде мати ім'я, складене із слів, з яких починається документ і запишеться у папку «Мои документы»; збереження за угодою - користувач має змогу надати будь-яке ім'я файлу, але не може використовувати ряд символів (* : / \ " < > |) та літер (і, ї, є, г) і більше ніж 255 літер і символів та зберегти в будь-яку папку, крім «Мой компьютер».
Комп'ютер приймає будь-які угоди, запропоновані їй програмістом (в межах своїх можливостей), але і порушення угод не допускає. Для зміни угод треба змінювати програму. Користувачеві треба погоджуватися з тим, що програма працює не так, як він би бажав. А для задоволення своїх потреб спробувати знайти інший програмний засіб. Наприклад, за допомогою текстового редактора Блокнот не можна розмістити в тексті таблицю або малюнок, тому що це не передбачено угодами цього текстового редактора.
Програма - це на сьогодні такий же промисловий продукт, як телевізор чи праска. Кожному зрозуміло, що чорно-білий телевізор не може приймати сигнали в кольорі, або те, що за допомогою праски не можна фотографувати. Таке відношення повинно бути і до окремої програми - можна виконати лише ті функції, які передбачені в угодах цієї програми.
Проблеми розв'язування задач
Існують задачі, для розв'язування яких неможливо використати комп'ютер, а саме через такі проблеми:
проблема відсутності алгоритму;
проблема вибору;
проблема доцільності.
Трапляються задачі, для яких не існує алгоритмів розв'язування. Отже, такі задачі не можуть розв'язуватися за допомогою комп'ютера. І таких задач порівняно з задачами, для яких існують алгоритми розв'язування, досить багато.
З проблемою вибору людина зустрічається продовж всього життя. В дитинстві, наприклад, доводиться вибирати як витратити одержані від мами кошти - купити морозиво чи шоколад або сходити на атракціон. Підлітку доводиться вирішувати проблему: купити відеомагнітофон чи мобільний телефон, а якщо мобільний телефон, то який — Samsung чи Motorola. Дорослі вирішують ще більше проблем: коли і як робити ремонт будинку, де відпочити, яку машину придбати тощо. Складні задачі вибору виникають в науці, виробництві, техніці, торгівлі, - наприклад, як розрізати великий лист фанери для виготовлення ящиків, як оптимізувати мережу магазинів тощо.
При розв'язуванні задач вибору треба чітко сформулювати варіанти, обмеження і мету вибору, тобто критерії оптимальності вибору. Для розв'язування багатьох задач вибору існують чіткі математичні методи. В таких задачах критерієм оптимальності можуть бути мінімум або максимум цільової функції, яка набуває різні значення залежно від варіантів вибору при заданих обмеженнях. Наприклад, мінімум відходів при розрізанні фанери або максимум торгового прибутку при розташуванні мережі магазинів. Але як виміряти «максимум задоволення» від вибору між морозивом, шоколадом і атракціоном або «максимум щастя» при виборі нареченої (нареченого) із декількох варіантів?
Комп'ютер здатен перебрати мільйони варіантів, вибрати оптимальний по складним критеріям, але він не може приймати рішення з урахуванням смаків, уподобань, моральних і етичних аспектів задачі, соціальних і політичних наслідків свого вибору.
Комп'ютер - не самоціль, і його використання потребує певних затрат. Людина завжди порівнює користь від застосування комп'ютера і вартість його послуг. Наприклад, невигідно використовувати машину для ведення телефонного довідника, в якому декілька десятків номерів або використовувати лазерний принтер для розмноження порожніх бланків.