
- •Загальні положення
- •Розв’язання задач з простою змінною
- •1.1 Мета роботи
- •1.2 Методичні вказівки до організації самостійної роботи студентів
- •1.2.2 Структура програми
- •Використання оператора умовного переходу
- •If (а) оператор 1 ;
- •Оператори циклу
- •1.3 Контрольні запитання
- •1.4 Варіанти індивідуальних завдань
- •2 Розв’язання задач з використанням масивів
- •2.1 Мета роботи
- •2.2 Методичні вказівки до організації самостійної роботи студентів
- •Приклад 2.1 Знайти у масиві mas найменший елемент та його індекс.
- •Приклад 2.2 Відсортувати масив mas дійсних чисел розміром 10 елементів за зменшенням.
- •2.3 Контрольні запитання а завдання
- •3.4 Варіанти індивідуальних завдань
- •3 Робота з рядками
- •3.1 Мета роботи
- •3.2 Методичні вказівки до організації самостійної роботи студентів
- •3.3 Контрольні запитання та завдання
- •4 Робота зі структурами
- •4.1 Мета роботи
- •4.2 Методичні вказівки до організації самостійної роботи студентів
- •4.3 Контрольні запитання та завдання
- •4.4 Варіанти індивідуальних завдань
- •5 Використання функцій при розробці програм
- •5.1 Мета роботи
- •5.2 Методичні вказівки по організації самостійної роботи студентів
- •5.3 Контрольні запитання та завдання
- •5.4 Варіанти індивідуальних завдань
- •6 Пространства имен (поименованные области)
- •6.1 Мета роботи
- •6.2 Вказівки щодо організації самостійної роботи студентів
- •Общие требования.
- •2.7 Контрольний приклад
- •7 Пошук і сортування
- •7.1 Мета роботи
- •7.2 Методичні вказівки до організації самостійної роботи студентів
- •7.2.1 Лінійний пошук
- •7.2.2 Пошук розподілом навпіл (двійковий пошук)
- •7.2.3 Сортування вставками
- •7.2.4 Метод пухирця
- •7.2.5 Сортування перерахуванням
- •7.2.6 Швидке сортування
- •7.2.7 Сортування злиттям
- •7.3 Контрольні запитання
- •Варіанти індивідуальних завдань
5 Використання функцій при розробці програм
5.1 Мета роботи
На навчитися застосовувати практиці апарат функцій у мові С++.
5.2 Методичні вказівки по організації самостійної роботи студентів
Елементарною одиницею програми мовою C++ є функція. Функція призначена для рішення визначеної задачі різного ступеня складності. Функції, що призначені для рішення складних задач, можуть у свою чергу містити звертання до довільному числа функцій, призначених для рішення менш складних задач. Таким чином, рішення задачі мовою C++ припускає її функціональну декомпозицію, коли функції більш високого рівня забезпечують даними і сприймають результат функцій більш низького рівня [1–7, конспект лекцій].
Використовуючи функції, варто розрізняти три поняття – визначення функції (опис дій, що виконуються функцією — вихідний код), оголошення функції (завдання форми звертання до функції — прототип) і виклик функції.
Синтаксис С++ передбачає, щоб функція була або визначена, або оголошена до її виклику. Оголошення функції (завдання прототипу функції) містить ім'я функції, тип результату, що повертається, список формальних параметрів із указівкою їхнього чи типу вказівка тільки типів формальних параметрів.
У мові C++ визначено декілька способів передачі параметрів функції й одержання результатів обчислення функції. Існує чотири базових способи передачі параметрів функції: виклик функції з передачею значень; виклик функції з передачею адрес перемінних; виклик функції з використанням механізму посилань при передачі параметрів; за допомогою глобальних параметрів. Але не кожний з цих способів забезпечує повернення змінених параметрів в основну функцію (програму).
Функція може бути параметром іншої функції. Можна організувати вбудовану функцію за схемою
inline void myPrint(void) { cout << " Text" << endl; } ,
що значно скорочує час виконання програми. Мова С++ дозволяє перевантаження функцій — виклик функцій з однаковим ім’ям, але з різними типами фактичних параметрів. Для цього вказується окремий прототип та опис кожного списку параметрів.
Приклад 5
Створити функцію сортування в одновимірному масиві від’ємних елементів на своіх місцях.
#include <iostream.h>
const int n=5;
int i, mas[n];
int s=0; int *x;
// Функция
void SortArr(const int *x, int n) {
int i,j,xmin,imin;
for(j=0;j<n-1;j++) {
if (*(x+j)<0)
xmin:=*(x+j);
for(i=j+1;i<n;i++)
if ((*(x+i)<xmin) || (*(x+i)<0))
{xmin=*(x+i); imin=i;}
*(x+imin)=*(x+j); *(x+j)=xmin;
}
return(0); }
// Главная функция
main()
{ x=&mas[0];
cout<<”\n input 5 members of massiv \n”;
for (i=0;i<n;i++;x++) cin>>*x;
cout<<”Your members:\n”;
for(i=0;i<n;i++) cout <<*(mas+i)<<’ ‘;
cout <<”\n”;
Srarr(mas,n);
cout<<” Result:massiv”<<”\n”;
for(i=0;i<n;i++) cout <<*(mas+i)<<’ ‘;
cout <<”\n”;
return(0);
}
5.3 Контрольні запитання та завдання
Для чого потрібен прототип функцій?
Як запрограмувати функції зі змінною кількістю параметрів?
Як правильно працювати з даними всередині функцій?
Застосування функцій – покажчиків.
Організація роботи з масивами у функціях.