Professional Documents
Culture Documents
Return
Return
Теоретична частина
При цьому способі для звертання до функції достатньо написати її ім'я, а в дужках —
значення або перелік фактичних аргументів. Фактичні аргументи повинні бути записані в тій же
послідовності, що і формальні, і мати відповідний тип (крім аргументів за замовчуванням і
перевантажених функцій).
Якщо формальними аргументами функції є параметри-значення і в ній не
використовуються глобальні змінні, функція може передати у викликаючу її програму лише одне
значення, що записується в операторі return. Це значення передається в місце виклику функції.
Достроковий вихід з функції можна також організувати з використанням оператора return.
В останніх версіях мови С++ з'явилася можливість передавати дані за замовчуванням. У
цьому випадку при написанні функції всім аргументам або декільком з них присвоюються
початкові значення і задовольняються такі вимоги: коли якому-небудь аргументу присвоєно
значення за замовчуванням, то всі аргументи, що розташовані за ним (тобто записані праворуч),
повинні мати значення за замовчуванням. Таким чином, список параметрів поділяється на дві
частини: параметри, що не мають значення за замовчуванням, і параметри, що мають такі
значення.
У випадку виклику функції для параметрів, що не мають значень за замовчуванням,
обов'язково повинен бути фактичний аргумент, а для параметрів, що мають значення за
замовчуванням, фактичні аргументи можна опускати, коли ці значення не треба змінювати.
Якщо деякий параметр має значення за замовчуванням та для нього відсутній фактичний
аргумент, то і для всіх наступних (тобто записаних пізніше) параметрів фактичні аргументи
повинні бути відсутні, тобто їхні значення передаються до функції за замовчуванням, наприклад:
Якщо описується функція з масивом змінної довжини, то в заголовку вказується тип масиву
невизначеного розміру і обов'язково ще один параметр, за допомогою якого задається розмірність
масиву, наприклад:
Всі масиви у функції передаються за адресою (як покажчики), тому у випадку зміни
масивів у функції ці зміни зберігаються при поверненні у викликаючу функцію.
#include <iostream.h>
#include <conio.h>
using namespace std;
//------головна функція
void main()
{
int a[n], i, kol, smin = 0, smax = 0, minel, maxel;
for (int k = 1; k <= 3; k++)
{
cout << "Vvedite kolicestvo elementov " << k << " massiva " << endl;
cin >> kol;
smin += minel;
smax += maxel;
}
cout << "smin=" << smin << "\nsmax = " << smax;
cin >> i;
}
Порядок роботи.
1. Пройти інструктаж з техніки безпеки.
2. Включити комп’ютер.
3. Завантажити середу розробки MS Visual C++
4. Скласти та відладити програму за вказаним варіантом.
5. Зберегти результат роботи;
6. Оформити звіт з лабораторної роботи.
Варіанти завдань.
Дано 2 масиви з 20 цілих чисел. У першому записана кількість м'ячів, забитих футбольною
командою в грі, в другому – кількість пропущених м'ячів в цій же грі. Для введення результатів
ігор (заповнення масивів), визначення результатів гри (створення 3-го масиву) та виведення
результуючої таблиці на екран реалізувати відповідні функції користувача.
Варіант 1
Створити третій масив в якому зберігатиметься число очків набраних командою за кожну
гру (за виграш дається 3 очки, за нічию – 1, за програш - 0).
Результат роботи програми повинен бути представлений у вигляді:
1 гра: 2-0 | 3 очки
2 гра: 1-1 | 1 очко
...
20 гра: 0-1 | 0 очок
-----------------------------------------------
Всього набрано очків командою: 22
Варіант 2
Створити третій символьний масив в якому зберігатиметься буква-ознака закінчення матчу
(виграш – «В», нічия – «Н», поразка – «П»). Визначити кількість перемог, кількість нічиїх і
кількість поразок даної команди. Для кожної проведеної гри надрукувати словесний результат:
«виграш», «нічия» або «поразка».
Результат роботи програми повинен бути представлений у вигляді:
1 гра: 2-0 | виграш
2 гра: 1-1 | нічия
...
20 гра: 0-1 | поразка
-----------------------------------------
Загальна кількість перемог: 15
Загальна кількість нічиїх: 3
Загальна кількість поразок: 2
Варіант 3
Створити третій масив в якому зберігатиметься різниця забитих і пропущених м'ячів за гру
(забито-пропущено). Визначити в скількох іграх різниця забитих і пропущених м'ячів була
більшою або рівною 3.
Результат роботи програми повинен бути представлений у вигляді:
1 гра: 2-0 | різниця м'ячів: 2 | перемога 1-ї команди
2 гра: 1-1 | різниця м'ячів: 0| нічия
...
20 гра: 0-1 | різниця м'ячів: -1| перемога 2-ї команди
-----------------------------------------------------------------------------
Різниця забитих і пропущених м'ячів >=3 була в 5 іграх.
Додаткові завдання.
Дано 2 масиви з 20 цілих чисел. У першому записана кількість м'ячів, забитих футбольною
командою в грі, в другому – кількість пропущених м'ячів в цій же грі.
Створити третій масив у який помістити номера ігор, з яких складається найбільша
непереривна серія перемог команди. Виконати виведення початкових масивів та отриманого
масиву у зручному для перегляду вигляді.
Контрольні питання
1. Що таке функції? В чому сенс їх використання?
2. Як оформляються функції в мові C++?
3. Чи досить додати функцію в текст програми, щоб вона «спрацювала»?
4. Що таке параметри? Навіщо вони використовуються?
5. Які змінні називаються локальними? Де вони оголошуються?
6. Як оформляються функції, мають кілька параметрів?
7. Що таке змінні параметри? Навіщо вони використовуються?
8. Як у заголовку функції відрізнити змінюваний параметр від незмінного?
9. Як по тексту програми визначити значення, яке повертає функція?
10. Які функції називаються логічними? Навіщо вони потрібні?
11. Обов'язково логічна функція повинна повертати значення типу bool?
Рекомендована література
1. https://metanit.com/cpp/tutorial/3.1.php
2. https://metanit.com/cpp/tutorial/3.2.php
3. https://metanit.com/cpp/tutorial/3.3.php
4. https://metanit.com/cpp/tutorial/3.5.php
5. https://metanit.com/cpp/tutorial/3.7.php
6. https://metanit.com/cpp/tutorial/3.8.php
7. https://metanit.com/cpp/tutorial/3.9.php
8. https://www.youtube.com/watch?v=HFH65-sNQmI
9. https://www.youtube.com/watch?v=0QvNhSN_ivs
10. https://www.youtube.com/watch?v=CkHIsx5vcDA
11. https://www.youtube.com/watch?v=a8L1nu4EByI
12. https://www.youtube.com/watch?v=Y0g3cIkCKtw
Перевірка знань
https://forms.gle/5huy4pQSzKYFFVoWA