2.5 Практична робота № 5. Створення програми за допомогою функцій
Тема: створення програми за допомогою функції.
Мета: оволодіти основні навичками роботи з функціями при написанні програм на мові програмування С++.
Обладнання та програмне забезпечення: персональний комп’ютер з встановленою операційною системою та компілятором мови програмування С++.
2.5.1 Короткі теоретичні відомості
Зі збільшення об’єму програм не можливо в пам’яті утримувати всі деталі. Щоб зменшити складність програми її розбивають на частини. У С++ задача може бути розділена на під задачі за допомогою функцій. Розділення задачі також дозволяє позбутися надлишку коду, так як функція записується один раз, а викликається багатократно.
Функція – це іменована послідовність описів і операторів, що виконують закінчену дію.
Будь-яка функція повинна бути оголошена і визначена.
Оголошення функції (прототип, заголовок) задає ім’я змінної, тип значення, повертається і список параметрів, що передаються.
Визначення функції включає, окрім оголошення, тіло функції.
2.5.2 Завдання на практичну роботи
Групове завдання. Навчальна група розбивається на підгрупи і виконують загальну програму. Для цієї програми кожен з учасників підгрупи повинен написати власну функцію для реалізації свого завдання за варіантом.
№ підгрупи |
№ варіанту |
№ завдання |
1 |
1 |
5 |
3 |
5 |
|
8 |
4 |
|
14 |
5 |
|
15 |
5 |
|
21 |
4 |
|
2 |
6 |
3 |
13 |
3 |
|
17 |
4 |
|
19 |
3 |
|
22 |
4 |
|
23 |
3 |
|
3 |
2 |
5 |
9 |
5 |
|
16 |
5 |
|
18 |
5 |
|
20 |
5 |
|
24 |
5 |
|
4 |
27 |
5 |
29 |
4 |
|
30 |
5 |
|
5 |
5 |
5 |
7 |
5 |
|
10 |
4 |
|
11 |
5 |
|
6 |
4 |
5 |
12 |
5 |
|
25 |
5 |
|
26 |
5 |
|
28 |
5 |
Задача № 1. Виконується для всіх варіантів наступним чином: з попередніх робіт оберіть будь-яку задачу. За допомогою необхідних функцій забезпечене діалог з користувачем для багаторазового використання програми.
Задача № 2. Виконується для всіх варіантів наступним чином: оберіть першу задачу з третьої або з четвертої практичної роботи. За допомогою необхідних функцій забезпечене діалог з користувачем для багаторазового використання програми.
№ варіанту |
№ завдання |
Умова |
1 |
3 |
N трикутників на площині задані координатами точок своїх вершин. Створити програму пошуку трикутника з найбільшою площею. Передбачте всі необхідні функції. Наприклад для пошуку площі трикутника. |
4 |
Написати рекурсивну функцію для знаходження добутку цифр числа. |
|
5 |
Перевести число з вісімкової системи числення у десяткову. |
|
2 |
3 |
Дано два речення. Визначити долю літери б (у %). Визначити всі необхідні функції. |
4 |
Написати рекурсивну функцію для знаходження суми цифр числа. |
|
5 |
Зашифрувати текст. Кожну літеру замінити на літеру алфавіту з відповідним зсувом. |
|
3 |
3 |
Дано два натуральних числа. Визначити в якому з них більше цифр. Визначити функцію для знаходження кількості цифр. |
4 |
Написати рекурсивну функцію для знаходження степені числа. |
|
5 |
Перевести число з двійкової системи числення у десяткову. |
|
4 |
3 |
Дано два натуральних числа. Визначити у якого з них більше дільників. Визначити функцію для знаходження кількості дільників. |
4 |
Написати рекурсивну функцію для знаходження факторіалу числа. |
|
5 |
Гра. З одного слова отримати інше засобом заміни тільки однієї букви за якомога меншу кількість ходів. |
|
5 |
3 |
Дано основи і висоти двух рівнобічних трапецій. Знайти суму всіх периметрів. Визначити функцію для розрахунку периметру рівнобічної трапеції за її основами і висоті. |
4 |
Написати рекурсивну функцію для знаходження n-го члена послідовності Фібоначчі. |
|
5 |
Відсортувати масив методом вставки. |
|
6 |
3 |
Знайти периметр трикутника, що заданий координатами своїх вершин. Визначити функцію для розрахунку довжини відрізка. |
4 |
Написати рекурсивну функцію для знаходження суми n членів послідовності Фібоначчі. |
|
5 |
Перевірити чи є введене число числом Мерсенна. |
|
7 |
3 |
Дано координати вершин п’ятикутника. Знайти площу п’ятикутника. Визначити функцію для розрахунку площі трикутника по координатам його вершин. |
4 |
Написати рекурсивну функцію пошуку цифрового кореня числа. |
|
5 |
Відсортувати масив методом пошуку перебором. |
|
8 |
3 |
Дано дві послідовності цілих чисел. Знайти кількість парних чисел в першій з них і кількість непарних у другій. Визначити функцію, що надає можливість розпізнавати парні і непарні числа. |
4 |
Перевести число з десяткової системи числення у вісімкову. |
|
5 |
Написати рекурсивну функцію підрахунку кількості цифр числа. |
|
9 |
3 |
Дана послідовність цілих чисел. Визначити функцію, що розпізнає точні квадрати і виводить їх на екран. |
4 |
Дано перший член і знаменник геометричної прогресії. Написати рекурсивну функцію для пошуку суми n членів прогресії. |
|
5 |
Зашифрувати текст. Кожну літеру замінити на цифру в алфавіті. |
|
10 |
3 |
Дана послідовність цілих чисел. Визначити функцію, що розпізнає прості числа і виводить їх на екран. |
4 |
Відсортувати масив методом бульбашки. |
|
5 |
Дано перший член і різницю арифметичної прогресії. Написати рекурсивну функцію для пошуку n-го члена прогресії. |
|
11 |
3 |
Дана послідовність цілих чисел. Визначити функцію, що розпізнає досконалі числа і виводить їх на екран. |
4 |
Написати рекурсивну функцію для пошуку максимального елементу масиву. |
|
5 |
Відсортувати масив методом знаходження найменшого елементу. |
|
12 |
3 |
Дана послідовність цілих чисел. Визначити функцію, що розпізнає числа Мерсенна і виводить їх на екран. |
4 |
Написати рекурсивну функцію для пошуку індексу максимального елементу масиву. |
|
5 |
Навчальна гра «Математика» - перевірка знань на арифметичні операції + та -. |
|
13 |
3 |
Перевірити чи є введене число простим. |
4 |
Дано слово. Визначити функцію, що перевіряє чи є це слово паліндромом. |
|
5 |
Написати рекурсивну функцію для виводи цифр числа в зворотному порядку. |
|
14 |
3 |
Дано шість різних чисел. Визначити максимальне з них. Визначити функцію, що знаходить максимальне серед двох чисел. |
4 |
Написати рекурсивну функцію переводу десяткового числа в двійкову систему числення. |
|
5 |
Перевести число з шіснадцяткової системи числення в десяткову. |
|
15 |
3 |
Дано два натуральних числа. Визначити в якому з них більша кількість цифр. Визначити функцію для підрахунку кількості цифр числа. |
4 |
Написати рекурсивну функцію, що знаходить добуток чисел А та В, що не використовує множення. |
|
5 |
Перевести число з десяткової системи числення в шістнадцяткову. |
|
16 |
3 |
Дано два натуральних числа. Визначити чи є серед них хоча б одне число паліндром. Визначити необхідну функцію. |
4 |
Дано перший член і знаменник геометричної прогресії. Написати рекурсивну функцію для пошуку n-го члена прогресії. |
|
5 |
Розшифрувати текс. Кожна літера була замінена на відповідний номер в алфавіті. |
|
17 |
3 |
Дана послідовність цілих чисел. Визначити функцію, що розпізнає числа Армстронга і виводить їх на екран. |
4 |
Перевірити чи є введене число паліндромом. |
|
5 |
Написати рекурсивну функцію переводу десяткового числа в вісімкову систему числення. |
|
18 |
3 |
Дата задана двома натуральним числами. Визначити дату попереднього дня. Визначити функцію для визначення кількості днів в місяці. |
4 |
Написати рекурсивну функцію знаходження мінімального елементу масиву. |
|
5 |
Розшифрувати текст. Сусідні літери в тексті були поміняні місцями. |
|
19 |
3 |
Перевірити чи є введене число досконалим. |
4 |
Дата задана двома натуральним числами. Визначити дату наступного дня. Визначити функцію для визначення кількості днів в місяці. |
|
5 |
Написати рекурсивну функцію переводу десяткового числа в шістнадцяткову систему числення. |
|
20 |
3 |
Дано дві послідовності. Знайти максимальне серед мінімальних цих послідовностей. Визначити функцію для пошуку мінімального елементу. |
4 |
Дано перший член і різницю арифметичної прогресії. Написати рекурсивну функцію для пошуку суми n членів прогресії. |
|
5 |
Розшифрувати текст. Кожну літеру замінили на літеру алфавіту з відповідним зсувом. |
|
21 |
3 |
Дано слово. Визначити чи це число. Визначити функцію, що розпізнає цифру. |
4 |
Написати рекурсивну функцію знаходження індексу мінімального елементу масиву. |
|
5 |
Перевести число з десяткової системи числення у двійкову. |
|
22 |
3 |
Дано два речення. Визначити, яке речення складається з більшої кількості слів. Визначити функцію для знаходження кількості слів. |
4 |
Перевірити чи є введене число числом Армстронга. |
|
5 |
Написати рекурсивну функцію пошуку суми чисел А та В, використовуючи лише додавання 1. |
|
23 |
3 |
Перевірити чи є введене число точним квадратом. |
4 |
Необхідно вирівняти речення. Вирівнювання заклечається в тому, що необхідно отримати задану довжину речення додаючи необхідну кількість пробілів. Кількість пробілів не повинна відрізнятися більше ніж на 1. Визначити функцію для вирівнювання речення. |
|
5 |
Написати рекурсивну функцію, що перевертає задане натуральне число. |
|
24 |
3 |
Дано символ. Визначити чи це цифра. Визначити функцію, що розпізнає цифру. |
4 |
Написати рекурсивну функцію знаходження НОД для двох чисел. |
|
5 |
Зашифрувати текст. Поміняти місцями сусідні літери. |
|
25 |
3 |
Дано два речення. Написати функцію, що видаляє з першого речення всі літери, що входять до другого. |
4 |
Написати рекурсивну функцію, що виводить текст, заданий користувачем у стовпчик. |
|
5 |
Гра «Холодно, тепло, гаряче». Користувач повинен відгадати число, що генерує комп’ютер. На кожен варіант комп’ютер виводить відповідне повідомлення. |
|
26 |
3 |
Дано два числа. Визначити чиє ці числа близнюками. Визначити функцію для розпізнавання простого числа. |
4 |
Написати рекурсивну функцію, що формує текст, заданий користувачем в зворотному порядку. |
|
5 |
Гра «Поле чудес». Слово для розгадування повинно вибиратися випадковим чином з десяти варіантів. |
|
27 |
3 |
Дано натуральне число. Перевірити для цього числа теорію Гольдбаха. Визначити функцію для розпізнавання простого числа. |
4 |
Написати рекурсивну функцію для знаходження добутку елементів масиву. |
|
5 |
Перевірити чи у слові всі різні літери. |
|
28 |
3 |
Дата задана трьома натуральним числами. Визначити дату наступного дня. Визначити функцію для визначення кількості днів в місяці. Рік може біти високосним. |
4 |
Написати рекурсивну функцію для пошуку перших n членів послідовності Фібоначчі. |
|
5 |
Навчальна гра «Граматика» - перевірка на правопис ряду слів, не менше 10. |
|
29 |
3 |
Дано дві послідовності. Знайти мінімальне серед максимальних цих послідовностей. Визначити функцію для пошуку максимального елементу. |
4 |
Перевірити чи є введений рядок числом. |
|
5 |
Написати рекурсивну функцію, що перевіряє чи є задане число простим. |
|
30 |
3 |
Дата задана трьома натуральним числами. Визначити дату наступного дня. Визначити функцію для визначення кількості днів в місяці. Прийняти, що рік не високосний. |
4 |
Написати рекурсивну функцію для знаходження добудку n членів послідовності Фібоначчі. |
|
5 |
Перевірити чи є слово паліндромом. |
2.5.3 Зміст звіту
Тема практичної роботи.
Мета практичної роботи.
Варіант.
Завдання за варіантом.
Блок-схема алгоритму роботи головної функції програми
Текст програми на мові С++.
Результати роботи програм.
Відповіді на контрольні запитання.
Висновок.