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

2-ameliy_paradigma_qq

.pdf
Скачиваний:
0
Добавлен:
18.01.2026
Размер:
204.29 Кб
Скачать

2-ámeliy jumıs. Strukturalı programmalastırıwda ápiwayı programmalar jaratıw

Jumıstıń maqseti: Strukturalı programmalastırıwdıń tiykarǵı principlerin (izbe-izlik, tarmaqlanıw hám cikller) ózlestiriw. C++ tilinde shártli operatorlar (if, switch) hám tákirarlaw operatorların (for, while, do-while) qollanıp, logikalıq dúzilisi anıq hám tártipli bolǵan programmalar jaratıwdı úyreniw. "Spagetti kod"tan qashıw hám algoritmlerdi bloklar járdeminde qurıw kónlikpesin qáliplestiriw.

Teoriyalıq bólim: Strukturalı programmalastırıw – bul programmanı logikalıq bloklarǵa bóliw arqalı onıń oqılıwın hám sapa dárejesin arttırıwǵa arnalǵan paradigma. Bul usıldıń tiykarı – GOTO operatorınan (tártipsiz sekiriwlerden) waz keshiw hám Bem-Yakopini teoremasına tiykarlanıp, barlıq algoritmlerdi úsh tiykarǵı struktura arqalı súwretlew:

1.Izbe-izlik (Sequence): Buyrıqlardıń joqarıdan tómenge qaray tártip penen orınlanıwı.

2.Tarmaqlanıw (Selection): Belgili bir shártke baylanıslı kodtıń bir bólegin tańlaw (if, else, switch).

3.Tákirarlanıw (Iteration/Cikl): Kod blogınıń shárt orınlanǵansha bir neshe márte qaytalanıwı (while, do-while, for).

Bul strukturalardıń hárqaysısı "bir kirisiw hám bir shıǵıw" noqatına iye bolıwı shárt.

ÁMELIY BÓLIM:

C++ tilinde basqarıw strukturaların qollanıwdı kórip shıǵamız.

1-mısal: Tarmaqlanıw (IF-ELSE strukturası)

Másele: Paydalanıwshı kirgizgen sannıń oń, teris yamasa nolge teń ekenin anıqlaw.

Kod:

#include <iostream> using namespace std;

int main() { int san;

cout << "San kirgiziń: "; cin >> san;

// Strukturalı tarmaqlanıw if (san > 0) {

cout << "Bul oń san." << endl;

}

else if (san < 0) {

cout << "Bul teris san." << endl;

}

else {

cout << "Bul san nolge teń." << endl;

}

return 0;

}

Túsindirme: Bul jerde programma úsh joldan tek birewin tańlaydı. GOTO qollanılmaǵan, logika anıq bloklarǵa bólingen.

2-mısal: Kóp jollı tarmaqlanıw (SWITCH-CASE)

Másele: Hápte kúniniń tártip nomerine qaray onıń atın shıǵarıw.

Kod:

#include <iostream> using namespace std;

int main() { int kun;

cout << "Hápte kúniniń nomerin kirgiziń (1-7): "; cin >> kun;

switch (kun) { case 1:

cout << "Dúyshembi" << endl; break;

case 2:

cout << "Siyshembi" << endl; break;

case 3:

cout << "Sárshembi" << endl; break;

case 4:

cout << "Piyshembi" << endl; break;

case 5:

cout << "Juma" << endl; break;

case 6:

cout << "Shembi" << endl; break;

case 7:

cout << "Ekshembi" << endl; break;

default:

cout << "Qáte! 1 den 7 ge shekemgi san kirgiziń." << endl;

}

return 0;

}

Túsindirme: switch strukturası bir ózgeriwshiniń bir neshe anıq mánislerge (konstanta) teńligin tekseriw ushın qolaylı. break operatorı strukturanıń jumısın toqtatıp, bloktan shıǵıw ushın kerek.

3-mısal: Tákirarlanıw (FOR cikli)

Másele: 1 den N ge shekemgi sanlardıń qosındısın esaplaw (Faktorial emes, ápiwayı summa).

Kod:

#include <iostream> using namespace std;

int main() { int n;

int summa = 0; // Jıynawshı ózgeriwshi (akkumulyator)

cout << "N sannıń kirgiziń: "; cin >> n;

// Strukturalı cikl

for (int i = 1; i <= n; i++) {

summa = summa + i; // Hárbir i mánisin summaǵa qosamız

}

cout << "1 den " << n << " ge shekemgi sanlardıń qosındısı: " << summa << endl;

return 0;

}

Túsindirme: for cikli iteraciyalar sanı aldın ala belgili bolǵanda qollanıladı. Bul kod GOTO arqalı keri sekiriwdiń ornına, arnawlı cikl baslawshısın qollanadı.

4-mısal: Tákirarlanıw (WHILE cikli)

Másele: Paydalanıwshı 0 kirgizbegeninshe sanlardı qabıllaw hám olardıń kóbeymesin tabıw.

Kod:

#include <iostream> using namespace std;

int main() { int san;

long long kobeyme = 1; // 0 ge kóbeytpew ushın 1 den baslaymız

cout << "Sanlardı kirgiziń (toqtaw ushın 0 basıń): " << endl;

// Shártli cikl while (true) {

cin >> san;

if (san == 0) {

break; // Ciklden shıǵıw

}

kobeyme = kobeyme * san;

}

cout << "Kiritilgen sanlardıń kóbeymesi: " << kobeyme << endl; return 0;

}

Túsindirme: while cikli iteraciyalar sanı belgisiz bolǵanda, tek toqtaw shárti belgili bolǵanda qollanıladı.

ÁMELIY TAPSÍRMALAR

1-tapsırma: Úsh sannıń eń úlkenin tabıw (Maksimum).

Paydalanıwshıdan úsh san (a, b, c) kirgiziwdi soraytuǵın hám olardıń ishinen eń úlkenin (maksimumın) ekranda kórsetetuǵın programma dúziń.

Kórsetpe: if-else if-else strukturasınan yamasa ishi-ishine kirgen (nested) shártlerden paydalanıń.

2-tapsırma: Faktorial esaplaw.

Paydalanıwshı kirgizgen N pútin sanınıń faktorialın (N!) esaplaytuǵın programma jazıń.

Formula: N! = 1 * 2 * 3 * ... * N.

Kórsetpe: for ciklinen paydalanıń hám nátiyje úlken bolıwı múmkinligi sebepli long long tipinen paydalanıń.

3-tapsırma: Sannıń cifrların kerisine aylandırıw.

Paydalanıwshı kirgizgen pútin sannıń cifrların keri tártipte shıǵarıwshı programma dúziń.

Mısal: Kirgiziw: 12345 -> Nátiyje: 54321.

Kórsetpe: while cikli, % 10 (qaldıq alıw) hám / 10 (pútin bóliw) ámellerinen paydalanıń.

4-tapsırma: Ápiwayı kalkulyator (Switch-Case).

Paydalanıwshıdan eki san hám bir ámeldi (+, -, *, /) soraytuǵın programma dúziń. switch operatorınan paydalanıp, tańlanǵan ámelge sáykes esaplawdı orınlań hám nátiyjeni shıǵarıń.

Esletpe: 0 ge bóliw jaǵdayın if járdeminde tekseriń.

5-tapsırma: Kóbeytiw kestesi (Ishki cikller).

Paydalanıwshıdan N sanın sorap, 1 den N ge shekemgi bolǵan sanlardıń kóbeytiw kestesin (matrica kórinisinde) ekranda shıǵarıń.

Kórsetpe: Bir for cikli qatarlar ushın, onıń ishindegi ekinshi for cikli baǵanalar ushın qollanılıwı kerek (Nested Loops).

Соседние файлы в предмете Programmalastiriw paradigmalari