ÓZBEKSTAN RESPUBLIKASÍ JOQARÍ BILIMLENDIRIW,
ILIM HÁM INNOVACIYALAR MINISTRLIGI
MUHAMMED AL-XOREZMIY ATÍNDAǴÍ TASHKENT INFORMACIYALÍQ TEXNOLOGIYALARÍ UNIVERSITETI
NÓKIS FILIALÍ
TELEKOMMUNIKACIYA TEXNOLOGIYALARÍ HÁM
KÁSIPLIK TÁLIM FAKULTETI
Informaciyaliq qáwipsizlik baǵdarı 1-kurs studenti
Azatov Nurlanniṅ
“Programmalastíríw I” páninen
ÓZBETINSHE JUMÍS
Tema: Tarmaqlanıwshı hám tańlaw operatorları
Orınlaǵan: Azatov N.
Qabıllaǵan: Kalmuratov B.
Nókis – 2024
Jobası:
I. Kirisiw
II. Tiykarǵı bólim
Tarmaqlanıwshı procesler
Tarmaqlanıwshı operatorlar
If operatorı
Ternar operatorı
Shártsiz ótiw operatorı
III. Juwmaqlawshı bólim
IV. Paydalanılǵan ádebiyatlar
KIRISIW
Tarmaqlanıwshı esaplaw proceslerin algoritmlestiriw hám programmalastırıwda kóplegen máselelerdi sheshiwde ayırım procesler belgili shárt yaki shártlerdiń qoyılıwına qarata orınlanadı. Bunday procesler tarmaqlanıwshı procesler dep ataladı. Tarmaqlanıwshı esaplaw procesleri ápiwayı hám quramalı boladı. Bul procestegi tarmaqlardıń sanına baylanıslı. Belgili bir tarmaqlanıwshı process quramına da tarmaqlanıwlar bolıwı múmkin. Bunday tarmaqlanıwları bar esaplaw procesleri quramalı tarmaqlanıwshı procesler dep ataladı. C++ tilinde tarmaqlanıwshı proceslerdi programmalastırı ushın shártsiz, shártli ótiw hám tańlaw operatorlarınan paydalanıladı.
Tarmaqlanıwshı operatorlar. Aldınǵı mısal retinde keltirilgen programmalarda operatorlar jazılıw quramında izbe-iz hám tek bir ret orınlanǵan jaǵdaylar, yaǵnıy sızıqlar keltirilgen.
If operatorı
If operatorı qandayda bir shártti shınlıqqa tekseriw nátiyjesine bola
programmada tarmaqlanıwdı ámelge asıradı:
if (<shárt> )<operator>;
Bul jerde <shárt> hár qanday ańlatpa bolıwı múmkin, ádette ol salıstırıw ámeli boladı.
Eger, shárt 0 mánisinen parıqlı yamasa shın (true) bolsa, <operator> orınlanadı, keri jaǵdayda, yaǵnıy shárt 0 yamasa jalǵan (false) bolsa, hesh qanday ámel orınlanbaydı hám basqarıw if operatorınan keyingi operatorǵa ótedi (eger, ol bar bolsa). Usı jaǵday1-súwrette kórsetilgen.
C++ tiliniń qurılmaları operatlorlardı blok kórinisinde dúziwge imkan beredi. Blok - ‘{‘ hám ‘}’ belgi aralıǵına alınǵan operatorlar izbe-izligi bolıp, ol kompilyator tárepinen pútin bir operator dep qabıl etiledi. Blok ishinde járiyalaw operatorları da bolıwı múmkin hám olarda járiyalanǵan ózgeriwshiler tek ǵana sol blok ishinde kórinedi (ámel qıladı), bloktan sırtta kórinbeydi. Bloktan keyin ‘;’ belgisi qoyılmawı múmkin, biraq blok ishindegi hár bir ańlatpa ‘;’ belgisi menen juwmaqlanıwı shárt.
1-súwret. if() shárt operatorınıń blok sxeması
Tómende keltirilgen programmada if operatorınan paydalanıw kórsetilgen.
#include <iostream.h>
using namespace std;
int main()
{
int b; cin >> b; if(b > 0)
{ // b > 0 shárt orınlanǵan jaǵday
...
cout << “b - oń san”;
...
}
if(b < 0)
cout << “b - teris san”; //b < 0 shart orınlanǵan jaǵday
return 0;
}
Programma orınlanıwı procesinde pútin tiptegi b ózgeriwshi járiyalanadı hám onıń mánisi klaviaturadan oqıladı. Keyin b mánisin 0 sanınan úlkenligi tekseriledi, eger shárt orınlansa (true), ol jaǵdayda ‘{‘ hám ‘}’ belgiler ishindegi operatorlar orınlanadı hám ekranǵa “b - oń san” xabarı shıǵadı. Eger shárt orınlanbasa, bul operatorlar sheklep ótiledi. Náwbettegi shárt operatorı b ózgeriwshi mánisin terislikke tekseredi, eger shárt orınlansa, jalǵız cout kórsetpesi orınlanadı hám ekranǵa “b - teris san” xabarı shıǵadı.
if - else operatorı.
Shárt operatorınıń if - else kórinisi tómendegishe:
if (<shárt-ańlatpa>) <operator1>; else <operator2>;
Bul jerde <shárt-ańlatpa> 0 mánisinen parıqlı yamasa true bolsa, <operator1>, keri jaǵdayda <operator2> orınlanadı. if-else shárt operatorı mazmunına bola algoritmniń tarmaqlanıwshı blogın ańlatadı: <shárt-ańlatpa> - shárt blogı (romb) hám
<operator1> bloktıń «awa» shaqasına, <operator2> bolsa bloktıń «yaq» shaqasına sáykes keliwshi ámeller blokları dep qaraw múmkin (2-súwret).
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