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

3-LEKCIYA_BAQLAW SORAWLARI

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

C++ Tarmaqlanıwshı processler hám operatorlar:

BAQLAW SORAWLARÍ

1-soraw. if-else operatorınıń sintaksisi qanday?

2-soraw. switch operatorı qanday jaǵdaylarda qollanıladı? 3-soraw. Ternar operatorınıń (' ? : ') strukturasın túsindirip beriń.

4-soraw. goto operatorı ne ushın qollanıladı hám onı qollanıwdıń qanday qáwipli tárepleri bar?

5-soraw. break hám continue operatorlarınıń ayırmashılıǵı nede? 6-soraw. switch operatorında default blokı ne ushın qollanıladı?

7-soraw. Nested if járiyalanıwınıń qanday artıqmashılıqları hám kemshilikleri bar?

8-soraw. if-else if-else strukturasın switch-case penen almastırıwdıń qanday artıqmashılıqları bar?

9-soraw. Qanday jaǵdaylarda ternar operatordı if-else ornına qollanıw maqul?

10-soraw. C++ ta short-circuit evaluationı ne hám ol qanday operatorlarda qollanıladı?

11-soraw. switch operatorında break operatorın qaldırıp ketiwdiń nátiyjelerin túsindirip beriń.

12-soraw. if-else hám switch operatorlarınıń iskerlik tezligi boyınsha salıstırıp beriń.

13-soraw. Shártsiz ótiw operatorları (unconditional jump statements) dep nelerge aytıladı hám olarǵa mısallar keltiriń.

14-soraw. Logikalıq operatorlar (&&, ||, !) dıń shártli ótiw operatorlarında qollanılıwın túsindirip beriń.

15-soraw. C++ ta dangling else máselesi neni ańlatadı hám onı qanday sheshiw múmkin?

JUWAPLAR:

1-soraw. if-else operatorınıń sintaksisi qanday?

if-else operatorınıń sintaksisi tómendegishe:

if (shártli ańlatpa) {

//shártli ańlatpa ras bolǵanda orınlanatuǵın kod

}else {

//shártli ańlatpa jalǵan bolǵanda orınlanatuǵın kod

}

Bunda 'else' bólimi qálegen bolıwı múmkin. Tek 'if' bólimin de qollanıw múmkin.

2-soraw. switch operatorı qanday jaǵdaylarda qollanıladı?

switch operatorı bir ózgeriwshiniń mánisin bir neshe turaqlı mánisler menen salıstırıw kerek bolǵan jaǵdaylarda qollanıladı. Ol kóp sanlı if-else if strukturaların almastırıw ushın qolaylı. Mısalı:

switch(ózgeriwshi) { case mánisi1:

// kod break;

case mánisi2:

// kod break;

default:

// basqa barlıq jaǵdaylar ushın kod

}

3-soraw. Ternar operatorınıń (' ? : ') strukturasın túsindirip beriń.

Ternar operator - bul úsh operandlı shártli operator. Onıń strukturası tómendegishe:

shártli_ańlatpa ? ras_bolǵandaǵı_nátiyjesi : jalǵan_bolǵandaǵı_nátiyjesi;

Eger shártli ańlatpa ras bolsa, operator birinshi nátiyjeni qaytaradı, eger jalǵan bolsa - ekinshi nátiyjeni qaytaradı. Bul qısqa if-else strukturasın bir qatarda jazıw imkaniyatın beredi.

4-soraw. goto operatorı ne ushın qollanıladı hám onı qollanıwdıń qanday qáwipli tárepleri bar?

goto operatorı programmanıń basqarıwın belgilengen belgige (label) ótkeriw ushın qollanıladı. Ol tómendegishe isleydi:

goto belgi;

//...

belgi:

//kod

Biraq, goto operatorın qollanıwdıń bir qansha qáwipli tárepleri bar:

1. Kodtı oqıw hám túsiniw qıyın boladı.

2.Strukturalı programmalastırıw principlerinen awlaqlasadı.

3.Qátelerge jol qoyıw múmkinshiligin arttıradı.

4.Kodtı sazlaw (debug) qılıwdı qıyınlastıradı.

Sonlıqtan, kópshilik jaǵdaylarda goto operatorın qollanıwdan qashıw usınıs etiledi.

5-soraw. break hám continue operatorlarınıń ayırmashılıǵı nede?

break hám continue operatorları cikllardı basqarıw ushın qollanıladı, biraq olardıń funkciyaları hár qıylı:

break: Cikldi tolıq toqtatıp, ciklden keyingi kodqa ótedi.

continue: Cikldiń aǵımdaǵı iteraciyasın toqtatıp, keyingi iteraciyaǵa ótedi.

Mısal:

for (int i = 0; i < 5; i++) { if (i == 2) {

continue; // 2 sanın ótkizip jiberedi

}

if (i == 4) {

break; // 4 ke jetkennen keyin cikldi toqtatadı

}

cout << i << " ";

}

// Nátiyje: 0 1 3

6-soraw. switch operatorında default blokı ne ushın qollanıladı?

default blokı switch operatorında tómendegi maqsetler ushın qollanıladı:

1.Basqa case'lerge tuwra kelmeytuǵın barlıq jaǵdaylar ushın qollanıladı.

2.Kútilmegen mánislerdi qayta islew ushın qollanıladı.

3.Programmanıń isenimliligin arttırıw ushın qollanıladı.

Mısal:

switch(kún) {

case 1: cout << "Dúyshembi"; break; case 2: cout << "Siyshembi"; break; // ...

default: cout << "Nadurıs kún";

}

7-soraw. Nested if járiyalanıwınıń qanday artıqmashılıqları hám kemshilikleri bar?

Artıqmashılıqları:

1.Quramalı logikanı ańsat ámelge asırıw múmkinshiligin beredi.

2.Bir neshe shártlerdi izbe-iz tekseriwge imkaniyat beredi.

Kemshilikleri:

1.Kod oqıwǵa qıyın bolıwı múmkin, ásiresi kóp dárejeli nested if bolǵanda.

2.Kodtı sazlaw (debug) qılıw qıyınlasadı.

3.Kod qaytalanadı, bul kodtıń kólemin arttırıwı múmkin.

8-soraw. if-else if-else strukturasın switch-case penen almastırıwdıń qanday artıqmashılıqları bar?

Artıqmashılıqları:

1.Kod anıǵıraq hám oqıwǵa ańsat boladı.

2.Orınlanıw tezligi joqarı boladı, ásiresi kóp sanlı shártler bar bolǵanda.

3.Kompiliyator optimizaciyası ushın qolaylı.

4.Bir ózgeriwshiniń hár qıylı mánislerin teksergende qolaylı.

9-soraw. Qanday jaǵdaylarda ternar operatordı if-else ornına qollanıw maqul?

Ternar operatordı tómendegi jaǵdaylarda qollanıw maqul:

1.Ápiwayı shártli tańlaw kerek bolǵanda (tek eki variant bar bolǵanda).

2.Qısqa hám ańsat túsiniletugın kod jazıw kerek bolǵanda.

3.Ózgeriwshige mánisti shártke qarap belgilew kerek bolǵanda.

Mısal:

int max = (a > b) ? a : b; // a hám b nıń úlkeniregin tańlaydı

10-soraw. C++ ta short-circuit evaluationı ne hám ol qanday operatorlarda qollanıladı?

Short-circuit evaluation - bul logikalıq operaciyalardı orınlaw waqtında, eger nátiyje birinshi operandtan-aq belgili bolsa, ekinshi operandtı esaplamay qoyıw.

C++ ta bul && (logikalıq AND) hám || (logikalıq OR) operatorlarında qollanıladı:

1.&& operatorı: Eger birinshi operand false bolsa, ekinshi operand esaplanbaydı.

2.|| operatorı: Eger birinshi operand true bolsa, ekinshi operand esaplanbaydı.

Mısal:

if (x != 0 && 1000 / x > 50) {

// Eger x nolge teń bolsa, 1000 / x esaplanbaydı

}

11-soraw. switch operatorında break operatorın qaldırıp ketiwdiń nátiyjelerin túsindirip beriń.

switch operatorında break operatorın qaldırıp ketiw tómendegi nátiyjelerge alıp keliwi múmkin:

Baǵdarlamanıń islewi dawam etedi hám keyingi case bólimlerine ótedi.

Bul "fall-through" dep ataladı hám barlıq qalǵan case bólimleriniń kodı orınlanadı.

Eger bul qátelik penen islense, kútilmegen nátiyjelerde alıp keliwi múmkin.

Biraq, geybir jaǵdaylarda bul qásiyetten paydalanıw arqalı bir neshe case ushın birdey kodtı orınlaw múmkin.

12-soraw. if-else hám switch operatorlarınıń iskerlik tezligi boyınsha salıstırıp beriń.

if-else hám switch operatorlarınıń iskerlik tezligi tómendegishe:

switch operatorı kóp sanlı shártler ushın if-else ge qaraǵanda tezirek isleydi.

Sebebi, switch jump table qollanadı, al if-else hár bir shártti izbe-iz tekseredi.

Biraq, az sanlı shártler ushın if-else tezirek bolıwı múmkin.

switch tek integer tipindegi mánislerdi salıstıra aladı, al if-else hár qanday shártlerdi tekseriwi múmkin.

13-soraw. Shártsiz ótiw operatorları (unconditional jump statements) dep nelerge aytıladı hám olarǵa mısalların keltiriń.

Shártsiz ótiw operatorları - bul hesh qanday shártsiz baǵdarlamanıń basqa bir bólimine ótiwdi támiyinleytuǵın operatorlar. Mısallar:

goto: Baǵdarlamanıń belgilengen ornına ótedi.

break: Cikl yamasa switch bóliminen shıǵadı.

continue: Cikldiń keyingi iteraciyasına ótedi.

return: Funkciyadan shıǵıp, shaqırılǵan jerge qaytadı.

14-soraw. Logikalıq operatorlar (&&, ||, !) dıń shártli ótiw operatorlarında qollanılıwın túsindirip beriń.

Logikalıq operatorlar shártli ótiw operatorlarında tómendegishe qollanıladı:

&& (hám): Eki shártti biriktiredi. Eki shártte durıs bolsa ǵana orınlanadı.

|| (yamasa): Eki shártti biriktiredi. Eki shárttiń birewi durıs bolsa orınlanadı.

! (emes): Shárttiń mánisin tersine ózgertedi.

Bular arqalı quramalı shártler dúziw múmkin, mısalı: if (x > 0 && y < 10 || !z)

15-soraw. C++ ta dangling else máselesi neni ańlatadı hám onı qanday sheshiw múmkin?

Dangling else máselesi - bul nested if operatorlarında else bóliminiń qaysı if ke tiyisli ekenligin anıqlawdaǵı qıyınshılıq. Bul máseleni sheshiw usılları:

Figuralı qawsırmaların qollanıw arqalı bloklar anıq kórsetiledi.

Eger múmkin bolsa, else if konstrukciyasın qollanıw.

Quramalı shártlerdi ápiwayılastırıw yamasa bólekke ajıratıw.

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