Програма дисципліни Алгоритмізація і програмування, КПІ
« НазадПРОГРАМА ДИСЦИПЛІНИ “Алгоритмізація і програмування”для напряму підготовки (спеціальності) 0925 автоматизація та комп'ютерно-інтегровані технології (7.092502 комп'ютерно-інтегровані технологічні процеси і виробництва) І. ЗАГАЛЬНІ ВІДОМОСТІРобоча навчальна програма складена на основі Освітньо-професійної програми вищої освіти за професіональнім спрямуванням автоматизація та комп’ютерно-інтегровані технології (бакалаврат). Вивчення дисципліни заплановано на 1 та 2 курсі в на протязі 1-4 семестрів. Вивчення дисципліни спирається на знання, які отриманні в програмі середньої освіти та на 1 курсі навчання у НТУУ “КПІ” за вище зазначеною спеціалізацією в дисциплінах: - "Комп'ютерна техніка та організація обчислювальних робіт" (Побудова та принцип дії персонального комп'ютера (ПК). Складові ПК. Принципи збереження інформації в комп'ютері та пристрої, що для цього використовуються. Програмне забезпечення ПК. Операційна система MS-DOS. Файли та папки, робота з ними. Сучасні операційні системи – Windows-9х, Windows-2000, Windows-ХР. Середовища MS Excel та MS Word, а також навички роботи в них). - “Інформаційні системи та комплекси” (Поняття та принципи побудови баз даних).
ІІ. РОЗПОДІЛ НАВЧАЛЬНОГО ЧАСУРозподіл навчальних годин за семестрами і видами навчальних занять здійснюється відповідно до робочих навчальних планів:
ІІІ. МЕТА І ЗАВДАННЯ ДИСЦИПЛІНИДисципліна призначена навчити студентів сучасних методів програмування, які використовуються для вирішення типових задач хімії і хімічної технології, а також одній з алгоритмічних мов (середовищ програмування) та навичок реалізації розроблених програм на ПК. Ця дисципліна базується на початкових знаннях студентів про побудову та принципи роботи ПК та на їх початковому вмінні працювати на ПК в операційних середовищах Windows (в тому числі – з додатками MS Excel та MS Word[1]), а також – MS DOS. Після вивчення курсу студент повинен знати: - стандарт однієї з сучасних мов програмування; - інтерфейс середовища програмування; - сучасні методи конструювання програм в тому числі засобами об'єктно-орієнтованої мови програмування (Visual Basic); - ефективні методи збереження і обробки інформації. Крім того, студент повинен вміти: - самостійно розробляти ефективні алгоритми і програми (на одній з алгоритмічних мов) для вирішення поставленої задачі; - налагоджувати програми на ПК до надійної працездатності в середовищах Windows та MS DOS; - виконувати настройку середовища програмування для ефективної роботи; - оформляти розроблені програми згідно вимогам ЄСПД. Знання та навички, що одержані в цій дисципліні, у подальшому використовуються в усіх дисциплінах, які потребують програмної реалізації розрахунків на комп'ютері, і в першу чергу – в курсах “Числові методи”, “Інформаційні системи та комплекси”, "Математичне моделювання на ЕОМ”, “Методи оптимізації хіміко-технологічних процесів”, в курсових і дипломних роботах і проектах.
ІV. ТЕМАТИЧНИЙ ПЛАНІV.1. РОЗПОДІЛ НАВЧАЛЬНОГО ЧАСУ ЗА ТЕМАМИ
ІV.2. ЛЕКЦІЇРозділ 1. Основи алгоритмізації і програмування(середовище Qbasic) Тема 1.1. Алгоритмічні мови як засіб програмування Лекція 1. Вступ. Алгоритмічні мови як засіб програмування. Призначення курсу. Історія розвитку алгоритмічних мов. Найбільш поширені алгоритмічні мови та середовища програмування. Огляд існуючих середовищ програмування (загальна порівняльна характеристика). Інтерпретація та компіляція – різні принципи обробки програм написаних алгоритмічними мовами. Тема 1.2. Основні поняття мови BASIC Лекція 2. Основні поняття мови BASIC. Сучасні стандарти мовиBASIC: Qbasic (середовище MS DOS) та Visual Basic (середовище WINDOWS-95). Загальна характеристика та інтерфейс середовища програмування Qbasic. Загальні характеристики стандарту мови: символи, слова (типи даних, константи, змінні, стандартні функції), вирази (арифметичні та логічні). Структура програми. Класифікація операторів. Оператор присвоєння. Лекція 3. Найбільш поширені оператори. Найбільш поширені оператори. Особливості введення – виведення даних (оператори INPUT, DATA, READ, RESTORE, PRINT, LPRINT PRINT USING, LOCATE); розподільні символи при введенні та виведенні; введення-виведення інформації у файл даних (оператори OPEN i CLOSE). Приклади програм лінійної структури. Типи розгалужених алгоритмів. рядковий і блочний оператори IF…THEN... ELSE. Приклади алгоритмів і програм розгалуженої структури. Тема 1.3. Програмування алгоритмів циклічної структури Лекція 4. Програмування арифметичних циклів. Поняття циклічного алгоритму. класифікація циклічних алгоритмів. Цикли з параметром (арифметичні). Оператори FOR...NEXT. Дострокове завершення циклу, оператор EXIT FOR. Приклади найпростіших циклічних алгоритмів і програм. Табулювання функцій. Лекція 5. Програмування ітераційних циклів. Алгоритмізація та програмування циклів з умовою. Цикли з перед- і з післяумовою. Оператори DO...LOOP. Оператор дострокового завершення циклу DO – EXIT DO. Приклади алгоритмів та їх програмна реалізація. Ітераційні і рекурентні алгоритми. Тема 1.4. Використання масивів для збереження інформації та алгоритми їх обробки Лекція 6. Робота з масивами. Поняття масивів, їх організація та особливості їх використання в програмах. Опис масивів. Звернення до елементів масиву. Приклади характерних прийомів програмування. Обчислення сум і добутків. Лекція 7. Типові алгоритми для обробки масивів. Пошук мінімального і максимального елементів масиву. Збільшення і зменшення кількості елементів масиву. Вкладені цикли. Вкладання блоків різного типу. Лекція 8. Використання двомірних масивів. подання даних у матричній формі. Особливості алгоритмізації і програмування операцій з матрицями. Характерні прийоми програмування. Лекція 9. Алгоритми пошуку даних. Алгоритми пошуку даних за ознакою. Програмування типових ознак для пошуку даних (знак числа, кратність означеному числу, min, max, та ін.). Засоби обмеження пошуку в межах окремих частин матриці. Розділ 2. Алгоритмізація і програмуваннятипових задач (середовище Qbasic) Тема 2.1. Модульний принцип побудови програм Лекція 1. Використання внутрішніх функцій. Поняття програмного модуля. Функції і підпрограми, визначені користувачем (поняття, класифікація). Внутрішні функції (рядкові та блочні). Поняття формальних і фактичних параметрів. Приклади реалізації алгоритмів з використанням внутрішніх функцій користувача. Лекція 2. Зовнішні функції користувача. Зовнішні функції. Особливості обміну даними із зовнішньою функцією. Приклади реалізації алгоритмів з застосуванням функцій користувача. Лекція 3. Підпрограми загального виду. Підпрограми типу SUB. Організація обміну інформацією між програмними модулями. Використання різних рівнів опису змінних; локальні і глобальні змінні. Приклади реалізації алгоритмів з використанням підпрограм. Лекція 4. Алгоритми сортування даних. Алгоритми сортування даних. Поняття про задачу сортування даних. Варіанти алгоритмів сортування даних за методом "бульбашки". Приклади програм. Лекція 5. Алгоритми сортування даних. Варіанти алгоритмів сортування даних за методом вибору мінімального (максимального) елементу. Приклади програм сортування числових та символьних даних. Тема 2.2. Обробка символьної інформації Лекція 6. Дані символьного типу та операції з ними. Кодування символів в ПЕОМ. Таблиця кодів ASCII. Поширені варіанти кодувань. Символьний тип даних. Особливості введення символьної інформації. Основні операції з даними символьного типу. Особливості порівняння символьних даних. Лекція 7. Функції обробки символьних даних. Основні функції обробки рядків: LEN, CHR$, ASC, MID$, LEFT$, RIGHT$, SPACE$, STRING$. Можливості функцій VAL, LTRIM$, RTRIM$, INSTR, LCASE$, UCASE$ та особливості їх використання. Приклади алгоритмів і програм обробки рядків. Тема 2.3. Організація графічного засобу подання інформації Лекція 8. Організація графічного засобу подання інформації. Графічні режими роботи монітора. Оператори побудови графічних примітивів (SCREEN, PSET, LINE, CIRCLE). Поняття про оператори DRAW, WINDOW, COLOR, PAINT). Приклади алгоритмів і програм. Тема 2.4. Принципи побудови пакетів програм Лекція 9. Сучасні вимоги до проектування програмного забезпечення. Поняття про методи проектування програм. Вимоги до програмного забезпечення. Принципи структурного програмування. Приклади. Лекція 10. Поняття стилю програмування. Стиль програмування. Правила вибору імен змінних, функцій і підпрограм, файлів та інших об'єктів. Ефективність програм, зв'язок між ефективністю та складністю програм. Приклади. Лекція 11. Ефективність програм. Ефективність програм і ресурси обчислювальної системи. Що важливіше – ресурс пам'яті чи час використання процесора. Використання даних різних типів. Оптимізація програм. Роль циклів та формулювання умов перевірок. Різниця в використанні строкового та блочного операторів IF. Приклади. Лекція 12. Побудова пакетів програм та організація їх роботи. Основні принципи побудови пакетів програм. Вимоги до збереження інформації. Формулювання функцій, які повинен виконувати пакет, та їх розподіл між програмними модулями. Організація обміну інформацією в пакеті. Приклади. Лекція 13. Використання динамічних масивів. Поняття динамічних масивів та особливості їх використання в програмах. Приклади. Вимоги до розробників окремих програмних модулів. Проблеми і особливості тестування програм. Лекція 14. Принципи конструювання меню в пакетах програм. Принцип організації найпростішого меню. Організація вибору однієї з набору альтернатив за допомогою оператора SELECT CASE. Приклади конструювання меню. Тема 2.5. Тестування програмного забезпечення та його документування Лекція 15. Помилки в програмах та засоби їх виявлення. Помилки в програмах, синтаксичні та семантичні помилки, типові випадки. Значення стилю програмування для мінімізації кількості помилок в програмах. Засоби виявлення та виправлення помилок. Лекція 16. Тестування програмного забезпечення. Тестування програм. Використання трасування, покрокового виконання програм, точок переривання. Приклади відшукування помилок в програмах. Особливості тестування програм що побудовані за модульним принципом. Лекція 17. Документування програмного забезпечення. Документування програм. Поняття про ЄСПД. Використання коментарів в тексті програми. Документи супроводження (перелік, зміст, вимоги). Приклади. Розділ 3. Програмування в додатках MS Excel та MS Word Тема 3.1. Основи програмування мовою Visual Basic for Application Лекція 1. VBA - засіб автоматизації роботи в програмних середовищах. “Родина” Visual Basic (VB). Загальна характеристика варіантів мови VB та Visual Basic for Application (VBA). Призначення VBA, можливості програмування в MS Excel, MS Access, MS Word та інших додатках. Поняття макросу. Запис макросів в MS Excel та MS Word. Використання макросів, способи запуску макросів. Редактор VB – інтегроване середовище розробки додатків VBA. Загальна характеристика, інтерфейс (панелі інструментів, призначення вікон). Лекція 2. Модулі та процедури у VBA. Поняття модуля та процедури. Приклади. Типи даних VBA, їх загальна характеристика. Об'ява констант та змінних, області їх видимості. Оператор Option Explicit. Створення модуля та процедури. Лекція 3. Функції для введення та виведення інформації. Функція MsgBox, можливості, характеристика аргументів; особливості аргументу “кнопки”. Приклади. Функція InputBox, можливості, правила запису. Приклади. Використання операторів Qbasic в програмах на VBA. Приклади програм. Тема 3.2. Основні поняття об'єктного програмування на прикладі VBA Лекція 4. Поняття об'єктів, їх властивостей та методів на прикладі VBA Excel. Об'єктна модель MS Excel. Загальна характеристика найчастіше використовуваних об'єктів: Application (додаток), Work Book (робоча книга), Work Sheet (робочий лист), Range (діапазон), Chart (діаграма). Посилання на об'єкти в програмному коді. Задання та використання властивостей об'єктів. Використання методів. Класи об'єктів. Поняття колекції. Метод Add. Властивість Count. Лекція 5. Об'єкт Range. Об'єкт Range, його властивості та методи. Оператори With…End With та For Each…Next. Приклади використання об'єкту Range. Особливості використання статичних і динамічних масивів. Особливості обробки даних символьного типу та взаємодії даних різних типів. Лекція 6. Об'єкт Chart. Загальні відомості про об'єкт Chart (діаграма), його властивості та прийоми роботи з ним. Основи керування файлами засобами VBA. Використання вбудованих діалогових вікон Excel. Тема 3.3. Основи розробки інтерфейсу користувача Лекція 7. Створення інтерфейсу користувача. Об'єкт UserForm, його властивості. Виконання форми користувача. Елементи керування, їх властивості та особливості використання при утворенні діалогових вікон. Оператори Load та Unload, методи Show та Hide. Приклади створення діалогових вікон. Лекція 8. Процедури обробки подій. Поняття події та процедури обробки події. Події об'єктів “форма користувача” та “елементи керування”. Поняття модуля класу. Принципи створення процедур обробки подій для діалогових вікон користувача, приклади. Тема 3.4. Засоби налагодження програм в редакторі VB Лекція 9. Засоби налагодження програм в редакторі VB. Особливості відпрацювання програм в середовищі редактора VB. Використання панелі Debug. Використання трасування, покрокового виконання програм, точок переривання, вікон “негайного виконання” та “локальних змінних”. Поняття про обробку помилок. Розділ 4. Розробка проектів в середовищі програмування Visual Basic (Windows-9х) Тема 4.1. Основи розробки програм в середовищі Visual Basic (VB) Лекція 1. Розробка проектів у середовища Visual Basic. Загальна характеристика версій мови VB та інтегрованого середовища розробки програм (меню, панелі інструментів та вікна). Технологія розробки нового проекту. Створення інтерфейсу проекту: форма, її властивості, методи та події. Поняття про MDI-додатки та MDI-форми. Лекція 2. Використання елементів керування при розробці проекту. Елементи керування, їх властивості, методи та події. Можливості застосування різних елементів керування для створення інтерфейсу проекту. Приклади. Ролі модулів та класів при розробці проекту. Особливості використання функцій і процедур в програмуванні проекту. Різниця в об'яві модулів “Private” та “Public”. Тема 4.2. Особливості програмування в середовищі Visual Basic Лекція 3. Особливості програмування в середовищі Visual Basic. Особливості використання даних різних типів, їх об'яви та взаємодії між ними. Можливості утворення власних типів даних. Особливості роботи структур IF…THEN...ELSE і SELECT CASE на прикладах програм мовою VB. Лекція 4. Особливості програмування в середовищі Visual Basic. Особливості роботи циклів різного виду на прикладах програмування типових алгоритмів мовою VB. Особливості роботи з файлами в VB. Типи файлів, які використовуються в проектах. Засоби і прийоми налагодження програм в середовищі VB. Тема 4.3. Засоби розробки інтерфейсу Лекція 5. Особливості використання класів. Особливості використання класів, їх методи, властивості та події. Утворення класу, можливості використання утиліти “Class Builder”. Приклади. Утворення або переробка меню за допомогою редактора меню. Властивості, методи та події об'єкта меню. Лекція 6. Особливості використання діалогових вікон при розробці проекту. Можливості використання допоміжних вікон для перегляду значень змінних. Використання стандартних діалогових вікон та класу діалогових вікон. Особливості друкування даних, методи “Print” та “PrintForm”, колекція “Printers”. Друкування тексту програми. Тема 4.4. Основні поняття об'єктно-орієнтованого програмування Лекція 7. Об'єкти та класи. Об'єкти та класи, їх атрибути (властивості, методи). Інкапсуляція, спадкування, поліморфізм. Утворення нового класу, задання властивостей класу, додання методів класу. Використання класу. Тема 4.5. Організація баз даних[2] (БД) в середовищі VB Лекція 8. Організація баз даних в середовищі VB. Можливості збереження даних у вигляді БД. Утворення БД за допомогою Visual Data Manager. Запис та читання даних з БД, редагування даних в БД. Пошук даних в БД. Поняття про технологію ADO, її можливості, основні принципи роботи. Тема 4.6. Можливості оформлення розробленого проекту Лекція 9. Можливості оформлення розробленого проекту. Можливості утворення довідкових файлів до проекту, контекстний режим, використання HTML-формату. Компіляція проекту, режим оптимізації, використання “майстрів”.
ІV.3. ЛАБОРАТОРНІ РОБОТИЛабораторні роботи призначені для закріплення теоретичних знань, отриманих на лекціях й в процесі самостійної роботи з літературними джерелами, на рішенні практичних задач хімічної технології із застосуванням різноманітних програмних середовищ (MS Excel, Qbasic). Перелік запланованих робіт надано у наступній таблиці:
ІV.4. ІНДИВІДУАЛЬНІ ЗАВДАННЯВ другому семестрі передбачається виконання розрахункової робота на тему: “Алгоритмізація i програмування задачі сортування даних з використанням програм модульної структури”. (10 годин). Ця робота призначена для поглиблення знань з методів алгоритмізації та конструювання програм, опанування характерних прийомів програмування. Вона виконується кожним студентом за індивідуальним завданням. В третьому семестрі передбачається виконання розрахункової роботи на тему: “Розробка інтерфейсу користувача для роботи в MS Excel”. Робота виконується за індивідуальним завданням. (12 годин). Метою цієї розрахункової роботи є поглиблення знань з технології програмування в середовищі електронних таблиць MS Excel та набуття навичок створення сучасного інтерфейсу користувача та налагодження процедур обробки подій для нього. У четвертому семестрі передбачається виконання розрахункової роботи на тему: “Розробка програмного забезпечення для розв'язку типової задачі інженерної хімії одним з числових методів”. (10 годин ). Робота виконується кожним студентом за індивідуальним завданням. Метою розрахункової роботи є набуття навичок конструювання реальних програм з сучасним інтерфейсом та їх налагодження в середовищі програмування VB.
ІV.5. КОНТРОЛЬНІ РОБОТИДля перевірки засвоєння знань студентів згідно учбового плану заплановано проведення контрольних робіт за наступними темами: - "Характерні прийоми програмування при обробці даних у матричній формі"; - "Програмування в середовищі MS Excel"; - "Програмування інтерфейсу користувача при розробці проектів в Visual Basic".
V. МЕТОДИЧНІ ВКАЗІВКИЛабораторні заняття проводяться у комп'ютерному класі на персональних комп'ютерах з операційною системою Windows (95/98/Ме/2000/ХР) та встановленим необхідним програмним забезпеченням (Visual Basic, Qbasic, MS Word, MS Excel+VBA). Для збереження поточного стану завдань лабораторних робіт рекомендується використовувати магнітні носії (дискета 3,5"). Крім наявної літератури курс забезпечений роздавальними матеріалами для вивчення всіх комп'ютерних середовищ, які включено до програми, а також навчально-методичними матеріалами на магнітних носіях, що є найдешевшим і найпростішим засобом забезпечення ними студентів.
ЛітератураОсновна:
Додаткова:
Методична:
[1] Основи роботи з додатками MS Excel та MS Word вивчаються в дисципліні “комп’ютерна техніка та організація обчислювальних робіт” в 2-му семестрі. [2] Основні поняття баз даних вивчаються в дисципліні “Інформаційні системи та комплекси” в 4 семестрі та передують вивченню цієї теми. [3] З метою набуття навичок розробки програм для вирішення реальних завдань в цій та наступних лабораторних роботах заплановано програмування деяких типових числових методів розв'язку задач хімічної інженерії, що вивчаються в дисципліні “Числові методи” в 4 семестрі. Ці програми будуть використані при виконанні лабораторних робіт з курсу “Числові методи”. З повагою ІЦ “KURSOVIKS”! |