SlideShare a Scribd company logo
Функції у С++
Функції користувача
Основні поняття
• Стандартні функції описані у бібліотеках.
• Функція користувача – це поіменована група
команд, яка оголошена у файлі заголовків
(або в основній програмі) та описана у модулі
( в основній програмі). До функції можна
звертатися (викликати) з будь-якого місця
програми необхідну кількість разів. Зазвичай
функції описують на початку програми, але
можна порушувати таку закономірність.
Тоді рекомендується оголошувати функції
Опис функцій користувача
Загальний вигляд:
Тип_значення назва_функції (список_формальних параметрів)
{
тіло_функцій;
return значення;
}
Назву функцій надає користувач за правилом створення
ідентифікаторів
Тип функцій – це тип змінної, яку функція повертає в основну
програму.
Увага! Якщо тип функцій не зазначати, за замовчуванням це
буде цілий тип. Функцію, яка не повертає у програму
жодного результату оголошують з типом void.
Приклади опису функцій
float Suma(int kil, float cina) //заголовок
{
float s=kil*cina;
return s; //значення, яке повертає функція
}
//---------------------------------------------
void dilennya (float v, float n)
{
cout<<“n dilennya=“<<v/n;
}
Приклади виклику функцій
Нехай заголовок функції
float perimeter (int k=4, float r=2.5)
До цієї функції можна звернутися одним із способів:
perimeter (7, 2.8); k=7, r=2.8
perimeter (8); k=8, r=2.5
perimeter (); k=4, r=2.5
Увага! Але у списку фактичних параметрів не можна
пропускати змінні з початку та середини списку, тобто не
можна викликати функцію так : perimeter (1.65);, оскільки
тут пропущено ініціалізацію першої змінної k
Приклади використання функцій
Написати функцію, що отримує
натуральне число, міняє порядок
цифр у цьому числі на протилежний
і повертає отриманий результат
#include<iostream>
using namespace std;
int Mir(int a)
{ int rez=0;
while(a>0)
{ rez=rez*10 +a%10;
a/=10;}
return rez; }
int main()
{int num;
cout<<“chislo: “;
cin>>num;
int rez=Mir(num);
cout<<”dzerkalo=”<<rez<<endl;
return 0;}
Написати функцію, що отримує ціле число, і якщо
число дорівнює 1, то повертає симвло “р”,
якщо -1 – символ “п”, в іншому випадку
виводить повідомлення про помилку й
повертає символ “0”
#include<iostream>
using namespace std;
char Test(int a)
{ switch (a)
{ case 1: return ‘p’;
case -1: return ‘n’;
default: cout<<“error!”;
return ‘0’;}
}
int main()
{int num;
cout<<“chislo: “; cin>>num;
cout<<”rezultat=”<<Test(num)<<endl;
retutn 0;}
Приклади використання функцій
Продовження
У наступній програмі використовується глобальна
змінна з ім'ям num. Кожна функція в програмі,
описана нижче від місця оголошення глобальної
змінної, може використати або змінити її значення
#include<iostream>
int num=1;
using namespace std;
void one (void)
{ cout<<“num u one=“<<num<<endl;
num++;}
void two (void)
{ cout<<“num u two=“<<num<<endl;
num++;}
int main()
{cout<<“num u main= “<<num<<endl;
num++;
one();
two();
return 0;}
Клацнути
Звертання до глобальної змінної, що має
однакове ім'я з локальною
#include<iostream>
int num=1;
using namespace std;
void show_num (int num)
{ cout<<“local num=“<<num<<endl;
cout<<“global num=“<<::num<<endl;}
int main()
{
int val=2;
show_num(val);
return 0;}
num u main= 1
num u one= 2
Num u two= 3
local num=2
global num=1
Завдання
1. Скласти програму для обчислення факторіала числа.
Знайдіть факторіали 4, 7, 10.
2. Запишіть функцію для обчислення добутку цілих чисел з
діапазону від а до в. знайдіть добуток чисел, діапазон
увести з клавіатури.
3. Обчислити суму перших п цілих додатних чисел.
4. Перевірте, чи є уведено число паліндромом. Наприклад,
12321, 2442 - паліндроми
Випадкові числа
Заголовковий файл <cstdlib> містить функцію
random(x), яка повертає випадкове ціле число в
діапазоні від 0 до х. Перед першим звертанням до
функції random(x) рекомендується викликати
функцію randomize(). Якщо цього не зробити, то
при кожному запуску програми будемо мати
однакову послідовність випадкових чисел.
Прототипи функцій
Загальний вигляд:
Тип_значення назва (типи параметрів через кому);
Наприклад:
…
float sred( float, float); //прототип функції (оголошення)
int main () //головна функція
{… float z=sred(x, y); …} // виклик функції
float sred( float a, float b) // функція, оголошена прототипом
{float c=(a+b)/2; return c;}
Перевантаження функцій
Приклад
Використовуючи перевантаження функцій, скласти
програму для упорядкування трьох уведених даних
або символьного, або цілого типу.
………………………….
void sort(int n1, int n2, int n3);
void sort(char n1, char n2, char n3);
int main()
{int i1, i2, i3,k;
char c1, c2, c3;
cout<<“uvedit 1 dlya simvoliv, 2
– dlya chiseln”; cin>>k;
if (k==1)
{ cout<<“3 simvoli: “;
cin>>c1>>c2>>c3;
sort( c1, c2, c3); }
if (k==2)
{ cout<<“3 chisla: “;
cin>>i1>>i2>>i3;
sort( i1, i2, i3);}
return 0;}
//--------------------------------
--------------
void sort(int n1, int n2, int n3)
{int c;
if (n1>n2) {c=n1; n1=n2; n2=c;}
if (n2>n3) {c=n2; n2=n3; n3=c;}
if (n1>n2) {c=n1; n1=n2; n2=c;}
cout<<n1<<“t”<<n2<<“t”<<n3;}
//--------------------------------
--------------
void sort(char n1, char n2, char
n3)
{char c;
if (n1>n2) {c=n1; n1=n2; n2=c;}
if (n2>n3) {c=n2; n2=n3; n3=c;}
if (n1>n2) {c=n1; n1=n2; n2=c;}
cout<<n1<<‘t’<<n2<<‘t’<<n3;}
Шаблони функцій
Приклад використання
Використовуючи шаблони функцій, скласти програму для
упорядкування трьох уведених даних або символьного,
або цілого типу.
///…………………………………………………………………………………….
// оголошення шаблона функції
template <class myType>
void sort(myType n1, myType n2,
myType n3);
int main()
{
int i1, i2, i3,k;
char c1, c2, c3;
cout<<“uvedit 1 dlya
simvoliv, 2 – dlya chiseln”;
cin>>k;
if (k==1)
{ cout<<“3 simvoli: “;
cin>>c1>>c2>>c3;
sort( c1, c2, c3); } //
виклик функції
if (k==2)
{ cout<<“3 chisla: “;
cin>>i1>>i2>>i3;
sort( i1, i2, i3);} // виклик функції
return 0;
}
//----------------------------------------------
// опис шаблона функцій
template <class myType>
void sort(myType n1, myType n2, myType n3);
{
myType c;
if (n1>n2) {c=n1; n1=n2; n2=c;}
if (n2>n3) {c=n2; n2=n3; n3=c;}
if (n1>n2) {c=n1; n1=n2; n2=c;}
cout<<n1<<“t”<<n2<<“t|<<n3;
}
Увага! У стандарті ISO/ANSI замість ключового слова
class прийнято и typename
Вбудовані функції
Приклад використання
…………………………………
// оголошення вбудованої
функції
inline float dob( int a);
int main()
{
int n=10; float D=1;
for (int k=1; k<=n; k++)
D*=dob(k);
cout<<“D= “<<D;
return 0;
}
//-------------------------------------
float dob(int a)
{
float d;
d=(5*a+2)/(a-15);
return d;
}
Результат виконання 28380.5
Запитання: Чи прискорює роботу
наведеної програми
використання вбудованої
функції?
Завдання
1. Використовуючи перевантаження функцій, складіть
програму для обчислення суми п'яти введених даних.
Дані можуть бути цілого або дійсного типу.
2. Напишіть програму для визначення об'єму циліндра, де
функція отримує, як параметри, радіус і висоту циліндра
(v=2πrh, π=3.141592)
3. Написати функцію, що повертає більше з двох цілих
чисел. Використовуючи цю функцію, написати програму
для знаходження більшого з трьох чисел

More Related Content

PPTX
+5 розгал в с++
PPTX
+3 проста математика
PPT
програмування на мові паскаль
PPTX
урок 19 цикли Складання програм
PPTX
урок 11 виведення значень мова Паскаль
PPTX
Pascal osnovu
+5 розгал в с++
+3 проста математика
програмування на мові паскаль
урок 19 цикли Складання програм
урок 11 виведення значень мова Паскаль
Pascal osnovu

What's hot (20)

PPT
урок 12 вирази мова Паскаль
PPTX
Основи мови Ci
PPTX
урок 15 умова паскаль
PPTX
урок 17 поліваріантне розгалуження
PDF
Coding for Future in Lutsk. JavaScript. Part 6
PPT
JavaScript. Lectures. part 1. basis
PPTX
базовI структури алгоритму урок 4
PPT
09 Static Polymorphism
PPTX
передача параметрів в функції
PDF
Базові алгоритмічні структури. Типи алгоритмів
PPT
Programuvanna na movi_pascal
PPT
04 Operators
PPTX
Урок 44. Цикл з післяумовою
PDF
Lecture 13 Local Optimization on Mobile Devices
PPT
лекції 4
PPT
08 Functions
PPTX
Урок 45. Складання циклічних алгоритмів опрацювання величин
PPTX
Урок 43. Цикл з передумовою
урок 12 вирази мова Паскаль
Основи мови Ci
урок 15 умова паскаль
урок 17 поліваріантне розгалуження
Coding for Future in Lutsk. JavaScript. Part 6
JavaScript. Lectures. part 1. basis
базовI структури алгоритму урок 4
09 Static Polymorphism
передача параметрів в функції
Базові алгоритмічні структури. Типи алгоритмів
Programuvanna na movi_pascal
04 Operators
Урок 44. Цикл з післяумовою
Lecture 13 Local Optimization on Mobile Devices
лекції 4
08 Functions
Урок 45. Складання циклічних алгоритмів опрацювання величин
Урок 43. Цикл з передумовою
Ad

Similar to Funkciji1 (20)

PPTX
Lecture 08 for distance courses "Fundamentals of Informatics"
PDF
Функції в C++
PPTX
тема 7
PPTX
Lecture 7.1 for distance courses "Fundamentals of Informatics"
PPTX
Lecture 03 for distance courses "Fundamentals of Informatics"
PPTX
Lecture 10 for distance courses "Fundamentals of Informatics"
PPT
02 Arithmetic Data Types
PPT
Масиви Структури даних (1).ppt
PPTX
Lecture 04 for distance courses "Fundamentals of Informatics"
PPTX
+1 вступ
PPT
First function
PPTX
Вказівники с++
PPTX
PPTX
типи данних мови С++
PPTX
рядки
Lecture 08 for distance courses "Fundamentals of Informatics"
Функції в C++
тема 7
Lecture 7.1 for distance courses "Fundamentals of Informatics"
Lecture 03 for distance courses "Fundamentals of Informatics"
Lecture 10 for distance courses "Fundamentals of Informatics"
02 Arithmetic Data Types
Масиви Структури даних (1).ppt
Lecture 04 for distance courses "Fundamentals of Informatics"
+1 вступ
First function
Вказівники с++
типи данних мови С++
рядки
Ad

Recently uploaded (16)

PPTX
ПРЕЗЕНТАЦІЯ-ВОГНЕВА-Тема 2 Основи та правила стрільби.pptx
PDF
Заняття 4. Інструменти критичного мислення під час прийняття рішень (AltA).
PDF
Інформація щодо фактичного використання бюджетних коштів в липні 2025 році
PPTX
Презентація 7 клас Урок 1. Комп'ютерні мережі
PPTX
Підсумки атестації випускників 2025 року
PPT
Підсумки атестації здобувачів другого (магістерського) рівня вищої освіти 20...
PDF
Заняття 1. Вимоги до управлінських рішень командира та їх класифікація
PDF
Заняття 1. Вимоги до управлінських рішень командира та їх класифікація
PPTX
З любов'ю до цілого світу (до 75-річчя від дня народження Василя Михайловича ...
PDF
Заняття 5. Методика прийняття рішень на основі APSP (Army Problem Solving Pro...
PPTX
ПРЕЗЕНТАЦІЯ-ПРАВОВА-Тема 01. Зан. 01.pptx
PDF
звіт директора за 2024-2025 Стр_Кут_ОЗЗСО
PDF
Заняття 2. Способи й методи прийняття раціональних управлінських рішень
PDF
Заняття 2. Способи й методи прийняття раціональних управлінських рішень.
PDF
Заняття 4. Інструменти критичного мислення під час прийняття рішень (AltA).
PPTX
Молодь – за майбутнє у Північноатлантичному альянсі
ПРЕЗЕНТАЦІЯ-ВОГНЕВА-Тема 2 Основи та правила стрільби.pptx
Заняття 4. Інструменти критичного мислення під час прийняття рішень (AltA).
Інформація щодо фактичного використання бюджетних коштів в липні 2025 році
Презентація 7 клас Урок 1. Комп'ютерні мережі
Підсумки атестації випускників 2025 року
Підсумки атестації здобувачів другого (магістерського) рівня вищої освіти 20...
Заняття 1. Вимоги до управлінських рішень командира та їх класифікація
Заняття 1. Вимоги до управлінських рішень командира та їх класифікація
З любов'ю до цілого світу (до 75-річчя від дня народження Василя Михайловича ...
Заняття 5. Методика прийняття рішень на основі APSP (Army Problem Solving Pro...
ПРЕЗЕНТАЦІЯ-ПРАВОВА-Тема 01. Зан. 01.pptx
звіт директора за 2024-2025 Стр_Кут_ОЗЗСО
Заняття 2. Способи й методи прийняття раціональних управлінських рішень
Заняття 2. Способи й методи прийняття раціональних управлінських рішень.
Заняття 4. Інструменти критичного мислення під час прийняття рішень (AltA).
Молодь – за майбутнє у Північноатлантичному альянсі

Funkciji1

  • 1. Функції у С++ Функції користувача
  • 2. Основні поняття • Стандартні функції описані у бібліотеках. • Функція користувача – це поіменована група команд, яка оголошена у файлі заголовків (або в основній програмі) та описана у модулі ( в основній програмі). До функції можна звертатися (викликати) з будь-якого місця програми необхідну кількість разів. Зазвичай функції описують на початку програми, але можна порушувати таку закономірність. Тоді рекомендується оголошувати функції
  • 3. Опис функцій користувача Загальний вигляд: Тип_значення назва_функції (список_формальних параметрів) { тіло_функцій; return значення; } Назву функцій надає користувач за правилом створення ідентифікаторів Тип функцій – це тип змінної, яку функція повертає в основну програму. Увага! Якщо тип функцій не зазначати, за замовчуванням це буде цілий тип. Функцію, яка не повертає у програму жодного результату оголошують з типом void.
  • 4. Приклади опису функцій float Suma(int kil, float cina) //заголовок { float s=kil*cina; return s; //значення, яке повертає функція } //--------------------------------------------- void dilennya (float v, float n) { cout<<“n dilennya=“<<v/n; }
  • 5. Приклади виклику функцій Нехай заголовок функції float perimeter (int k=4, float r=2.5) До цієї функції можна звернутися одним із способів: perimeter (7, 2.8); k=7, r=2.8 perimeter (8); k=8, r=2.5 perimeter (); k=4, r=2.5 Увага! Але у списку фактичних параметрів не можна пропускати змінні з початку та середини списку, тобто не можна викликати функцію так : perimeter (1.65);, оскільки тут пропущено ініціалізацію першої змінної k
  • 6. Приклади використання функцій Написати функцію, що отримує натуральне число, міняє порядок цифр у цьому числі на протилежний і повертає отриманий результат #include<iostream> using namespace std; int Mir(int a) { int rez=0; while(a>0) { rez=rez*10 +a%10; a/=10;} return rez; } int main() {int num; cout<<“chislo: “; cin>>num; int rez=Mir(num); cout<<”dzerkalo=”<<rez<<endl; return 0;} Написати функцію, що отримує ціле число, і якщо число дорівнює 1, то повертає симвло “р”, якщо -1 – символ “п”, в іншому випадку виводить повідомлення про помилку й повертає символ “0” #include<iostream> using namespace std; char Test(int a) { switch (a) { case 1: return ‘p’; case -1: return ‘n’; default: cout<<“error!”; return ‘0’;} } int main() {int num; cout<<“chislo: “; cin>>num; cout<<”rezultat=”<<Test(num)<<endl; retutn 0;}
  • 7. Приклади використання функцій Продовження У наступній програмі використовується глобальна змінна з ім'ям num. Кожна функція в програмі, описана нижче від місця оголошення глобальної змінної, може використати або змінити її значення #include<iostream> int num=1; using namespace std; void one (void) { cout<<“num u one=“<<num<<endl; num++;} void two (void) { cout<<“num u two=“<<num<<endl; num++;} int main() {cout<<“num u main= “<<num<<endl; num++; one(); two(); return 0;} Клацнути Звертання до глобальної змінної, що має однакове ім'я з локальною #include<iostream> int num=1; using namespace std; void show_num (int num) { cout<<“local num=“<<num<<endl; cout<<“global num=“<<::num<<endl;} int main() { int val=2; show_num(val); return 0;} num u main= 1 num u one= 2 Num u two= 3 local num=2 global num=1
  • 8. Завдання 1. Скласти програму для обчислення факторіала числа. Знайдіть факторіали 4, 7, 10. 2. Запишіть функцію для обчислення добутку цілих чисел з діапазону від а до в. знайдіть добуток чисел, діапазон увести з клавіатури. 3. Обчислити суму перших п цілих додатних чисел. 4. Перевірте, чи є уведено число паліндромом. Наприклад, 12321, 2442 - паліндроми
  • 9. Випадкові числа Заголовковий файл <cstdlib> містить функцію random(x), яка повертає випадкове ціле число в діапазоні від 0 до х. Перед першим звертанням до функції random(x) рекомендується викликати функцію randomize(). Якщо цього не зробити, то при кожному запуску програми будемо мати однакову послідовність випадкових чисел.
  • 10. Прототипи функцій Загальний вигляд: Тип_значення назва (типи параметрів через кому); Наприклад: … float sred( float, float); //прототип функції (оголошення) int main () //головна функція {… float z=sred(x, y); …} // виклик функції float sred( float a, float b) // функція, оголошена прототипом {float c=(a+b)/2; return c;}
  • 11. Перевантаження функцій Приклад Використовуючи перевантаження функцій, скласти програму для упорядкування трьох уведених даних або символьного, або цілого типу. …………………………. void sort(int n1, int n2, int n3); void sort(char n1, char n2, char n3); int main() {int i1, i2, i3,k; char c1, c2, c3; cout<<“uvedit 1 dlya simvoliv, 2 – dlya chiseln”; cin>>k; if (k==1) { cout<<“3 simvoli: “; cin>>c1>>c2>>c3; sort( c1, c2, c3); } if (k==2) { cout<<“3 chisla: “; cin>>i1>>i2>>i3; sort( i1, i2, i3);} return 0;} //-------------------------------- -------------- void sort(int n1, int n2, int n3) {int c; if (n1>n2) {c=n1; n1=n2; n2=c;} if (n2>n3) {c=n2; n2=n3; n3=c;} if (n1>n2) {c=n1; n1=n2; n2=c;} cout<<n1<<“t”<<n2<<“t”<<n3;} //-------------------------------- -------------- void sort(char n1, char n2, char n3) {char c; if (n1>n2) {c=n1; n1=n2; n2=c;} if (n2>n3) {c=n2; n2=n3; n3=c;} if (n1>n2) {c=n1; n1=n2; n2=c;} cout<<n1<<‘t’<<n2<<‘t’<<n3;}
  • 12. Шаблони функцій Приклад використання Використовуючи шаблони функцій, скласти програму для упорядкування трьох уведених даних або символьного, або цілого типу. ///……………………………………………………………………………………. // оголошення шаблона функції template <class myType> void sort(myType n1, myType n2, myType n3); int main() { int i1, i2, i3,k; char c1, c2, c3; cout<<“uvedit 1 dlya simvoliv, 2 – dlya chiseln”; cin>>k; if (k==1) { cout<<“3 simvoli: “; cin>>c1>>c2>>c3; sort( c1, c2, c3); } // виклик функції if (k==2) { cout<<“3 chisla: “; cin>>i1>>i2>>i3; sort( i1, i2, i3);} // виклик функції return 0; } //---------------------------------------------- // опис шаблона функцій template <class myType> void sort(myType n1, myType n2, myType n3); { myType c; if (n1>n2) {c=n1; n1=n2; n2=c;} if (n2>n3) {c=n2; n2=n3; n3=c;} if (n1>n2) {c=n1; n1=n2; n2=c;} cout<<n1<<“t”<<n2<<“t|<<n3; } Увага! У стандарті ISO/ANSI замість ключового слова class прийнято и typename
  • 13. Вбудовані функції Приклад використання ………………………………… // оголошення вбудованої функції inline float dob( int a); int main() { int n=10; float D=1; for (int k=1; k<=n; k++) D*=dob(k); cout<<“D= “<<D; return 0; } //------------------------------------- float dob(int a) { float d; d=(5*a+2)/(a-15); return d; } Результат виконання 28380.5 Запитання: Чи прискорює роботу наведеної програми використання вбудованої функції?
  • 14. Завдання 1. Використовуючи перевантаження функцій, складіть програму для обчислення суми п'яти введених даних. Дані можуть бути цілого або дійсного типу. 2. Напишіть програму для визначення об'єму циліндра, де функція отримує, як параметри, радіус і висоту циліндра (v=2πrh, π=3.141592) 3. Написати функцію, що повертає більше з двох цілих чисел. Використовуючи цю функцію, написати програму для знаходження більшого з трьох чисел