12. Подпрограми в С++

12.1. Подпрограми функции
• Дефиниране на функция
• Извикване на функция за изпълнение. Примери и задачи с функции

12.2. Подпрограми процедури
• Дефиниране на процедура
• Извикване на процедурата за изпълнение. Пример

12.3. Предаване на параметри между подпрограмите
• Предаване на параметри по стойност. Пример
• Предаване на параметри чрез адрес. Примери
• Едномерните масиви като формални параметри на подпрограмите. Пример
• Многомерните масиви като формални параметри на подпрограми. Пример

12.4. Понятие за прототип / декларация на подпрограма/. Пример

преди план следва
 
 

12. Подпрограми в С++


Подпрограмите дават възможност за декомпозиране на задачата на отделни, относително самостоятелни програмни единици. Подпрограмата може да се разглежда като “черна кутия”, за която трябва да се знае само за какво е предназначена и кои са съответно входните и изходните параметри. Например функцията sin(x) от библиотеката math.h, изисква въвеждане на входна данна x, представляваща ъгъл в радиани, и връща след изпълнение синус от този ъгъл. Начинът на изчисляване на резултата остава скрит.

Подпрограмите в езика C/С++ могат да се оформят като функции и процедури. Функциите изчисляват и връщат след изпълнението си един резултат. Процедурите връщат няколко резултата или нито един резултат. Програмистът трябва точно и ясно да определи какво се изисква от подпрограмата, за да я оформи като процедура или като функция.

12.1. Подпрограми функции

• Дефиниране на функция

Дефиницията на функцията се състои от заглавие и блок. В заглавието се задават типът на резултата, изчисляван от функцията, името на функцията и списъкът на формалните параметри. Блокът съдържа инструкциите, които трябва да се изпълнят.

Дефиницията на функцията има следния общ вид:

тип_на_резултата аа име_на_функцията (формални параметри)
{
инструкция1;
инструкция2;
...
return израз;
}
Типът на резултата на функцията може да бъде всеки тип, без тип масив. Ако типът е изпуснат се подразбира тип int. Името на функцията се задава с идентификатор. Формалните параметрите се задават с тип и идентификатор. Отделят се помежду си със запетайка. Списъкът на формалните параметри се загражда в кръгли скоби. Скобите се записват и когато списъкът на формалните параметри е празен. Формалните параметри описват входните данни, необходими за изчисляването на функцията. Инструкциите в блока реализират алгоритъма за пресмятане стойността на функцията. Инструкцията
return израз;
задължително присъства в блока на функцията. Тя предизвиква прекъсване на изпълнението на функцията и връщане на резултата в подпрограмата, от която е извикана. Резултатът от изпълнението на функцията е стойността на израза, записан след return. Изразът трябва да бъде от типа на резултата на функцията.

• Извикване на функция за изпълнение

Фукцията се извиква за изпълнение в израз, където е необходимо да се използва стойността на изчисления резултат. Извикването на функцията става с името на функцията и списък от фактически параметри:
име_на_функцията( фактически параметри)

Фактическите параметри са действителните параметри, с които трябва да се изпълни функцията. Фактическите параметри се задават с идентификатори. Фактическите параметри могат да се зададат и с изрази. Отделят се помежду си със запетая. Между формалните и фактическите параметри трябва да има пълно съответствие по брой , по място и по тип.
 
 
 
 
преди план следва