- •3-LEKCIYA. TARMAQLANÍWSHÍ HÁM TAŃLAW OPERATORLARÍ. TARMAQLANÍWSHÍ OPERATORLAR HÁM OLARDÍŃ ISLEW TÁRTIBI. TERNAR OPERATORÍ.
- •Jobası:
- •Tarmaqlanıwshı esaplaw proceslerin algoritmlestiriw hám programmalastırıwda kóplegen máselelerdi sheshiwde ayırım procesler belgili shárt
- •Tarmaqlanıwshı algoritm. Tapsırma: Eki pútin sandı kirgiziń hám olardan kishisin ekranǵa shıǵarıń. Sheshim
- •If operatorı
- •Bloktan keyin ‘;’ belgisi qoyılmawı múmkin, biraq blok ishindegi hár bir ańlatpa ‘;’
- •Tómende keltirilgen programmada if operatorınan paydalanıw kórsetilgen.
- •Programma orınlanıwı procesinde pútin tiptegi b ózgeriwshi járiyalanadı hám onıń mánisi klaviaturadan oqıladı.
- •if - else operatorı.
- •awa (true)
- •Programma orınlanǵanda, birinshi náwbette teńleme koefficientleri - a, b, c ózgeriwshiler mánisleri kiritiledi,
- •Diskriminant nolden kishi bolmasa, náwbettegi shárt operatorı onı nolge teńligin tekseredi. Eger shárt
- •Ekinshi mısal sıpatında úsh pútin sannıń maksimal mánisin tabıwshı programma bólegin keltiriwimiz múmkin:
- •Shárt operatorında járiyalaw operatorların isletiw ruxsat etilmeydi, biraq ondaǵı bloklarda ózgeriwshilerdi járiyalaw múmkin
- •Másele. Berilgen tórt xanalı belgisiz sannıń basındaǵı eki cifrdıń qosındısı qalǵan cifrlar qosındısına
- •Programma belgisiz pútin san kiritiwdi usınıs etedi. Eger kiritilgen san 4 xanalı bolmasa
- •Ternar operatorı ?: shárt ámeli.
- •Programmadaǵı shárt operatorı mánis beriw operatorınıń quramına kirgen
- •Shártsiz ótiw operatorı goto operatorı
- •Mısal : N natural sanın kirgiziwdi usınıs etiwshi programma dúzilsin. Eger natural bolmaǵan
- •Programma orınlanıwı processinde birinshi náwbette n sanı kiritiledi, keyin kiritilgen sannı natural san
- •Tańlaw operatorı Switch operatorı.
- •Mısal ushın, kiriw aǵımınan “Process dawam etilsin be?” sorawına paydalanıwshı tárepinen juwap alınadı.
- •Ulıwma alǵanda, tańlaw operatorında break hám default gilt sózlerin isletiw májbúriy emes. Biraq
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