- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни Рекомендовано Міністерством освіти України
- •Алгоритмізація і програмування процедур обробки інформації Навчально-методичний посібник для самостійного вивчення дисципліни
- •Тема 1. Введення в теорію алгоритмів 6
- •Тема 2. Форми та засоби представлення алгоритмів 14
- •Тема 3. Алгоритмічні системи 23
- •Тема 4. Класифікація задач і процесів обробки інформації 44
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови 49
- •Тема 6. Алгоритми обробки соціально- економічної інформації 88
- •Тема 7. Визначення та короткий огляд мов програмування 123
- •Тема 8. Технологія програмування 133
- •Типова програма
- •Дисципліни «Алгоритмізація і програмування
- •Процедур обробки інформації»
- •Частина і
- •Тема 4. Класифікація задач і процесів обробки інформації
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови
- •Тема 6. Алгоритми обробки соціально-економічної інформації
- •Тема 7. Визначення та короткий огляд мов програмування
- •Тема 8. Технологія програмування
- •Навчально-методичне забезпечення
- •1.1. Методичні вказівки до вивчення теми
- •1.1.1. Визначення та властивості алгоритму
- •1.1.2. Алфавітні оператори
- •1.1.3. Характеристики алгоритму
- •1.2. Практичне заняття
- •1.3. Термінологічний словник
- •1.4. Завдання для перевірки знань
- •Тема 2. Форми та засоби представлення алгоритмів
- •2.1.1. Словесна форма
- •2.1.2. Словесно-формульна форма
- •2.1.3. Граф-схеми
- •2.1.4. Блок-схеми
- •2.1.5. Операторні схеми
- •2.1.6. Ніро-схеми
- •2.1.7. Таблиці рішень
- •2.2. Термінологічний словник
- •2.3. Практичні заняття
- •2.4. Задачі
- •3.1. Методичні вказівки до самостійного вивчення теми
- •3.1.1. Визначення алгоритмічної системи
- •3.1.2. Рекурсивні функції
- •3.1.3. Нормальні алгоритми Маркова
- •3.1.4. Машини Поста
- •3.1.5. Машини Тьюринга
- •3.1.6. Абстрактні автомати
- •3.1.7. Формальні граматики
- •3.1.8. Алгоритмічні основи еом
- •3.2. Термінологічний словник
- •3.3. Навчальні завдання
- •3.4. Завдання для перевірки знань
- •Тема 4. Класифікація задач і процесів обробки інформації
- •4.1. Методичні вказівки до самостійного вивчення теми
- •Науково-технічні задачі
- •Задачі обробки спискових структур
- •Задачі обробки символьної інформації
- •Інформаційно-пошукові задачі
- •Задачі моделювання та ділові ігри
- •Економічні задачі
- •4.2. Питання для перевірки знань
- •Тема 5. Типи алгоритмічних процесів та принципи їх побудови
- •5.1. Методичні вказівки до вивчення теми
- •5.1.1. Лінійні алгоритми (5.1)
- •5.1.2. Розгалужені алгоритми (5.2)
- •5.1.3. Прості циклічні процеси з параметром (5.5)
- •5.1.4. Ітераційні циклічні процеси ( 5.6 )
- •5.1.5. Складні циклічні процеси (5.7)
- •5.2. Термінологічний словник
- •5.3. Плани практичних занять
- •Запитання для перевірки знань
- •Запитання для перевірки знань
- •Приклади задач
- •Запитання для перевірки знань
- •Приклади задач
- •Запитання для перевірки знань
- •Приклади задач
- •Запитання для перевірки знань
- •5.4. Навчальні завдання Завдання до 1-го заняття
- •Завдання до 2-го заняття
- •Завдання до 3-го заняття
- •Завдання до 4-го заняття
- •Завдання до 5-го заняття
- •5.5. Завдання для перевірки знань
- •Тема 6. Алгоритми обробки соціально-економічної інформації
- •6.1. Методичні вказівки до вивчення теми
- •6.1.1. Створення та контроль наборів даних (6.1)
- •6.1.2. Коригування наборів даних (6.2)
- •6.1.3. Сортування наборів даних (6.3)
- •6.1.4. Розрахунки підсумків на основі окремого запису (6.4)
- •Список працюючих жінок
- •6.1.5. Розрахунки підсумків на основі всіх записів (6.5)
- •Про середню заробітну плату
- •6.1.6. Розрахунки проміжних підсумків на основі частини записів (6.6)
- •6.1.7. Обробка запитів з використанням довідників (6.7)
- •Список підприємств
- •6.1.8. Розрахунки підсумків на основі багатьох запитів з використанням декількох вхідних файлів (6.8)
- •6.2. Плани практичних занять Заняття 1.
- •Заняття 2
- •Запитання для перевірки знань
- •Наявна кількість матеріалу____________
- •Запитання для перевірки знань:
- •Поділ працівників за статтю
- •Поділ працівників за неперервним стажем роботи
- •Поділ заробітної плати за розрядами робіт
- •Списки робітників, молодших за 20 років
- •Запитання для перевірки знань:
- •Список підприємств, що замовили
- •Перелік матеріалів
- •Справка про попит / пропозицію на
- •Сума затрат на матеріали
- •Результат обліку матеріалів на складах
- •Перелік матеріалів на складах
- •6.3. Термінологічний словник
- •6.4. Навчальні завдання
- •Тема 7. Визначення та короткий огляд мов програмування
- •7.1. Методичні вказівки до самостійного вивчення теми
- •7.1.1. Визначення мови програмування
- •7.1.2. Вимоги до мов програмування
- •7.1.5. Програмні інтерфейси та інструментальні засоби розробки програмних продуктів
- •7.2. Термінологічний словник
- •7.3. Запитання для самоконтролю засвоєння теми
- •Тема 8. Технологія програмування
- •8.1. Методичні вказівки до самостійного вивчення теми
- •8.1.1. Способи розробки програм
- •8.1.2. Основні технологічні етапи розробки програм
- •8.1.4. Розробка проекту програми
- •8.1.5. Написання програми
- •8.1.6. Налагодження програми
- •8.1.8. Супроводження програми
- •8.2. Запитання для самоконтролю засвоєння теми
5.4. Навчальні завдання Завдання до 1-го заняття
Побудувати лінійні алгоритми перетворення інформації.
1. ;
2. ;
3. ;
4. ;
5. .
Побудувати розгалужені алгоритми
6.
7.
8.
Завдання до 2-го заняття
Побудувати циклічні процеси
1. Побудувати алгоритм обчислення найбільшого додатного числа n, яке задовольняє умову
2. Побудувати алгоритм обчислення значень функції
Результат представити у вигляді таблиці.
3. Побудувати алгоритм обчислення
4. Дано послідовність 6 цифр аbсdef. Чи може вона означати дату, тобто день, місяць і рік? Побудувати алгоритм розв’язання цієї задачі.
5. Дано натуральне число n < 10000. Побудувати алгоритм пошуку суми першої та останньої цифр числа.
6. Побудувати алгоритм обчислення визначеного інтегралу кроком n = 0,01:
а) в) .
Завдання до 3-го заняття
Побудувати алгоритм обробки одновимірних масивів.
1. Дано масив А = {аі}, і = 1 ... n. Створити два масиви — один із додатних елементів масиву А, другий — з від’ємних.
2 . Дано сукупність х = {хі}, і = 1 ... n значень деякої ознаки. — її середнє значення. Визначити середньоквадратичне відхилення ознаки х за формулою
.
3. Дано сукупність х = {хі}, і = 1, ..., n; значень деякої ознаки х, fі — вага і-ої ознаки. Визначити степеневе середнє зважене для степеня k за формулою
.
4. Дано два масиви А = {аі}, і = 1, 2 ... n; В = {bj}, j = 1, 2 ... m; n ≠ m. Побудувати масив С = {сk}, k = 1, 2 ... n + m; за правилом: а1, b1, а2, b2 ... Передбачити варіанти n > m та m > n.
Завдання до 4-го заняття
Побудувати складні циклічні алгоритми обробки двовимірних масивів
1. Дано матрицю A = {aij}, і = 1 ... m; j = 1 ... n; та вектор B = {bi}. Всі парні стовпчики матриці замінити вектором В.
2. Дано матрицю A = {aij}, і = 1 ... m; j = 1 ... n; знайти максимальний елемент матриці та видалити з неї рядок і стовпчик, на перетині яких він стоїть.
3. Визначити питому вагу додатних, нульових та від’ємних елементів матриці A = {aij}, і = 1, 2 ... n; j = 1, 2 ... m.
4. Дано квадратну матрицю. Знайти суму елементів, розташованих під головною діагоналлю.
Завдання до 5-го заняття
1. Розробити алгоритм використання методу дотичних для розв’язання трансцендентних та алгебраїчних рівнянь високих степенів.
2. Розробити алгоритм використання методу половинного ділення для розв’язання трансцендентних та алгебраїчних рівнянь високих степенів.
Побудувати алгоритм обчислення значень функції за допомогою розкладу її в ряд
3.
4.
5.5. Завдання для перевірки знань
Побудувати лінійні алгоритми
1.
2.
3. ;
4.
5.
6.
7.
8.
9. Побудувати алгоритм обчислення коренів системи рівнянь
10. Дано три точки на площині: А(х1, у1), В(х2, у2), С(х3, у3). Побудувати алгоритм пошуку центра ваги.
Побудувати розгалужені алгоритми.
11. Обчислити у:
12. Обчислити у:
13. Обчислити у:
14. Обчислити у:
Побудувати прості циклічні алгоритми
Задано натуральне число n < 100000. Побудувати алгоритм визначення його першої цифри.
Задано натуральне число n — рік народження. Побудувати алгоритм визначення, чи є цей рік високосним.
Задано натуральне число n < 1000. Побудувати алгоритм визначення, чи є різними всі цифри числа n.
Задано натуральне число n < 1000000, що є номером трамвайного квитка. Побудувати алгоритм визначення, чи є квиток «щасливим».
Задано натуральне число n < 10000. Побудувати алгоритм визначення, чи дорівнює перша його цифра останній.
Побудувати алгоритм обчислення значень функції:
для х = 1; 1,1; 1,2 ... 2,0.
21. Побудувати алгоритм обчислення значень функції
для х = 0,0; 0,1 ... 1,5.
22. Побудувати алгоритм обчислення визначеного інтегралу з кроком n = 0,01
.
23. Побудувати алгоритм обчислення визначеного інтегралу з кроком n = 0,1
.
24. Побудувати алгоритм обчислення визначеного інтегралу з кроком n = 0,01
.
25. Побудувати алгоритм обчислення визначеного інтегралу з кроком n = 0,01
.
26. Побудувати алгоритм обчислення визначеного інтегралу з кроком n = 0,01
.
Побудувати складні циклічні алгоритми.
27. Дано квадратну матрицю N · N. Сформувати та надрукувати вектор, елементами якого є суми елементів головної та неголовної діагоналей (попарні).
28. Обчислити суму мінімальних елементів усіх рядків матриці А = {аij}, i = 1, 2 ... n; j = 1, 2 ... m.
29. Замінити останній стовпчик квадратної матриці А = {аij}, i = 1, 2 ... n; j = 1, 2 ... n елементами її головної діагоналі.
30. Дана матриця A = {aij}, і, j = 1 ... 15. Створити вектор з її додатних елементів.
31. Знайти максимальний елемент у кожному рядку матриці А = {aij}, i = 1 ... m; j = 1 ... n; та його координати.
32. Знайти мінімальний елемент у кожному стовпчику квадратної матриці А = {aij}, i, j = 1 ... n та замінити ним відповідний елемент головної діагоналі.