Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практична робота № 5.docx
Скачиваний:
2
Добавлен:
10.09.2019
Размер:
25.75 Кб
Скачать

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 Зміст звіту

    1. Тема практичної роботи.

    2. Мета практичної роботи.

    3. Варіант.

    4. Завдання за варіантом.

    5. Блок-схема алгоритму роботи головної функції програми

    6. Текст програми на мові С++.

    7. Результати роботи програм.

    8. Відповіді на контрольні запитання.

    9. Висновок.