Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C++ te Funkciyalar

.pdf
Скачиваний:
2
Добавлен:
11.11.2025
Размер:
362.31 Кб
Скачать

Ámeliy jumıs: C++ tilinde funkciyalar menen islew

1. Jumıstıń maqseti

Bul ámeliy jumıstıń tiykarǵı maqseti – studentlerge C++ programmalastırıw tilinde funkciyalardı dúziw hám olardan paydalanıw boyınsha ámeliy kónlikpeler beriw. Tómendegi tiykarǵı túsiniklerdi úyreniw:

Funkciya ne ekenin túsiniw hám onıń programmadagı áhmiyeti.

Funkciya-procedura (void tipli, mánis qaytarmaytuǵın) jaratıw hám shaqırıw.

Mánis qaytarıwshı funkciya (mısalı, int, double tipli) jaratıw hám onıń nátijesinen paydalanıw.

Funkciyaǵa parametrler beriwdi úyreniw.

2. Teoriyalıq maǵlıwmat (Qısqasha)

Funkciya – bul belgili bir wazıypanı orınlaw ushın arnalǵan programmanıń bólegi (kodlar blogı). Funkciyalar kodtı qayta paydalanıwǵa, programmanı kishi, basqarıwǵa ańsat bóleklerge ajıratıwǵa hám oqıwǵa qolaylı etiwge járdem beredi.

Funkciyalar eki tiykarǵı túrge bólinedi:

1. Funkciya-procedura (Mánis qaytarmaytuǵın funkciya):

oBul funkciya belgili bir ámeldi (mısalı, tekstti ekranga shıǵarıw) orınlaydı, biraq heshqanday nátiyjeni (mánis) qaytarmaydı.

o C++ tilinde olar void (bánt) gilt sózi menen járiyalanadı. o Sintaksisi:

C++

void funkciya_ati(parametrler) { // Orınlanatuǵın kod

}

2. Mánis qaytarıwshı funkciya:

oBul funkciya belgili bir esaplawlardı ámelge asıradı hám aqırında return operatorı járdeminde bir nátiyjeni (mánis) shaqırǵan jerge qaytaradı.

o Járiyalanǵanda void ornına qaytaratuǵın mánistiń tipi (mısalı, int, double, string) kórsetiledi. o Sintaksisi:

C++

tip funkciya_ati(parametrler) { // Orınlanatuǵın kod

return mánis; // mánistiń tipi 'tip'ke sáykes keliwi kerek

}

3. Ámeliy tapsırmalar

Tapsırmalardı orınlaw ushın C++ kompilyatorı (mısalı, Code::Blocks, Visual Studio, yamasa online GDB) kerek boladı.

1-Tapsırma: Eń ápiwayı funkciya-procedura (void)

Bul tapsırmada biz ekranga sálemlesiw xabarın shıǵaratuǵın ápiwayı void funkciyasın jazamız.

1.Jańa proekt yamasa C++ fayl jaratıń.

2.Tómendegi kodtı kiritiń hám analizleń:

C++

#include <iostream> using namespace std;

//1. Funkciya-proceduranı járiyalaw

//Bul funkciya heshqanday mánis qaytarmaydı (void) void SalemBer() {

cout << "Assalawma áleykum!" << endl;

cout << "C++ dúnyasına xosh kelipsiz!" << endl;

}

int main() {

//2. Funkciyanı shaqırıw

//Funkciya atı hám qawsırmalar () jazıladı

SalemBer();

//Funkciyanı bir neshe márte shaqırıwǵa boladı

SalemBer();

return 0;

}

3.Programmanı kompilyaciya etiń (Build) hám iske túsiriń (Run).

4.Nátiyje: Ekranda "Assalawma áleykum!" hám "C++ dúnyasına xosh kelipsiz!" degen jazıwlar eki márte payda bolıwı kerek.

2-Tapsırma: Parametrli funkciya-procedura

Endi funkciyamızǵa maǵlıwmat (parametr) beremiz. Funkciya sol maǵlıwmat tiykarında jumıs islesin.

1. Aldıńǵı kodtı tómendegishe ózgertiń. Biz endi at (sim) qabıl etetuǵın funkciya jazamız.

C++

#include <iostream>

#include <string> // string tipi ushın kerek using namespace std;

//1. Parametrli funkciya-procedura

//Bul funkciya 'string' tipindegi 'at' degen parametrdi qabıl etedi void AtinKorset(string at) {

cout << "Sálem, " << at << "! Búgingi kúnińiz kewilli ótsin." << endl;

}

int main() {

//2. Funkciyanı hár qıylı parametrler menen shaqırıw

AtinKorset("Alpamis"); AtinKorset("Gúlnar");

//Paydalanıwshıdan at soraw

string meninAtim;

cout << "Atıńızdı kiritiń: ";

cin >> meninAtim;

// Ózgeriwshi mánisin parametr sıpatında beriw AtinKorset(meninAtim);

return 0;

}

2.Programmanı iske túsiriń. Ol dáslep "Alpamis" hám "Gúlnar" ushın sálem shıǵaradı, keyin sizden at kiritiwińizdi soraydı hám sol at penen taǵı bir márte sálem shıǵaradı.

3-Tapsırma: Mánis qaytarıwshı funkciya

Bul tapsırmada biz esaplawdı orınlaytuǵın hám sol nátiyjeni main funkciyasına qaytaratuǵın funkciya dúzemiz.

1. Eki sandı qosatuǵın funkciya jazayıq.

C++

#include <iostream> using namespace std;

//1. Mánis qaytarıwshı funkciya

//Bul funkciya 'int' (pútin san) tipindegi mánis qaytaradı

//Hám eki 'int' tipindegi parametr (a hám b) qabıl etedi int Qosiw(int a, int b) {

int summa = a + b;

// 'return' operatorı nátijeni shaqırǵan jerge qaytaradı return summa;

}

int main() {

// Funkciyanı shaqırıw hám nátiyjeni 'juwap' ózgeriwshisine saqlaw int juwap = Qosiw(5, 3);

cout << "5 + 3 = " << juwap << endl;

// Basqa sanlar menen shaqırıw int san1 = 10;

int san2 = 20;

int juwap2 = Qosiw(san1, san2);

cout << san1 << " + " << san2 << " = " << juwap2 << endl;

// Nátiyjeni izbe-iz basqa funkciya ishinde de qollanıwǵa boladı cout << "100 + 50 = " << Qosiw(100, 50) << endl;

return 0;

}

2.Programmanı iske túsiriń. Ol ekranda úsh qosıw ámeliniń nátijelerin kórsetiwi kerek.

4-Tapsırma: Funkciyalardı birgelikte qollanıw (Mánis qaytarıwshı hám procedura)

Endi eki túrdegi funkciyanı da bir programmada qollanayıq. Bir funkciya esaplasın (mánis qaytarsın), ekinshisi sol nátijeni ekranga shıǵarsın (procedura).

1. Kvadtrattıń maydanın esaplaytuǵın programma jazayıq.

C++

#include <iostream> using namespace std;

//1. Mánis qaytarıwshı funkciya (Esaplaw ushın)

//Tómengi tárepti (side) qabıl etip, maydandı (area) qaytaradı int KvadratMaydani(int tomengiTarep) {

int maydan = tomengiTarep * tomengiTarep; return maydan;

}

//2. Funkciya-procedura (Nátiyjeni kórsetiw ushın)

void NatiyjeniShigar(int maydan) {

cout << "Kvadtrattıń maydanı: " << maydan << " birlikke teń." << endl;

}

int main() {

int tarep = 4;

// 3. Esaplaw funkciyasın shaqırıw

int esaplang_maydan = KvadratMaydani(tarep);

//4. Kórsetiw funkciyasın shaqırıw (nátijeni oǵan beriw) NatiyjeniShigar(esaplang_maydan);

//--- Basqa mısallar ---

//8 ge teń tárep ushın

int esaplang_maydan2 = KvadratMaydani(8); NatiyjeniShigar(esaplang_maydan2);

// 10 ǵa teń tárep ushın (qısqasha jol) NatiyjeniShigar(KvadratMaydani(10));

return 0;

}

2.Programmanı iske túsiriń. Ol tárepleri 4, 8 hám 10 ǵa teń bolǵan kvadratlardıń maydanların izbeizlikte shıǵarıwı kerek.

4. Juwmaq

Bul ámeliy jumısta biz C++ tilindegi funkciyalardıń eki tiykarǵı túri menen tanıstıq:

void funkciyalar (proceduralar): Olar belgili bir wazıypanı orınlaydı (mısalı, ekranga basıp

shıǵarıw), biraq nátije qaytarmaydı.

Mánis qaytarıwshı funkciyalar (int, double h.t.b.): Olar esaplawlardı orınlaydı hám return arqalı nátijeni qaytaradı.

Funkciyalardan paydalanıw kodtı anaǵurlım taza, tártipli hám qayta paydalanıw ushın qolaylı etedi.

5. Baqlaw sorawları (Óz-ózińizdi tekseriń)

1.Funkciya degende neni túsinesiz? Programmada olardıń áhmiyeti nede?

2.void funkciya menen int funkciyanıń (mánis qaytarıwshı) tiykarǵı ayırmashılıǵı nede?

3.return operatorı qanday wazıypanı atqaradı? Ol void funkciyada qollanılıwı múmkin be? (Múmkin, biraq mánissiz: return;)

4.Funkciyaǵa parametr beriw ne ushın kerek? (Mısalı, AtinKorset(string at) funkciyasındaǵı

at).

ÁMELIY TAPSÍRMALAR:

1-Basqısh: Ápiwayı void funkciyalar

Bul tapsırmalarda funkciya tek ǵana belgili bir ámeldi (kóbinese ekranga shıǵarıw) orınlaydı.

1."Salem, C++!" funkciyası:

Ekranga "Salem, C++!" dep jazatuǵın SalemBer atlı void funkciyasın jazıń hám onı main funkciyasınan shaqırıń.

2.Óz atıńızdı shıǵarıw:

Ekranga ózińizdiń atıńızdı hám familiyańızdı shıǵaratuǵın MeniTánistir atlı void funkciyasın jazıń.

3.Qosıw ámelin kórsetiw:

Ekranga "5 + 5 = 10" degen tekstti shıǵaratuǵın QosiwMısalı atlı void funkciyasın jazıń.

(Esaplaw emes, tek tekst).

4.Universitet atı:

Ózińiz oqıp atırǵan universitettiń atın ekranga shıǵaratuǵın UniversitetInfo atlı void funkciyasın jazıń.

2-Basqısh: Parametrli void funkciyalar (Proceduralar – Maǵlıwmat alıw)

Bul tapsırmalarda funkciya main funkciyasınan maǵlıwmat (parametr) qabıl etedi hám sonnan paydalanadı.

5.At penen sálemlesiw:

Parametr retinde bir string (at) qabıl etetuǵın hám ekranga "Salem, [at]!" dep shıǵaratuǵın AtPenemSalemles funkciyasın jazıń. (Mısalı: AtPenemSalemles("Aybek")).

6.Jasıńızdı kórsetiw:

Parametr retinde bir int (jas) qabıl etetuǵın hám ekranga "Siz [jas] jastasız." dep shıǵaratuǵın JasKorset funkciyasın jazıń.

7.Eki sandı qosıp kórsetiw:

Eki int (a hám b) parametrlerin qabıl etetuǵın hám ekranga olardıń qosındısın (mısalı, "Qosındı: 15") shıǵaratuǵın SummaShigar funkciyasın jazıń. Itibar beriń: bul funkciya void bolıwı kerek, nátiyjeni qaytarmasın.

8.Sandı úsh márte shıǵarıw:

Bir int (san) qabıl etip, sol sandı ekranga úsh márte bir qatarda shıǵaratuǵın (mısalı: "5 5 5") UshMárte funkciyasın jazıń.

9.Tuwrımúyeshlik perimetrin shıǵarıw:

Eki int (uzınlıq hám en) qabıl etip, sol tuwrımúyeshliktiń perimetrin esaplap, nátijeni ekranga shıǵaratuǵın PerimetrShigar void funkciyasın jazıń.

3-Basqısh: Mánis qaytarıwshı funkciyalar (Matematikalıq)

Bul tapsırmalarda funkciya esaplawdı orınlaydı hám nátijeni return arqalı main funkciyasına qaytaradı.

10.Eki sandı qosıw:

Eki int (a hám b) parametrlerin qabıl etip, olardıń qosındısın return etetuǵın Qosiw atlı int funkciyasın jazıń. main funkciyasında nátiyjeni qabıl etip, ekranga shıǵarıń.

11.Eki sandı alıw:

Eki int (a hám b) parametrlerin qabıl etip, olardıń ayırmasın (a - b) return etetuǵın Aliw atlı int funkciyasın jazıń.

12.Sannıń kvadratı:

Bir int (san) qabıl etip, sol sannıń kvadratın (san * san) return etetuǵın Kvadrat atlı int funkciyasın jazıń.

13.Sannıń kubı:

Bir int (san) qabıl etip, sol sannıń kubın (san * san * san) return etetuǵın Kub atlı int funkciyasın jazıń.

14.Tuwrımúyeshlik maydanı:

Eki int (uzınlıq hám en) qabıl etip, tuwrımúyeshliktiń maydanın (uzınlıq * en) return etetuǵın MaydanEsapla atlı int funkciyasın jazıń.

15.Úsh san arasınan kishisin tabıw:

Úsh int (a, b, c) parametrlerin qabıl etip, olardıń arasınan eń kishisin return etetuǵın EnKishisinTap funkciyasın jazıń.

16.Orta arifmetikalıq mánis:

Eki double (a hám b) sanların qabıl etip, olardıń orta arifmetikalıq mánisin ((a + b) / 2) return etetuǵın OrtaShama atlı double funkciyasın jazıń.

17.Celsiydan Farengeytke:

Gradus Celsiydı (double C) parametr sıpatında qabıl etip, onı Farengeytke (F = C * 1.8 + 32) aylandıratuǵın hám nátiyjeni (double F) return etetuǵın CelsiyToFarengeyt funkciyasın jazıń.

18.Sannan 1di kemeytiw:

Bir int san qabıl etip, onnan bir (1) sanın kemeytip, nátiyjeni return etetuǵın MinusBir funkciyasın jazıń.

4-Baspısh: Mánis qaytarıwshı funkciyalar (Logikalıq – bool)

Bul tapsırmalarda funkciya "awa" (true) yamasa "yaq" (false) mánisin qaytaradı.

19.Jup yamasa taq ekenin anıqlaw:

Bir int (san) qabıl etip, eger san jup bolsa true, taq bolsa false mánisin return etetuǵın isJup atlı bool funkciyasın jazıń. (Máslahát: san % 2 == 0).

20.Múmkinshiligi bar ma? (Balıqqa shıǵıw):

Bir int (jas) qabıl etip, eger jas 18 den úlken yamasa teń bolsa true, kishi bolsa false mánisin return etetuǵın isErJetken atlı bool funkciyasın jazıń.

21.Oń yamasa teris san:

Bir int (san) qabıl etip, eger san 0 den úlken bolsa true, keri jaǵdayda (0 yamasa teris) false mánisin return etetuǵın isOńSan atlı bool funkciyasın jazıń.

22.Eki san teń be?

Eki int (a hám b) qabıl etip, eger olar teń bolsa true, teń bolmasa false mánisin return etetuǵın isTeń atlı bool funkciyasın jazıń.

5-Basqısh: Qospa hám shınıǵıw tapsırmaları

Bul jerde eki funkciyanı birgelikte qollanıw kerek boladı.

23.Maksimumdı shıǵarıw:

Eki int (a hám b) sanlarınan úlkenin return etetuǵın MaxTabiw atlı int funkciyasın jazıń.

24.Faktoriyaldı esaplaw (ápiwayı):

5tiń faktoriyalın (5! = 12345) esaplaytuǵın hám nátiyjeni return etetuǵın Faktoriyal5 atlı int funkciyasın jazıń (bul funkciya parametr almaydı, biraq mánis qaytaradı).

25.Funkciyanı funkciyada qollanıw:

o Birinshi, 12-tapsırmadaǵı Kvadrat(int san) funkciyasın jazıń.

o Ekinshi, eki int (a hám b) qabıl etetuǵın KvadratlarQosindisi atlı funkciya jazıń. Bul funkciya Kvadrat funkciyasın paydalanıp, a nıń kvadratı menen b nıń kvadratınıń qosındısın

return etiwi kerek. (Mısalı: return Kvadrat(a) + Kvadrat(b);).

Соседние файлы в предмете Программирование на C++