PI_metod
.pdf
|
|
+ |
|
|
|
|
|
|
|
|
16 |
7 |
Залишок (A[i]/2)=0) |
6 5 |
7 |
-3 |
4 |
2 |
8 |
9 |
14 |
|
|
+ |
|
|
|
|
|
|
|
|
17 |
7 |
Залишок (A[i]/2)=0) - |
7 5 |
7 |
-3 |
4 |
2 |
8 |
9 |
14 |
18 |
7 |
|
7 5 |
7 |
-3 |
4 |
2 |
8 |
9 |
14 |
Варіанти завдань.
Варіант №1.
У масиві заданої довжини N знайти серію нульових елементів і вивести користувачу індекс першого нульового елемента та загальну кількість елементів серії. (Серією прийнято називати послідовність, яка містить мінімум два елементи).
Варіант №2.
У масиві заданої довжини N прорахувати суму усіх ненегативних елементів, які стоять на парних місцях.
Варіант №3.
У заданому масиві знайти першу серію негативних елементів і замінити елементи цієї серії їх абсолютними значеннями, вивести користувачу кількість елементів в обробленій серії. (Серією прийнято називати послідовність, яка містить мінімум два елементи).
Варіант №4.
У заданому масиві замінить усі парні по значенню елементи нулями та розрахувати додаток усіх позитивних елементів вихідного масиву.
Варіант №5.
Перетворити вхідний масив, видаливши з нього усі негативні елементи. Видалення здійснювати шляхом зменшення довжини вхідного масиву та
31
перенесення наступних за тим елементом, що видаляється. Додатковий масив не використовувати.
Варіант №6.
Здійснити обробку масиву заданої довжини N: замінити усі непарні елементи дублями попередніх елементів парних елементів. Підрахувати загальну кількість замін. Наприклад: вхідний масив {2,5,6,7,4,-3,6,21,44,0,14,15,-8}, результат обробки {2,2,6,6,4,4,6,6,44,0,14,14,-8}.
Варіант №7.
Для елементів заданого масиву довжини N розрахувати: додаток усіх негативних елементів, кількість непарних елементів, кількість серії нульових елементів. (Серією прийнято називати послідовність, яка містить мінімум два елементи).
Варіант №8.
У заданому масиві поміняти місцями значення, що стоять на симетричних відносно центру місцях. Наприклад: вхідний масив {2,2,1,5,9,0,3,5,6,4,3,6,8},
масив-результат {8,6,3,4,6,5,3,0,9,5,1,2,2}.
Варіант №9.
Знайти у заданому масиві усі елементи, що задовольняють наступній умові: абсолютне значення елемента знаходиться у діапазоні [K,L]. Значення параметрів K, L вводить користувач. Для знайдених елементів вивести їх індекс у масиві та значення.
Варіант №10.
У масиві заданої довжини N знайти останню серію елементів, що повторюються. Вивести індекс ії першого елементу та загальну кількість
32
елементів серії. (Серією прийнято називати послідовність, яка містить мінімум два елементи).
Варіант №11.
Для заданого масиву підрахувати кількість серій впорядкованих по убуванню елементів. (Серією прийнято називати послідовність, яка містить мінімум два елементи). Наприклад: вхідний масив {2, -3, 5,3,1,0,7,8}, кількість серій=2,
самі серії: {2,-3}, {5,3,1,0}.
Варіант №12.
У заданому масиві підрахувати середнє арифметичне всіх елементів та здійснити перестановку (обмін місцями) елементів, що стоять на місцях place1 і place2. Значення змінних place1 і place2 вводить користувач.
Варіант №13.
Усі непарні елементи заданого масиву замінити нулями і вивести індекс першого негативного елементу масиву.
Варіант №14.
У заданому масиві знайти перше входження елементу зі значенням el, вивести індекс цього елементу та поміняти його місцями з останнім елементом масиву. Значення змінної el вводить користувач.
Варіант №15.
Умасиві знайти максимальний за значенням елемент, вивести його індекс, якщо таких елементів декілька, то вивести індекси усіх елементів.
Варіант №16.
Умасиві знайти мінімальний за значенням елемент, вивести його значення.
33
Зміст звіту.
5.Варіант завдання.
6.Блок-схема алгоритму рішення поставленої задачі.
7.Два набори вхідних даних (елементи масивів задати довільно, довжина масивів мінімум 12 елементів).
8.Ручний прорахунок роботи алгоритму для кожного з заданих наборів.
Контрольні питання.
1.Що таке масив?
2.Для чого потрібна індексація у масиві?
3.Дайте визначення N-мірного масиву.
34
Лабораторна робота №4.
«Прапори, лічильники та функції»
Завдання. Згідно варіанту завдання намалювати дві блок-схеми алгоритму рішення поставленої задачі (без використання функцій та зі структуруванням програми за допомогою функцій), виконати ручний прорахунок роботи алгоритму з використанням функцій для одного набору довільних вхідних даних (довжина масиву мінімум 12 елементів).
Хід роботи.
У ході даної лабораторної роботи треба: побудувати блок-схему алгоритму вирішення наданої задачі (по аналогії з лабораторною роботою №3, але з використанням прапорів та/або лічильників), модифікувати розроблену блоксхему, розбивши її мінімум на три функції (наприклад, функції вводу, обробки та виводу даних), привести ручний розрахунок роботи алгоритму для блок-схеми з використанням функцій.
Приклад виконання.
Опустимо першу частину завдання, яку треба виконувати по аналогії з лабораторною роботою №3.
Розробимо блок-схему алгоритму з використанням функцій для наступного завдання: підрахувати кількість трикутників, які можна побудувати із елементів масиву цілих чисел (аналізувати тільки числа, які розташовані послідовно, трійки чисел не перехрещуються). Наприклад, для масиву {7,9,- 1,8,6,5,10,0,8,3,2,7} треба розглянути наступні трійки: {7,9,-1}, {8,6,5}, {10,0,8}, {3,2,7}.
Для поставленого завдання можна виділити три наступні функції.
1. Введення вхідних даних.
35
2.Перевірка трійок на коректність (для виключення трійок, у яких є негативні або нульові елементи).
3.Перевірка чисел трійок на можливість побудови із них трикутників.
Визначимо, що масив вхідних даних та його довжина будуть глобальними змінними, таким чином, ми не будемо його передавати у якості параметру до розроблених функцій.
Блок-схеми виділених функцій можна представити у наступному вигляді.
Блок-схема для функції введення вхідних даних.
36
Блок-схема для функції перевірки існування трикутника.
Блок-схема для функції перевірки коректності трійок чисел.
37
Таким чином, загальну блок-схему програми можна записати у наступному вигляді.
Ручний прорахунок роботи алгоритму для масиву А={5,7,-3,4,5,8,9} можна записати у вигляді:
№ |
Оператор |
N |
i A[1] |
A[2] |
A[3] |
A[4] |
A[5] |
A[6] |
A[7] |
K |
кроку |
|
|
|
|
|
|
|
|
|
|
1 |
inputData() |
7 |
5 |
7 |
-3 |
4 |
5 |
8 |
9 |
|
2 |
K=0 |
7 |
5 |
7 |
-3 |
4 |
5 |
8 |
9 |
0 |
3 |
isOk(A[1],A[2],A[3]) |
7 |
1 5 |
7 |
-3 |
4 |
5 |
8 |
9 |
0 |
|
- |
|
|
|
|
|
|
|
|
|
4 |
isExistTriangle |
7 |
1 5 |
7 |
-3 |
4 |
5 |
8 |
9 |
0 |
|
(A[1],A[2],A[3]) |
|
|
|
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
|
|
5 |
isOk(A[4],A[5],A[6]) |
7 |
4 5 |
7 |
-3 |
4 |
5 |
8 |
9 |
0 |
|
+ |
|
|
|
|
|
|
|
|
|
6 |
isExistTriangle |
7 |
4 5 |
7 |
-3 |
4 |
5 |
8 |
9 |
0 |
|
(A[4],A[5],A[6]) |
|
|
|
|
|
|
|
|
|
|
+ |
|
|
|
|
|
|
|
|
|
7 |
K=K+1 |
7 |
4 5 |
7 |
-3 |
4 |
5 |
8 |
9 |
1 |
38
Варіанти завдань.
Варіант №1.
Розрахувати кількість пар однакових чисел у цілочисельному масиві довжини N. Тобто прорахувати усі числа, котрі зустрічаються рівно два рази. Приклад: {1,3,-4,4,-5,4,4,1,2,2,0}, результат – 2.
Варіант №2.
Зробити сортування по убуванню позитивних елементів заданого масиву без зміни місцеположення негативних елементів.
Варіант №3.
Замінить нулями елементи матриці А [N,N], що стоять у строках та у стовпцях, де є нульові елементи. Підказка: ввести додатковий одновимірний масив.
Варіант №4.
У масиві Х знайти найбільш довгу симетричну серію (серія, котру можна однаково прочитати в обидві сторони, приклади серій: {4,5,4}; {7,-1,2,- 1,7}. Вивести елементи серії у якості результату.
Варіант №5.
У квадратній матриці переставити елементи строк у зворотному порядку, не змінюючи положення елементів, розташованих на головній та другорядній діагоналях.
Варіант №6.
У масиві Х знайти найбільш коротку серію елементів, що чергуються по знаку. Вивести індекс першого її елементу.
Варіант №7.
39
Задано ціле число Х, знайти максимальне з чисел, яке входить до його складу. Приклад: число 98045, максимальне число у складі =9.
Варіант №8.
Масив Х[N] – впорядкований за зростанням масив Y[N]- впорядкований за убуванням. Сформувати масив Z з елементів масиву Х та Y, впорядковуючи їх за зростанням. Перегрупування елементів масиву Z не здійснювати.
Варіант №9.
У масиві А[N] визначити найменше позитивне число, котре повторюється рівно 3 рази.
Варіант №10.
Задано масив натуральних чисел Х. Замінить кожний елемент масиву числом, в якому порядок цифр зворотний початковому.
Варіант №11.
Визначити елементи масиву А[N], що мають максимальне середнє арифметичне складових чисел. Якщо таких чисел декілька – вивести перше з них. Розшифровка для елементу масиву = 246, середнє арифметичне складових чисел =4.
Варіант №12.
У масиві Х[N] перед кожним парним елементом вставити його подвійне значення. Буферний масив не використовувати.
Варіант №13.
У масиві цілих чисел А[N] є один нульовий елемент. Обміняти місцями підмасиви, які розташовано зліва й справа від нульового елементу.
40
