- •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
Másele. Berilgen tórt xanalı belgisiz sannıń basındaǵı eki cifrdıń qosındısı qalǵan cifrlar qosındısına teń yamasa teń emesligi anıqlansın (cifrlar qosındısı degende olarǵa sáykes san mánisleriniń qosındısı túsiniledi). Sannıń cifrların ajıratıp alıw ushın pútin sanlar arifmetikası ámellerinen paydalanadı:
#include <iostream.h> int main()
{
unsigned int n, a3, a2, a1, a0; // n=a a a a kórinisinde cout << ”\n n - mánisin kiritiń: ”;
cin >> n;
if(n < 1000 || n > 9999)
{
cout << ”Kiritilgen san 4 xanalı emes!”; return 1;
}
a3 = n / 1000;
a2 = n % 1000 / 100;
a1 = n % 100 / 10;
a0 = n % 10;
if(a3 + a2 == a1 + a0)
cout << ”a3 + a2 = a1 + a0”; else
cout << ”a3 + a2 <> a1 + a0”;
return 0;
Programma belgisiz pútin san kiritiwdi usınıs etedi. Eger kiritilgen san 4 xanalı bolmasa (n<1000 yamasa n>9999), bul haqqında хabar beriledi hám programma óz jumısın juwmaqlaydı. Keri jaǵdayda n sanınıń cifrları ajıratıp alınadı, hámde basındaǵı eki cifrdıń qosındısı - (a3+a2) qalǵan eki cifrlar qosındısı - (a1+a0) menen salıstırıladı hám olardıń teń yamasa teń emesligine qarap sáykes juwap shıǵarıladı.
Ternar operatorı ?: shárt ámeli.
Eger tekserilip atırǵan shárt salıstırmalı ápiwayı bolsa, shárt ámeliniń «?:» kórinisin isletiw múmkin:
shárt ańlatpa> ? <ańlatpa1 > : <ańlatpa2 >;
Shárt ámeli if shárt operatorına uqsas jaǵdayda isleydi: eger <shárt ańlatpa> 0 mánisinen parıqlı yamasa true bolsa, <ańlatpa1 >, keri jaǵdayda <ańlatpa2 > orınlanadı. Ádette ańlatpalar mánisleri qaysıdur ózgeriwshige ózlestiriledi.
Mısal sıpatında eki pútin san maksimumın tabıw máselesin kóreyik. #include <iostream.h>
using namespace std; int main()
{
int a, b, c;
cout << ”a hám b sanlar maksimumın tabıw.”;
cout << ”\n a - mánisin kiritiń:”; cin >> a;
cout << ”\n b - mánisin kiritiń:”; cin >> b;
c = a > b ? a : b;
cout << ”\n Sanlar maksimumı: ” << c; return 0;
}
Programmadaǵı shárt operatorı mánis beriw operatorınıń quramına kirgen
bolıp, a ózgeriwshiniń mánisi b ózgeriwshiniń mánisinen úlkenligi tekseriledi. Eger shárt shın bolsa, c ózgeriwshisine a ózgeriwshi mánisin, keri jaǵdayda b ózgeriwshiniń mánisin ózlestiredi hám c ózgeriwshisiniń mánisi shıǵarıladı.
?: ámeliniń mánis qaytarıw qásiyetinen paydalanǵan jaǵdayda, onı tikkeley cout kórsetpesine jazıw arqalı da qoyılǵan máseleni sheshiw múmkin:
#include <iostream.h> using namespace std; int main()
{
int a, b;
cout << ”a hám b sanlar maksimumın tabıw.”; cout << ”\n a- mánisin kiritiń:”;
cin >> a;
cout << ”\n b- mánisin kiritiń:”; cin >> b;
cout << ”\n Sanlar maksimumı: “ << (a > b) ? a : b; return 0;
}
Shártsiz ótiw operatorı goto operatorı
Shártsiz ótiw operatorınıń ulıwma kórinisi tómendegishe: goto <belgi>;
goto operatorınan keyin basqarıw <belgi> ge uzatıladı hám programmanıń orınlanıwı sol jerden dawam etedi.
belgi - bul dawamında ':' qoyılǵan identifikator. Mısal ushın : belgi :;
Belgi hár qanday operator aldından isletiliwi múmkin, sonıń menen birge shárt operatorı aldından da.
Mısal : N natural sanın kirgiziwdi usınıs etiwshi programma dúzilsin. Eger natural bolmaǵan san kiritilse, qayta kirgiziw usınıs etilsin.
#include <iostream> #include <math. h> using namespace std; int main ()
{
float n; belgi :
cout << “natural san kiritiń” << endl; cin >> n;
if (( ceil (n)! =n) or (n <= 0)) goto belgi ;
cout << “Natural san kirgizildi” << endl; return 0;
}
Programma orınlanıwı processinde birinshi náwbette n sanı kiritiledi, keyin kiritilgen sannı natural san emesligi tekseriledi. Eger shárt ras (true) baha qaytarsa belgige qaytadı hám n sanı qayta kiritiliwi soraladı. Keri jaǵdayda yáni n sanı natural san bolsa, “Natural san kirgizildi” xabarı shıǵarıladı.