Програмування та алгоритмічні мови

Тип: Нормативний

Кафедра: оптоелектроніки та інформаційних технологій

Навчальний план

СеместрКредитиЗвітність
24Іспит

Лекції

СеместрК-сть годинЛекторГрупа(и)
232доцент Рихлюк С. В.ФеM-11, ФеM-12

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
232ФеM-11Кашуба А. І.
ФеM-12Кашуба А. І.

Опис навчальної дисципліни

1. РІВЕНЬ СФОРМОВАНОСТІ ВМІНЬ ТА ЗНАНЬ
ВСТУП

Програма вивчення навчальної дисципліни “Програмування та алгоритмічні мови” складена відповідно до освітньо-професійної програми підготовки бакалаврів напряму 6.050802 Мікро- та нанолелектроніка. Предметом вивчення навчальної дисципліни є вивченні основ алгоритмізації та програмування на алгоритмічній мові, роботи в інтегрованих середовищах
програмування, методики розробки програм необхідних для розв’язання професійних задач. Міждисциплінарні звязки: Для вивчення дисципліни необхідні знання з таких дисциплін: вища математика, персональні комп’ютери. Знання отримані під час вивчення дисципліни будуть використовуватися при вивченні наступних дисциплін: “Моделювання в електроніці”, “Інженерна комп’ютерна графіка”, “Обчислювальна техніка і автоматизація фізичного експерименту”, “Мікропроцесорна техніка”, “Математична біофізика”. Програма навчальної дисципліни складається з таких змістових модулів: Обчислювальні алгоритми.  Основні елементи мови програмування.

Мета та завдання навчальної дисципліни
1.1. Метою викладання дисципліни “Програмування та алгоритмічні мови” є вивчення основних обчислювальних алгоритмів та отримання навичок розробки власних алгоритмів вирішення задач електроніки, вивчення основ мови програмування високого рівня та розробки програм, ознайомлення з основними методами наближених обчислень.
1.2. Основними завданнями вивчення дисципліни “Програмування та алгоритмічні мови” є забезпечити знайомство студента із основними алгоритмами розв’язування обчислювальних задач на персональних комп’ютерах та сформувати навички їх практичного використання. Розробка та відлагодження програм. Показником оволодіння студентом матеріалу курсу є вміння вибрати і обґрунтувати алгоритм розв’язування задачі, вказати область його застосування, скласти програму її розв’язування, виконати програму на персональному
комп’ютері і проаналізувати отримані результати.
1.3. Згідно з вимогами освітньо-професійної програми студенти повинні: знати: сучасні методи побудови та аналізу ефективних алгоритмів, принципи структурного програмування, основи мов програмування, основні структур даних. і вміння їх застосовувати під час програмної реалізації алгоритмів професійних завдань. вміти: реалізувати сучасні алгоритми в конкретних застосуваннях, вибрати і обґрунтувати алгоритми розв’язку задачі, розробити їх
програмну реалізацію. На вивчення навчальної дисципліни відводиться 144 години 4 кредити ЄКТС.

2. ІНФОРМАЦІЙНИЙ ОБСЯГ ДИСЦИПЛІНИ

2.1. ЛЕКЦІЙНИЙ КУРС

 

1. Вступ до курсу. Алгоритми. Основи, поняття та принципи побудови алгоритмів.

2. Мови програмування. Вступ до програмування. Основні мови. Класифікація мов програмування. Інтегровані середовища розробки.

3. Основи створення програм. Структура програми. Перша програма. Керуючі символи.

4. Типи даних. Явне і неявне перетворення типів даних. Таблиця ASCII. Кирилиця та специфічні символи в консолі.

5. Операції. Арифметичні операції. Операції присвоєння. Операції інкремента і декремента. Оператор вибору if. Оператор вибору if else. Логічні операції. Пріоритет операцій. Умовна операція (операція вибору). Оператор множинного вибору switch.

6. Введення та виведення даних. Форматований введення/виведення даних. Генератор випадкових величин 7. Цикли. Оператори break та continue.

8. Вказівники, масиви. Масиви. Динамічний масив. Вказівники (покажчики). Динамічне виділення пам’яті. Кваліфікатор const. Посилання. Літерали в програмуванні.

9. Символи і рядки. Вступ в роботу з рядками, основні функції для роботи з рядками і символами.

10. Структури. Робота з файлами. Способи оголошення та ініціалізації, приклади програм з використанням структур. Видалення, запис, зчитування та відкривання файлів.

11. Функції. Функції, локальні і глобальні змінні, рекурсія. Прототипи функцій. Перевантаження функцій. Аргументи функцій за замовчуванням. Вбудовані функції. Математичні функції. Параметри функції main. Передача рядків у функцію.

12. Змінні. Локальні і глобальні змінні. Рекурсія.

13. Вступ в об’єктноорієнтоване програмування. Класи. Конструктор і деструктор класів.
Директиви. Перевантаження операторів. Розробка інтерфейсів класів.

14. Шаблони та бібліотеки. Шаблони функцій. Шаблони класів. Стандартні
бібліотеки. Бібліотека шаблонів (STL). Робота з графікою.

2.2 ЛАБОРАТОРНІ ЗАНЯТТЯ

1. Основи алгоритмізації. Найпростіші агоритми.

2. Алгоритми розгалуженої структури. Для розв’язання алгебраїчних нерівностей.

3. Основи роботи в C++.

4. Основні операції. Керуючі символи. Типи даних.

5. Операції присвоєння. Операції інкремента і декремента.

6. Логічні операції та галуження в програмах. Вивчити логічні операції, оператори вибору та пороз¬рядні логічні операції.

7. Цикли.

8. Масиви, вказівники і посилання.

9. Символи і рядки.

10. Структури та робота з файлами.

11. Функції.

12. Потоковий ввід-вивід.

13. Шаблони.

14. Стандартна бібліотека шаблонів (STL).

15. Графічні користувацькі інтерфейси.

2.5. САМОСТІЙНА РОБОТА СТУДЕНТА

(денна форма навчання)

Для закріплення теоретичного матеріалу, підготовки до виконання лабораторних робіт студентам надається можливість користуватися бібліотеками Львівського національного університету імені Івана Франка, а також інтернетресурсами у відповідних кафедральних комп’ютерних класах. Студенти мають змогу отримати консультації з питань дисципліни в лектора та викладачів, які проводять лабораторні заняття.

Рекомендована література

ПЕРЕЛІК РЕКОМЕНДОВАНИХ ПІДРУЧНИКІВ, МЕТОДИЧНИХ ТА ДИДАКТИЧНИХ МАТЕРІАЛІВ

Базова:

1. Липпман С. Б., Лажойе Ж., Му Б. Э. Язык программирования С++. Базовый курс, 5-е изд. (С++11): Пер. с англ. – М.: Вильямс, 2014. – 1120 с.

2. Сиддхартха Рао Освой самостоятельно C++ за 21 день, 7-е изд. (C++11): М.: Вильямс, 2013. – 669 с.

3. Вступ до програмування мовою С++. Організація обчислень / Ю. А. Белов, Т. О. Карнаух, Ю. В. Коваль, А. Б. Ставровський. – К.: ВПЦ “Київський університет”, 2012. – 175 с.

4. Шлее М. Qt 4.8. Профессиональное программирование на C++. – СПб.: БХВПетербург, 2012. – 912 с. (+CD).

5. Прата С. Язык программирования C++. Лекции и упражнения, 6-е изд.: Пер. с англ. – М.: Вильямс, 2012. – 1248 с.

6. Дьюхерст С. С. C++. Священные знания. – Пер. с англ. – СПб.: Символ-Плюс, 2012. – 240 с.

7. Липпман С., Лажойе Ж. Язык программирования С++. Полное руководство, 3- е изд.: Пер. с англ. – СПб.: Невский диалект, М.: ДМК Пресс, 2011. – 1104 с.

8. Страуструп Б. Программирование: принципы и практика использования C++. Пер. с англ. – М.: Вильямс, 2011. – 1248 с.

9. Страуструп Б. Язык программирования C++. Специальное издание. Пер. с англ. – М.: Бином, 2011. – 1136 с.

10.Лафоре Р. Объектно-ориентированное программирование в C++, 4-е изд. – СПб.: Питер, 2011. – 928 с.

11.Седжвик Р. Алгоритмы на С++. Фундаментальные алгоритмы и структуры данных. – М.: Вильямс, 2011. – 1056 с.

12.Хортон А. Visual C++ 2010: полный курс.: Пер. с англ. – М.: Вильямс, 2011. – 1216 с. 13.Шилдт Г. С++: базовый курс, 3-е изд.: Пер. с англ. – М.: Вильямс, 2010. – 624 с. 14.Медведев В. И. Особенности объектно-ориентированного програмирования на C++/CLI, C# и Java. 2-е изд. – Казань: Школа, 2010. – 444 с. 7 7.

15. Дейтел Х.М., Дейтел П. Дж. Как программировать на C++, 5-е изд.: Пер. с англ. – М.: Бином-Пресс, 2008. – 1456 с. (+CD).

16. Глинський Я. М., Анохін В. Є., Ряжська В. А. С++ і С++ Builder. Навч. посібн. 3-тє вид. – Львів: СПД Глинський, 2006. – 192 с. 17. Шпак З. Я. Програмування мовою С. – Львів: Оріяна-Нова, 2006. – 432 с.

18. Литвиненко Н. А. Технология программирования на С++. Начальный курс.– СПб.: БХВ-Петербург, 2005. – 288 с.

19. Аляев Ю. А., Козлов О. А. Алгоритмизация и языки программирования Pascal, C++, Visual Basic: Учебно-справочное пособие. – М.: Финансы и статистика, 2002. – 320 с.

Допоміжна:

1. Гриффитс Д., Гриффитс Д. Изучаем программирование на С.: Пер. с англ. – М.: Эксмо, 2013. – 624 с.

2. Босуэлл Д., Фаучер Т. Читаемый код, или программирование как искусство. – СПб.: Питер, 2012. – 208 с.

3. Уильямс Э. Параллельное программирование на С++ в действии. Практика разработки многопоточных программ. – Пер. с англ. – М.: ДМК Пресс, 2012. – 672 с.

4. Саммерфилд М. Qt. Профессиональное программирование. Разработка кроссплатформенных приложений на С++. – Пер. с англ. – СПб.: Символ-Плюс, 2011. – 560 с.

5. Пахомов Б. И. C/C++ и MS Visual C++ 2010 для начинающих. – СПб.: БХВПетербург, 2011. – 736 с. (+DVD).

6. Мюссер Д. Р., Дердж Ж. Дж., Сейни А. С++ и STL: справочное руководство, 2-е изд.: Пер. с англ. – М.: Вильямс, 2010. – 432 с.

7. Шлее М. Qt4.5. Профессиональное программирование на С++. – СПб.: БХВ Петербург, 2010. – 896 с. (+DVD).

8. Архангельский А. Я. Программирование в С++Builder. 7-е изд. – М.: БиномПресс, 2010. – 596 с. ( c CD 1230 с.).

9. Федоренко Ю. П. Алгоритмы и программы на C++Builder. – М.: ДМК Пресс, 2010. – 544 с. (+CD) 10. Керниган Б. У., Ритчи Д. М. Язык программирования С, 2-е изд.: Пер. с англ. –
М.: Вильямс, 2009. – 304 с.

11. Пахомов Б. И. C/C++ и MS Visual C++ 2008 для начинающих. – СПб.: БХВПетербург, 2009. – 624 с. (+DVD).

12. Страуструп Б. Дизайн и эволюция C++. – СПб.: Питер, 2007. – 445 с.

13. Дэвис С. P. C++ для “чайников”, 5-е изд.: Пер. с англ. – М.: Вильямс, 2007. – 384 с. (+CD) (Найновіше видання: Davis S. R. C++ For Dummies®, 7th Edition, 2014 by John Wiley & Sons, Inc., Hoboken, New Jersey – 460 p.).

14. Липпман С. Б., Лажойе Ж., Му Б. Э. Язык программирования С++. Вводный курс, 4-е изд.: Пер. с англ. – М.: Вильямс, 2007. – 896 с.

15. Либерти Дж., Хорват Д. Освой самостоятельно C++ за 24 часа, 4-е изд.: Пер. с
англ. – М.: Вильямс, 2007. – 448 с. (+CD).

16. Стефенс Д. Р., Диггинс К., Турканис Д., Когсуэлл Д. С++. Сборник рецептов.: Пер. с англ. – М.: КУДИЦ-Пресс, 2007. – 624 с.

17. Архангельский А. Я., Тагин М. А. Программирование в C++Builder 6 и 2006. – М.: Бином-Пресс, 2007. – 1184 с. 88.

18. Лаптев В. В., Морозов А. В., Бокова А. В. C++. Объектно-ориентированное программирование. Задачи и упражнения. – СПб.: Питер, 2007. – 288 с.

19. Мозговой М. В. С++ мастер-класс. 85 нетривиальных проектов, решений и
задач. – СПб.: Наука и Техника, 2007. – 272 с.

20. Солтер Н. А., Клепер С. Дж. С++ для профессионалов.: Пер. с англ. – М.: Вильямс, 2006. – 912 с.

21. Мейерс С. Эффективное использование С++. 50 рекомендаций по улучшению
ваших программ и проектов.: Пер. с англ. – М.: ДМК Пресс; СПб.: Питер, 2006. – 240 с.

22. Якушев Д. М. “Философия” программирования на языке С++, 2-е изд.: Пер. с англ. – М.: Бук-пресс, 2006. – 320 с.

23. Шилдт Г. C++: руководство для начинающих, 2-е изд.: Пер. с англ. – М.: Вильямс, 2005. – 672 с.

24. Коплиен Дж. Мультипарадигменное проектирование для С++. Библиотека программиста. – СПб.: Питер, 2005. – 235 с. 25. Саттер Г. Новые сложные задачи на С++.: Пер. с англ. – М.: Вильямс, 2005. – 272 с.

Навчальна програма

Завантажити навчальну програму