linkedin facebook linkedin facebook nod32

C++ da funksiyalar bilan ishlash

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2016-01-26

C++ da funksiyalar bilan  ishlash

Video darslik 

Dasturlash mobaynida bir xil ifodalarni, hisoblash jarayonlarini qayta – qayta hisoblashga to`g`ri keladi. Dasturlash tillarida, kompyuter hotirasini va dasturchining vaqtini tejash maqsadida, bunday takkorlanuvchi jarayonlarni dasturda ajratib yozib, unga asosiy daturdan, boshqa funksiyalardan murojaat qilish imkoniyatlari  keltirilgan.
Dasturning istalgan qismidan murojaat qilib, bir necha bor ishlatish mumkin bo`lgan operatorlar guruhiga funksiya deyiladi.
C++ funksiyalar tili deyiladi. Chunki dasturda kamida bitta main funksiyasi bo'ladi. Asosiy dastur, asosiy funksiya deganda aynan manashu main funksiyasini tushunamiz.
Asosiy dasturdan (yoki chaqiruvchi funksiyadan) xech qanday parameter qabul qilib olmaydigan funksiyalarga,  parametrsiz funksiyalar deyiladi.
Parametrsiz  funksiyaning  o'zi ham 2 xil  bo'lishi mumkin:
1) Asosiy dasturga (yoki chaqiruvchi  funksiyaga)  natijani qaytaruvchi.
2) void turidagi funksiya bo'lib, asosiy dasturdan (yoki chaqiruvchi funksiyadan) xech qanday parametr qabul qilib olmaydi xam, asosiy dasturga xech qanday natija  qaytarmaydi  ham. Parametrsiz funksiyaga murojaat qilishda dastur tanasida funksiya nomi yoziladi. Dasturda funksiya nomi operatorlar kabi ishlatiladi.
Parametrsiz funksiyada asosiy dasturning barcha global o`zgaruvchilaridan foydalanish  mumkin.
Global o`zgaruvchilar
Ham asosiy dasturda, ham funksiyada ishlatish mumkin bo'lgan o`zgaruvchilar global o'zgaruvchilar deyiladi. Global o'zgaruvchilar asosiy dasturda e`lon qilishi kerak.
Lokal o`zgaruvchilar
Faqat funksiyada ishlatish mumkin bo'lgan o'zgaruvchilarga local o'zgaruvchilar deyiladi. Ular funksiyada e`lon qilinadi. Funksiyada yana bir nechta ichki funksiyalardan   foydalanish mumkin.
Blok ichida e'lon qilingan o'zgaruvchilar, shu blok uchun lokal o'zgaruvchilar hisoblanadi. Bu o'zgaruvchilardan  faqat blok ichida foydalanish mumkin.
Parametrli funksiyalar
Asosiy dasturdan (funksiyadan) chaqiriluvchi funksiyaga uzatilgan parametrlarni qabul qilib  qayta ishlovchi  funksiyalar parametrli funksiyalar deyiladi.
Qiymat parametrlar – asosiy dasturdan funksiyaga uzatiladigan o'zgaruvchilar qiymatlarni qabul qilib oluvchi parametrlar. Funksiyaga murojaat qilinganida qiymat parametrlari uchun xotiradan joy ajratiladi. Funksiya tugaganida qiymat parametrlari uchun ajratilgan  xotira  bo'shatiladi.
Ko'rsatkich parametrlar -  asosiy dasturdan funksiyaga uzatiladigan o'zgaruvchilarning xotiradagi adresini qabul qilib oluvchi parametrlar.
Ko'rsatkich parametrlari ustida bajarilgan har qanday o'zgarish, asosiy dasturdagi o'zgaruchilarning xotira adresida sodir bo'ladi. (Ya'ni asosiy dasturdagi o'zgaruvchi qiymati o'zgaradi)
Eslatma: Qiymat parametrlari va ko'rsatkich parametrlar toifasi, asosiy dasturdagi qiymati  uzatilayotgan  o`zgaruvchilar  toifasi bilan bir xil  bo`lishi lozim.
Funksiyadan chiqish
Ixtiyoriy  funksiyadan chiqish uchun return xizmatchi  so'zi ishlatiladi.

Misol 1: To'g'ri burchakli uchburchakning katetlari berilgan. (3, 4), (6, 8), (12, 5) bo'lgan xollar  uchun uchburchak gipotenuzasini  hisoblovchi dastur tuzilsin.
1) Parametrli funksiya

#include <iostream.h>
#include <math.h>
// funksiya prototipi
float hisobla(float , float );
int main()
{
float c;
c = hisobla(3, 4);
cout << c << endl;
c = hisobla(6, 8);
cout << c << endl;
c = hisobla(12, 5);
cout << c << endl;
system ("pause");
return 0;
}
float hisobla(float a, float b)
{
//lokal o'zgaruvchi
float natija;
natija = sqrtf(a*a + b*b);
return natija;
}

2) void toifasidagi parametrli funksiya

#include <iostream.h>
#include <math.h>
// funksiya prototipi
void hisobla(float , float );
int main()
{
hisobla(3, 4);
hisobla(6, 8);
hisobla(12, 5);
system ("pause");
return 0;
}
void hisobla(float a, float b)
{
float c;
c = sqrtf(a*a + b*b);
cout << c << endl;
}

Misol 2: Global va lokal o'zgaruvchilarga murojaatni  o'rganish

#include <iostream.h>
int x = 5; // global o'zgaruvchi
int main()
{
int x = 9; // lokal o'zgaruvchi
std::cout << "lokal  x=" <<   x << std::endl;
std::cout << "global x=" << ::x << std::endl;
system ("pause");
return 0;
}

Misol 3: Kiritilgan  n sonini 3 - darajasini hisoblovchi funksiya  tuzilsin

#include <iostream.h>
void kub (int *);
int main()
{
int n;
cout << "n="; cin >> n;
kub (&n);
cout << "n ning qiymati =" << n << endl;
system ("pause");
return 0;
}
void kub (int *nPtr)
{
*nPtr = *nPtr * *nPtr * *nPtr;
}

Misol 4: Ikkita son yig'indisini  funksiya orqali hisoblovchi dastur tuzilsin
#include <iostream.h>
// funksiya prototipi
int  sum(int , int);
void sum(int , int, int *);
int  sum(int *, int *);
void sum(int *, int *, int *);
int main()
{
int a, b, c;
cout << "a="; cin >> a;
cout << "b="; cin >> b;
c = sum(a, b);
cout << "1-sul natijasi=" << c << endl;
sum(a, b, &c);
cout << "2-sul natijasi=" << c << endl;
c = sum(&a, &b);
cout << "3-usul natijasi=" << c << endl;
sum(&a, &b, &c);
cout << "4-usul natijasi=" << c << endl;
system ("pause");
return 0;
}
// 1 - usul
int sum(int son1, int son2)
{
int natija;
natija = son1 + son2;
return natija;
}
// 2 - usul
void sum(int son1, int son2,int *natija)
{
*natija = son1 + son2;
}
// 3 - usul
int sum(int *son1, int *son2)
{
int natija;
natija = *son1 + *son2;
return natija;
}
// 4 - usul
void sum(int *son1, int *son2,int *natija)
{
*natija = *son1 + *son2;
}

1494 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений