• Join Us on Google Plus!

C++ Funksiyalar

Bu gün C ++ funksiyalarından danışacağıq. Funksiyalarsız proqram təsəvvür etmək indi çətin ki, kiməsə müyəssər olsun. Proqramlara olan tələbin mürəkkəbliliyi funksiyalara olan ehtiyacı zəruri edir. Proqramlaşdırmada çox vaxt eyni hərəkətləri dəfələrlə yerinə yetirmək lazım gəlir. Məsələn, istifadəçiyə bildirmək istəyirik ki, o şifrəni düz və ya səhv daxil edib. Əgər düz daxil edibsə ona icazə mesajını, yox əgər səhv daxil edibsə, şifrənin yalnış olduğunu bildirməliyik.







Funksiyalardan istifadə etməsək proqram belə ola bilər:



İndi isə funksiyadan istifadə etməklə həmən proqrama nəzər yetirək:

Göründüyü kimi hər iki proqram eyni işi görür, lakin ikinci proqramda yoxlamanı təkrarlamaq imkanı var, birincidə isə bu imkan yoxdur. Misal üçün əgər biz 1-ci proqramdan istifadə etsək , eyni əmri ən azı 3 dəfə yazmalı olarıq ki, istifadəçi səhvini düzəltsin. İkinci proqramda isə əlavə lazım olmadan eyni funksiyanı dəfələrlə çağırmaqla istədiyimizə nail ola bilərik.
Funksiyalar  C++ və digər proqramlaşma dilləri üçün də vacibdir. Bu səbəbdən hər bir funksiya aşağıdakılara mənsub olmalıdır:

1.Hər hansı bir funksiyanın dəyişənlərdə oluğu kimi bir növü var.

2.Bir funksiya növündən asılı olub olmadan istənilən dəyəri(qiyməti)  qaytara bilər.

3.Əgər funksiya heç bir dəyəri qaytarmırsa, o, "void" tipinə aiddir.
Bu tip funksiyalara bəzən proseduralar da deyirlər.

4.Bir funksiyanı elan edərkən, onun tipindən sonra funksiyanın adı yazılmalı, ardınca açılma və bağlanma mötərizələri olmalıdır, Bu mötərizələrin içərisində funksiyanın bir və ya daha çox  arqumentləri verilir. Funksiyalar arqumentlərsiz də ola bilər.

5.Funksiyanın arqumentləri(dəlilləri ) siyahısından sonra, fiqurlu mötərizələrin içərisində proqramın əmr sətirləri yerləşdirilir.

Funksiya nümunəsi

"Salam Dünya" hər bir proqramlaşma dilinin ilk proqramı sayılır. Bu proqrama funksiyadan istifadə etməklə nəzər yetirək. Göründüyü kimi bu proqramda function_name funksiyasından istifadə edilir, və bu funksiyanı dəfələrlə function_name(); əmri vasitəsilə çağırıla bilər. Proqram işə salındıqdan sonra main() funksiyası function_name();  funksiyasını çağırır. function_name() funksiyası da konsola "Salam Dünya" çap edir.
Göründüyü kimi "void" tipli funksiya heç bir dəyər qaytarmır. O sadəcə olaraq özünə məxsus olan əmrləri yerinə yetirir. main()  funksiyası isə "int" tiplidir , lakin ondan heç bir dəyər qaytarmaq tələb olunmadığından "return(0)" yerinə yetirilir.

İndi biz şifrəni yoxlayan bir proqrama nəzər yetirək. Çalışın yuxarıda dediklərimizin bu proqramda təsdiqini tapasınız.


Bu proqramı rekursiya vasitəsilə də icra etmək olar. Rekursiyada funksiya ozünün dəyərini özünə qaytarır, özü özünü çağırır.