Етапи розв’язування задач на персональному комп’тері
Розв’язування задач з використанням комп’ютера
В сучасному світі важко собі уявити життя людини без допомоги комп’ютера. Ми використовуємо його для розв’язання найрізноманітніших задач: від виконання складних обчислень у наукових дослідженнях та економіці для виконання кропіткої домашньої роботи. Комп’ютер – це помічник людини, без нього неможлива обробка величезного потоку інформації, який кожного дня зростає: будь то оформлення складної документації, створення та обробка графічних зображень, розв’язування математичних задач, отримання даних з будь-якої теми, тощо. Для розв’язання цих задач комп’ютер озброєний найрізноманітнішим програмним забезпеченням, яке поділяється на 4 категорії: операційні системи, системні утиліти, системи програмування, прикладне програмне забезпечення.
Отже, користувач аналізує завдання, яке необхідно розв’язати, та обирає оптимально придатний програмний засіб, який є в арсеналі засобів його комп’ютера. Однак є велика кількість задач, для розв’язання яких не існує відповідного програмного забезпечення або існуюче програмне забезпечення з певних причин нас не влаштовує . У цьому випадку ми можемо самостійно написати програму для виконання поставленої задачі.
Розв’язання прикладної задачі з використанням комп’ютера визначається декількома етапами, частина яких виконується людиною, а частина – людиною і машиною або машиною самостійно.
Етапи розв’язання прикладної задачі з використанням комп’ютера
Постановка задачі
(опис вхідних даних та умов, формулювання мети завдання, опис очікуваних результатів)
Побудова інформаційної моделі
(опис реального об’єкта дослідження в припустимих для реалізації задачі термінах для зведення дослідження до розв’язання на моделі)
Розробка алгоритму
(визначення послідовності дій, які необхідно виконати для досягнення цілі)
Комп’ютерна реалізація алгоритму
Вибір готового програмного забезпечення Розробка нового програмного забезпечення
використання програмного забезпечення із заданими вхідними даними вибір мови, написання, налаштування та тестування програми, виконання програми із заданими вхідними даними
Аналіз результатів
На першому етапі необхідно визначити, що задано умовами задачі та визначитися з очікуваними результатами. Скласти короткий запис задачі.
Другим етапом розв’язування задачі за допомогою комп’ютера є побудова інформаційної моделі.
Модель – спрощене подання реального об’єкта, що відбиває лише найголовніші його риси. Отже це штучно створений людиною абстрактний або матеріальний образ реального об’єкта, що зберігає типові (суттєві) властивості оригіналу, важливі для розв’язання певної задачі.
За допомогою моделі можна краще зрозуміти структуру, основні властивості, закони взаємодії складових об’єкта дослідження, навчитися керувати цим об’єктом та прогнозувати наслідки керування.
Моделі поділяють на класи:
вербальні(отримані в результаті розумової діяльності, подані в словесній формі);
знакові(виражені за допомогою спеціальних графічних засобів або умовних малюнків, схем, формул, графіків тощо);
за галуззю використання(навчальні, дослідницькі, технічні, ігрові, імітаційні та ін..);
за фактором часу(статичні й динамічні);
за способом подання(матеріальні та інформаційні).
Для дослідження об’єкта (явища, процесу) не обов’язково створювати матеріальну модель, часто достатньо зібрати необхідну інформацію про об’єкт в потрібній формі, тобто створити інформаційну модель. За інструментами реалізації інформаційні моделі поділяють на комп’ютерні (яка реалізована на комп’ютері за допомогою програмних засобів) і некомп’ютерні.
Наступними дуже важливими етапами розв’язування задачі за допомогою комп’ютера є створення алгоритму дій та реалізація цього алгоритму в програмі.
Зараз важко уявити собі життя людини без комп'ютера. Люди використовують його для розв'язання найрізноманітніших задач: від виконання важких обчислень до виконання кропіткої домашньої роботи (прання білизни, приготування їжі, миття посуду і, навіть, домашній секретар).
Персональний комп'ютер зараз є майже в кожному будинку і без нього неможлива обробка такого величезного потоку інформації, який зараз буквально "наринув" на людину. Оформлення складної документації, створення та обробка графічних зображень, отримання даних з будь-якого питання з баз даних та світової мережі Інтернет, табличні розрахунки, розв'язування математичних задач, навчання. Ось далеко не повний перелік всіх можливостей нашого помічника - комп'ютера.
Для розв'язання цих задач в розпорядженні користувача є велика кількість різноманітного програмного забезпечення, яке поділяється на чотири великі категорій:
операційні системи - програми, що забезпечують працездатність комп'ютера;
системні утиліти - програми, що оптимізують роботу з комп'ютером (архіватори, антивірусні засоби, програми роботи з дисками і таке інше);
інструментальні засоби - системи програмування, що дозволяють створювати інші програми;
прикладне програмне забезпечення - програми, призначені для розв'язання певного класу задач.
Отримавши задачу, користувач, виходячи з її умови, вирішує, яким програмним засобом можна скористатися для її розв'язання. Якщо в складі програмного забезпечення є програма, придатна для цього, то користувач вибирає її як інструмент, якщо ж ні, то доводиться створювати нову спеціальну програму, виконання якої призведе до очікуваного результату.
Наприклад, нам необхідно оформити газету, присвячену якійсь події. Вочевидь, що для розв'язування цієї задачі будь-який комп'ютер має необхідні програми, що дозволяють оформити тексти та графічні зображення різної складності (це текстові та графічні редактори, настільні видавницькі системи тощо).
Інший приклад: необхідно побудувати графік заданої функції. І для розв'язування цієї задачі комп'ютер має необхідне програмне забезпечення - електронні таблиці.
Примітка: можна запропонувати дітям дати свої приклади задач для комп'ютера.
Однак є величезна категорія задач, для розв'язку яких не існує відповідного програмного забезпечення, або існуюче програмне забезпечення з деяких причин нас не влаштовує. В цьому випадку ми повинні самостійно написати програму для виконання поставленої мети.
Розглянемо технологію розв'язання прикладної задачі на ЕОМ (зверніть увагу, що задачі будуть нескладні і тому можна було б скористатися і наявним програмним забезпечення для їх розв'язання, але з навчальною метою ми прослідкуємо етап створення самостійного програмного продукту).
Розв'язування будь-якої задачі починається з її постановки. На цьому етапі треба чітко з'ясувати, що дано і що треба знайти. Тобто треба добре уявити, в чому полягає дана задача, які необхідні початкові дані для її розв'язання, та що можна вважати за очікуваний результат.
Наприклад, батьки вирішили зробити ремонт вашої кімнати. Вочевидь, що безпосередньо зробити ремонт персональний комп'ютер не може. Але він може допомогти у виконання розрахунків на витратні матеріали, оплату виконаних робіт тощо. (Більш серйозні програмні засоби можуть допомогти, навіть, у виборі оптимального набору витратних матеріалів з урахуванням вартості безпосередньо матеріалів та вартості перевезень з пошуком найдешевших варіантів, але ми задачу спрощуємо.)
В нашому випадку вхідними даними повинні бути: розміри кімнати, що підлягає ремонту, набір необхідних витратних матеріалів (можна тільки поклеїти шпалери та виконати фарбувальні роботи, а можна замінити двері, вікна та меблі), ціни на витратні матеріали, вартість виконуваних робіт тощо. Результатом роботи програми повинна бути необхідна сума коштів на виконання ремонтних робіт з урахуванням витратних матеріалів.
Другим етапом розв'язування задач є побудова математичної моделі. Це дуже відповідальний етап, тому що не завжди в умові задачі міститься формула, придатна для застосування в програмі. Для цього створюється інформаційна математична модель об'єкта.
В нашому випадку математичною моделлю нашої задачі буде:
по-перше, розрахунок площі поверхні, що підлягає ремонту (для спрощення ми будемо тільки наклеювати шпалери);
по-друге, розрахунок необхідних витратних матеріалів з урахуванням площі шпалер, що знаходяться в рулоні, та проценту додаткових шпалер для співпадання малюнків;
по-третє, розрахунок вартості витратних матеріалів та виконаних робіт.
Примітка: ці формули отримати неважко і тому за бажанням можна дати це завдання учням безпосередньо на уроці або вдома.
Наступним етапом є розробка алгоритму на основі побудованої математичної моделі. Для цього можна використати вже відомі методи та способи розв'язування отриманих математичних співвідношень, причому при наявності кількох методів розв'язання необхідно вибрати оптимальний, провівши їх оцінку та аналіз. Якщо серед існуючих методів розв'язання необхідний відсутній, треба розробити власний.
Під час створення складних алгоритмів застосовується метод покрокової деталізації, який полягає в тому, що складний алгоритм розбивається на прості підзадачі, кожна з яких в свою чергу може розбиватися на ще простіші. Такий підхід дозволяє також розбити алгоритм на окремі частини - модулі, реалізацію кожного з яких доручити окремому програмісту. В цьому випадку програміст концентрується на розв'язанні окремої підзадачі, використовуючи для цього свої методи.
Останнім етапом у методі покрокової розробки є об'єднання окремих модулів у єдине ціле. Для цього між всіма модулями повинні бути встановлені зв'язки, тобто узгоджена передача інформації від одних модулів до інших. Це дуже важка робота і від оптимальності вибору вхідних та вихідних параметрів окремих модулів кінець кінцем залежить оптимальність роботі всієї програми.
Алгоритм, призначений для комп'ютерної реалізації, має бути записаний однією з мов програмування. На даному етапі розвитку комп'ютерної техніки різноманітність існуючих мов програмування дає програмісту можливість вибрати оптимальний варіант для отримання бажаного результату. А враховуючи можливість розбиття алгоритму на окремі модулі, реалізацію кожної підзадачі взагалі можна виконати різними засобами.
Написану вибраною мовою програмування програму необхідно тепер налагодити та протестувати. Під налагоджуванням програми розуміється процес випробування роботи програми з виправленням виявлених при цьому помилок. Виправити помилки, пов'язані з правилами написання програм, вам допомагає середовище програмування, а ось логічні помилки виправити набагато важче. В цьому вам можуть допомогти правильно підібрані тести.
Останній етап - це використання програми для отримання шуканих результатів. На цьому етапі обов'язково ще раз перевірити правильність очікуваних результатів. Якщо отримані результати являються помилковими, необхідно повернутися до одного з попередніх етапів (іноді, навіть, до найпершого - постановки задачі) і ще раз перевірити правильність зроблених робіт. Можливо, що на деяких етапах буде необхідно доопрацювати або повністю переробити весь етап.
Тепер програму можна експлуатувати і, навіть, пропонувати іншим користувачам, доповнивши її необхідною документацією.
Отже, основними етапами розв'язку задачі за допомогою ЕОМ є наступні:
постановка задачі;
побудова математичної моделі;
розробка алгоритму;
опис алгоритму мовою програмування;
тестування та налагоджування програм;
експлуатація програми.