PI_metod
.pdfВаріант №14.
У масиві цілих чисел Х[N] знайти число, котре повторюється у масиві максимальну кількість разів. Якщо таких чисел декілька, то перше з них.
Варіант №15.
Заданий масив містить нульові елементи, котрі розділяють масив на підмасиви. Підрахувати суму елементів для кожного з підмасивів і вивести користувачу результат у форматі: {елементи підмасиву1}, сума1=число; { елементи підмасиву 2}, сума=число…
Варіант №16.
Усі елементи цілочисельного масиву A[N] знаходяться у діапазоні від 100 до 999. Знайти те число, сума складових котрого максимальна. Наприклад: {792, 108, 115, 199}, результат = 199.
Варіант №17.
У цілочисельному масиві X[N] визначити елементи, у десятковому представленні котрих більше за все нульових елементів.
Варіант №18.
У цілочисельному масиві A[N] кожен елемент замінить кількістю одиниць у його двійковому представленні.
Варіант №19.
У цілочисельному масиві Х[N] визначити елементи, у двійковому представленні котрих максимальне число нулів.
Варіант №20.
Заданий масив дійсних чисел A[N]. Визначити: скільки трикутників можна побудувати з трійок елементів масиву, що стоять одне за одним. Типи отриманих трикутників (довільний, прямокутний, рівнобедрений,
41
рівносторонній). Наприклад: {1,2,4,8,7,2}, перевіряємо трикутники: а=1, b=2, c=4; a=2, b=4, c=8; a=4, b=8, c=7; a=8, b=7, c=2.
Варіант №21.
У заданому масиві Х[N] кожне позитивне число замінити числом, у котрого у двійковому представленні протилежний порядок складових нулів та одиниць.
Варіант №22.
Заданий цілочисельний масив А[N]. Знайти у масиві усі числа, котрі є мірою заданого числа Х. Помножити такі числа на число Y. Вивести результуючий масив.
Варіант №23.
У заданому масиві X[N] знайти усі серії негативних елементів, які містять рівно 3 елементи. Вивести кількість таких серій.
Варіант №24.
У цілочисельному масиві A[N] кожен елемент замінить кількістю чисел х у його десятковому представленні. Значення числа х вводить користувач.
Варіант №25.
Після кожного парного елемента масиву A[N] вставити два елемента з таким самим значенням.
Приклад: масив 7 2 6 5 4 4 10 3 9
Парні елементи 2 6 4 4 10
Масив після вставки: 7 2 2 2 6 6 6 5 4 4 4 4 4 4 10 10 10 3 9
42
Зміст звіту.
1.Варіант-завдання.
2.Блок-схема алгоритму для вирішення завдання з використанням прапорів та/або лічильників.
3.Модифікована блок-схема алгоритму для вирішення завдання з використанням функцій.
4.Ручник прорахунок роботи алгоритму з використанням функцій.
Контрольні питання.
1.У яких ситуаціях використовують прапори при розробці алгоритмів?
2.Для чого використовують функції?
3.Яким блоком означають функції у блок-схемі основної програми?
4.Які існують способи передачі даних до функції?
43
Лабораторна робота №5
«Тестування програм»
Завдання.
1.Для блок-схеми, яку розроблено у лабораторній роботі 4 (частина 1), написати програму на мові програмування С (С++). Відкомпілювати програму (зробити файл для запуску).
2.Обмінятися програмами з іншим студентом групи, призначеним викладачем.
3.Побудувати блок-схему за кодом програми одногрупника.
4.Скласти тести для отриманої від одногрупника програми.
Вимоги до тестів.
1.При складанні тестів за методом еквівалентного розбиття необхідно записати вхідні умови, правильні класи еквівалентності та неправильні класи еквівалентності у вигляді таблиці (приклад у лекції).
2.При складанні тестів за методом аналізу межових значень потрібно вказати діапазон для кожної змінної, що аналізується, і записати по 5 тестів.
Таблиця результатів тестування.
Усі розроблені тести записати у загальну таблицю, провести тестування на заданих тестових даних і записати результати роботи програми. У випадку некоректної роботи програми за будь-яким набором вхідних потрібно давати коментарі-описи проблеми.
44
Приклад таблиці тестування. |
|
|
||
№ |
Метод |
Тестовий набір даних |
Результат |
|
|
складання |
|
тестування набору |
|
|
тестів |
|
|
|
1 |
Метод |
N=15 |
Вдало. |
|
|
еквівалентного |
|
|
|
|
розбиття |
N=-2 |
Невдало. Програма |
|
|
|
|
повідомляє |
про |
|
|
|
некоректну роботу |
|
|
|
|
з пам'яттю. |
|
|
|
А={0,1,0,1} |
Вдало. |
|
2 |
|
|
|
|
… |
… |
… |
… |
|
Приклад виконання.
Розглянемо хід виконання лабораторної роботи на прикладі наступної задачі: знайти у масиві заданих елементів суму усіх елементів, парних за значенням.
Метод еквівалентного розбиття та межових умов (методи “чорної скрині”).
45
1. Таблиця тестування |
|
|
|
|
№ |
Метод |
Тестовий набір даних |
Результат |
|
|
складання |
|
тестування набору |
|
|
тестів |
|
|
|
1 |
Метод |
N=5, N=8, N=32000 |
Вдало. |
|
|
еквівалентного |
|
|
|
|
розбиття |
N=-2, N=”str” |
Невдало. Програма |
|
|
|
|
повідомляє |
про |
|
|
|
некоректну роботу |
|
|
|
|
з пам'яттю. |
|
|
|
А={0,1,0,1} |
Вдало. |
|
2 |
Метод межових |
N=20, N=145, N=540; |
Вдало. |
|
|
умов |
N=1; |
|
|
|
|
|
|
|
|
|
N= 32767; |
|
|
46
N=1;
N=0;
N= 32768.
… … |
… |
Невдало. Програма повідомляє про некоректну роботу з пам'яттю.
…
Метод покриття операторів та переходів (методи “білої скрині”).
Вирішення квадратного рівняння.
47
2. |
Таблиця тестування |
|
|
№ |
Метод |
Тестовий набір даних |
Результат |
|
складання |
|
тестування набору |
|
тестів |
|
|
1 |
Метод |
a=1, b=1, c=2 |
1,2,3,4,5,8 |
|
покриття |
|
|
|
переходів |
a=1, b=6, c=2 |
1,2,3,4,6,7,8 |
2 |
Метод |
a=1, b=6, c=2 |
3,6 |
|
покриття |
|
|
|
операторів |
|
|
48
Рекомендації щодо модифікації програми.
Складаються у довільній формі та містять:
-загальний висновок за тестуванням (процент успішних тестів);
-опис проблемних місць програми;
-пропозиції по поліпшенню програми для досягнення 100% успішних тестів.
Зміст звіту.
1.Блок-схема програми, що тестується.
2.Набір тестів за методом еквівалентного розбиття та методу аналізу межових значень. Сумарно мінімум 10 тестових наборів.
3.Набір тестів за методом покриття операторів і методу покриття переходів. Сумарно мінімум 10 тестів.
4.Таблиця результатів тестування.
5.Рекомендації щодо модифікації програми.
Контрольні питання.
1.Дати визначення тестування.
2.Чим системне тестування відрізняється від модульного тестування?
3.Що таке навантажувальне тестування?
4.Що є в основі підходу «чорної скрині» для тестування програм?
49
5.Що таке клас еквівалентності?
6.Які методи «білої скрині» існують для тестування та які вони мають особливості?
50
