Joba: boolean maǵlıwmatlar tipi hám ámeller



Download 0,83 Mb.
Pdf ko'rish
Sana15.12.2019
Hajmi0,83 Mb.
#30281
Bog'liq
4-lekciya


4-Lekciya: 

boolean maǵlıwmatlar tipi hám ámeller. 

if-else operatorı. Logikalıq operatorlar





Joba:

1. boolean maǵlıwmatlar tipi hám ámeller.

2. Operator túsinigi.

3. if operatorı. if-else operatorı.

4. Ishpe – ish jaylasqan shárt operatorları.

5. switch operatorı. 

6. Shárt ańlatpaları.

boolean maǵlıwmatlar tipi hám ámeller

Logikalıq túrdegi ózgeriwshiler boolean gilt sózi menen daǵaza etiledi hám yadtan 1

bayt orın iyeleydi. Logikalıq túr ózgeriwshi mánisleri arasındaǵı baylanıstı ańlatatuǵın oy-

pikirlerdi shın (true) yamasa jalǵan (false) ekenligin súwretlewde qollanıladı hám olar qabıl

etetuǵın mánisler matematikalıq logika nızamlıqlarına tiykarlanadı.

Matematikalıq logika-pikirlewdiń forması hám nızamlıqları haqqındaǵı pán. Onıń

tiykarın aytımlar quraydı. Aytım – bul qálegen gáp bolıp, oǵan salıstırǵanda shın yamasa jalǵan

pikir haqqında xabar beriw múmkin. Mısalı, «3>2», «5-jup san», «Tashkent – Ózbekstan

Respublikası paytaxtı» hám t.b. Biraq «0.000001 kishi san» gápi aytım esaplanbaydı, sebebi

«kishi san» túsinigi júda salıstırmalı esaplanadı, yaǵnıy kishi san degende qanday sandı túsiniw

kerekligi anıq emes. Sol sebepli joqarıdaǵı gápti shın yamasa jalǵan ekenligi haqqında xabar

beriw qıyın.

Aytımlardiń shın yamasa jalǵanlıǵı jaǵdaylarǵa baylanıslı túrde ózgeriwi múmkin. Mısalı,

«búgin-dúyshembi» gápin ras yamasa ótirikligi qaralıp atırǵan kúnge baylanıslı. Tap sonday

«x<0» gápi x ózgeriwshisiniń usı waqıttaǵı mánisine sáykes túrde shın yamasa jalǵan boladı.

Java tilinde logikalıq túr atı inglis matematigi Jorj Bul húrmetine boolean sózi menen

kórsetilgen. Logikalıq ámeller «Bul algebrası» dep ataladı.





Logikalıq aytımlar ústinde tiykarǵı 3 ámel

• A aytımnıń biykarı degende A shın bolǵanda jalǵan hám

jalǵan bolǵanda shın mánis qabıl etiwshi aytımǵa aytıladı.

Java tilinde biykar – belgisi menen beriledi. Mısalı, A

aytım biykarı «!A» kórinisinde jazıladı.

biykarlaw

• Eki A hám B aytımlar konyunkciyası yamasa logikalıq

kóbeymesi «A && B» kóriniske iye. Bul aytım tek A hám B

aytımlar shın bolǵanda ǵana shın boladı, bolmasa jalǵan

boladı (ádetde «&&» ámeli «hám» dep oqıladı).

konyunkciya

• Eki A hám B aytımlar dizyunkciyası yamasa logikalıq jıyındısı

«A || B» kóriniste jazıladı. Bul aytım shın bolıwı ushın A

yamasa B aytımlardan biri shın bolıwı jetkilikli. Ádetde «||»

ámeli «yamasa» dep oqıladı.

dizyunkciya





Logikalıq ámeller ushın shınlıq kestesi

Aytımlar

Aytımlar ústinde ámeller

А

В



А&&В


А||В

false


false

true


false

False


false

true


true

false


True

true


false

false


false

True


true

true


false

true


true





Operator túsinigi

Programmalastırıw tilinde operatorlar sheshilip atırǵan másele algoritmin

ámelge asırıw ushın isletiledi. Operatorlar sızıqlı hám basqarıw operatorlarına

bólinedi. Kópshilik jaǵdaylarda operatorlar noqatlı útir (‘;’) belgisi menen

tamamlanadı hám ol kompilyator tárepinen bólek operator dep qabıl etiledi (for

operatorınıń qawıs ishinde turǵan ańlatpaları bunnan tısqarı). Bunday operator

ańlatpa operatorı dep ataladı. Mánis beriw ámelleri toparı, atap aytqanda, mánis

beriw operatorları ańlatpa operatorları esaplanadı:



i++;

--j;

k+=i;

Programma dúziw ámeliyatında bos operator ';' isletiledi. Biraq, bul

operator hesh narse atqarmasa da, esaplaw ańlatpaların til qurallarına sáykes

keliwin támiynleydi. Ayırım jaǵdaylarda júzege kelgen quramalı jaǵdaylardan

shıǵıp ketiw imkaniyatın beredi.





Shárt operatorları

Programmalarda ámeller jazılıw rejiminde izbe-iz hám tek bir ret

orınlanadı. Kópshilik máseleler júzege keletuǵın hár qıylı jaǵdaylarǵa baylanıslı

túrde sáykes qarar qabıllawdı (sheshimdi) talap etedi. Java tili programmanıń

bólek-bólekleriniń orınlanıw rejimin basqarıwǵa múmkinshilik jaratıwshı

qurallardıń jetkilikli úlken kompleksine iye. Mısalı, programma orınlanıwınıń

qandayda-bir qádeminde qandayda-bir shártti tekseriw nátiyjesine qaray

basqarıwdı programmanıń ol yamasa bul bólegine uzatıwı múmkin (mısalı,

tarmaqlanıwshı algoritm). Tarmaqlanıwdı ámelge asırıw ushın shárt

operatordan paydalanıladı.



if operatorı qandayda-bir shártti shınlıqqa tekseriwi nátiyjesinde

programmada tarmaqlanıwdı ámelge asıradı:



if ()

;





if operatorı

Eger shárt mánisi yaǵnıy shın (true) bolsa,  orınlanadı, al shárt 0

yaǵnıy jalǵan (false) bolsa, hesh qanday ámel orınlanbaydı hám basqarıw if

operatorınan keyingi operatorǵa ótedi. Usı jaǵday tómende kórsetilgen.

Shárt-ańlatpa

operator


awa(true)

yaq(false)

Java tili operatorlardı blok kórinisinde shólkemlestiriwge múmkinshilik beredi.

Blok - '{' hám '}' belgi aralıǵına alınǵan operatorlar izbe-izligi bolıp, ol

kompilyator tárepinen tolıq bir operator dep qabıl etiledi.





Tómende keltirilgen programmada if operatorınan paydalanıw kórsetilgen

package


ifoperatori;

import


java.util.Scanner;

public class

Ifoperatori {

public static void



main(String[] args) {

int


b;

Scanner input =

new

Scanner(System.



in

);

b = input.nextInt();



if

(b > 0) {

//b>0 shárt orınlanǵan jaǵday

System.


out

.println(

"b-oń san"

);

}



if

(b < 0) {

//b<0 shárt orınlanǵan jaǵday

System.


out

.println(

"b-teris san"

);

}



}}





if-else operatorı

Shárt operatorınıń if-else kórinisi tómendegishe:

if(

;

else


;

Shárt-ańlatpa

operator1

awa(true)

yaq(false)

operator2



if-else shárt operatorınıń blok-sxeması





ax

2

+bx+c=0 kórinisindegi kvadrat teńleme korenlerin tabıw máselesin kóreyik

package


ifelseoperatori;

import


java.util.Scanner;

public class

Ifelseoperatori {

public static void



main(String[] args) {

Scanner input =

new

Scanner(System.



in

);

double



a, b, c;

double


D, x1, x2;

System.


out

.print(


"a koefficientin kiritiń a="

);

a = input.nextDouble();



System.

out

.print(


"b koefficientin kiritiń b="

);

b = input.nextDouble();



System.

out

.print(


"c koefficientin kiritiń c="

);

c = input.nextDouble();



D = b * b - 4 * a * c;





ax

2

+bx+c=0 kórinisindegi kvadrat teńleme korenlerin tabıw máselesin kóreyik

if

(D < 0) {



System.

out

.println(

"Teńleme haqıyqıy korenlerge iye emes"

);



else if

(D == 0) {

System.

out

.println(

"Teńleme bir haqıyqıy korenge iye"

);

x1 = -b / (2 * a); System.



out

.println(

"x1 = "

+ x1);


}

else


{

System.


out

.println(

"Teńleme eki haqıyqıy korenge iye"

);

x1=(-b + Math.sqrt(D))/(2 * a);



x2=(-b - Math.sqrt(D))/(2 * a);

System.


out

.println(

"x1 = "

+ x1 + 


" x2 = "

+x2);


}

}}





if-else operatorı

Ańlatpadaǵı hár bir else gilt sózi, aldaǵı if gilt sózine tiyisli esaplanadı (tap

ashılıwshı hám jabılıwshı qawıslar sıyaqlı). Bunı esapqa almaw mazmunınan

qáteliklerge alıp keliwi múmkin. Mısalı:

if

(x==1) 


if

(y==1) 


System.

out

.println(

“x=1 

hám y=1”


);

else


System.

out

.println(

“x<>

1”

);



if

(x==1){ 


if

(y==1) 


System.

out

.println(

“x=1 hám

y=1”


);

}  


else

System.


out

.println(

“x<>1”

);

QÁTE



DURIS





//…

Scanner input =

new

Scanner(System.



in

);

int



x, y, z, max;

x= input.nextInt();

y= input.nextInt();

z= input.nextInt();

if

(x>y)


max=x;

else


max=y;

if

(max

max=z;

System.


out

.println(

“max= ”

+ max);


//…

3 pútin sannıń maksimal mánisin tabatuǵın programma





Ayırım jaǵdaylar

Shárt operatorında járiyalaw operatorların isletiw qadaǵan etiledi, biraq

ondaǵı bloklarda ózgeriwshilerdi járiyalaw múmkin hám bul ózgeriwshiler tek

blok ishinde ámel etedi. 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 blokdan sırtda kórinbeydi







Mısal

Berilgen tórt xanalı belgisiz sannıń basındaǵı eki cifriniń jıyındısı qalǵan cifrlar

jıyındısına teń yamasa teń emes ekenligi anıqlansın (cifrlar jıyındısı degende olarǵa

sáykes san mánisleriniń jıyındısı túsiniledi). Sannıń cifrların ajıratıp alıw ushın pútin

sanlar arifmetikası ámellerinen paydalanıladı.

public static void



main(String [] args){

Scanner input =

new

Scanner(System.



in

);

int



n, a3, a2, a1, a0;

System.


out

.print(


“n niń mánisin kiritiń: ”

);

n = input.nextInt();







Mısal

if

(n<1000 || n>9999){



System.

out

.println(

”kiritilgen san 4 xanalı emes!”

);

}



else

{

a3=n/1000;



//mıńlıq

a2=n%1000/100;

//júzlik

a1=n%100/10;

//onlıq

a0=n%10;


//birlik

if

(a3+a2==a1+a0)



System.

out

.println(

“teń”

);

else



System.

out

.println(

”teń emes”

);

}



}





?: shárt ámeli

Eger tekserilip atırǵan shárt salıstırǵanda ápiwayı bolsa, shárt ámeliniń <>

kórinisin isletiw múmkin:

?  : ;

Shárt ámeli if shárt operatorına uqsaǵan halda isleydi: eger  true

bolsa , bolmasa  orınlanadı.

Ádetde ańlatpalar mánislerı qandayda-bir ózgeriwshige ózlestiriledi.

Mısalı, joqarıdaǵı jol menenda eki pútin san maksimumın anıqlawdı kóreyik.

System.


out

.print(


“a nıń mánisin kiritiń: ”

);

a = input.nextInt();



System.

out

.print(


”b nıń mánisin kiritiń: ”

);

b = input.nextInt();



c=a>b?a:b;

System.


out

.println(

“Sanlar maksimumı: ”

+ c);






switch tańlaw operatorı

switch tańlaw operatorı bolıp, onıń sintaksisi tómendegishe:

switch


() {

case


<ózgermes_ańlatpa_1>:break;

case


<ózgermes_ańlatpa_2>:break;

case



<ózgermes_ańlatpa_n>:break;

default:


;

}





switch tańlaw operatorı

Bul


operator

tómendegishe

ámel

etedi:


birinshi

náwbette


 mánisi esaplanadı, keyin bul mánis case gilt sózi menen ajıratılǵan

<ózgermes_ańlatpa_i> ler menen salıstırıladı. Eger olar ústpe-úst tússe, sol

qatardaǵı

':'

belgisinen



baslap,

break

gilt


sózine

shekem


bolǵan

 orınlanadı hám basqarıw tarmaqlanıwshı operatordan

keyingi


jaylasqan

operatorǵa

ótedi.

Eger


hesh


bir

<ózgermes_ańlatpa_i>

menen


saykes

kelmese,


operatordıń

default

qatarındaǵı  orınlanadı. Sonı atap kórsetiw zárúr,

operatorda default gilt sózi tek bir ret dus keliwi múmkin.

Mısalı, 1 den 9 ǵa shekemgi qálegen natural san kiritilsin. Eger “1”

kiritilse ekranǵa “Bir” jazıwı, “2” kiritilse “Eki” hám t.b. “9” kiritilse “Toǵız”

jazıwları shıǵarılsın. Al eger 1 hám 9 aralıǵındaǵı sanlardan basqası kiritilse,

bunday san kiritilmegenligi haqqında xabar berilsin.





Mısal

public static void



main(String[] args) {

Scanner input =

new

Scanner(System.



in

)

int



n;

System.


out

.print(


”sandı kiritiń: ”

);

n = input.nextInt();



switch

(n) {


case

1:System.



out

.println(

“Bir”

); break;



case

2:System.



out

.println(

“Eki”

); break;



case


9:System.

out

.println(

“Toǵız”

); break



default

: System.



out

.println(

“Bul san kiritilmedi!”

);

}



}





Ayırım jaǵdaylar

switch operatorında daǵaza operatorlarıda dus keliwi múmkin. Biraq switch

operatorı orınlanıwında «sekirip ótiw» jaǵdayları bolıwı esabına blok ishindegi

ayırım daǵazalar orınlanbawı hám bunıń aqıbetinde programma jumısında qátelik

júz beriwi múmkin.

//…

Scanner input =



new

Scanner(System.



in

);

int



k=0, n;

n = input.nextInt();

switch

(n)


{

int


i=10;

//qáte, bul operator hesh qashan orınlanbaydı

case

1:

int



j=20;

//eger n=2 bolsa, bul daǵaza orınlanbaydı

case

2:

k+=i+j;



//qáte, sebebi i, j ózgeriwshiler belgisiz

}

System.



out

.println(k);

//…





Tákirarlaw sorawları

 Operatorlardıń qanday túrleri bar?

 if operatorınıń ulıwma kórinisi qanday?

 if-else operatorı bloki ishinde daǵazalaw operatorın paydalanıwǵa

 boladı ma?

 operatorınan qanday jaǵdayda paydalanǵan maqul?

 if operatorınıń if-else operatorınan ayırmashılıǵı qanday?

 Ańlatpa operatorlarına mısallar keltiriń.



Download 0,83 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish