4-lekciya
.pdfTema: Logikalıq maǵlıwmatlar tipi. Matematikalıq funkciyalar menen islew hám operator túsinigi
Joba:
1.Logikalıq maǵlıwmatlar tipi
2.Matematikalıq funkciyalar menen islew
3.Ańlatpalardı esaplaw hám ámeller (operator)
ústinligi (prioritet)
4.Operator túsinigi
5.Keńeytirilgen ózlestiriw operatorları
6.Inkrement hám dekrement operatorları
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Logikalıq maǵlıwmatlar tipi
Bul túrdegi ózgeriwshi boolean gilt sózi menen daǵaza etiledi hám yadtan hám Sun JVM standart realizaciyalarında 4 bayt orın iyeleydi. Biraq JVM tiyisli versiyalarında bul kórsetkish parıq qılıwı múmkin. 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ı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Logikalıq aytımlar ústinde tiykarǵı 3 ámel
biykarlaw
konyunkciya
dizyunkciya
•A aytımnıń biykarı degende A ras bolǵanda jalǵan hám jalǵan bolǵanda ras 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ı.
•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ı).
•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ı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
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 |
|
|
|
|
|
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Matematikalıq funkciyalar
Trigonometriyalıq funkciyalar
Matematikalıq jazılıwı |
Java tilinde |
|
sin(x), cos(x), |
|
Math.sin(x), Math.cos(x) |
tg(x) |
|
Math.tan(x) |
arcsin(x), arccos(x), arctan(x) |
Math.asin(x),Math.acos(x), |
|
|
|
Math.atan(x) |
Dárejege kóteriw, Logarifm, exponent funkciyaları |
||
|
|
Math.pow(a,n) |
|
||
ln( ) |
Math.log(x) |
|
|
|
Math.sqrt(x) |
|
Math.PI |
|
|
|
Math.exp(x) |
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
|
Matematikalıq funkciyalar |
|
|
|
|
|
Dóńgeleklew |
|
|
Java tilinde |
Mánisi |
|
|
ceil(double a) |
a dan úlken yamasa a ǵa teń eń kishi pútin san |
|
|
floor(double a) |
a dan kishi yamasa a ǵa teń eń úlken san |
|
|
rint(double a) |
Bólshek bólegi alıp taslanǵan double tipinde |
|
|
round(float a) |
eń jaqın pútin sanǵa dóngeleklengen a manisi |
|
|
round(double a) |
eń jaqın uzın pútin sanǵa dóngeleklengen a manisi |
|
|
abs(a) |
a moduli (absolyut manisi) ni qaytaradı |
|
|
max(a, b) |
óz argumentleri eń úlkenin qaytaradı. |
|
|
min(a, b) |
óz argumentleri eń kishisin qaytaradı. |
|
|
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
|
|
Matematikalıq funkciyalar |
|
|
|
Math.ceil(2.1) |
- |
3.0 |
Math.ceil(2.0) |
- |
2.0 |
Math.ceil(-2.0) |
- |
-2.0 |
Math.ceil(-2.1) |
- |
-2.0 |
Math.floor(2.1) |
- |
2.0 |
Math.floor(2.0) |
- |
2.0 |
Math.floor(-2.0) |
- |
–2.0 |
Math.floor(-2.1) |
- |
-3.0 |
Math.rint(2.1) |
- |
2.0 |
Math.rint(-2.0) |
- |
–2.0 |
Math.rint(-2.1) |
- |
-2.0 |
Math.rint(2.5) |
- |
2.0 |
Math.rint(4.5) |
- |
4.0 |
Math.rint(-2.5) |
- |
-2.0 |
Math.round(2.6f) |
- |
3 // int |
Math.round(2.0) |
- |
2 // long |
Math.round(-2.0f) - |
-2 // int |
|
Math.round(-2.6) |
- |
-3 // long |
Math.round(-2.4) |
- |
-2 // long |
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Random
Random klası obyektinen 5 túrdegi tosınnanlı sanlardı alıw múmkin. Bul tip diapazonı boyınsha bir tegisde bólistirilgen pútin sandı alıw ushın nextInt() metodınan paydalanıladı. Soǵan uqsas nextLong() metodı long tipindegi tosınnanlı sandı qaytaradı. Bunnan tısqarı nextFloat() hám nextDouble() metodları túrde float hám double tipindegi, 0.0..1.0 intervalda tegis bólistirilgen sanlardı qaytaradı hám nextGaussian() metodı orta manisi 0.0 hám dispersiyasi 1.0 bolǵan normal bólistirilgen tosınnanlı san qaytaradı.
(int)(Math.random() * 10) |
//0 hám 9 aralıǵındaǵı pútin san |
50 + (int)(Math.random() * 50) //50 hám 99 aralıǵındaǵı pútin san
a + Math.random() * b |
//a hám a + b aralıǵındaǵı san |
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Sanlardı eksponencial kóriniste ańlatıw
Jıljımalı noqatlı literallardı a x 10b kórinisinde eksponencial ráwishte ańlatıw múmkin. Máselen 123.456 ushın eksponencial kórinis 1.23456 x 102 boladı, al 0.0123456 ushın 1.23456 x 10-2 boladı. Sanlardı eksponencial kóriniste ańlatıw ushın arnawlı sintaksis qollanıladı. Máselen, 1.23456x102 sanı 1.23456E2 yamasa 1.23456E+2 kórinisinde hám 1.23456 x 10-2 bolsa 1.23456E-2 kórinisinde jazıladı. E yamasa e háripleri eksponenciyanı bildiredi hám ekewi de paydalanıla beredi.
Esletpe. float hám double tipleri bólshekli sanlardı ańlatıw ushın isletiledi. Ne ushın olar jıljımalı noqatlı sanlar dep ataladı? Bul sanlar yadta eksponencial kóriniste saqlanadı. 50.534 sanı eksponencial kóriniske keltirilgende 5.0534E+1 boladı. Bul jerde noqat jańa poziciyaǵa jıljımaqta.
Sonıń ushın haqıyqıy sanlardı jıljımalı noqatlı sanlar dep te aytadı.
Esletpe. Oqılıwı ańsat bolıwı ushın Java sanlardıń arasına astınǵı sızıqtı qoyıp jazıwǵa ruxsat beredi. Máselen tómendegiler durıs esaplanadı:
long ssn = 232_45_4519;
long plastikKartaNomeri = 2324_4545_4519_3415L;
Biraq 78_ yamas _78 qáte. Sebebi astınǵı sızıq eki sannıń arasında bolıwı shárt.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>
Sanlı tipler
Hár bir maǵlıwmatlar tipi mánisler diapazonına (aralıǵına) iye. Kompilyator hár bir ózgeriwshi yamasa turaqlı (konstanta) ushın olardıń tipine qarap yadtan orın ajıratadı. Java sanlı mánisler, simvollar hám Boolean (logikalıq) mánisler ushın segiz ápiwayı maǵlıwmatlar tipleri menen támiynleydi. Tómendegi tablicada altı túrli sanlar tipleri, olardıń diapazonları hám yadta iyeleytuǵın ólshemi keltirilgen. Java pútin sanlar ushın byte, short, int hám long kibi tórt tipti isletedi. Ózgeriwshige qaysı biri sáykes kelse sonı saylaysız. Máselen eger siziń pútin sanıńız byte diapazonına sáykes keletuǵın bolsa byte tipinen paydalanǵanıńız maqul.
Java jıljımalı – noqatlı (haqıyqıy) sanlar ushın float hám double kibi eki tipti isletedi. double tipi float tipinen eki ese úlken, sonıń ushın eki ese kóbirek anıq boladı. Ádette, siz double tipinen paydalanǵanıńız maqul, sebebi ol float tipine qaraǵanda anıqlıǵı joqarı.
</TITUNF></PI></PROGRAMMALASTIRIW></A.B.ORINBAEV>