8-sabaq-ameliy
.docx8-ÁMELIY SABAQ. MÁNIS QAYTARATUǴÍN HÁM MÁNIS QAYTARMAYTUǴÍN FUNKCIYALAR. FUNKCIYA PROTOTIPLERINEN PAYDALANÍP, PARAMETRLERDI MÁNIS HÁM SILTEME JÁRDEMINDE JIBERIWGE BAYLANÍSLÍ MÍSALLAR SHESHIW.
Jumıstıń maqseti:
Funkciyanıń járiyalanıwı, funkciya jaratıw, Mánis qaytaratuǵın hám mánis qaytarmaytuǵın funkciyalar. Funkciya prototiplerinen paydalanıp, parametrlerdi mánis hám silteme járdeminde jiberiwge baylanıslı mısallar sheshiw.
Teoriyalıq bólim:
Funkciya - belgili bir tapsırmanı orınlaytuǵın kod blogı. Funkciyanıń eki túri bar.
1. Standart kitapxana funkciyaları: C++ tilinde aldınnan anıqlanǵan funkciya.
2. Paydalanıwshı anıqlaytuǵın funkciya: paydalanıwshılar jaratqan funkciya. Biz tiykarınan paydalanıwshılar jaratqan funkciyaǵa itibar beremiz.
Paydalanıwshı anıqlaytuǵın funkciya
C++ te programmalawshıǵa óz funkciyasın anıqlawǵa imkaniyat beredi. Paydalanıwshı anıqlaytuǵın funkciya belgili bir tapsırmanı orınlaw ushın kodtı toplaydı hám sol kod toparına at (identifikator) beriledi. Funkciya programmanıń qálegen bóleginen shaqırılǵanda, onıń barlıǵı funkciyanıń denesinde anıqlanǵan kodlardı orınlaydı.
Ámeliy bólim:
C++ te funkciyanıń járiyalanıwı
Funkciyanıń járiyalaw sintaksisi:
returnType functionName (parameter1, parameter2,...) { // funkciya denesi } |
Bunda funkciya járiyalanıwıńıń mısalı keltirilgen:
// funkciyanı járiyalaw void tatu() { cout << "Sálem Dúnya"; } |
Bunda,
funkciyanıń atı: tatu()
funkciyanıń qaytarıw túri: void
bos qawsırma onıń heshqanday parametri joq degendi bildiredi
{}ishine funkciya denesi jazıladı
Funkciyanı shaqırıw
Joqarıdaǵı baǵdarlamada biz tatu() dep atalatuǵın funkciyanı járiyaladıq. Funkciyanı paydalanıw ushın tatu() onı shaqırıw kerek. Mine joqarıdaǵı tatu() funkciyanı tómendegishe shaqırıwǵa boladı.
int main() {
// funkciyanı shaqırıw tatu();
} |
Tolıq kodı:
#include<iostream> using namespace std;
void tatu() { cout << "Sálem Dúnya"; }
int main() {
// funkciyanı shaqırıw tatu(); }
|
Funkciya C++ tilinde qalay jumıs isleydi: |
|
1-mısal: Tekstti kórsetiw:
|
Funkciya parametrleri:
Joqarıda atap ótilgendey, funkciyanı parametrleri menen (argumentler menen) járiyalawǵa boladı. Parametr - funkciyanı járiyalaw gezinde beriletuǵın mánis. Mısalı, tómendegi funkciyanı qarastırayıq:
void printNum(int num) { cout << num; } |
Bunda, int ózgeriwshi num funkciya parametri bolıp tabıladı. Funkciyanı shaqırıw gezinde funkciya parametrine mánis beremiz.
int main() { int n = 7;
// funkciyanı shaqırıw // n funkciya parametri printNum(n);
return 0; } |
2-mısal. Parametrleri bar funkciya.
// tekstti shıǵarıw
#include <iostream> using namespace std;
// sandı ekranǵa shıǵarıw void displayNum(int n1, float n2) { cout << "int sanı " << n1; cout << "double sanı " << n2; }
int main() {
int num1 = 5; double num2 = 5.5;
// funkciyanı shaqırıw displayNum(num1, num2);
return 0; } |
Kompyuterde orınlanıwı hám nátiyjesi: |
|
Joqarıdaǵı baǵdarlamada biz bir int parametri hám bir doubele parametri bar funkciyanı qollandı. Sonnan num1 hám num2 argumenti retinde. Bul mánisler funkciya parametrleri arqalı n1 hám n2 saqlanadı.
Parametrleri bar C++ funkciyası |
|
Eskertiw: Funkciyanı shaqırıw gezinde berilgen argumentlerdiń tipi funkciya deklaraciyasında anıqlanǵan sáykes parametrlerge sáykes keliwi kerek.
Qaytarıw málimlemesi
Joqarıdaǵı baǵdarlamada biz funkciya járiyalanıwında void qollandıq. Mısalı,
void displayNumber() { // code } |
Bul funkciya heshqanday mánis qaytarmaytuǵının bildiredi. Funkciyadan mánis qaytarıwǵa boladı. returnType ol funkciyanı járiyalaw gezinde funkciyanı kórsetiwi kerek. Sonnan keyin return operatordı funkciyadan mánisti qaytarıw ushın paydalanıwǵa boladı.
Mısalı,
int add (int a, int b) { return (a + b); } |
int bunda bizde void-tıń ornına maǵlıwmatlar túri bar. Bul funkciya int mánis qaytaratuǵının bildiredi. Kodta return (a + b); funkciya mánisi retinde eki parametrdiń qosındısın qaytaradı. Al return málimlemesi funkciyanıń juwmaqlanǵanın bildiredi. Funkciyanıń ishinen returnnan keyingi hár qanday kod orınlanbaydı.
3-mısal: Eki sandı qosıw:
// funkciyanı qollanıp eki sandı qosıw baǵdarlaması
#include <iostream>
using namespace std;
// funkciyanı járiyalaw int add(int a, int b) { return (a + b); }
int main() {
int sum;
// funkciyanı shaqırıw // sumnıń mánisin qaytarıw sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0; } |
Komputerde orınlanıwı |
|
Shıǵarıw: 100 + 78 = 178
Joqarıdaǵı baǵdarlamada add() funkciya eki sannıń qosındısın tabıw ushın qollanıladı. Funkciyanı shaqırıw gezinde biz eki int literaldı beremiz. 100 hám 78. Funkciyanıń qaytarılǵan mánisin sum ózgeriwshide saqlaymız, sonnan keyin biz onı basıp shıǵaramız.
C++ funkciyasınıń return operatorı menen jumıs islewi |
|
Sonı itibarǵa al, sum int tipiniń ózgeriwshisi bolıp tabıladı. Bunıń qaytarıw mánisi add() int tipine baylanıslı.
Funkciya prototipi
C++ tilinde funkciya járiyalanıwınıń kodı funkciyanı shaqırıwdan aldın bolıwı kerek. Degen menen, funkciyanı shaqırıwdan keyin funkciyanı anıqlaǵımız kelse, funkciya prototipin paydalanıwımız kerek. Mısalı,
// funkciya prototipi void add(int, int);
int main() { // funkciyanı járiyalawdan aldın shaqırıw add(5, 3); return 0; }
// funkciyanıń anıqlaması void add(int a, int b) { cout << (a + b); } |
Joqarıdaǵı kodta funkciyanıń prototipi
void add(int, int); |
Bul kompilyatordı funkciya atı hám onıń parametrleri tuwralı informaciya menen támiyinleydi. Sonlıqtan funkciya anıqlanǵanǵa shekem funkciyanı shaqırıw ushın kodtı paydalana alamız.
Funkciya prototipiniń sintaksisi:
returnType functionName(dataType1, dataType2, ...); |
4-mısal. C++ funkciyasınıń prototipi
// main() funkciyasınan keyin funkciya anıqlamasın paydalanıw // funkciya prototipi main() aldında járiyalanadı
#include <iostream>
using namespace std;
// funkciya prototipi int add(int, int);
int main() { int sum;
// funkciyanı shaqırıw hám saqlaw // sum qaytarılatuǵın mánis sum = add(100, 78);
cout << "100 + 78 = " << sum << endl;
return 0; }
// funkciyanıń anıqlaması int add(int a, int b) { return (a + b); } |
Komputerde orınlanıwı |
|
Nátiyje: 100 + 78 = 178
Joqarıdaǵı baǵdarlama 3-mısalǵa derlik uqsas. Jalǵız ayırmashılıǵı - bul jerde funkciya funkciya shaqırıwınan keyin anıqlanadı. Sonlıqtan biz onı usı mısalda prototipin qollandıq.
Paydalanıwshı anıqlaytuǵın funkciyalardı paydalanıwdıń artıqmashılıqları
Funkciyalar kodtı qayta paydalanıwǵa imkaniyat beredi. Biz olardı bir ret járiyalap, bir neshe ret paydalana alamız.
Funkciyalar baǵdarlamanı jeńilletedi, óytkeni hárbir kishi tapsırma funkciyaǵa bólinedi.
Funkciyalar oqıw imkaniyatın arttıradı.