Skip to main content

1-dars. Funksiya tushunchasi

Darsning Maqsadlari:

  • Funksiya tushunchasini o‘rganish va uning dasturlashdagi ahamiyatini tushunish.
  • Funksiyalar nima uchun kerakligini va qanday ishlatilishini o‘rganish.
  • Misollar orqali funksiyalarni amaliy qo‘llashni o‘rganish.

Funksiya nima?

Funksiya – bu muayyan vazifani bajaruvchi kod bloki. Dasturlashda, funksiyalar bizga bir xil kodni bir necha marta yozishdan qochish imkonini beradi. O‘xshash vazifani bir necha joyda bajarish kerak bo‘lganda, funksiyadan foydalanamiz.


Funksiya Nima Uchun Kerak?

Dastur yozayotganimizda bir xil jarayonni bir necha bor takrorlash talab etiladi. Agar har safar bu jarayonni kodda yozsak, kodimiz uzun va chalkash bo‘lib ketadi. Funksiya orqali biz kodni qisqartiramiz va tartibni saqlaymiz.


C Tilida Funksiya Yaratish

C dasturlash tilida funksiya yaratish uchun quyidagi sintaksisdan foydalanamiz:

dataType functionName(parameters) {
// funksiya tanasi
// kerakli kodlar
return value; // qaytariluvchi qiymat (agar bo'lsa)
}

Tushunish:

  • dataType – funksiyadan qaytadigan qiymat turi (masalan, int, float yoki void).
  • functionName – funksiyaga beriladigan nom (masalan, sum, display).
  • parameters – funksiya qabul qiladigan o‘zgaruvchilar (agar kerak bo‘lsa).
  • return – qiymat qaytarish (agar funksiya qiymat qaytaradigan bo‘lsa).

Misol 1: Oddiy Funksiya

Keling, oddiy misol orqali funksiyani tushunamiz. Bizga ikki sonning yig‘indisini hisoblaydigan funksiya kerak bo‘lsin.

#include <stdio.h>

// ikki sonni yig'indisini hisoblaydigan funksiya
int sum(int a, int b) {
return a + b;
}

int main() {
int x = 5, y = 10;
int result = sum(x, y);
printf("Yig'indi: %d\n", result);
return 0;
}

Tushunish:

Bu yerda sum deb nomlangan funksiya ikki sonni qabul qilib, ularning yig‘indisini qaytaradi. Asosiy dasturda sum funksiyasi x va y qiymatlarini olib, natijani qaytaradi va result ga saqlanadi.


Funksiya Turlari

C tilida funksiyalarni ikki asosiy turga bo‘lish mumkin:

  1. Qiymat qaytaruvchi funksiya (return type) – bu funksiya bajarilgandan so‘ng qiymat qaytaradi.
  2. Qiymat qaytarmaydigan funksiya (void type) – bu funksiya hech qanday qiymat qaytarmaydi. Odatda, faqat biror amal bajariladi va nimadir qaytarishi kerak bo‘lmaydi.

Misol 2: Qiymat qaytarmaydigan funksiya

#include <stdio.h>

// salomlashuvchi funksiya
void salom() {
printf("Salom, dasturchi!\n");
}

int main() {
salom();
return 0;
}

Tushunish:

Bu dasturda salom deb nomlangan funksiya mavjud. U hech qanday qiymat qaytarmaydi (void turi) va faqat ekranga "Salom, dasturchi!" yozuvi chiqaradi.


Funksiya va Parametrlar

Funksiya yaratishda unga parametrlar berishimiz mumkin. Bu parametrlar funksiyaga kiruvchi qiymatlar bo‘lib, turli amallarni bajarishga yordam beradi.

Misol 3: Bir nechta parametrli funksiya

#include <stdio.h>

int daraja(int son, int daraja) {
int natija = 1;
for (int i = 0; i < daraja; i++) {
natija *= son;
}
return natija;
}

int main() {
int son = 3, daraja_haqiqat = 4;
printf("%d ning %d-darajasi: %d\n", son, daraja_haqiqat, daraja(son, daraja_haqiqat));
return 0;
}

Tushunish:

daraja funksiyasi ikki parametrni qabul qiladi: son va daraja. Funksiya sonni berilgan darajaga ko‘tarib, natijani qaytaradi.


Funksiyalarning Afzalliklari

  1. Kodning takrorlanishini kamaytiradi – bir xil kodni bir necha joyda yozishdan qochamiz.
  2. Tuzilishi aniq va tartibli – dastur qismlarga bo‘lingani uchun oson tushuniladi.
  3. Qayta foydalanish – bir marta yozilgan funksiya boshqa kodlarda ham ishlatilishi mumkin.
  4. Dasturga texnik xizmat ko‘rsatish osonlashadi – funksiyalarni yangilash va ularga o‘zgartirish kiritish oson.

Amaliy Masalalar

Masala 1: Maxsus bayramga salomlashish funksiyasini yozish

#include <stdio.h>

// maxsus salom funksiyasi
void maxsusSalom(char ism[]) {
printf("Assalomu alaykum, %s! Bayram muborak!\n", ism);
}

int main() {
char ism[] = "Olim";
maxsusSalom(ism);
return 0;
}

Masala 2: Har bir elementning kvadratini qaytaradigan funksiya

#include <stdio.h>

int kvadrat(int n) {
return n * n;
}

int main() {
int son = 5;
printf("%d ning kvadrati: %d\\n", son, kvadrat(son));
return 0;
}

Xulosa

Funksiyalar dastur tuzishda katta yordam beradi, chunki ular orqali kodni qisqartirish va soddalashtirish mumkin. Funksiya yaratish orqali dastur kodini o‘qishga va unga xizmat ko‘rsatishga qulaylik yaratamiz. Funksiyalarning qaysi turi qanday holatda ishlatilishi va qanday afzalliklarga ega ekanligini ko‘rdik.


Savollar:

  1. Funksiya nima va nima uchun kerak?
  2. Funksiya qanday yaratiladi va uning asosiy qismlari nima?
  3. C tilida funksiya turlari qanday va ularning farqi nimada?
  4. Qaytarmaydigan (void) funksiya qanday vazifani bajaradi?