четвер, 16 січня 2020 р.

АП тематика лекцій та ЛР

Тема 1. Основи алгоритмізації обчислювальних процесів (8 годин)


Лекція 1. Алгоритми і алгоритмізація.
Змістовне поняття алгоритму. Основні властивості алгоритмів. Приклади. Виконавець алгоритмів та його система команд. Правила побудови алгоритмів. Класифікація алгоритмів. Способи записів алгоритмів. Програми, компілятори, інтерпретатори. Практичні аспекти застосування алгоритмів. Поняття алгоритмізації. Процеси і етапи алгоритмізації. Декомпозиція та інтеграція. Приклади алгоритмізації на практиці. Об'єкт алгоритмізації.
Для самостійного вивчення (2 години): Архітектура сучасних ПК. Розвиток мов програмування. Подання цілих і дробових чисел в двійковій системі числення.

Література [1; 2; 16]
Контрольні запитання.

1.            Дайте визначення алгоритму та перелічите його властивості.
2.             Як можна визначити виконавця алгоритму та систему його команд?
3.            Перелічите правила побудови алгоритмів.
4.            Яки види алгоритмів ви можете визначити?
5.            В який спосіб можна записати алгоритм?
6.           Які позначки використовуються при запису блок-схем?
7.           Яким чином програма перетворюється в машинні коди?
8.           Дайте визначення алгоритмізації.
9.            Які процеси та  етапи алгоритмізації?
10.          В чому полягає декомпозиція?
11.          Коли застосовується інтеграція?
12.          Наведіть приклади алгоритму та алгоритмізації в повсякденному житті.
Запитання для самоконтролю по самостійно вивченому матеріалу: 
1.       Що таке система числення? Які типи систем числення ви знаєте?
2.        Яка система числення використовується для подання чисел у пам’яті комп’ютера? Чому?
3.         Охарактеризуйте архітектуру сучасних ПК.
4.        Назвіть основні етапи розвитку мов програмування.
Лекція 2. Принципи побудови алгоритму вирішення задач.Інформаційні системи й технології
Основні етапи розв’язування задач за допомогою комп’ютера. Сутність і види інформаційних систем (ІС)Властивості системи. Місія та основні задачі ІС. Компоненти та основні функції ІС. Етапи розвитку інформаційних систем. Поняття системного підходу. Етапи розвитку й класифікація інформаційних технологій. Класифікація автоматизованих інформаційних систем. Класифікація задач обробки інформації..
Для самостійного вивчення (2 години): Класифікація програмного забезпечення. Системні програми. Операційні системи та оболонки.
Література [1; 2; 16]
Контрольні запитання.

1.          Назвіть основні етапи розв’язування задач за допомогою комп’ютера.
2.          Що таке «припустима елементарна операція»?
3.          Як Ви можете визначити інформаційну систему, чим вона характеризується?
4.          Які основні характеристики інформаційної системи?
5.          В чому полягає місія та основні задачі інформаційної системи.?
6.          Які компоненти ІС і як вони приймають участь в обробці інформації?
7.          Які основні функції ІС?
8.          Назвіть етапи розвитку інформаційних систем.
9.          В чому полягає системний підхід?
10.        Назвіть етапи розвитку інформаційних технологій?
11.        Які типи ІС Ви знаєте?
Запитання для самоконтролю по самостійно вивченому матеріалу:
1.     Що таке програмне забезпечення?
2.     За якими ознаками можна класифікувати програмне забезпечення?
3.     Що забезпечують прикладні програми?
4.     Які функції виконують системні програми?
5.     Для чого використовуються сервісні програми?
6.     Що таке операційна система?
7.     Які сучасні операційні системи Ви знаєте?
8.     Що входить до функцій операційної системи?
Лекція 3. Алгоритми і структури данихІнформація і дані.
 Структура данихРівні описування/подання структур даних. Логічне структурування економічної інформації. Одиниці фізичної структури данихЛінійні структури даних. Нелінійні структури даних. Найпростіші стандартні та складені типи даних.
Для самостійного вивчення (2 години): Вивчення лекційного матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для самостійної роботи, запропонованих на лекції.
Література [1; 2; 15, 16]
Контрольні запитання.
1.    Надайте визначення інформації та даних.
3.    Поняття структури даних. Як вона характеризується?
4.    Класифікація структур даних у програмах користувача.
5.    Визначте рівні подання структур даних.
6.    Назвіть елементи логічної структури економічної інформації.
7.    Надайте визначення інформаційного масиву даних та інформаційного потоку.
8.    Окресліть взаємозв'язок між елементами логічної структури економічної інформації.
9.    Визначте одиниці фізичної структури даних.
10.  Наведіть приклади лінійних та нелінійних структур даних.
11.   Чим відрізняється стек від черги?
12.   Назвіть складені типи даних.  
Практична робота №1. Алгоритми і алгоритмізація. Принципи побудови алгоритму вирішення задач.
Контрольне завданняНакреслити блок-схему системи ведення звітності головного офісу мережі супермаркетів, яка щоденно збирає звіти про продаж товарів в своїх магазинах, виконує їх перевірку та накопичення, а  також формує зведений звіт про продажі.
Розгляд укрупненої блок-схеми, аналіз помилок контрольного завдання та проведення декомпозиції «блоку» (підсистеми) введення даних.
Контрольні запитання
1.     Поняття інформаційної моделі.
2.     Назвіть етапи вирішення прикладних задач  з використання ПК.
3.     Що ми розуміємо під поняттям “алгоритм?
4.     Які є способи опису алгоритмів?
5.     Поняття схеми алгоритму та правила її побудови.
6.     Які властивості повинен мати алгоритм?
7.     Які є три головні алгоритмічні конструкції?
8.     З чого складаються прості (лінійні) алгоритми?
9.     Який процес називається розгалуженим?
10.   Який процес називається циклічним?
11.   Види циклічних обчислювальних процесів, їх відмінність.
Лекція №4.  Побудова і аналіз алгоритмів. Методи розробки алгоритмів.
Формалізація алгоритмів. Покрокове проектування алгоритмів. Методи розробки алгоритмів. Низхідне проектування. Висхідний метод проектування. Аналіз алгоритму. Поняття складності та трудомісткості алгоритму. Процес створення алгоритму. Структурні принципи алгоритмізації. Цілі структурного програмування. Тестування алгоритму. Економічна інформація та її структура. Вимоги до економічної інформації.  Формалізація, алгоритмізація та автоматизована обробка економічної інформації. 
Для самостійного вивчення (2 години): Вивчення лекційного матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для самостійної роботи, запропонованих на лекції.
Література [1; 2; 10]
Контрольні запитання.

1.      Дати визначення етапів формалізації алгоритмів.
2.      Назвіть та охарактеризуйте найпоширеніші методи розробки алгоритмів.
3.      В чому полягає аналіз алгоритмів.
4.      Цілі структурного програмування.
5.      В чому полягає тестування алгоритму.
6.      Що розуміють під економічною інформацією і які особливості її оброблення?
7.     Чи потрібен змістовний опис для задач оброблення економічної інформації?
Практична робота №2. Основи алгоритмізації обчислювальних процесів. Тематичний контроль. Висновки та узагальнення.
Тема 2. Основні поняття та типи даних мови програмування С++
Лекція № 5.  Загальні поняття.  Елементи мови С++ - константи, змінні, операції, перетворення типів.
Короткі відомості про виникнення мови С++. Алфавіт, лексеми, синтаксис мови С++. Рекомендації щодо вибору ідентифікатора. Спеціальні символи. Структура програми. Рекомендації щодо використання коментарів. Основні вимоги при створенні програм. Типи даних. Змінні. Константи. Послідовності. Операції. Перетворення типів.
Для самостійного вивчення (2 години): Історія створення та розвитку мови С++. Сумісність та перетворення типів [3, с.53-56].
Література [3-9; 11-12]
Контрольні запитання.
1. Що включає в себе алфавіт мови С++?
2. Що таке лексеми, як вони складаються, що до них відносять?
3. Дайте визначення ідентифікатору, яким чином він утворюється?
4. Що називають ключовими словами?
5.  Які символи можуть бути роздільниками лексем?
6.  Які коментарі використовує мова C++? Надайте поради до їх створення, наведіть приклади.
7.   Що являє собою структура програми на C++? Наведіть основні вимоги, які слід ураховувати при створенні програм мовою C++.
8.   Які основні та складені типи даних має мова С++?
9.   Що таке змінна і як здійснюється її опис та визначення?
10.  Що таке «область дії ідентифікатора» та «клас пам’яті»?
11.  Які константи налічує С++? Охарактеризуйте їх застосування.
12.  Що таке пріоритет операції? Наведіть приклади арифметичних та логічних операцій.
13.  Які операції присвоювання та операції відношення налічує С++?
14.  Що реалізують логічні операції та операції обробки окремих бітів?
15.  Які операції над покажчиками та додаткові операції має С++?
Практична робота №3. Елементи мови С++
Завдання. Намалювати блок – схему рішення задач, наданих викладачем, та на мові С++ записати оголошення змінних, які будуть використовуватися в програмах. Записати мовою С++ вирази надані в завданнях.
Контрольні запитання
1.  Що таке ідентифікатор? Які правила запису ідентифікаторів?
2.  Що таке змінна? Для чого використовуються змінні? Яка відмінність змінної від константи?
3.   Які є форми запису дійсних чисел у мові С++?
4. Які прості типи даних мови С++ Ви знаєте? Які кваліфікатори можна до них застосовувати?
5.  Чому в програмах доцільно використовувати коментарі? Які є типи коментарів в С++?
6.   Опишіть коротко структуру програми мовою С++.
7.   Як здійснюється виведення на екран в мові С++?
8.   Що таке керуюча послідовність? Наведіть приклади цих послідовностей.
9.   Які операції в мові С++ Ви знаєте?
10.  Які є форми запису операцій інкременту та декременту? Яка між ними різниця?
11. Що таке пріоритет виконання операцій? Перерахуйте відомі Вам операції мови С++ в порядку зростання старшинства?
12.  Що таке бібліотека стандартних функцій? Для чого вони використовуються?
Лабораторна робота №1. Вступ до С++.
Мета: навчитися працювати в середовищі програмування С++ Builder в консольному режимі.
Лекція № 6. Поняття вхідного та вихідного потоку, найпростіші математичні функції.
Основи введення-виведення інформації. Введення та виведення даних в потоці. Форматоване введення / виведення. Операції, операнди, вирази. Старшинство операторів і порядок виконання операцій. Бібліотечні математичні функції та константи.
Для самостійного вивчення (2 години): Різновиди констант; складені присвоювання [3, с.30-53] . Вивчення лекційного матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для самостійної роботи, запропонованих на лекції.
Література [3-9; 11-12]
Контрольні запитання.
1.            Що представляють собою операції введення-виведення інформації?
2.            Як визначаються стандартні файли введення та виведення даних в потоці?
3.            Як здійснюється потокове введення / виведення даних?
4.           Яких правил потрібно дотримуватися при організації потокового введення даних?
5.            Що таке буфер і який його об‘єм?
6.            Які функції використовуються для форматованого введення / виведення даних?
7.            Які операції називаються арифметичними?
8.            Які дії виконує операція sizeof?
9.            Поясніть властивість лівобічного зв'язування.
10.       Який модуль необхідно підключити при виконанні математичних функцій?
Практична робота №4. Використання математичних функцій, введення – виведення даних.
Завдання.
1.Написати на мові С++ програму введення даних для розрахунку формул, наданих викладачем, а також виведення результатів. Використати потокове введення та виведення даних.
2.Після ознайомлення з теоретичною частиною написати оператори форматованого введення та виведення даних за завданням наданим викладачем.
Контрольні запитання
1. Для чого слугують заголовні файли?
2. Як компілятор шукає розташування заголовних файлів?
3. Які маніпулятори використовуються для завдання довжини поля, дробової частини числа?
4. Який заголовний файл використовується для маніпуляторів завдання довжини поля, дробової частини числа?


Лабораторна робота №2. Використання математичних функцій, введення даних для розрахунку та виведення результатів на консоль.

Лекція № 7. Структура програми. Операції порівняння, логічні операції.

Структура програми. Макровизначення. Директиви умовної компіляції. Зовнішні оголошення. Поняття функції. Операції порівняння. Логічні операції. Правила виконання логічних операцій. Логічні вирази. Тернарна операція.

Для самостійного вивчення (2 години): Вивчення лекційного матеріалу та додаткових джерел. Розгляд запитань і виконання завдань для самостійної роботи, запропонованих на лекції.
Література [1-4]
Контрольні запитання.
1.                 Визначте основні частини типової структури програми на С++.
2.                 Що таке макровизначення? Наведіть приклади.
3.                 Для чого використовується умовна компіляція?
4.                 Що може міститися в зовнішніх оголошеннях?
5.                 Надайте визначення функції.
6.                 Які значення може містити умова, що перевіряється?
7.                 Як визначається результат операція not?
8.                 Як визначається результат операція and?
9.                 Як визначається результат операція or?
10.            Поясніть, що представляє собою логічний вираз.
11.            Як визначається тернарна операція?
Практична робота №5. Тематичне опитування
Лабораторна робота №3. Використання математичних функцій, операції порівняння, логічні операції, форматоване виведення результатів на консоль.

Подальші лекції, практичні і лабораторні роботи розташовуються на платформі коледжу за адресою:
https://github.com/omc-college/PTBD21-algorithmization-programming

Теми рефератів
№пп
Тема
         1.
Парадігми і мови програмування. Історія створення С++.
      2.       
Програмне середовище розробника С++ Builder. Інтегроване  середовище розробки програм. Елементи інтерфейсу, налагодження параметрів.
      3.       
Програмне середовище розробника С++ Builder. Налагодження  програм, режими покрокового виконання, перегляд локальних  змінних.
      4.       
Функції в мові C++ (з прикладами використання)
      5.       
Історія розвитку ЕОМ та програмування як науки. Розвиток програмування в Україні.
      6.       
Методи тестування програмного продукту. Помилки, які виявляються в процесі налагодження програми.
      7.       
Методології розробки програм: низхідне, модульне та структурне проектування.
      8.       
Правила оформлення коду в С++
      9.       
Поняття програми, мови програмування. Типи мов програмування.
    10.   
Еволюція мов програмування та напрями розвитку мов програмування.
 

 

Немає коментарів:

Дописати коментар