
- •Загальні рекомендації
- •. Огляд засобів розробки програм
- •1 Загальні поняття
- •2 Системи програмування
- •3 Технології програмування
- •3.1 Алгоритмічне (модульне) програмування
- •3.2 Структурне програмування
- •3.3 Подієво-орієнтоване програмування
- •3.4 Об'єктно-орієнтоване програмування
- •3.5 Візуальне програмування
- •Запитання для контролю та самоконтролю
- •. Основні поняття алгоритмізації
- •1. Поняття алгоритму. Властивості алгоритму
- •2. Способи подання (опису) алгоритму
- •3. Правила оформлення блок-схем алгоритмів
- •4. Базові алгоритмічні конструкції
- •Запитання для контролю та самоконтролю
- •. Етапи розв’язування прикладних задач
- •1. Постановка задачі
- •2. Побудова моделі
- •3. Розробка алгоритму
- •4. Вибір структур даних
- •5. Розробка програми
- •6. Тестування програми
- •7. Аналіз результатів роботи програми
- •8. Корисні технологічні правила програмування
- •Запитання для контролю та самоконтролю
- •V. Практикум з програмування. Turbo pascal
- •Робота з інтегрованим середовищем розробника
- •Запитання для контролю та самоконтролю
- •Тема №1 структура програми. Лінійна програма. Введення/виведення. Типи даних Теоретичні відомості
- •Var перелік імен змінних та їх типів;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №2 програми розгалуженої структури Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №3 цикли з параметром Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №4 цикли з невідомим числом повторень Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №5 використання масивів Теоретичні відомості
- •Var Ім'я : array[поч_індекс . . Кін_індекс] of Тип_даних;
- •Var Ім'я:array[поч_індекс1..Кін_індекс1,
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема №6 символьний тип даних, рядки Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 7 використання допоміжних програм Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 8 використання множин Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 9 обробка записів Теоретичні відомості
- •Var Ім’я_запису : Ім’я_типу;
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Тема № 10 організація обробки файлів Теоретичні відомості
- •Приклад
- •Варіанти завдань
- •Запитання для контролю та самоконтролю
- •Рекомендована література
7. Аналіз результатів роботи програми
Отримавши результати роботи програми необхідно провести їх верифікацію - перевірку відповідність здоровому глузду та передбачуваному прогнозу. Після цього, коли немає сумніву в правильності результатів, вони мають бути інтерпретовані (тобто пояснені в термінах предметної галузі задачі, що розв’язувалась).
Для ефективного вирішення всіх зазначених проблем необхідно постійно підтримувати зв'язок із замовником завдання.
8. Корисні технологічні правила програмування
Технологія програмування - це правила, користування якими гарантує розробку якісного програмного продукту. Найкориснішими з цих правил є:
Проектування зверху вниз - задача за змістом розбивається на частини (допоміжні задачі). Якщо є необхідність, для кожної частини цей процес може бути повторений, доки складність кінцевих задач не задовольнить програміста.
Модульне програмування - кожну з вищезазначених кінцевих задач рекомендується оформити одним окремим програмним модулем (процедура, функція, бібліотека, метод), розробивши форму зв’язку між ними для повного розв’язання поставленої задачі.
Структурне кодування - для розробки будь-якої програми достатніми є три алгоритмічні структури (конструкції): лінійна (поступове виконання дій одна за одною у порядку запису), розгалужена (виконання однієї з кількох альтернатив), циклічна (повторення дій).
Часто (головним чином початківцям у програмуванні) рекомендують користуватися KISS-принципом (Keep It Single Stupid) - треба робити програму якомога простішою; це полегшить вам (та можливо іншим) справу пошуку/виправлення помилок і модифікації.
Необхідно пам’ятати й про такі правила:
Коментування. Рекомендується докладно коментувати (пояснювати) в програмі призначення окремих дій (операторів) та цілих блоків.
Вибір ідентифікаторів. Ідентифікатори (імена) об’єктів програми (констант, змінних, функцій, процедур та ін.) треба обирати близькими до реальної назви відповідного об’єкта.
Дружній інтерфейс та термінологічне середовище. Програма повинна вести з користувачем коректний (з виконанням норм ввічливості) діалог, пояснювати свої дії, коригувати дії користувача; під час діалогу має використовуватися лише термінологія, зрозуміла користувачу та не використовуватися термінологія розробника.
Засоби допомоги та реклама. Програма має допомагати користувачу (давати довідки), наприклад, після натискання на стандартну для такої функції клавішу F1. Запуск програми повинен супроводжуватися рекламною заставкою, що відображує сутність та можливості програмного засобу, а також відомості про автора.
Захист від некоректного введення. Введену користувачем інформацію програма повинна перевіряти на коректність (належність множині припустимих для введення даних) та давати можливість користувачу виправити можливі помилки введення.
Стійкість програми. Програма не повинна втрачати працездатність (переривати або аварійно закінчувати роботу) ні за яких умов (навіть, якщо дії користувача некоректні).
Запитання для контролю та самоконтролю
У чому полягає технологічний ланцюжок розв’язування прикладної задачі з використанням комп’ютера? Які дії виконуються на кожному етапі?
Що таке технологія програмування?
Які головні засади технології структурного програмування?
Виконання яких вимог при розробці програми забезпечують її якість, надійність та ефективність?
Для чого потрібне тестування програм? Які методи тестування програм найчастіше використовуються?
Що розуміють під моделлю задачі?
Як обрати мову програмування для реалізації алгоритму?
У чому полягає сутність процесу відладки програми?
Які існують прості корисні правила розробки програми?
Що таке постановка задачі?
Як ефективно представити алгоритм?
Які існують вимоги до «дружності» інтерфейсу програми?
Що таке недосконалості програми? Які вони бувають, на що впливають?
Що визначає поняття алгоритмічної складності?
Яке існує правило для вибору типів даних для об’єктів задачі?
Що означає коректність постановки задачі?