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

6-lekciya

.pdf
Скачиваний:
1
Добавлен:
27.11.2023
Размер:
607.45 Кб
Скачать

6-Lekciya. Tarmaqlanıw operatorları: sanlar hám belgilerdi salıstırıw

Lekciya jobası:

6.1Ótiw operatorı.

6.2Shártli operatordıń qısqa kórinisi.

6.3Shártli operatordıń uzın kórinisi.

6.4Tańlaw operatorı.

Gilt sózler: logikalıq qosıw hám kóbeytiw, biykarlaw ámeli, tarmaqlanıw, shártli operator, ótiw operatorı, tańlaw operatorı

Kóp máselelerdiń sheshimi belgili bir shárt yamasa shártlerdıń qoyılıwına qarap orınlanadı. Bunday processler tarmaqlanıwshı esaplaw processi delinedi.

Tarmaqlanıwshı esaplaw processleri quramında jáne tarmaqlanıw bolıwı múmkin.

Bundaylardı quramalı tarmaqlanıwshı processler dep ataladı. Algoritmlik tilde shamalardıń qálegen qásiyeti usı momenttegi mánisleri ushın orınlanıwı yamasa orınlanbawı shárt delinedi. Máselen: a = v teńlik ushın a = 3 hám v=3,1 bolǵanda shárt orınlanbaydı. N ápiwayı san bolsa hám N=19 bolsa, shárt orınlanadı, N=15 bolǵanda shárt orınlanbaydı.

Tarmaqlanıwshı processlerdi shólkemlestiriwde shártsiz ótiw hám shártli ótiw operatorlarınan paydalanıladı. Usınday processler bar, shárttiń orınlanıwına qarap, programmanıń ol yamasa bul bólimine ótiwge tuwrı keledi. Bunday jaǵdaylarda shártsiz ótiw operatorı isletiledi.

1.Shártsiz ótiw operatorı: goto n; bul jerde n – metka, belgi bolıp, process ótiwi kerek bolǵan orındı kórsetedi. Metka hárip, san hám olardıń aralaspasınan ibarat bolıwı múmkin. 1 dana operatorǵa bir neshe metkalardı qoyıw múmkin.

(Professional programmistler goto n operatorınan kem paydalanadı.)

2.Shártli ótiw operatorı: if (shárt) operator; Onıń islewi tómendegishe: Eger shárt ras bolsa keltirilgen operator orınlanadı, eger shárt jalǵan bolsa, keyingi qatarǵa ótiledi. Kóbinese bul kórinis isletilgende 2 dana operatorlar aralasıp ketpewi ushın goto operatorı isletildi. Eger if sózinen keyin birneshe operatorlar keletuǵın bolsa, olar óz aldına {} qawıslarǵa alınadı. Máselen:

Sinx, eger x<5

Y =

3 x2 , eger x ≥ 5

#include <iostream.h>

#include <math.h> void main( )

{

float x, y;

cin >> x; // x tiń san mánisi kiritiledi

if(x < 5) // eger x<5 bolsa

{

y = sin(x); goto cc;

} // 1-funkciya isleydi

y = pow(x, 2/3.); // bolmasa 2-funkciya isleydi

cc:cout << “y=” << y << endl; // cc - metka

}// main funkciyası juwmaqlandı

3. if(shárt)

1-operator(lar); else

2-operator(lar);

Máselen: Joqarıdaǵı mısaldı kórip shǵıamız:

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

{

float x, y; cin >> x; if(x < 5)

y = sin(x);

else

y=pow(x, 2/3.);

cout << “y = ” << y << endl;

}

Túsindirme: if – else konstrukciyası ishinde jáne if – else konstrukciyası isletiliwi múmkin. Bunda bir neshe if operatorınan ibarat ishpe-ish jaylasqan konstrukciya payda boladı. Bunday jaǵdaylarda else sózi ózine jaqın turǵan if ke tiyisli boladı.

? : ámeli. shárt ? 1-operator (lar) : 2-operator (lar); Máselen: x < 5 ? y = sin(x) : y=pow(x, 2/3.);

(eger shárt ras bolsa, 1-operator, kerisinshe jaǵdayda 2-operator orınlanadı)

Tańlaw operatorı

Tańlaw operatorı – ózgeriwshiniń mánisine qarap kóp tarmaq ishinen birewi saylanadı. Bul operatordıń kórinisi tómendegishe:

switch(ańlatpa yamasa ózgeriwshi)

{

case 1-mánis: operator(lar); break; case 2-mánis: operator(lar); break;

.

.

.

case n - mánis: operator(lar); break; default : basqa jaǵdaydaǵı operator (lar);

}

Máselen:

sin x, eger x = 1 Y = cos x, eger x = 2

tgx, eger x = 3

x , bashqa barlıq jaǵdaylarda (x > 0)

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

{

int x; float y; cin >> x; switch(x)

{

case 1: y = sin(x); break; case 2: y = cos(x); break; case 3: y = tan(x); break; default: y = sqrt(x);

}

cout << “y = ” << y << ” x= ” << x << endl; getch( );

}

Túsindirme: 1) switch operatorındaǵı ańlatpa yamasa ózgeriwshi pútin tipli bolıwı shárt!

2) switch operatorı qatarlarındaǵı break sózi túsip qalsa, sol jerdegi case operatorınan keyingi case blokları ishindegi ańlatpalar da orınlana beredi.

Tekserilip atırǵan shártler birneshe bolıwı da múmkin. Bunday jaǵdaylarda olar quramalı shárt delinedi. Bunday shártler tómendegi logikalıq ámeller arqalı ańlatıladı:

&& - logikalıq kóbeytiw (hám) || – logikalıq qosıw (yamasa)

! - logikalıq biykarlaw (emes)

Máselen: 6 ≤ x ≤ 10 bolsa, (x >= 6) && (x <= 10)

y > 0 hám x < 4 yamasa z ≥ 5 bolsa, (y > 0) && (x < 4) || (z > 5)

Logikalıq mánisler ústinde ámeller orınlanǵanda tómendegi nátiyjeler alınadı: (+, true, 1; -, false, 0 degen mániste)

A

B

!A

!B

A&&B

A || B

 

 

 

 

 

 

+

+

-

-

+

+

 

 

 

 

 

 

+

-

-

+

-

+

 

 

 

 

 

 

-

+

+

-

-

+

 

 

 

 

 

 

-

-

+

+

-

-

 

 

 

 

 

 

Logikalıq másele: Qálegen berilgen M(x, u) noqat u = x2 hám x2 + u2 = 4 sheńber menen kesisken aralıqqa yamasa usı sheńberdiń 4-sheregi sırtına túsiwin tekseriń. Demek:

y > x2 and x2 + y2 <= 4 or x > 0 and y < 0 and x2 + y2 > = 4

x=1, y=1

false

x=1, y=0

true

x=-2, y=0.5

false

x=2, y=-2

true

#include<iostream. h> void main( )

{

float x, y; int n;

cout << “noqattıń koordinataların kiritiń:”; cin >> x >> y;

if((y >= x*x && x * x + y * y <= 4) ||

(x > 0 && y < 0 && x * x + y * y >= 4)) n = 1;

else

n = 0;

cout << “x = ” << x << endl; cout << “y = ” << y << endl; cout << “n = ”<< n << endl;

}

Mısal: ax2+bx+c=0 kórinisindegi kvadrat teńlemeniń haqıyqıy sheshimlerin tabıw algoritmin dúziń. (a ≠ 0; b ≠ 0; c ≠ 0;)

Baslanıw

Kiritiw:

а, b, c

d = b2-4ac

Jalǵan bolsa

d > 0

x1=

b

d

2a

 

 

 

x2=

b

d

2a

 

 

 

 

Nátiyje:

 

x1,

x2

Tamam

1-usıl:

Ras bolsa

d < 0

 

 

 

 

x=

b

Haqıyqıy

 

 

 

2a

sheshimge

 

 

 

 

iye emes

 

 

Nátiyje: x

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

{

float a, b, c, d, x, x1, x2;

cout << “Teńlemeniń koefficientlerin kiritiń:”; cin >> a >> b >> c;

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

{

x = -b / (2 * a);

cout << ”x = ” << x << endl;

}

else if(d > 0)

{

x1 = (-b + sqrt(d)) / (2*a);

x2 = (-b - sqrt(d)) / (2*a);

cout << ” x1 = ” << x1 << ” x2 = ” << x2 << endl;

}

else

cout << ”sheshimi joq”<< endl;

}

2-usıl:

#include <iostream.h>

#include <math.h> void main( )

{

float a, b, c, d, x, x1, x2; int v;

cout << “Teńlemeniń koefficientleri:”; cin >> a >> b >> c;

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

v = 0; if(d = = 0) v = 1;

else

v = 2;

switch(v)

{

case 0: cout << ”sheshimi joq” << endl; break; case 1: {

x = -b / (2*a);

cout << ”x = ” << x << endl;

}break;

case 2: {

x1 = (-b + sqrt(d)) / (2*a);

x2 = (- b - sqrt(d)) / (2*a);

cout<<”x1= ” << x1 << ” x2 = ” << x2 << endl;

}break;

}

}

Baqlaw sorawları:

1.Shártli ótiw operatorınıń wazıypası.

2.Shártli ótiw operatorlarınıń kórinisleri.

3.Quramalı operatorlar qashan hám qanday qollanıladı?

4.Shártli ótiw operatorı ishinde jáne shártli operator qatnasıwı múmkin be?

5.Shártti ańlatıwshı blok sxemat dúziń.

6.Tańlaw operatorınıń wazıypası.

7.Tańlaw operatorındaǵı breaktiń wazıypası.

8.Tańlaw operatorındaǵı ózgeriwshilerdiń tipleri qanday bolıwı kerek?

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