Комп'ютерні технології та програмування, частина 2

Спеціальність: Автоматизація та комп'ютерно-інтегровані технології
Код дисципліни: 6.174.00.O.013
Кількість кредитів: 9.00
Кафедра: Автоматизація та комп'ютерно-інтегровані технології
Лектор: Ділай Ігор Володимирович, д.т.н., доцент
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Мета дисципліни – засвоєння методів алгоритмізації, програмування та розв’язування базових задач автоматизації та пов’язаних з ними числових методів за допомогою сучасних програмних засобів (мови Сі, С++ і Matlab, які є основними як для програмування новітніх засобів автоматизації (контролерів, регуляторів, мікропроцесорів), так і побудови сучасних програмних продуктів.
Завдання: Вивчення навчальної дисципліни передбачає формування та розвиток у студентів компетентностей: - загальні компетентності: КЗ1. Здатність застосовувати знання у практичних ситуаціях. КЗ4. Навички використання інформаційних і комунікаційних технологій. КЗ10. Здатність усвідомлювати необхідність навчання впродовж усього життя з метою поглиблення набутих та здобуття нових фахових знань. - Спеціальні (фахові) компетентності: КС1. Здатність застосовувати знання математики, в обсязі, необхідному для використання математичних методів для аналізу і синтезу систем автоматизації. КС9. Здатність вільно користуватися сучасними комп’ютерними та інформаційними технологіями для вирішення професійних завдань, програмувати та використовувати прикладні та спеціалізовані комп’ютерно-інтегровані середовища для вирішення задач автоматизації.
Результати навчання: У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі результати навчання: ПР 6. Вміти застосовувати сучасні інформаційні технології та мати навички розробляти алгоритми та комп’ютерні програми з використанням мов високого рівня та технологій об’єктно-орієнтованого програмування, створювати бази даних та використовувати інтернет-ресурси. ПР 8. Вміти застосовувати методи системного аналізу, моделювання, ідентифікації та числові методи для розроблення математичних та імітаційних моделей окремих елементів та систем автоматизації в цілому, для аналізу якості їх функціонування із використанням новітніх комп’ютерних технологій.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Пререквізити: - Інформатика - Мікропроцесорна техніка - Програмування для систем реального часу - Мікропроцесорні програмні засоби автоматизації
Короткий зміст навчальної програми: Перша лекція (тема) присвячена висвітленню місця навчальної дисципліни в структурі вивчення спеціальності 174 – «Автоматизація та комп’ютерно-інтегровані технології та робототехніка». Студент дізнається про обсяг, структуру, мету та завдання дисципліни. Також студентів ознайомлюють з критеріями оцінювання знань і звітування з дисципліни. Поняття алгоритму. Приклад програми. Студенту викладають загальні відомості та особливості мови програмування Сі; засобів алгоритмічної мови Сі (алфавіту, констант, змінних); стандартних функцій, операцій, виразів та операторів мови Сі; структури програми мовою Сі та директив препроцесора; символи мови, константи, змінні, стандартні функції; вирази арифметичні, логічні, символьні; структура програми. Друга лекція присвячена вивченню особливостей програмування в Matlab; стандартних функцій, операцій, виразів та операторів Matlab; символів мови, констант, змінних; виразів арифметичних, логічних, символьних; структури програми; функції для побудови графіків та їх оформлення. Третя лекція присвячена вивченню тем: графічне представлення алгоритму; класифікація алгоритмів (лінійні, розгалужені, циклічні), вкладені повторення, нагромадження сум та добутків, ітераційні процеси, звернення. Четверта лекція присвячена вивченню: операторів присвоєння, галуження та повторення; програмуванню задач визначення значень технологічних параметрів (температури, витрати, рівня тощо). П’ята лекція присвячена вивченню: логічних виразів i порядку їх виконання; операторів умовних переходів; вкладених умовних операторів та їх виконання. Шоста лекція присвячена вивченню: операторів організації циклів; простих та вкладених циклів; нагромадження суми та добутку; програмуванню задач інтегрування та вирахування кількості речовин; порівняльної характеристики алгоритмів. Сьома лекція присвячена застосуванню методу найменших квадратів до опрацювання результатів вимірювань залежностей фізичних величин з метою опису їх математичними залежностями. Восьма лекція присвячена вивченню: понять про блоки (модулі) програми; форматів опису функції та звернення до неї. Дев’ята лекція присвячена вивченню методів розв’язування алгебраїчних нелінійних рівнянь (половинного ділення, простих ітерацій, хорд, дотичних і комбінованого) в задачах з інженерної практики. Десята лекція присвячена вивченню: одномірних масивів даних та їх ідентифікаторів; оголошенню масивів; формуванню та виводу масивів; визначенню екстремальних значень технологічних параметрів з масивів даних; сортуванню елементів масивів технологічних даних; багатомірних масивів даних та їх ідентифікаторів; оголошенню масивів; формуванню та виводу двомірних масивів; прикладів задач з масивами. Одинадцята лекція присвячена вивченню механізму вказівників: оголошенню, ініціалізації, розіменуванню вказівників; застосуванню вказівників для роботи з масивами; передачі масивів у функції та повернення значень масивів. Дванадцята лекція присвячена числовим методам визначення підінтегральних площ за допомогою найпростіших квадратурних формул, формули трапецій, Сімпсона. Тринадцята лекція присвячена числовим методам (Ойлера, Рунге-Кутта) для розв’язування задачі Коші. Чотирнадцята лекція присвячена вивченню структур. П’ятнадцята лекція присвячена парадигмі структурного програмування засобами мови С++, а також відмінностям мов Сі та С++. Шістнадцята лекція присвячена висвітленню основ об’єктно-орієнтованого програмування. Сімнадцята лекція присвячена вивченню поняття клас, формату оголошення класу, конструкторам і деструкторам.
Опис: Тема 1. Вступ. Базові поняття мови Сі Тема 2. Основи роботи в Matlab Тема 3. Алгоритмізація задач автоматизації Тема 4. Керуючі структури Тема 5. Програмування задач з розгалуженим алгоритмом Тема 6. Програмування задач з циклічним алгоритмом Тема 7. Метод найменших квадратів Тема 8. Програмування алгоритмів із зверненнями Тема 9. Розв’язування нелінійних алгебраїчних рівнянь. Методи розв'язування нелінійних рівнянь (половинного ділення, простих ітерацій, хорд, дотичних та комбінований) Тема 10. Алгоритмізація та програмування задач з масивами даних Тема 11. Вказівники. Зв'язок вказівників з масивами. Передача масивів у функції Тема 12. Числове інтегрування (Найпростіші квадратурні формули. Формули трапецій, прямокутників, Сімпсона) Тема 13. Розв’язування ЗДР (задачі Коші) числовими методами Тема 14. Структури Тема 15. Парадигма структурного програмування мовою С++ Тема 16. Основи об’єктно-орієнтованого програмування Тема 17. Основні поняття класу
Методи та критерії оцінювання: - поточний контроль (письмові звіти з лабораторних робіт, усне опитування), 30 %; - екзамен (письмово-усна форма), 70%.
Критерії оцінювання результатів навчання: Навчальна дисципліна завершується семестровим контролем, форма якого передбачена навчальним планом із виставленням семестрової оцінки. Семестрова оцінка формується із суми балів, передбачених за поточний та екзаменаційний контролі. Цю інформацію викладач доводить студентам на першому занятті з навчальної дисципліни.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова 1. Шпак З.Я. Програмування мовою С: Навч. посібник. – Львів: Вид-во Львівської політехніки, 2011. – 436 с. 2. Практичний курс програмування мовою С++: Навч. посібник. П.П.Зінченко та ін. – К.: НТУУ “КПІ”, 2008. – 216 с. 3. Петрович Р.Й., Тумашова О.В. Основи програмування мовою СІ: Навч. посібник. – Львів: Вид- во Національного ун-ту „Львівська політехніка”, 2005. – 116 с. 4. Щедріна О.І. Алгоритмізація та програмування процедур обробки інформації: Навч. посібник. – К.: КНЕУ, 2001. – 240 с. 5. Практичний курс програмування мовою С++: Навч. посібник. П.П.Зінченко та ін. – К.: НТУУ «КПІ», 2008. – 216 с. 6. Інструкції до лабораторних робіт. 7. Каленюк П.І., Клюйник І.І., Кравець І.Т., Гнатів Л.Б., Демків Л.І., Подун І.М. Основи програмування в середовищі С. Лекції та завдання до лабораторних робіт. – Львів, 2007, 100 с. 8. Гоблик Н. М., Гоблик В. В. МАТLАВ в інженерних розрахунках. Комп’ютерний практикум. – Львів: Видавництво Львівської політехніки, 2021. – 264 с. Допоміжна 1. Гордійчук М.І., Пістун Є.П. Числові методи і моделювання на ЕОМ. Навчальний посібник. – Івано-Франківськ: ІФНТУНГ, 2010. – 409 с. 2. Мельничук С.І., Кулинин Н.Л. Методи та алгоритми обчислень: Навчальний посібник. – Івано-Франківськ: Галицька академія, 2010. – 140 с. 3. Фельдман Л.П., Петренко А.І., Дмитрієва О.А. Чисельні методи в інформатиці. – К.: Видавнича група ВНV, 2006. – 480 с. 4. Коссак О., Тумашова О., Коссак О. Методи наближених обчислень: Навч. посіб. – Львів: Бак, 2003. – 168 с. 5. Новіков Л.О., Обшта А.Ф. Чисельні та наближені методи прикладної математики. – Львів, 1998. – 187 с. 6. Андруник В.А. Чисельні методи в комп’ютерних науках: навчальний посібник. Том 1. / Андруник В.А., Висоцька В.А., Пасічник В.В., Чирун Л.Б., Чирун Л.В. – Львів: Новий Світ-2000, 2017. – 470 с. 7. Андруник В.А., Висоцька В.А., Пасічник В.В., Чирун Л.Б., Чирун Л.В. Чисельні методи в комп‘ютерних науках: навчальний посібник. Том 2 за ред. В.В. Пасічника – Львів: Новий світ-2000, 2020. – 537 с.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).