Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка С++ BIKS-12 (Любченко).doc
Скачиваний:
38
Добавлен:
13.04.2015
Размер:
820.74 Кб
Скачать

5Використання функцій при розробці програм

5.1 Мета роботи

На навчитися застосовувати практиці апарат функцій у мові С++.

5.2 Методичні вказівки по організації самостійної роботи студентів

Елементарною одиницею програми мовою C++ є функція. Функція призначена для рішення визначеної задачі різного ступеня складності. Функції, що призначені для рішення складних задач, можуть у свою чергу містити звертання до довільному числа функцій, призначених для рішення менш складних задач. Таким чином, рішення задачі мовою C++ припускає її функціональну декомпозицію, коли функції більш високого рівня забезпечують даними і сприймають результат функцій більш низького рівня [1–7, конспект лекцій].

Використовуючи функції, варто розрізняти три поняття – визначення функції (опис дій, що виконуються функцією — вихідний код), оголошення функції (завдання форми звертання до функції — прототип) і виклик функції.

Синтаксис С++ передбачає, щоб функція була або визначена, або оголошена до її виклику. Оголошення функції (завдання прототипу функції) містить ім'я функції, тип результату, що повертається, список формальних параметрів із указівкою їхнього чи типу вказівка тільки типів формальних параметрів.

У мові C++ визначено декілька способів передачі параметрів функції й одержання результатів обчислення функції. Існує чотири базових способи передачі параметрів функції: виклик функції з передачею значень; виклик функції з передачею адрес перемінних; виклик функції з використанням механізму посилань при передачі параметрів; за допомогою глобальних параметрів. Але не кожний з цих способів забезпечує повернення змінених параметрів в основну функцію (програму).

Функція може бути параметром іншої функції. Можна організувати вбудовану функцію за схемою

inline void myPrint(void) { cout << " Text" << endl; } ,

що значно скорочує час виконання програми. Мова С++ дозволяє перевантаження функцій — виклик функцій з однаковим ім’ям, але з різними типами фактичних параметрів. Для цього вказується окремий прототип та опис кожного списку параметрів.

Приклад 5

Створити функцію сортування в одновимірному масиві від’ємних елементів на своїх місцях.

#include <iostream>

using namespace std;

// Функція сортування

void SortArr(int *mas, int n)

{

int i,j,xmin,imin;

for(j=0;j<n-1;j++)

{

int currentNeg,prevNeg;

int i =0;

while (mas[i]>=0&& i<n) ++i;

currentNeg=i++;

for (; i<n;++i)

{

prevNeg = currentNeg;

//Пошук сусідніх від ємних елементів

while (mas[i]>=0&& i<n) ++i;

currentNeg=i;

if ( currentNeg<n && prevNeg<n

&& mas[currentNeg] > mas[prevNeg]

)

{

int c = mas[currentNeg];

mas[currentNeg] = mas[prevNeg];

mas[prevNeg] = c;

}

}

}

}

// Головна функція

int main()

{

const int n=7;

int i, mas[n];

int s=0;

cout<<"\n input 7 members of massiv \n";

for (i=0;i<n;++i)

cin>>mas[i];

cout<<"Your members:\n";

for(i=0;i<n;i++)

cout <<mas[i]<<' ';

cout <<"\n";

SortArr(mas,n);

cout<<" Result:massiv"<<"\n";

for(i=0;i<n;i++)

cout <<mas[i]<<' ';

cout <<"\n";

cin.get();

cin.get();

return(0);

}