Ўзбекистон республикаси ахборот технологиялари ва коммуникацияларини


Natija: Qiymat qaytarmaydigan funksiyalar


Download 59.11 Kb.
bet3/5
Sana18.06.2023
Hajmi59.11 Kb.
#1598153
1   2   3   4   5
Bog'liq
4-dedlayn

Natija:

Qiymat qaytarmaydigan funksiyalar
Qiymat qaytarmaydigan funksiyalar dasturlash tillarida protseduralar deb ataladi. C++ dasturlash tilida protsedura e’lon qilish uchun funksiyadan foydalaniladi. Funksiya qiymat qaytarmasligini ifodalash uchun void hizmatchi so’zidan foydalaniladi.
4 – misol: 1 dan n gacha bo’lgan soni kvadratini va kubini aniqlovchi funksiya yarating.
#include
using namespace std;
void display(int x)
{
int i = 1;
L1: printf("Son: %4i Kvadrati: %5i Kubi:%6i\n",i, i*i, i*i*i);
i++;
if (i <= x) goto L1;
}
int main()
{
int n;
cout << "n ni kiriting: "; cin>>n;
display(n);
return 0;
}
Natija:

Funksiyaning prototipi va inline funksiyalar
Funksiyaning prototipi nima? Funksiya prototipi bu dasturda ishlatiladigan funksiyalarni oldindan e’lon qilishni bildiradi. Bunda funksiyalar bir – biriga murojaatni xatolarsiz bajarilashini ta’minlashga yordam beradi. Funksiya prototipi e’lon qilinganda funksiyaning tipi, funksiyaning parametrlari tiplari ham e’lon qilinadi. Ammo paramertlarning nomlari e’lon qilinishi shart emas.
5 – misol: Ikki son berilgan ularning o’rnini almashtirish funksiyasini yaratish.
Bu dasturni yaratishda biz havolalar imkoniyatidan ham foydalanamiz.
#include
using namespace std;
void swap (int&, int&); // funksiya prototipi
int main()
{
int a = 0,b = 0;
cout << "a ni kiriting: "; cin>>a;
cout << "b ni kiriting: "; cin>>b;
cout << endl;
printf("SWAPdan oldin: A = %i, B = %i\n",a,b);
swap(a,b);
printf("SWAPdan keyin: A = %i, B = %i\n",a,b);
return 0;
}
void swap (int &x, int &y)
{
int c = x;
x = y;
y = c;
}
Natija:

Yuqorida aytib o’tilganidek funksiyalar dastur yaratishda katta qulayliklar yaratadi. Yaratilgan funksiyalar kompilyator yordamida har safar chaqirilganda va uni ishlatilgandagi qo’shicha ish bajarishga olib keladi. Registrdagi o’zgaruvchilar o’zgartiriladi, lokal o’zgaruvchilar quriladi, parametr sifatida berilgan argumentlar funksiya stekiga yoziladi. Buning hammasi qo’shimcha vaqt talab qiladi. Umuman aytganda, hech qanday funksiyasiz yozilgan dastur, ya’ni hamma amallari asosiy funksiyada yozilgan monolit dastur, bir nechta funksiyalarga ega, ayni shu ishni bajaruvchi dasturga nisbatan tezroq ishlaydi. Funksiyalarning bu noqulayligini tuzatish uchun inline sifatidagi funksiyalar qo’llaniladi. Bunda kompilyator dastur ichida funksiyaning nomi kelgan vaqtda, funksiyaning nomini o’rniga funksiyaning tanasini joylashtirishga olib keladi va bu usul yordamida dastur ishlash jarayoni tezlashadi, lekin uning hajmi ortadi.
6 – misol: n! ni topuvchi dastur yarating.
#include
using namespace std;
inline unsigned int fact(int n)
{
int p = 1;
int i=1;
L1: p *= i;
i++;
if (i <= n) goto L1;
return p;
}
int main()
{
int n = 0;
cout << "n ni kiriting: "; cin>>n;
cout << "Factorial: "<< fact(n) << endl;
return 0;
}

Download 59.11 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling