You are on page 1of 8

Зміст

Вступ........................................................................................................................3
1.Теоритична частина..............................................................................................4
1.1 Що таке масив? Якими властивостями його можна охарактеризувати?.....4
1.2 У чому полягає принцип "Розділяй і володарюй". Наведіть приклад його
використання.………………….………………………………………………….4
1.3 Основні недоліки оцінки О-якої складності програм...................................6
2. Практична частина..............................................................................................7
2.1 Заданий одномірний масив з n числами. Побудувати схему алгоритму (СА), який
повертає масив тих самих чисел,
але циклічно зсунутими вліво на k елементів (k<n)........................................7
2.2 Побудуйте схему алгоритму та визначте складність алгоритму знаходження
факторіала (відповідь пояснити).....................................................8
Вступ

Алгоритм – це точне розпорядження ,яке визначає обчислювальний


процес ,проводячий від змінюваних вихідних даних до шуканих результататів.
Схема Алгоритму - це представлення алгоритму розв'язування або аналізу задачі за
допомогою геометричних елементів (блоків), які позначають операції, потік, дані
тощо.
Мета роботи полягає в:
1. Покращення навичок у розробці алгоритмів і розширені теоретичних знань;
2. Набутті практичних навичок у побудуванні схеми алгоритмів;
3. Виявленні уміння застосовування отриманих знань;
1.Теоритична частина.
1.1Що таке масив? Якими властивостями його можна охарактеризувати?
Відповідь:

Масив — це впорядкований набір фіксованої кількості однотипних елементів, що


зберігаються в послідовно розташованих комірках оперативної пам'яті, мають
порядковий номер і спільне ім'я, що надає користувач.
Масив має такі характеристики як:

 Розмірність — кількість індексів елемента (одновимірний, двовимірний, ...,


багатовимірний)
 Розмір — загальна кількість елементів у масиві.
 За типом поділяється на числовий та символьний.
 В кожній мові є свої правила опису масив (у мові Бейсик — командою DIM
<список масивів>]]).

Перша специфічна властивість масивів полягає в тому,що визначення масиву


передбачає обов'язкове зазначення його розмірів. Зафіксувати розмір масиву можна
різними способами, однак це необхідно зробити безпосередньо в момент його
оголошення, в відповідному операторі оголошення.
Друга властивість масивів полягає в тому, що об'єкту типу масив неможливо
привласнити будь-якого іншого значення, навіть якщо це значення є масивом
аналогічного типу і розмірності, слід зауважити, що подібним чином поводиться і
константний покажчик.
1.2 У чому полягає принцип "Розділяй і володарюй". Наведіть приклад його
використання.
Відповідь:

"Розділяй та володарюй" — важлива парадигма розробки алгоритмів, що полягає


в рекурсивному розбитті розв'язуваної задачі на дві або більше підзадачі того ж типу,
але меншого розміру, і комбінуванні їх розв'язків для отримання відповіді до
вихідного завдання. Розбиття виконуються доти, поки всі підзавдання не стануть
елементарними.
Типовий приклад — алгоритм сортування злиттям, Щоб відсортувати масив чисел за
зростанням, його розбивають на дві рівні частини; кожну сортують, потім відсортовані
частини зливають в одну. Ця процедура застосовується до кожної з частин доти, поки
сортовані частини масиву містять хоча б два елементи (щоб можна було її розбити на
дві частини).
1.3 Основні недоліки оцінки О-якої складності програм.
Відповідь:

Отримання O-оцінок може бути дуже складне,або неможливе.


Важко визначити складність в середньому.Зробити це важко через те ,що неможливo
передбачити умови роботи алгоритму.Алгоритм може використовуватися як фрагмент
великої, складної програми.Ефективність роботи операційної системи, або компоненти
компілятора істотно впливають на складність алгоритму.
O-оцінки не відображають тонких відомостей алгоритмів.
2.Практична частина
2.1 Заданий одномірний масив з n числами. Побудувати схему алгоритму (СА), який
повертає масив тих самих чисел, але циклічно зсунутими вліво на k елементів (k<n).
Змінні:
k - Кількість елементів в масиві.
M - Заданий одномірний масив.
n - Кількість елементів на яку відбувається зміщення.
Z - Одномірний масив зсунутий на n елементів вліво.
Оцінка складності алгоритму:
Складність цього алгоритм у O (N), тому що тіло циклу виконується N раз, і складність
тіла цього циклу дорівнює O (1).
2.2 Побудуйте схему алгоритму та визначте складність алгоритму знаходження
факторіала (відповідь пояснити)

N-кількість цифр.

Умова циклу - це відношення R≤N (R менше


або дорівнює N).

R-множник, значення якого змінюється від 1


до N (лічильник).
Добуток накопичується в змінної F, початкове
значення дорівнює 1.
Цикл закінчується, коли R = N + 1.
Приклад виконання:
Кро Операція N F R Умова
к
1 Введення N 3 - -
2 F:=1 1
3 R:=1 1
4 R<=N 1<=3,так
5 F:=F*R 1
6 R:=R+1 2
7 R<=N 2<=3,так
8 F:=F*R 2
9 R:=R+1 3
10 R<=N 3<=3,так
11 F:=F*R 6
12 R:=R+1 4
13 R<=N 4<=3,ні
14 Вивід F 6
15 Кінець

Оцінка складності алгоритму


Складність цього алгоритм у O (N), тому що тіло циклу виконується N раз, і складність
тіла цього циклу дорівнює O (1).

You might also like