Funksiyanı elan etdikdən sonra proqramın istənilən yerindən funksiyanın adına müraciət etməklə onu çağırmaq olar. Nəticədə funksiyanın proqram kodu icra olunacaq. Əgər funksiya parametr qəbul edirsə bu zaman onlar da qeyd olunmalıdır, aşağıdakı kimi:
Çalışma 6. Çalışma 4 -də tərtib olunan cap_et funksiyasından istifadə etməklə ekranda "Salam dunya" sətrini çap edən proqram qurun.
Həlli. Proqram aşağıdakı kimi olar:
#include
// evvelce cap_et funksiyasinin elan edek
void cap_et (void); int main(){
// funksiyani cagirmaq ucun onun adindan // istifade edirik cap_et();
}
// cap_et funksiyasinin proqram kodu
void cap_et(void) { std::cout<<"Salam dunya";
}
Çalışma 7. Çalışma 5 -də elan olunmuş cem funksiyasından istifadə etməklə 2 ədədin cəmini hesablayan proqram tərtib edin.
Həlli. Proqram aşağıdakı kimi olar:
#include
// cem funksiyasinin elani int cem (int, int); int main(){
// cem funksiyasina muraciet edirik // ve arqument olaraq 4 ve 5 qiymetlerini otururuk // cem funksiyasi 4 ile 5 -in cemini hesablayib // netice olaraq qaytarir
std::cout<< cem(4,5);
}
// cem funksiyasinin proqram kodu
int cem ( int dey1, int dey2){
// funksiyanin daxilinde int tipli x deyisheni // elan edek int x;
// arqumentlerin cemini x -e menimsedek x = dey1 + dey2;
// x -i netice olaraq qaytaraq return x;
}
Lokal və Qlobal dəyişənlər
Funksiyalardan istifadə edərkən bilməli olduğumuz vacib anlayışlardan biri də lokal və qlobal dəyişənlər anlayışıdır. Nədir lokal və qlobal dəyişənlər? lokal və qlobal dəyişən
-nin nə olduğunu bilmək üçün biz blok anlayışını daxil etməliyik. C++ dilində { və } mötərəzələri arasında qalan hissə blok adlanır.
Əgər diqqət yetirsəniz, görərsiniz ki, funksiyanın mətn kodu bütövlükdə bir blok -dan ibarətdir. blok daxilində blok elan edə bilərik və bu zaman "içəridə" yerləşən blok –lar "üst" blok -lardakı dəyişənləri görür, "üst" blok -lar isə "içəri" blok -larda elan olunan dəyişənləri görmür.
Aşağıdakı kimi:
{
/* blok A */ int x;
/* x y-i gormur*/ {
/* blok B */ int y;
/* y ise x-i gorur, ona gore yaza bilerem*/ y = x;
{
/* blok C */ int z;
/* z -ti ne blok A ne de blok B gormur.*/ /* z ise x ve y-i gorur, ona gore yaza bilerem*/ z = x + y;
/* blok C -nin sonu*/ }
/* blok B -nin sonu */ }
/* blok A -nin sonu */ }
Çalışmalar
Funksiyadan istifadə etməklə 2 ədədin cəmini hesablayan proqram tərtib edin.
Funksiyadan istifadə etməklə 2 ədədin hasilini hesablayan proqram tərtib edin.
Əgər ədəd 1 -dən və özündən başqa heç bir ədədə bölünmürsə belə ədədə sadə ədəd deyirlər.
funksiyadan istifadə edərək 1 -dən 100 -ə qədər olan ədədlər arasında yerləşən sadə ədədləri çap edən proqram tərtib edin.
Funksiyadan istifadə etməklə verilmiş düzbucaqlının sahəsini hesablayan proqram tərtib edin.
Funksiyadan istifadə etməklə verilmiş kubun səthinin sahəsini hesablayan proqram tərtib edin.
Funksiyadan istifadə etməklə verilmiş radiuslu dairənin sahəsini hesablayan proqram tərtib edin.
$5 Cərgələr
Cərgə anlayışı
Cərgə dedikdə eyni tipdən olan bir neçə dəyişənin bir ad altında "cəmi" başa düşülür. Cərgədə dəyişənlər index nömrələrinə görə sıralanır və sıralanma 0 -dan başlayır.
Beləliklə cərgənin ilk elementinin index nömrəsi 0, sonuncu elementinin index nömrəsi isə elementlərin_sayı - 1 olur.
Cərgənin elanı
Cərgə elan eləmək üçün aşağıdakı sintaksisdən istifadə olunur.
tip ad [ say ] ;
Burada tip cərgəni təşkil edən elementlərin tipini, ad cərgənin adını, say isə cərgədəki elenemtlərin sayını bildirir.
Çalışma 1. int tipindən x adlı 5 elementdən ibarət cərgə elan edin.
Həlli. Cərgənin elanı sintaksisinə əsasən tələb olunan cərgəni aşağıdakı kimi elan edə bilərik:
int x[5];
Cərgənin elementlərinə müraciət
Cərgənin elementinə müraciət etmək üçün cərgənin adından və müraciət eləmək istədiyimiz elementin index nömrəsindən istifadə olunur, aşağıdakı kimi:
cərgənin_adı [index];
Çalışma 2. Çalışma 1 -də elan olunan x cərgəsinin ilk elementini çap edin.
Həlli. İlk elementin indeksi 0 olduğundan ona müraciət etmək üçün x[0] yazmalıyıq və cout operatoru ilə onu aşağıdakı kimi çap edə bilərik:
std::cout<
Çalışma 3. Çalışma 1 -də elan onunan cərgənin sonuncu elementinə 96 qiyməti mənimsədin.
Həlli. İndeks nömrələri 0-dan başladığından cərgədəki sonuncu elementin nömrəsini müəyyənləşdirmək üçün elementlərin sayından 1 çıxırıq. Elementlərin sayı 5 olduğundan cərgənin sonuncu elementin indeksi 4 olur. Bu elementə müraciət etmək üçün x[4] yazmalıyıq. Mənimsətmə operatoru ilə cərgənin sonuncu elementinə aşağıdakı kimi 96 qiyməti mənimsədə bilərik:
x[4] = 96;
Çalışma 4. Çalışma 1 -də elan olunan cərgənin 3 -cü elementinə istifadəçinin daxil etdiyi
ədədi mənimsədən proqram tərtib edin.
Həlli. Cərgənin elementləri 0-dan başlayaraq nömrələndiyindən 3 -cü elementin indeks nömrəsi 2 olacaq, x[2]; . Bu elementə istifadəçinin daxil etdiyi ədədi mənimsətmək üçün cin operatorundan istifadə edə bilərik, aşağıdakı kimi:
std::cin>>x[2];
Yekun proqram kodu bu şəkildə olacaq:
#include int main(){
// cegeni elan edek int x[5];
// cergenin 3-cu elementine istifadecinin // daxil etdiyi qiymeti menimsedek std::cin>>x[2];
}
Çalışma 5. Çalışma 1-də elan olunan x cərgəsinin bütün elementlərinə istifadəçinin daxil etdiyi qiymətlər mənimsədən proqram tərtib edin.
Həlli . Bu proqramı tərtib etmək üçün yenə cin operatorundan istifadə edəcəyik. for operatoru ilə dövr təşkil edəcəyik. Sayğac 0-dan 4-ə kimi dəyişəcək(4 -də daxil olmaqla). Dövr hər dəfə təkrar olunduqda istifadəçinin daxil etdiyi qiyməti cərgənin müvafiq elementinə mənimsədəcəyik. Bu zaman cərgənin müvafiq elementinin indeksi olaraq sayğacın qiymətindən istifadə edəcəyik. Proqram kodu aşağıdakı kimi olar:
#include int main(){
int i;
//cerge elan edek int x[5];
//istifadecinin daxil etdiyi ededleri // x -in elementlerine menimsedek for (i=0; i<=4; ++i) std::cin>>x[i];
}
Izahı: Dövrdə i sayğacı 0-dan 4-ə kimi dəyişir (4 -də daxil olmaqla). Sayğacın qiyməti hər dəfə bir vahid artır. Nəticədə dövr 5 dəfə təkrar olunur. Dövr hər dəfə təkrar olduqda cin operatoru istifadəçinin daxil etdiyi ədədi cərgənin indeksi sayğacın qiymətinə bərabər olan elementinə yerləşiririk, aşağıdakı kimi: