![](/user_photo/2706_HbeT2.jpg)
- •Методичні вказівки
- •5.05010301 – Розробка програмного забезпечення
- •2.1 Основні форми представлення алгоритмів:
- •2.2 Блок-схеми
- •2.3 Основні структури алгоритмів
- •Лінійний алгоритм
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •Цикли з відомим числом повторень
- •Цикли з невідомим числом повторень
- •Вкладені цикли
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •5. Методичні вказівки
- •Приклад
- •5. Методичні вказівки
- •2. Введення даних організувати з клавіатури.
- •3. Висновок результатів для завдання організувати на монітор.
- •Практична робота № 6
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •2. Введення даних для завдань а і б організувати з клавіатури.
- •4. Висновок результатів для завдання а організувати у вигляді:
- •7. Контрольні питання
- •Практична робота № 7
- •3. Постановка завдання.
- •5. Методичні вказівки
- •2.3 Цикл типу do — while
- •2.4 Керуючі оператори в циклах
- •3. Постановка завдання.
- •5. Методичні вказівки
- •7. Контрольні питання
- •2.5 Області дії змінних
- •Приклад
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні запитання
- •2.5. Поиск в отсортированном массиве
- •3. Постановка завдання
- •5. Методичні вказівки
- •7. Контрольні питання
- •3. Постановка завдання
- •4. Варіанти завдань
- •5. Методичні вказівки
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 13
- •1. Мета роботи:
- •2. Теоретичні відомості
- •3. Постановка завдання
- •1. Використовуючи функції сформувати за допомогою дсч одновимірний масив і вивести його на друк.
- •2. Виконати обробку одновимірного масиву у відповідності з варіантом, використовуючи функції, результат вивести на друк.
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
- •2.3 Швидке сортування
- •Алгоритм
- •Швидкість
- •2.4 Модифіковані методи сортування
- •2.4.1 Метод Шелла
- •2.4.2 Швидке сортування
- •3. Постановна задачі
- •4. Варіанти
- •5. Методичні вказівки
- •Приклад
- •3. Постановка завдання
- •1. Ввести з клавіатури рядок символів і обробити її у відповідності зі своїм варіантом, використовуючи функції.
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 17
- •1. Мета роботи:
- •2. Теоретичні відомості
- •2.5. Численные методы решения уравнений
- •2.5.1. Метод итераций
- •2.5.2. Метод Ньютона
- •2.5.3. Метод половинного деления
- •3. Постановка завдання
- •1. Написати функцію з замовчує параметрами відповідно до варіанта, продемонструвати різні способи виклику функції: • з параметрами заданими явно, • з опущеними параметрами
- •4. Варіанти
- •5. Методичні вказівки
- •3. Постановка задачі
- •На цьому дереві можна визначити три методи упорядкування:
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 20
- •1. Мета роботи:
- •2. Короткі теоретичні відомості
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
2.5. Поиск в отсортированном массиве
В отсортированном массиве используется дихотомический (бинарный) поиск. При последовательном поиске требуется в среднем n/2 сравнений, где n – количество элементов в массиве. При дихотомическом поиске требуется не более m сравнений, если n- m-ая степень 2, если n не является степенью 2, то n<k=2m.
Массив делится пополам S:=(L+R)/ 2+1 и определяется в какой части массива находится нужный элемент Х. Так как массив упорядочен, то, если a[S]<X – искомый элемент находится в правой части массива, иначе – находится в левой части. Выбранную часть массива снова надо разделить пополам и т. д., до тех пор, пока границы отрезка L и R не станут равны.
1 |
3 |
8 |
10 |
11 |
15 |
19 |
21 |
23 |
37 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
L S R
int b;
cout << "\ nB =?"; cin >> b;
int l = 0, r = n-1, s;
do
{
s = (l + r) / 2;/ / середній елемент
if (a [s] <b) l = s +1;/ / перенести леую кордон
else r = s;/ / перенести праву межу
} while (l! = r);
if (a [l] == b) return l;
else return -1;
...
3. Постановка завдання
Завдання 10.1.
1) Сформувати масив з n елементів за допомогою датчика випадкових чисел (n задається користувачем з клавіатури).
2) Роздрукувати отриманий масив.
3) Виконати видалення зазначених елементів з масиву.
4) Вивести отриманий результат.
5) Виконати додавання зазначених елементів в масив.
6) Вивести отриманий результат.
7) Виконати перестановку елементів у масиві.
8) Вивести отриманий результат.
9) Виконати пошук вказаних в масиві елементів і підрахувати кількість порівнянь, необхідних для пошуку потрібного елемента.
10) Вивести отриманий результат.
11) Виконати сортування масиву зазначеним методом.
12) Вивести отриманий результат.
13) Виконати пошук вказаних елементів у відсортованому масиві і підрахувати кількість порівнянь, необхідних для пошуку потрібного елемента.
14) Вивести отриманий результат.
4. Варіанти
Таблиця 15 – Вихідні данні для завдання 10.1
Варіант |
Видалення |
Додавання |
Перестановка |
Пошук |
1 |
Максимальний елемент |
К елементів в початок масива |
Перевернути масив |
перший парний |
2 |
Мінімальний елемент |
К елементів в кінець масива |
Зрушити циклічно на M елементів вправо |
перший негативний |
3 |
Елемент с заданим номером |
N елементів, починая з номеру К |
Зрушити циклічно на M елементів вліво |
Елемент із заданим ключем (значенням) |
4 |
N елементів, починая з номера K |
Елемент з номером К |
Поміняти місцями елементи з парними і непарними номерами |
Елемент рівний середньому арифметичному елементів масиву |
5 |
Всі парні елементи |
К елементів в початок масива |
Парні елементи переставити в початок масиву, непарні - в кінець |
перший парний |
6 |
Всі елементи з парними індексами |
К елементів в кінець масива |
Поміняти місцями мінімальний і максимальний елементи |
перший негативний |
7 |
Всі непарні елементи |
N елементів, починая з номеру К |
Позитивні елементи переставити в початок масиву, негативні - в кінець |
Елемент із заданим ключем (значенням) |
8 |
Всі елементи з непарними індексами |
Елемент з номером К |
Перевернути масив |
Елемент рівний середньому арифметичному елементів масиву |
9 |
Всі елементи більше середнього арифметичного елементів масиву |
К елементів в початок масива |
Зрушити циклічно на M елементів вправо |
перший парний |
10 |
Максимальний елемент |
К елементів в кінець масива |
Зрушити циклічно на M елементів вліво |
перший негативний |
11 |
Мінімальний елемент |
N елементів, починая з номеру К |
Поміняти місцями елементи з парними і непарними номерами |
Елемент із заданим ключем (значенням) |
12 |
Елемент с заданим номером |
Елемент з номером К |
Парні елементи переставити в початок масиву, непарні - в кінець |
Елемент рівний середньому арифметичному елементів масиву |
13 |
N елементів, починая з номера K |
К елементів в початок масива |
Поміняти місцями мінімальний і максимальний елементи |
перший парний |
14 |
Всі парні елементи |
К елементів в кінець масива |
Позитивні елементи переставити в початок масиву, негативні - в кінець |
перший негативний |
15 |
Всі елементи з парними індексами |
N елементів, починая з номеру К |
Перевернути масив |
Елемент із заданим ключем (значенням) |
16 |
Всі непарні елементи |
Елемент з номером К |
Зрушити циклічно на M елементів вправо |
Елемент рівний середньому арифметичному елементів масиву |
17 |
Всі елементи з непарними індексами |
К елементів в початок масива |
Зрушити циклічно на M елементів вліво |
перший парний |
18 |
Всі елементи більше середнього арифметичного елементів масиву |
К елементів в кінець масива |
Поміняти місцями елементи з парними і непарними номерами |
перший негативний |
19 |
Максимальний елемент |
N елементів, починая з номеру К |
Парні елементи переставити в початок масиву, непарні - в кінець |
Елемент із заданим ключем (значенням) |
20 |
Мінімальний елемент |
Елемент з номером К |
Поміняти місцями мінімальний і максимальний елементи |
Елемент рівний середньому арифметичному елементів масиву |
21 |
Елемент с заданим номером |
К елементів в початок масива |
Позитивні елементи переставити в початок масиву, негативні - в кінець |
перший парний |
22 |
N елементів, починая з номера K |
К елементів в кінець масива |
Перевернути масив |
перший негативний |
23 |
Всі парні елементи |
N елементів, починая з номеру К |
Зрушити циклічно на M елементів вправо |
Елемент із заданим ключем (значенням) |
24 |
Всі елементи з парними індексами |
Елемент з номером К |
Зрушити циклічно на M елементів вліво |
Елемент рівний середньому арифметичному елементів масиву |
25 |
Всі непарні елементи |
К елементів в початок масива |
Поміняти місцями елементи з парними і непарними номерами |
перший парний |
Завдання 10.2
Дано масив A (N). Знайти:
Дана послідовність дійсних чисел. Вказати ті її елементи, які належать відрізку [c, d].
Дана послідовність цілих позитивних чисел. Знайти твір тільки тих чисел, які більше заданого числа М. Якщо таких немає, то видати повідомлення про це.
Послідовність складається з нулів та одиниць. Поставити в початок цієї послідовності нулі, а потім одиниці.
Дано дійсні числа. Серед них є позитивні і негативні. Замінити нулями ті числа, величини яких по модулю більше максимального числа ().
Дано дійсні числа. Знайти.
У послідовності дійсних чисел є тільки позитивні і негативні елементи. Обчислити добуток від'ємних елементів і твір позитивних елементів. Порівняти модуль з модулем, вказати яке з витвір по модулю більше.
Дан масив дійсних чисел. Серед них є рівні. Знайти перший максимальний елемент масиву і замінити його нулем.
Дана послідовність дійсних чисел. Вставити дійсне число b в неї так, щоб послідовність залишилася неубивающей.
Дано цілі додатні числа. Знайти серед них ті, які є квадратами деякого числа m.
Дана послідовність цілих позитивних чисел. Утворити нову послідовність, викинувши з вихідною ті члени, які дорівнюють.
Біля прилавка магазину вишикувалася черга з n покупців. Час обслуговування i-того покупця одно (i = 1, ..., n). Визначити час перебування-того покупця в черзі
Секретний замок для сейфа складається з 10 розташованих в ряд осередків, в які треба вставити гральні кубики. Але двері відкриваються тільки в тому випадку, коли в будь-яких трьох сусідніх осередках сума точок на передніх гранях кубиків дорівнює 10. (Гральний кубик має на кожній грані від 1 до 6 точок). Напишіть програму, яка розгадує код замка за умови, що два кубики вже вставлені в осередку.
У масиві цілих чисел з кількістю елементів n знайти найбільш часто зустрічається число. Якщо таких чисел декілька, то визначити найменше з них.
Кожен сонячний день равлик, що сидить на дереві, піднімається вгору на 2 см, а кожен похмурий день опускається вниз на 1 см. На початку спостереження равлик знаходилася в А см від землі на В-метровому дереві. Є 30-елементний масив, що містить відомості про те, чи був відповідний день спостереження похмурим або сонячним. Написати програму, що визначає місце розташування равлики до кінця дня спостереження.
Дан цілочисельний масив з кількістю елементів n. «Стисніть» масив, викинувши з нього кожен другий елемент. Примітка: додатковий масив не використовувати.
Заданий масив, що містить кілька нульових елементів. Стиснути його, викинувши ці елементи.
Заданий масив з кількістю елементів N. Сформуйте два масиви: у перший включите елементи вихідного масиву з парними номерами, а в другій - з непарними.
Дана послідовність чисел. Вказати пари чисел, таких, що.
Дано цілі числа. Найменший член цієї послідовності замінити цілою частиною середнього арифметичного всіх членів, інші члени залишити без зміни. Якщо в послідовності декілька найменших членів, то замінити останній по порядку.
Дано цілі числа. Потрібно помножити всі члени послідовності на квадрат її найменшого члена, якщо, і на квадрат її найбільшого члена, якщо.
Дано цілі числа і. Перетворити послідовність за правилом: якщо, то збільшити в 10 разів, інакше замінити нулем (i = 1, 2, ..., n).
Дано координати n точок на площині (n 30). Знайти номери пар точок, відстань між якими найбільше (вважати, що така пара єдина).
Дана послідовність з n різних цілих числі. Знайти суму її членів, розташованих між максимальним і мінімальним значеннями (у суму включити і обидва ці числа).
У одновимірному масиві всі негативні елементи перемістити в початок масиву, а решта - в кінець із збереженням порядку проходження. Додатковий масив використовувати не дозволяється.