- •Основи програмування та алгоритмічні мови
- •III етап. Опис алгоритму
- •V етап. Налагодження програми
- •Vі етап. Експлуатація програми
- •1. Визначення алгоритму
- •2. Властивості алгоритму
- •3. Форми запису алгоритму
- •4. Типи алгоритмів
- •1. Історія створення мови Паскаль
- •2. Структура програми
- •3. Елементи мови
- •4. Типи даних
- •5. Прості типи даних
- •6. Стандартні функції мови Паскаль
- •1. Складові інтерфейсу середовища програмування
- •2. Створення та виконання найпростішої програми
- •3. Налагодження програм
- •4. Перетворення програм
- •1. Процедури введенні-виведення
- •2. Процедури управління розташуванням інформації на екрані
- •3. Процедури роботи з кольором
- •4. Програми лінійної структури
- •1. Види циклів
- •5. Вкладені цикли
- •6. Пряма передача управління в операторах циклу
- •1. Поняття масиву
- •2. Опис масивів
- •3. Введення - виведення елементів масиву
- •4. Операції над масивами
- •1. Пошук мінімального (максимального) елемента у масиві
- •2. Бінарний пошук
- •3. Алгоритми упорядкування масивів
- •3.1. Упорядкування вставлянням
- •3.2. Упорядкування вибором
- •3.3. Упорядкування обміном
- •1. Поняття підпрограми. Типи підпрограм
- •2. Процедури
- •3. Формальні і фактичні параметри. Глобальні та локальні змінні
- •4. Функції
- •1. Рекурсія
- •2. Випереджальне оголошення підпрограм
- •3. Інші директиви компілятору
- •1. Стандартні модулі
- •2. Модулі користувача
- •Implementation
- •1. Загальні принципи роботи з файлами
- •2. Текстові файли
- •3. Типізовані (двійкові) файли
- •4. Нетипізовані файли
- •5. Фізична модель операцій читання та запису інформації у текстовий файл
- •6. Директиви компілятору при роботі з файлами
- •8. Розв’язування задач з використанням файлів
- •1. Перелічуваний тип
- •2. Обмежений тип
- •1. Запис та його оголошення
- •2. Доступ до компонентів та операції над записами
- •3. Записи з варіантами
- •4. Вкладеність записів
- •1. Встановлення (ініціалізація) графічного режиму
- •2. Кроки створення графічних об'єктів
- •3. Стандартні прoцедури і функції модуля Graph для работи з кольорами
- •4. Прoцедури і функції для работи з пікселями
- •5. Процедури для роботи з колом, дугами
- •6. Процедури для роботи з прямокутниками
- •7. Процедури для роботи з графічними примітивами типу "лінія".
- •8. Методи створення рухомих графічних об'єктів засобами мови Паскаль
- •9. Особливості виведення текстових повідомлень в графічному режимі
III етап. Опис алгоритму
Вибір форми запису алгоритму
Запис алгоритму.
Після того, як математична модель задачі побудована, необхідно знайти та описати спосіб розв’язку цієї задачі. У найпростішому випадку розв’язок задачі можна одержати у явному вигляді, тобто у вигляді формули, яка пов’язує вхідні дані та результати. Але і тоді, крім знаходження відповідної формули, необхідно вирішити ряд інших технологічних питань, враховуючи те, що задача буде розв’язуватися на ЕОМ. Наприклад, якого типу мають бути вхідні дані, у якому порядку їх вводити до ЕОМ, як і з якою точністю одержати проміжні величини, у якій формі і з якою точністю вивести результати тощо. Тому описання алгоритму – найважливіший етап розв’язку задачі.
Побудова алгоритму носить творчий характер – кожна нова задача вимагає нових підходів і нових способів розв’язку, але для того, щоб побудувати алгоритм, який можна легко зрозуміти, модифікувати й удосконалити його, необхідно дотримуватися певної дисципліни та технології його конструювання.
Зрозуміло, що той, хто описує алгоритм, насамперед сам повинен вміти і знати як розв’язується задача.
ІV етап. Програмування (запис і трансляція програми)
Написання програми або окремих її частин прийнято називати кодуванням або розробкою. Цей етап включає наступні кроки:
Вибір мови програмування
Вибір способу представлення даних
Запис алгоритму на вибраній мові
Транслятор — програма, що переводить текст програми, записаний на мові програмування у машинні коди.
Якщо алгоритм складено, то користувачу залишається більш технічна, аніж творча робота. Враховуючи характер задачі необхідно вибрати певну мову програмування для запису програми та записати її текст. Зрозуміло, що користувач повинен володіти потрібним обсягом знань з використання команд (операторів) обраної мови.
Кожна мова програмування має свій транслятор, що дозволяє автоматично перекласти текст програми на машинну мову. При цьому одержується текст програми на машинній мові, який еквівалентний тексту програми на мові програмування, тому що ці тексти реалізують один і той же алгоритм.
V етап. Налагодження програми
Усунення помилок
Вибір тестів та методів тестування
Аналіз результатів тестування
Процес усунення помилок в програмі називається налагодженням.
Типи помилок
При програмуванні можливі помилки таких типів:
Синтаксичні помилки або помилки часу трансляції (compiler error) пов’язані з використанням конструкцій, які не відповідають правилам граматики мови програмування. Вони виявляються на етапі трансляції. По діагностичним повідомленням транслятора програміст вносить відповідні зміни в програму і повторно транслює її. Цей процес повторюється до отримання синтаксично правильної програми. Виявивши в програмі синтаксичну помилку, компілятор встановлює курсор текстового редактора середовища програмування на місце її виявлення, а також виводить повідомлення Error (помилка) з номером і найменуванням помилки.
Помилки часу виконання (Run time error). Такі помилки призводять до того, що на екрані виникає повідомлення про помилку, а сама програма аварійно припиняє свою роботу. Повідомлення про помилку має вигляд: Run time error nnn at xxxx:yyyy. Це означає: помилка часу виконання nnn за адресою xxxx:yyyy, де nnn — номер помилки, а xxxx:yyyy — адреса помилки у завантажувальному модулі. Помилки часу виконання можуть виникати, наприклад, при спробі видобути квадратний корінь із від’ємного числа.
Логічні (семантичні, алгоритмічні) помилки пов’язані з невідповідністю програми алгоритму розв’язку поставленої задачі. Вони не виявляються ні під час трансляції, ні під час виконання програми. Для їх виявлення нема формального апарату, тому застосовується метод тестів.
Метод тестів полягає в тому, що на ЕОМ програма виконується не для тих вхідних даних, для яких слід отримати результат, а для спеціально розроблених варіантів вхідних даних з відомими відповідями. Такі варіанти називаються тестами. Результати, отримані на машині, порівнюють з правильними відповідями. Їх розбіжність вказує на наявність в програмі логічних помилок. Тест намагаються вибрати так, щоб не тільки встановити сам факт помилки, але й локалізувати її, тобто виявити та звузити частину програми, що містить помилку.
Грубі помилки викликають ланцюг інших помилок, при цьому виправлення першої помилки часто призводить до зникнення решти помилок. В такій ситуації може допомогти опис кодів помилок, який можна знайти у довідковій літературі, що описує середовище програмування.
Отже, метою налагодження є одержання правильної програми, результатам роботи якої можна було б довіряти.
До складу систем програмування включають спеціальні можливості налагодження програм (програма - налагоджувач). Користувач формулює завдання, а система виконує це завдання і видає користувачу необхідну інформацію про те, як веде себе програма. Така інформація значно полегшує пошук та виправлення помилок. Програма – налагоджував забезпечує наступні можливості:
Покрокове виконання програми із зупинкою після кожного оператора
Перегляд у процесі налагодження поточного значення будь-якої змінної або знаходження значення будь-якого виразу
Встановлення в програмі контрольних точок, в яких програма тимчасово припиняє своє виконання, так що можна оцінити проміжні результати
При налагодження програми важливо пам’ятати:
Використовувати прості тестові дані.
Помилки розділяти і усувати по черзі, не вносити у програму одночасно кілька змін.
Не вважати причиною помилок комп'ютер.
