Paskal tilida arifmetik amallar
Amallar
|
Belgilash
|
Operandlar turi
|
Natija turi
|
Ko’paytirish
|
A*B
|
REAL yoki INTEGER
|
REAL yoki INTEGER
|
Bo’lish
|
A/B
|
---- ""-----
|
REAL
|
Qo’shish
|
A+B
|
---- "" ----
|
REAL yoki INTEGER
|
Ayirish
|
A-B
|
---- "" ----
|
---- "" ----
|
Butunga bo’lish
|
A DIV B
|
INTEGER
|
INTEGER
|
Bo’linma qoldig’i
|
A MOD B
|
INTEGER
|
INTEGER
|
Bajarilayotgan amallarda operandlardan hyech bo’lmaganda bittasi xaqiqiy turga mansub bo’lsa, u holda hosil bo’ladigan natija ham haqiqiy turga tegishli bo’ladi. Bo’linma natijasi har doim haqiqiy son bo’ladi.
Paskal tilida darajaga ko’tarish amali yo’q. Shuning uchun sonlarni butun
darajaga ko’tarish ularni ko’p marta bir biriga ko’paytirish yo’li bilan amalga oshiriladi. Haqiqiy darajaga ko’tarish logarifmlash orqali bajariladi: x = e yoki x = 10.
Paskal tilida butun sonli berilmalar uchun DIV va MOD amallari mavjud bo’lib, butunga bo’lish va bo’linma qoldig’i amallarini anglatadi. Masalan: 11 DIV 3 = 3 ; 11 MOD 3 = 2.
Munosabat va mantiqiy amallar. Paskal tilida ikkita mantiqiy konstanta true(chin) va false(yolg’on) ishlatiladi. Bular miqdorlarni taqqos-lashda va ba’zi shartlarni tekshirishda qo’llaniladi. Ma’lumotlarni taq-qoslash uchun quyidagi munosabat amallaridan foydalaniladi: < (kichik),<= (kichik yoki teng),= (teng),<>(teng emas); > (katta),>= (katta yoki teng).
Munosabat amallari sonli ma’lumotlar uchun qo’llanilganida mantiqiy qiymatlar hosil bo’ladi. Masalan: 96 >73 (chin), -8 > -3 (yolg’on), 4=7 (yolg’on), 16 <>22 (chin).
Mantiqiy ma’lumotlar uchun quyidagi mantiqiy amallardan foydalanish mumkin: OR- qo’shish (VA); AND- ko’paytirish (YoKI); NOT - inkor (YO’Q). OR va AND mantiqiy amallar ikkita kattalik bilan, NOT amali esa bitta kattalik bilan bajariladi.
Mantiqiy qiymatlar ustida amallar natijasi quyidagicha:
A
|
V
|
not A
| A OR B |
A AND B
|
true
|
true
|
False
|
true
|
true
|
true
|
false
|
False
|
true
|
false
|
False
|
true
|
true
|
true
|
false
|
false
|
false
|
true
|
false
|
false
|
Misol. Agar a = 25 va b = 20 bo’lsa:
a) (a>10) or (b<12) (true) b) (a>10) and (b<3) (false)
v) (a>10) or (b>12) (true) g) (a>10) and (b>12) (true)
7- амалий машғулот Mavzu: Ifoda, ma'lumotlarning turlari: butun, haqiqiy va mantiqiy.
Reja:
Ifoda, ma'lumotlarning turlari.
Mustaqil topshiriqlar bajarish.
Mashg’ulotning maqsadi:
Ifoda, ma'lumotlarning turlari ni o’rganish.
Ifoda, ma'lumotlarning turlari ni o’rganish ko’nikmalarini shakllantirish.
Dars o’tish usuli: Takrorlash, suhbat va savol-javob, mavzu mazmunidan kelib chiqib talabalarga mustaqil topshiriqlar berish va ularni tasavvurini bilish.
Dars o’tish vositalari: Doska,o’uv va uslubiy qo’llanma, topshiriqlar majmuasi.
Dars mazmuni:
Darsning xronologik xaritasi – 80 minut.
Tashkiliy qism – 2 minut
Talabalar bilimi darajasini aniqlash – 10 minut
Yangi mavzu o’tish (komputerda mustaqil topshiriq) – 50 minut
Yangi mavzu ni o’zlashtish darajasini aniqlash- 10 minut.
Sinov savollari – 5 minut.
Uyga vazifa – 3 minut
Arifmetik ifodada haqiqiy va butun turdagi ma’lumotlar qatnashishi mumkin va hosil bo’lgan natija ham shunga mos ravishda haqiqiy yoki butun bo’ladi. Ifodalarni Paskal tilida yozilishiga misol keltiramiz.
Oddiy yozuvda | Paskal tilida |
|
(A+12.686)/(S2-1.87E3)+GAMMA
|
|
EXP(ABS(2*SIN(4*X)+X)/(3*X)))
|
|
(2*2*2+LN(1.13))/(SIN(2*X)/COS(2*X))
|
|
(SQR(A)+EXP(1.17*LN(2)))/SQRT(X+Y)
|
Mantiqiy ifoda. Mantiqiy ifodalar mantiqiy qiymatlar, mantiqiy va munosabat amallari orqali tuziladi. Munosabat amallarida arifmetik va mantiqiy ifodalar hamda belgili qiymatlar qatnashishi mumkin. Mantiqiy ifodaning natijasi true va false qiymat bo’lishi mumkin. Mantiqiy ifodada amallar quyidagi tartibda bajariladi:
1. not (yo’q)
2. * (ko’paytirish),/ (bo’lish), div, mod, and (va)
3. + (qo’shish), - (ayirish), or (yoki);
4. < (kichik),<=(kichik yoki teng),= (teng),<> (teng emas),
>= (katta yoki teng), > (katta);
Bitta satrda berilgan amallar bir xil bajarilish o’rniga ega. Mantiqiy ifodalarda faqat oddiy qavslar yoziladi.
Masalan. 1) (A>3) and (B=A+6) or not (c=4)
2) (A<=x) and (x<=B) or (c<=x) and (x<=d)
Ma’lumotlar deganda dasturni tashkil etgan operatorlarning ishlashi uchun unda qatnashayotgan parametrlarga beriladigan yoki ular qabul qiladigan qiymatlar tushuniladi. Dasturda sonli, mantiqiy va harfiy qiymatlarni aniqlaydigan ma’lumotlar ustida amallar bajariladi.
Dastur yozishda, uning hajmini qisqartirish maqsadida, ma’lumotlarning qiymatlari emas, balki ularning nomlari qo’llaniladi.
Hamma ma’lumotlar oddiy tuzilishga ega bo’lib, skalyar (o’zgaruvchi) va murakkab qismlarga bo’linadi. Paskal tilida skalyar ma’lumotlarning 4 turi qo’llaniladi: butun (INTEGER), haqiqiy (REAL), mantiqiy (BOOLEAN), belgili (CHAR) va satrli (STRING) (1-rasm).
Ma’lumotlar turi o’zgaruvchilarni, o’zgarmaslarni, funksiyalarni, ifodalarni qaysi turga tegishli ekanligini, ularni mashinada tasvirlanishini va ular ustida bajariladigan amallar natijalarining turini aniqlaydi.
Biz quyida standart turlar bilan tanishamiz.
Integer turi. Integer turi butun sonlar to’plamidagi qiymatlarni qabul qiladigan ma’lumotlarni aniqlaydi. Maxint standart identifikatori orqali mashinada tasvirlanadigan eng maksimal butun son beriladi.
Butun operandalar ustida quyidagi arifmetik amallarni bajarish mumkin, ya’ni bularning bajarilishidan hosil bo’lgan natija ham butun buladi: * - ko’paytirish, div - butun hosil qilish uchun bo’lish; mod - qoldiqni hosil qilish amali; + - qo’shish, - - ayirish amali.
div va mod amallarini ko’rib chiqaylik.
a) a div b.. Bu amal natijasi butun bo’ladi, ya’ni a ni b ga bo’lishda hosil bo’lgan sonning butun qismi ajratiladi
Masalan. 17 div 2 = 8 ; 19 div 2 = 9; 7 div 17 =0.
b) a mod b. Bu amal a va b ni bo’lishdan hosil bo’lgan qoldiq natijasini beradi.
Masalan. 17 mod 2 = 1; 7 mod 15 = 7; 19 mod 2 =1.
Munosabat amallarini ham butun operandalar uchun qo’llash mumkin, faqat ularning natijalari mantiqiy turga tegishli bo’lib, chin(true) va yolg’on (false) bo’lishi mumkin. Butun argumentli standart funksiyalarni bajarilishida butun yoki haqiqiy turga mansub natijalar bo’lishi mumkin.
Real turi. Haqiqiy sonlar to’plamidagi qiymatlarni qabul qiladigan ma’lumotlarni real turi aniqlaydi. Haqiqiy operandalar ustida quyidagi amallarni bajarish mumkin, ya’ni ularning bajarilishidan hosil bo’ladigan natija ham haqiqiy bo’ladi: ko’paytirish, bo’lish, qo’shish , ayirish. Bu amallarning bajarilishida qatnashayotgan operandalardan bittasi butun bo’- lishi ham mumkin. Bo’lish amali ikkita butun son uchun ham o’rinli bo’ladi va hosil bo’lgan natija esa doim haqiqiy turga tegishli bo’ladi.
Haqiqiy natijani hosil qiluvchi funksiyalarda haqiqiy argumentlarni
qo’llash mumkin: abs(x), sqr(x), sin(x), cos(x), argtan(x), ln(x), exp(x), sqrt(x).
Haqiqiy operandalar uchun qo’llaniladigan munosabat amallari mantiqiy
natijani beradi: chin yoki yolg’on.
Boolean turi. Bu tur mantiqiy chin(true) yoki yolg’on(false) qiy-matlarni qabul qiladigan ma’lumotlarni aniqlaydi. Mantiqiy operandalar uchun quyidagi amallarni qo’llash mumkin: not - inkor, and - kon’yunksiya ("va"), or - diz’yunksiya ("yoki"). Paskal tilida mantiqiy tur quyidagicha aniqlangan: false
Bu esa integer va real turdagi ma’lumotlar uchun munosabat amallarini qo’llash imkonini beradi.
Char va String turi. Bu tur Paskal tilining belgilarini va tartiblangan belgilar ketma- ketligini aniqlaydi. Bu belgilar soniga bo’shliq ( ) ham kiradi. Harfli o’zgaruvchilarning yoki o’zgarmaslarning qiy-mati har doim apostrof ichiga olingan bo’lishi kerak.
Masalan: 'aaa', 'xa-xa', 'IBM'-satr o’zgarmaslar, 'K', 'B' - harfli o’zgaruvchilar qiymati. Agar harfli o’zgaruvchilarning qiymati bittadan ortiq belgidan iborat bo’lsa, u holda ular string turiga mansub bo’ladi va ular o’zgaruvchilarni tavsiflash bo’limida tavsiflanishi kerak bo’ladi. Satr o’zgaruvchilarining qiymati 255 tagacha belgidan iborat bo’lishi mumkin. String funksiyasi orqali tavsiflanayotgan harfli o’zgaruvchining qiymati nechta belgidan iborat ekanligini, ya’ni mashina xotirasidan shu harfli o’zgaruvchi uchun nechta joy ajratish lozimligini ko’rsatish ham mumkin. Masalan:
1) var f: string [40]; dw, fd:string;
Bu yerda f harfli o’zgaruvchi 40 tagacha belgidan, dw va fd lar esa 255 tagacha belgidan iborat bo’lishi mumkinligi ko’rsatilgan.
2) const ter="Informatika"; tw="Matematika";
var sd, gf:string; pt:string[20];
Bu yerda ter, tw lar satr o’zgarmaslari, sd,gf va pt lar satr o’zgaruvchilaridir
Do'stlaringiz bilan baham: |