Скачиваний:
0
Добавлен:
20.09.2026
Размер:
355 Кб
Скачать
☆
Funkciyalar menen islew. Funkciya anıqlaması. Funkciyalardı qayta júklew.
Funkciya belgili bir wazıypanı orınlaytuǵın kod blokı bolıp tabıladı.
Meyli, bizge sheńber jasaw hám onı boyaw ushın programma dúziw kerek. Bul máseleni
sheshiw ushın eki funkciya dúze alamız:
• sheńber sızıw ushın funkciya
• sheńberdi boyaw ushın funkciya
Quramalı máseleni kishirek bóleklerge bóliw programmanı túsiniw hám qayta paydalanıw ushın
ańsat etedi.
1. Standart kitapxana funkciyaları: C++ tilinde aldın ala belgilengen
2. Paydalanıwshı tárepinen jaratılǵan funkciyalar: Paydalanıwshılar tárepinen dúzilgen
Bul sabaqlıqta tiykarınan paydalanıwshı tárepinen jaratılǵan funkciyalarǵa itibar qaratamız.
C++ Paydalanıwshı tárepinen jaratılǵan funkciya
C++ programmalawshıǵa óz funkciyasın anıqlaw múmkinshiligin beredi.
Paydalanıwshı tárepinen jaratılǵan funkciya belgli bir wazıypanı orınlaw ushın kodtı gruppalaydú hám sol kod toparına at (identifikator) beriledi.
Funkciya programmanıń qálegen bóliminen shaqırılǵanda, ol funkciya denesi ishinde anıqlanǵan barlıq kodlardı orınlaydı.
C++ funkciyasın járiyalaw
Funkciyanı járiyalaw ushın sintaksis:
qaytarıwTipi funkciyaAtı (parametr1, parametr2,...) {
// funkciya denesi
}
Mine funkciyanı járiyalaw mısalı:
// funkciya járiyalawı
void sálemler() {
cout << "Sálem Dúnya";
}
Bul jerde:
• funkciya atı - sálemler()
• funkciyalarıń qaytarıw tipi - void
• bos qawsırmalar funkciyada hesh qanday parametrler joq ekenligin bildiredi
• funkciya denesi {} ishinde jazıladı
Esletpe: qaytarıwTipi hám parametrler haqqında bul sabaqtıń keyingi bólimlerinde úyrenemiz.
Funkciyanı shaqırıw
Joqarıdaǵı programada biz sálemle() degen funkciyani járiyaladıq. sálemle() funkciyasın paydalanıw ushın, bizge onı shaqırıw kerek.
Mine joqarıdaǵı sálemle() funkciyasın qalay shaqırıw mumkinligi:
int main() {
// funkciyani shaqiriw sa'lemle();
}
Mısal 1: Tekstti kórsetiw
#include <iostream> using namespace std;
// funkciya jariyalaw void sálemles() { cout << "Sálem, doslar!"; }
int main() {
// funkciyani shaqırıw sálemles();
return 0; }
Nátiyje
Sálem, doslar!
Funkciya parametrleri
Joqarıda aytılǵanday, funkciya parametrler (argumentler) menen jariyalanıwı múmkin. Parametr
- funkciya jariyalanǵanda berilgen mánis.
Mısalı, tómendegi funkciyani qarap shıǵayıq:
void sandiKorset(int san) {
cout << san;
}
Bul jerde, int ózgeriwshisi san funkciya parametri bolıp tabıladı.
Funkciyani shaqırǵanda funkciya parametrine mánisti ótkizemiz.
int main() { int n = 7;
// funkciyani shaqırıw // n funkciyaǵa argument sıpatında ótkiziledi sandiKorset(n);
return 0; }
_______________________________________
Mısal 2: Parametrli funkciya
// tekstti basıp shıǵarıw programması
#include <iostream> using namespace std;
// sandı kórsetiw void sandiKorset(int n1, float n2) { cout << "Pútin san: " << n1; cout << "Haqıyqıy san: " << n2; }
int main() {
int san1 = 5; double san2 = 5.5;
// funkciyani shaqırıw sandiKorset(san1, san2);
return 0; }
Shıǵıw
Pútin san: 5
Haqıyqıy san: 5.5
Joqarıdaǵı programmada, bir pútin san (int) hám bir haqıyqıy san (double) parametri bar
funkciyani qollandıq.
Keyin, num1 hám num2 di argumentler sıpatında ótkizemiz. Bul mánisler sáykes túrde funkciya parametrleri n1 hám n2 de saqlanadı.
Eskertiw: Funkciyani shaqırǵanda ótkizilgen argumentlerdiń túri, funkciya jariyalawında anıqlanǵan sáykes parametrlerdiń túrine sáykes keliwi kerek.
Qaytarıw operatorı
Joqarıdaǵı programmalarda, funkciya jariyalawında void ti qollandıq. Mısalı,
void sandiKorset() {
// kod
}
Bul funkciyaniń hesh qanday mánisti qaytarmaytıǵının bildiredi.
Funkciyadan mánisti qaytarıw da múmkin. Bunıń ushın, funkciya jariyalawı waqtında qaytarıw
túrin (returnType) kórsetiw kerek.
Soń, qaytarıw operatorı (return statement) funkciyadan mánisti qaytarıw ushın qollanıladı.
Mısalı, int qosıw (int a, int b) {
return (a + b); }
Bul jerde, void ornına int mánis túrin qollandıq. Bul funkciyaniń int mánisti qaytaratıǵının bildiredi.
return (a + b); kodi eki parametrdiń qosındısın funkciya mánisi sıpatında qaytaradı.
Qaytarıw operatorı funkciyaniń tamamlanǵanın bildiredi. Funkciya ishinde qaytarıw operatorınan keyingi hár qanday kod orınlanbaydı.
Mısal 3: Eki sandı qosıw
// funkciya járdeminde eki sandı qosıw programması
#include <iostream> using namespace std; // funkciya jariyalaw int qosıw(int a, int b) { return (a + b); }
int main() {
int jiyindi;
// funkciyani shaqırıw hám // qaytarılǵan mánisti jiyindige saqlaw jiyindi = qosıw(100, 78);
cout << "100 + 78 = " << jiyindi << endl;
return 0; }
Nátiyje
100 + 78 = 178
Joqarıdaǵı programmada, qosıw() funkciyası eki sandı qosıw ushın qollanıladı.
Funkciyani shaqırǵanda, eki int túrindegi sanlıq mánisler 100 hám 78 di ótkizemiz.
Funkciyadan qaytarılǵan mánisti jiyindi ózgeriwshisinde saqlaymız, soń onı baspadan
shıǵaramız.
Diqqat awdarıń, jiyindi ózgeriwshisi int túrinde. Sebebi qosıw() funkciyasınıń qaytarıw mánisi int túrinde.
________________________________________
Funkciya prototip
C++ tilinde, funkciya jariyalaw kodi funkciya shaqırıwınan aldın bolıwı kerek. Biraq, eger funkciyani shaqırıwdan keyin anıqlamaqshı bolsaq, funkciya prototipti qollanıwımız kerek. Mısalı,
// funkciya prototipi
void qosıw(int, int);
int main() {
// funkciyani jariyalawdan aldın shaqırıw
qosıw(5, 3);
return 0;
}
// funkciya anıqlaması
void qosıw(int a, int b) {
cout << (a + b);
}
Joqarıdaǵı kodta, funkciya prototipi:
void qosıw(int, int);
Bul kompilatorǵa funkciya atı hám onıń parametrleri haqqında maǵlıwmat beredi. Sonlıqtan biz funkciya anıqlanbastan aldın onı shaqırıw ushın kodtı qollana alamız.
Funkciya prototipiniń sintaksisi:
qaytarıwTúri funkciyaAtı(málisTúri1, málisTúri2, ...);
Mısal 4: C++ Funkciya Prototipi
// main() funkciyasınan keyin funkciya anıqlamasın qollanıw // funkciya prototipi main() funkciyasınan aldın jariyalanadı
#include <iostream>
using namespace std;
// funkciya prototipi int qosıw(int, int);
int main() { int jiyindi;
// funkciyani shaqırıw hám // qaytarılǵan mánisti jiyindige saqlaw jiyindi = qosıw(100, 78);
cout << "100 + 78 = " << jiyindi << endl;
return 0; }
// funkciya anıqlaması int qosıw(int a, int b) { return (a + b); }
Shıǵıs 100 + 78 = 178
Joqarıdaǵı programma 3-mısalǵa derlik uqsas. Jalǵız ayırmashılıq, bul jerde funkciya shaqırıwdan keyin anıqlanǵan.
Sonlıqtan biz bul mısalda funkciya prototipti qollandıq.
________________________________________
Paydalanıwshı tárepinen anıqlanǵan funkciyalardı qollanıwdıń artıqmashılıqları
• Funkciyalar kodtı qayta qollanıwǵa múmkinshilik beredi. Olardı bir ret jariyalap, bir neshe ret qollana alamız.
• Funkciyalar programmanı ańsatlashtıradı, sebebi hár bir kishi waziypa bir funkciyaǵa bólinedi.
• Funkciyalar oqıwǵa qolaylılıqtı arttıradı.
C++ Kitapxana Funkciyaları
Kitapxana funkciyaları C++ programmalawda aldınnan ornatılǵan funkciyalar bolıp tabıladı.
Programmalavshılar kitapxana funkciyaların tikkeley shaqırıw arqalı qollana aladı; olardı ózi jazıwı shárt emes.
C++ tegi ayırım keń tarqalǵan kitapxana funkciyaları sqrt(), abs(), isdigit() hám t.b.
Kitapxana funkciyaların qollanıw ushın, ádetde, bul funkciyalar anıqlanǵan bas fayllardı qosıwımız kerek.
Mısalı, sqrt() hám abs() sıyaqlı matematikalıq funkciyalardı qollanıw ushın, cmath bas faylın qosıwımız kerek.
________________________________________
Mısal 5: Sannıń kvadrat túbirin tabıw ushın C++ Programması
#include <iostream> #include <cmath> using namespace std;
int main() { double san, kvadratTúbir;
san = 25.0;
// sqrt() kvadrat túbirdi esaplaw ushın kitapxana funkciyası kvadratTúbir = sqrt(san);
cout << san << " sanınıń kvadrat túbiri = " << kvadratTúbir;
return 0; }
Shıǵıs 25 sanınıń kvadrat túbiri = 5
Bul programmada sqrt() kitapxana funkciyası sannıń kvadrat túbirin esaplaw ushın qollanıladı.
sqrt() funkciyasınıń jariyalanıwı cmath bas faylında anıqlanǵan. Sonlıqtan sqrt() funkciyasın
qollanıw ushın #include <cmath> kodin qollanıwımız kerek.
Paydalanıwshı tárepinen anıqlanǵan funkciyalardı qollanıwdıń artıqmashılıqları
• Funkciyalar kodtı qayta qollanıwǵa múmkinshilik beredi. Olardı bir ret jariyalap, bir neshe ret qollana alamız.
• Funkciyalar programmanı ańsatlashtıradı, sebebi hár bir kishi waziypa bir funkciyaǵa bólinedi.
• Funkciyalar oqıwǵa qolaylılıqtı arttıradı.
________________________________________
Derek, paydalanılǵan ádebiyat: https://www.programiz.com/cpp-programming/function
Соседние файлы в папке 1-semestr