Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3-LEKCIYA PREZENTACIYA.pptx
Скачиваний:
0
Добавлен:
28.11.2023
Размер:
703.11 Кб
Скачать

awa (true)

yaq (fals e)

 

s hárt-ańlatpa

operator1

operator2

2-súwret. if - else shárt operatorınıń blok sxeması

Mısal sıpatında diskriminanttı esaplaw usılı járdeminde ax2+bx+c=0 kórinisindegi kvadrat teńleme sheshimlerin tabıw máselesin kóreyik:

#include <iostream.h> #include <math.h> int main()

{

float a, b, c; float D, x1, x2;

cout << ”ax^2 + bx + c = 0 teńleme sheshimin tabıw.”; cout << ”\n a - koefficientin kiritiń: ”;

cin >> a;

cout << ”\n b - koefficientin kiritiń: ”; cin >> b;

cout << ”\n c - koefficientin kiritiń: ”; cin >> c;

D = b * b – 4 * a * c; if(D < 0)

{

cout << “Teńleme haqıyqıy sheshimge iye emes!”; return 0;

}

else if(D == 0)

{

cout << “Teńleme jalǵız sheshimge iye: ”; x1 = -b / (2 * a);

cout << ”\n x = “ << x1; return 0;

}

else

{

cout << “Teńleme eki sheshimge iye: ”; x1 = (-b + sqrt(D)) / (2 * a);

x2 = (-b - sqrt(D)) / (2 * a); cout << ”\n x1 = “ << x1; cout << ”\n x2 = “ << x2;

}

return 0;

}

Programma orınlanǵanda, birinshi náwbette teńleme koefficientleri - a, b, c ózgeriwshiler mánisleri kiritiledi, keyin diskriminant - D ózgeriwshi mánisi esaplanadı. Keyin D mánisiniń teris ekenligi tekseriledi. Eger shárt orınlı bolsa, pútin operator sıpatında keliwshi ‘{‘ hám ‘}’ belgileri arasındaǵı operatorlar orınlanadı hám ekranǵa “Teńleme haqıyqıy sheshimlerge iye emes” xabarı shıǵadı hám programma óz jumısın juwmaqlaydı (“return 0;” operatorın orınlaw arqalı).

Diskriminant nolden kishi bolmasa, náwbettegi shárt operatorı onı nolge teńligin tekseredi. Eger shárt orınlı bolsa, keyingi qatarlardaǵı operatorlar blokı orınlanadı -ekranǵa “Teńleme jalǵız sheshimge iye:” xabarı, hámde х1 ózgeriwshi mánisi shıǵarıladı hám programma sol jerde óz jumısın juwmaqlaydı, keri jaǵdayda, yaǵnıy D mánisi nolden úlken jaǵdayı ushın else gilt sózinen keyingi operatorlar blogı orınlanadı hám ekranǵa “Teńleme eki sheshimge iye:” xabarı, hámde х1 hám х2 ózgeriwshiler mánisleri shıǵarıladı. Sol menen shárt operatorınan shıǵıladı hám tiykarǵı funkciyanıń return kórsetpesin orınlaw arqalı programma

óz jumısın juwmaqlaydı.

Óz náwbetinde <operator1 > hám <operator 2> de shártli operator bolıwı múmkin. Ańlatpadaǵı hár bir else gilt sózi, aldındaǵı eń jaqın if gilt sózine tiyisli esaplanadı (tap ashılıwshı hám jabılıwshı qawıslar kibi). Bunı esapqa almasaq mazmun tárepinen qáteliklerge alıp keliwi múmkin.

Máselen: if(x == 1) if(y == 1)

cout << ”x = 1 ham y = 1”; else

cout << ”x <> 1”;

Bul mısalda “x <> 1” xabarı х mánisi 1 hám y mánisi 1 bolmaǵan jaǵdayda da shıǵarıladı. Tómendegi variantta usı mazmundaǵı qátelik saplastırılǵan:

if(x == 1)

{

if(y == 1)

cout << ”x = 1 ham y = 1”;

}

else

cout << ”x <> 1”;

Ekinshi mısal sıpatında úsh pútin sannıń maksimal mánisin tabıwshı programma bólegin keltiriwimiz múmkin:

#include<iostream>

#include<math.h> using namespace std; int main(){

int x, y, z, max; cin >> x >> y >> z; if(x < y)

if(y < z)

max = z; else max = y; else

if(x < z) max = z; else max = x;

cout<<max; return 0;

}

Shárt operatorında járiyalaw operatorların isletiw ruxsat etilmeydi, biraq ondaǵı bloklarda ózgeriwshilerdi járiyalaw múmkin hám bul ózgeriwshiler tek ǵana blok ishinde ámel qıladı. Tómendegi mısalda bul jaǵday menen baylanıslı qátelik kórsetilgen:

if(j > 0)

{

int i;

i = 2 * j;

}

else

i =- j; //qáte,sebebi i bloktan sırtta kórinbeydi

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