- •До лабораторної роботи № 2
- •6.050102 “Комп’ютерна інженерія”
- •1. Мета роботи
- •2. Теоретичні відомості
- •2.1. Поняття алгоритму
- •2.2. Складність алгоритмів
- •2.3. Функція трудомісткості і система позначень
- •2.4. Класифікація алгоритмів на основі функції трудомісткості
- •2.5. Інша класифікація алгоритмів
- •2.6. Елементарні операції в процедурній мові високого рівня
- •2.7. Методика аналізу основних алгоритмічних конструкцій
- •2) Конструкція розгалуження.
- •2.8. Приклади аналізу трудомісткості алгоритмів
- •3. Порядок виконання роботи
- •4. Завдання на лабораторну роботу
- •4.1. Завдання
- •4.2. Вибір варіанту індивідуального завдання
- •4.3. Варіанти завдань
- •1. Мета роботи
- •6. Контрольні питання та завдання
- •Список літератури
3. Порядок виконання роботи
1. При підготовці до лабораторної роботи, необхідно засвоїти теоретичний матеріал по темі і підготуватись до контрольного опитування по розумінню питань даної тематики.
2. Згідно з індивідуальним завданням розробити алгоритм розв’язання задачі.
3. Підготувати програмну реалізацію розробленого алгоритму. Засобами вбудованого тексто-вого редактора інтегрованого середовища набрати текст підготовленої програми. Відкомпілювати, налагодити та виконати програму.
4. Протестувати програму згідно зі складеною системою тестів і, при потребі, відкоректувати текст програми. Проаналізувати отримані результати.
5. Написати контрольне опитування по темі.
6. Оформити звіт по роботі.
Без підготовкі до лабораторної роботи (програмної реалізації розробленого алгоритму) студент до роботи не допускається.
4. Завдання на лабораторну роботу
4.1. Завдання
Розробити алгоритм розв'язання задачі згідно з індивідуальним завданням. Визначити до якого класу (підкласу) належить цей алгоритм в залежності від тих факторів, що впливають на значення функції трудомісткості. Знайти функцію трудомісткості алгоритму, використовуючи методику аналізу основних алгоритмічних конструкцій та визначення набору "елементарних" операцій. Визначити часову складність алгоритму для великих розмірів вхідних даних. Для її позначення використати нотацію Ландау (велике O). Навести назву асимптотичного класу ефективності алгоритму. Пояснити, як збільшиться час роботи алгоритму при подвоєнні розміру задачі. Побудувати графік функції трудомісткості для різних значень n.
4.2. Вибір варіанту індивідуального завдання
№ варіанта = [(день народження) + (ASCII–код першої літери прізвища – велика латинська літера) ] % 30 + 1
4.3. Варіанти завдань
1. Заданi два вектори дiйсних чисел х та у, кожен з яких має n елементiв. Сформувати третiй вектор, вибравши в нього спiльнi елементи векторiв х та у.
2. Заданi двi послiдовностi по n цiлих чисел в кожнiй. Знайти мiнiмальний елемент першої послiдовностi, який не входять у другу послiдовнiсть.
3. На площинi заданi n точок своїми координатами (x, y). Знайти координати двох точок, вiдстань мiж якими є максимальною.
4. Задана послiдовнiсть iз n дiйсних чисел. Знайти середнє арифметичне чисел цiєї послiдовностi, якi розмiщенi мiж максимальним та мiнiмальними числами, включаючи цих два числа.
5. Змiннiй k логiчного типу присвоїти значення true в тому випадку, якщо масив n цiлих чисел впорядкований по зростанню, i значення false в iншому випадку.
6. Заданi два вектори дiйсних чисел х та у, кожен з яких має n елементiв. Сформувати третiй вектор, вибравши в нього елементи вектора х, що не входять у вектор у.
7. Вiдсортувати по зростанню значень елементи списку дiйсних чисел шляхом пошуку мінімального елемента невідсортованого списку i запису його на початок відсортованого списку.
8. Заданi два вектори дiйсних чисел х та у, кожен з яких має n елементiв. Сформувати третiй вектор, вибравши в нього вiд'ємнi елементи обох векторiв.
9. Два масиви дiйсних чисел x та y впорядкованi по зростанню значень елементiв. Об'єднати цi масиви в один масив z так, щоб вони знову були впорядкованi по зростанню.
10. Елементи масиву x зсунути циклiчно на k позицiй влiво.
11. Елементи масиву з n дiйсних чисел записати у зворотньому порядку:
12. Продублювати всі непарні елементи заданої послідовності.
13. Визначити найбільше з непарних і кількість парних чисел, що входять у послідовність.
14. У заданій послідовності визначити кількість сусідств двох чисел різного знака.
15. Для кожного елемента визначити число входжень у задану послідовність.
16. Визначити всі елементи, що входять у дану послідовність по одному разі.
17. Визначити три найбільших елемента заданої послідовності.
18. Визначити всі елементи, що входять у дану послідовність більше одного разу.
19. Переписати послідовність таким чином, щоб спочатку були всі від'ємні числа, потім всі нулі, а потім всі додатні числа, зберігаючи порядок їх слідування (не використовувати додаткових масивів, всі перетворення виконувати в масиві А).
20. Визначити середнє арифметичне елементів послідовності, що знаходяться між найбільшим і найменшим значеннями масиву.
21. Обчислити суму тих елементів послідовності, номери яких співпадають зі значеннями цих елементів послідовності.
22. Перетворити послідовність дійсніх чисел за таким правилом :
перший елемент дорівнює першому елементові;
другий – max (A1 , A2);
третій – max (A1 , A2 , A3);
. . .
останній – max (A1 , A2 , … , AN).
23. Задана квадратна матриця цiлих чисел. Транспонувати цю матрицi (помiняти рядки зi стовпцями).
24. Задана квадратна матриця дiйсних чисел. Знайти середнє арифметичне додатнiх елементiв, якi знаходяться на головній дiагоналi.
25. Задана квадратна матриця дiйсних чисел n-го порядку. Знайти мiнiмальний елемент серед елементiв, якi знаходяться нижче головної дiагоналi.
26. Задана прямокутна матриця дiйсних чисел n * m елементiв. Елементи матрицi, якi потрапляють в iнтервал [а,b] записати в окремий вектор.
27. Знайти мiнiмальньнi елементи в кожному рядку прямокутної матрицi дiйсних чисел розмiром n * m i записати їх в окремий одномiрний масив.
28. Задана матриця дiйсних чисел розмiром n * m . Помiняти мiсцями мiнiмальний та максимальний елементи (вважати, що такi елементи єдинi).
29. Задана квадратна матриця дiйсних чисел n-го порядку. Знайти суму елементів матриці, що знаходяться вище головної дiагоналi.
30. Знайти найбільший парний елемент масиву.
5. ЗМІСТ ЗВІТУ
I. Оформити титульну сторінку звіту стандартного зразка, на якій обов’язково вказати номер лабораторної роботи, її назву та вибір номера варіанта.
II. В звіті мають бути відображені наступні пункти:
