O’rta maxsus


-§. PASKALNING BA’ZI STANDART FUNKSIYALARI VA PROTSEDURALARI



Download 2,24 Mb.
bet22/54
Sana30.04.2022
Hajmi2,24 Mb.
#597939
1   ...   18   19   20   21   22   23   24   25   ...   54
Bog'liq
paskal dt dars

6-§. PASKALNING BA’ZI STANDART FUNKSIYALARI VA PROTSEDURALARI


Paskal dasturlash tili translyatoriga butun va haqiqiy turdagi miqdorlarda aniqlangan (Sistem moduliga) standart funksiyalar kiritilgan bo‘lib, ulardan ko‘p qo‘llanadiganlari quyidagilar:

Funksiya nomi

Argument turi

Qiymat turi

Izoh

Matematik funksiyalar

ABS(X)

butun/haqiqiy

butun/haqiqiy

X ning absolyut qiymati
(moduli) – |X|

SIN(X)

butun/haqiqiy

haqiqiy

X ning sinusi (radian o‘.b.) – sinX

COS(X)

butun/haqiqiy

haqiqiy

X ning kosinusi (radian o‘.b.) – cosX

ARCTAN(X)

butun/haqiqiy

haqiqiy

X ning arktangensi – arctgX

SQRT(X)

butun/haqiqiy

haqiqiy

X ning kvadrat ildizi – X (X  0)

SQR(X)

butun/haqiqiy

butun/haqiqiy

X ning kvadrati – X2

EXP(X)

butun/haqiqiy

haqiqiy

eX (e = 2. 718282. . . )

LN(X)

butun/haqiqiy

haqiqiy

X ning natural logarifmi (X > 0)

FRAC(X)

butun/haqiqiy

haqiqiy

X ning kasr qismi {X}

INT(X)

butun/haqiqiy

haqiqiy

X ning butun qismi [X]

RANDOM

-

haqiqiy

[0, 1) oraliqdagi tasodifiy son

RANDOM(X)

Word

Word

0..(X–1) oraliqdagi tasodifiy son

SWAP(X)

2 baytli butun

2 baytli butun

X ning baytlari o‘rnini almashtiradi

O‘zgaruvchilar turini o‘zgartiruvchi funksiyalar

TRUNC(X)

haqiqiy

LongInt

X ning butun qismi

ROUND(X)

haqiqiy

LongInt

X ni yaxlitlaydi

ODD(X)

butun

mantiqiy

X – toq son bo‘lsa natijasi TRUE

CHR(X)

byte

Char

X ning o‘nlik ASCII kodiga mos belgi

HI(X)

butun

byte

X ning eng yuqori bayti

LO(X)

butun

byte

X ning eng quyi bayti

Bu funksiyalardan CHR(X) avval ko‘rilgan ORD(X) funksiyasiga nisbatan qisman teskari vazifani bajaradi. Funksiyalar qiymatlarini quyidagi misollar orqali ko‘rish mumkin:

Funksiya

Qiymati

Funksiya

Qiymati

ABS(–5)

5

ABS(–4.9)

4.9000000000E+00

ABS(5)

5

ABS(4.9)

4.9000000000E+00

SQR(4)

16

SQR(2.5)

6.2500000000E+00

SQR(–4)

16

SQR(0.0)

0.0000000000E+00

SQR(0)

0

SQRT(16)

4.0000000000E+00

SQRT(0.16)

4.0000000000E–01

SIN(0)

0.0000000000E+00

SIN(1)

8.4147098481E–01

TRUNC(5.3)

5

TRUNC(–5.3)

–5

INT(5.3)

5.0000000000E+00

INT(5)

5.0000000000E+00

INT(–5.3)

–5.0000000000E+00

FRAC(5.3)

3.0000000000E–01

FRAC(–5.3)

–3.0000000000E–01

FRAC(5)

0.0000000000E+00

ROUND(5.49)

5

ROUND(5.5)

6

ROUND(–5.49)

–5

ROUND(–5.5)

–6

ODD(–5)

TRUE

ODD(5)

TRUE

ODD(4)

FALSE

ODD(–4)

FALSE

ODD(0)

FALSE

CHR(65)

‘A‘

CHR(97)

‘a‘

ORD(‘a‘)

97

ORD(‘A‘)

65

HI(255)

0

LO(255)

255

HI(256)

1

LO(256)

255

HI(65280)

255

LO(65280)

0

SWAP(32897)

33152

SWAP(256)

1

Paskal dasturlash tili translyatoriga sodda turdagi miqdorlarda aniqlangan (Sistem modulidagi) standart funksiyalar kiritilgan bo‘lib, ulardan ba’zilari quyidagilar:

Funksiya nomi

Argument turi

Qiymat turi

Izoh

HIGH(X)

butun/oraliqli

butun

X ga mos turning eng katta qiymati

LOW(X)

butun/oraliqli

butun

X ga mos turning eng kichik qiymati

UPCASE(X)

Char

Char

X ni yuqori registrga o‘tkazadi

Bu funksiyalar qiymatlarini quyidagi misollar orqali ko‘rish mumkin:

Argument X ning turi

Funksiya

Qiymati

Funksiya

Qiymati

BYTE

HIGH(X)

255

LOW(X)

0

INTEGER

HIGH(X)

32767

LOW(X)

–32768

WORD

HIGH(X)

65535

LOW(X)

0

LONGINT

HIGH(X)

2147483647

LOW(X)

–2147483648

ORALIQLI:
‘A‘..‘150‘

HIGH(X)

‘150‘

LOW(X)

‘A‘

CHAR:
X=‘a‘ yoki X=‘A‘

UPCASE(‘a‘)

‘A‘

UPCASE(‘A‘)

‘A‘

Dastur translyatori ta’minotiga aniq bir amallarni bajarishga mo‘ljallangan protseduralar kiritilgan bo‘lib, ular standart protseduralar deyiladi. Ularning sodda turlar bilan ishlaydigan ba’zilari quyidagi jadvalda keltirilgan.

Nomi

Argument turi

Qiymat turi

Izoh







Matematik protseduralar

INC(X)

butun

butun

X ni qiymatini 1 ga oshiradi (X=X+1)

INC(X, N)

butun

butun

X ni qiymatini 1 ga oshiradi (X=X+N)

DEC(X)

butun

butun

X ni qiymatini 1 ga kamaytiradi (X=X–1)

DEC(X, N)

butun

butun

X ni qiymatini N ga kamaytiradi (X=X–N)

7-§. O‘ZLASHTIRISH OPERATORI


Paskal dasturlash tili, odatda, tavsiflangan o‘zgaruvchilar uchun xotiradan turga mos joy ajratadi va shu turga mos boshlang‘ich qiymatlarni yozib qo‘yadi:

O‘zgaruvchi turi

Boshlang‘ich qiymat

O‘zgaruvchi turi

Boshlang‘ich qiymat

barcha butun sonli

0

barcha haqiqiy sonli

0.0000000000E+00

char

‘ ‘ (probel)

boolean

FALSE

string

‘‘ (bo‘sh satr)

string[7]

‘‘ (bo‘sh satr)

Miqdorlar ustida bajariladigan amallar natijalarini dastur ishlashi davomida kompyuter xotirasida saqlab turish uchun o‘zlashtirish operatori qo‘llanadi.
O‘zlashtirish operatori o‘zgaruvchilarga qiymat berish uchun ishlatiladi va u := belgi orqali ifodalanadi. O‘zlashtirish operatorning umumiy ko‘rinishi quyidagicha:

o‘zgaruvchi := ifoda;


Bu operator bajarilganda quyidagicha ishlar bajariladi:

  1. ifoda qiymati hisoblanadi;

  2. ifodaning qiymati o‘zgaruvchiga o‘zlashtiriladi, ya’ni xotiraning o‘zgaruvchi uchun ajratilgan qismida (o‘zgaruvchining “eski” qiymati o‘chib ketib) hisoblangan ifodaning qiymati yoziladi.

Quyidagi misollarda a, b va m nomli har xil turidagi o‘zgaruvchilarning qiymati qanday o‘zgarishi yaqqol ko‘rinadi.

var a, b, m: byte; begin

  1. := 8; {a ning qiymati 8 ga teng bo‘ldi}

  2. := a*5; {b ning qiymati a*5=8*5= 40 ga teng bo‘ldi}

b := b+10; {endi b ning qiymati b+10= 40+10= 50 ga teng bo‘ladi} m:=m*b; {m ning boshlang‘ich qiymati berilmagani uchun 0 deb olinadi, demak, 0*50=0, ya’ni m ning qiymati 0 teng bo‘ladi}
end.

var a: byte; b: word; m: integer; begin

  1. := 8; {a ning qiymati 8 ga teng bo‘ldi}

  2. := a*5000; {b ning qiymati a*500=8*500= 40000 ga teng bo‘ldi, shuning uchun word turida tavsiflangan}

m := 20000–b; {m ning qiymati 20000–b = 20000–40000 = –20000 ga teng bo‘ladi, shuning uchun word turida tavsiflangan} end.

var a: char; b, m: string; begin

  1. := ‘8’; {a ning qiymati ‘8’ ga teng bo‘ldi}

  2. := a+a; {b ning qiymati a+a=’8’+’8’= ‘88’ ga teng bo‘ldi,

shuning uchun string turida tavsiflangan}
b := b+’A’; {endi b ning qiymati b+’A’= ‘88’+’A’= ‘88A’ ga teng bo‘ladi} m:=m+b+a+’!’; {m ning boshlang‘ich qiymati berilmagani uchun ‘’ (bo‘sh) deb olinadi, demak, m+b+a+’!’=’’+’88A’+’8’+’!’=’88A8!’, ya’ni m ning qiymati ’88A8!’}
end.

var a: word; b: real; m: integer; begin

  1. := 500; {a ning qiymati 500 ga teng bo‘ldi}

  2. := a/500; {bo‘lish amali natijasi doimo haqiqiy son, shuning uchun

b ning qiymati a/500=500/500= 0.1000000000E+1 ga teng

bo‘ladi, ya’ni real turda}
m := a mod 7–a div 2 ; {m ning qiymati a mod 7–a div 2 =
=500 mod 7–500 div 2= 3–250= –247 ga teng, shuning uchun integer turida tavsiflangan} end.

var a: word; b, m: boolean; begin a := 500; {a ning qiymati 500 ga teng bo‘ldi} a := a+1; {a ning qiymati 501 ga teng bo‘ldi} b := TRUE; { b ning qiymati TRUE ga teng bo‘ldi} m :=NOT(b and FALSE); {m = NOT(b and FALSE)=
=NOT(TRUE and FALSE) =
= NOT(FALSE) = TRUE}
m:= (500>=a) OR m; {m = (500>=a) OR m = (500 >= 501) OR TRUE=
=FALSE OR TRUE = TRUE}
end.

Paskal dasturlash tilida ifodalar amallar yordamida bog‘langan o‘zgarmaslar, o‘zgaruvchilar va funksiyalardan tashkil topadi. Algebraik ifodalar bir satrda yoziladi, ya’ni satrdan pastga tushirib yoki yuqoriga ko‘tarib yozish mumkin emas. Masalan, 3ab2 ifoda Paskalda 3*a*sqr(b) yoki 3*a*b*b kabi, ba2 ifoda a/sqr(b) yoki a/(b*b) kabi yoziladi.
Ifodalarni yozishda amallarni bajarish tartibini ko‘rsatish uchun faqat oddiy qavslar ishlatiladi. Qavs ichidagi amallarni bajarish chapdan o‘ngga qarab, matematikada qabul qilingan tartibni saqlangan holda ketma-ket amalga oshiriladi:
 funksiyalar qiymatlari hisoblanadi;  ko‘paytirish yoki bo‘lish amali bajariladi;  qo‘shish yoki ayirish amali bajariladi.
Masalan, ab arifmetik ifodani Paskaldagi yozilishi (a+b)/c kabi bo‘lib, uni c

hisoblashda avval qavs ichidagi amal, ya’ni a+b bajariladi, so‘ngra natija c ga bo‘linadi. Amallar bajarilish tartibi ham qavslar yordamida tartiblanadi: a2 b2 ifodani Paskalda sqrt(sqr(a) – sqr(b)) kabi, |x + tgx| ifoda abs(x + sin(x)/cos(x)) ko‘rinishida yoziladi.
Albatta, ikkita arifmetik amal ketma-ket kelganda ifodani qavs bilan yozish mumkin. Masalan: 5*(–1) yoki a+(–b).
Ba’zi hollarda Paskal dasturlash tilida yozilgan ifodani odatdagi matematik ko‘rinishda yozish talab etiladi. Masalan, Paskal dasturlash tilida yozilgan 0.5*(sin(x)+cos(x)) ifoda matematik ko‘rinishda quyidagicha bo‘ladi:

Download 2,24 Mb.

Do'stlaringiz bilan baham:
1   ...   18   19   20   21   22   23   24   25   ...   54




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