Funksiya nomi
|
Argument turi
|
Qiymat turi
|
Izoh
| |
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 0)
|
Sqr(x)
|
butun/haqiqiy
|
butun/haqiqiy
|
x ning kvadrati – x2
|
Exp(x)
|
butun/haqiqiy
|
haqiqiy
|
ех (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) oraliqdagi tasodifiy son
| 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 “rost” qiymat oladi
|
Chr(x)
|
Byte
|
Char
|
x ning o’nlik ASCII kodiga mos belgi
|
Ord(m)
|
Char
|
Byte
|
‘m‘ belgining o’nlik ASCII kodi
|
1–misol. Ba’zi funksiyalarni qo’llanishiga misollar.
Funksiya
|
Qiymati
|
Funksiya
|
Qiymati
|
Funksiya
|
Qiymati
|
abs(-5)
|
5
|
abs(-4.9)
|
4.9000000000e+00
|
abs(4.9)
|
4.9000000000e+00
|
sqr(4)
|
16
|
sqr(2.5)
|
6.2500000000e+00
|
Sqrt(16)
|
4.0000000000e+00
|
sqr(-4)
|
16
|
Sqr(0.0)
|
0.0000000000e+00
|
Sqrt(0.16)
|
4.0000000000e–01
|
sqr(0)
|
0
|
Sin(0)
|
0.0000000000e+00
|
Sin(1)
|
8.4147098481e–01
|
trunc(5.3)
|
5
|
Int(5.3)
|
5.0000000000e+00
|
Int(5)
|
5.0000000000e+00
|
trunc(–5.3)
|
–5
|
Int(–5.3)
|
–5.0000000000e+00
|
frac(5.3)
|
3.0000000000e–01
|
Round(5.49)
|
5
|
frac(–5.3)
|
–3.0000000000e–01
|
frac(5)
|
0.0000000000e+00
|
Round(5.5)
|
6
|
Odd(5)
|
TRUE
|
Odd(–5)
|
TRUE
|
Round(–5.49)
|
–5
|
Odd(4)
|
FALSE
|
Odd(–4)
|
FALSE
|
Round(–5.5)
|
–6
|
Odd(0)
|
FALSE
|
Chr(65)
|
‘A‘
|
Chr(97)
|
‘a‘
|
Ord(‘A‘)
|
65
|
Ord(‘a‘)
|
97
|
Matematik formulalarda ko‘p ishlatiladigan π sonini ifodalash uchun Paskalda maxsus Pi o‘zgarmas (konstanta) ajratilgan (Pi=3.1415…).
Paskal dasturlash tilida algebraik ifodalar arifmetik amal belgilari 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, 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, arifmetik ifodani Paskaldagi yozilishi (a+b)/c kabi bo‘lib, uni hisoblashda dastlab qavs ichidagi amal, ya’ni a+b bajariladi, so‘ngra natija c ga bo‘linadi. Amallar bajarilish tartibi ham qavslar yordamida tartiblanadi: ifodani Paskalda sqrt(sqr(a) – sqr(b)) kabi, |x + tgx| ifoda abs(x + tan(x)) ko‘rinishida yoziladi.
2–misol. R va H o‘zgaruvchilarning ma’lum qiymatlarida ifodaning qiymati hisoblansin:
Bu ifoda Paskalda Pi*sqr(r)*h/3 kabi yoziladi. Bunda amallar quyidagi tartibda bajariladi:
sqr(r)
Pi*sqr(r)
Pi*sqr(r)*h
Pi*sqr(r)*h/3
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:
Paskalning standart funksiyalari barcha matematik amallarni o‘z ichiga olmagan. Shu sababli ba’zi matematik amallarni Paskalning bir nechta standart funksiyasi orqali yoki bitta standart funksiyani bir necha marta qo‘llash orqali ifodalashga to‘g‘ri keladi. Masalan, Paskalda sonni ixtiyoriy darajaga ko‘tarish funksiyasi yo‘q. Shuning uchun a3 ifodani Paskalda a*a*a yoki sqr(a)*a kabi, a4 ifodani esa a*a*a*a yoki sqr(sqr(a)) yoki sqr(a)*sqr(a) kabi yozish mumkin.
Umuman, ab (a>0) ko‘rinishdagi ifoda uchun matematikada ab = eb·ln a formula o‘rinli. Shuning uchun Paskalda ab (a>0) ifoda exp(b*Ln(a)) ko‘rinishda yoziladi.
3–misol. algebraik ifodani Paskaldagi ko‘rinishini yozing.
Yechish: Bu ifodani Paskalda bir necha xil usulda tasvirlash mumkin. Shulardan bittasi quyidagicha:
(x-y)/(exp(5*ln(x))-sqr(y)*y).
Shuni yodda tutingki, Paskal dasturlash tilidagi standart funksiyalari argumenti doimo qavs ichida yoziladi!
IV. MustahkamlashSavol va topshiriqlar
Qanday funksiyalar standart funksiya deyiladi?
Standart funksiyalarning odatdagi va Paskalda yozilishining qanday farqi bor?
Algebraik ifodalar nimalardan tashkil topadi?
Biror ifodada bir xil amallar qatnashsa, ularning bajarilish tartibi qanday bo‘ladi?
Amallarni bajarish tartibini o‘zgartirish uchun nimalardan foydalaniladi?
Trunc(4.7)=Round(4.7) o’rinlimi? Javobingizni izohlang.
sinx–c ko‘rinishidagi yozuv Paskalda nima uchun xato hisoblanadi?
2*-v ko‘rinishidagi yozuv Paskalda to‘g‘ri yozilganmi? Javobingizni izohlang.
sqr(abs(x +sin(x))-pi) ifodada amallar bajarilish tartibini izohlang.
V. Uyga vazifa
Mustahkamlash
Qabul qildi : MMIDO` _________S.Egamov
Sana:__________________
Mavzu: O‘zlashtirish va ma’lumotlarni ekranga chiqarish operatorlari
Maqsad:
1) ta’limiy: O`quvchilarga O‘zlashtirish va ma’lumotlarni ekranga chiqarish operatorlari haqida tushuncha berish
2) tarbiyaviy: o`quvchilrga iqtisodiy tejamkorlik tarbiyasi berish;
3) rivojlantiruvchi: O`quvchilarda o`zlashtirish va va ma`lumotlarni ekranga chiqarish operatorlarini qo`llash ko`nikmalarni rivojlantirish.
1. Axborotlarni izlash va elektron vositalarda yig‘ish kompetensiyasi
Axborotlar ustida bajariladigan amallarga oid vazifalarni bajara oladi;
2. Axborotlarni elektron vositalarda qayta ishlash va saqlash kompetensiyasi
axborot hajmi, uzatish tezligi bilan bog‘liq masalalarni, axborotlarni qayta ishlashni mustaqil bajara oladi;
3. Axborotlarni elektron vositalar orqali uzatish kompetensiyasi
Axborot o‘lchov birliklari va uzatish tezligi imkoniyatlarini hisobga olgan holda uzatiladigan va olinadigan axborotlar hajmini hisoblay oladi;
DTS: O‘zlashtirish va ma’lumotlarni ekranga chiqarish operatorlari haqida ma’lumotga ega bo`lish.
Darsning borishi
I. Tashkiliy davr
II. Takrorlash
Qanday funksiyalar standart funksiya deyiladi?
Standart funksiyalarning odatdagi va Paskalda yozilishining qanday farqi bor?
Algebraik ifodalar nimalardan tashkil topadi?
Biror ifodada bir xil amallar qatnashsa, ularning bajarilish tartibi qanday bo‘ladi?
Amallarni bajarish tartibini o‘zgartirish uchun nimalardan foydalaniladi?
III. Yangi mavzuni o`rganish
Paskal dasturlash tili, odatda, tavsiflangan o’zgaruvchilar uchun xotiradan joy ajratib, turiga 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)
|
O‘zlashtirish operatori. O‘zlashtirish operatori o‘zgaruvchilarga qiymat berish uchun ishlatiladi. U := belgi orqali ifodalanadi. O‘zlashtirish operatorning umumiy ko‘rinishi quyidagicha:
:= <algebraik ifoda>;
Bu operator bajarilganda quyidagicha ishlar bajariladi:
1) algebraik ifoda qiymati hisoblanadi;
2) algebraik ifodaning qiymati o‘zgaruvchiga o’zlashtiriladi, ya’ni xotiraning o‘zgaruvchi uchun ajratilgan qismiga (o‘zgaruvchining “eski” qiymati o’chib ketadi) ifodaning qiymati yoziladi.
1–misol. Quyidagi dastur bajarilishi natijasida a nomli o‘zgaruvchining qiymati 22 soniga teng bo‘ladi.
var a: integer;
begin
a := 22;
end.
|
|
2–misol. Quyidagi dastur bajarilishi natijasida meva nomli satrli o‘zgaruvchining qiymati “olma” so‘ziga teng bo‘ladi.
var
meva : string;
begin
meva := ‘olma‘;
end.
|
3–misol. Bu misolda a va b o’zgaruvchilarning qiymati qanday o’zgarishi yaqqol ko’rinadi.
var a,b,m: integer;
begin
a := 8; {a ning qiymati 8 ga teng bo‘ldi}
b := 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, m ning qiymati 0*50=0 ga teng bo‘ladi}
end.
Yuqoridagi misollarda o‘zgaruvchilar turli qiymatlarni o’zlashtirdi. Ammo biz ularning natijasini ko‘rmadik. Chunki ular kompyuter xotirasida qolib, ekranga chiqarilmaydi. Ma’limotlarni kompyuter ekraniga chiqarish uchun chiqarish operatoridan foydalaniladi. Paskalda chiqarish operatori quyidagi ikki xil ko‘rinishga ega:
Write(chiqarish ro‘yxati)
|
va
|
WriteLn(chiqarish ro‘yxati)
|
bu yerda Write (ing. – yozmoq) va Writeln Paskalning xizmatchi so‘zlari; chiqarish ro‘yxati – o‘zaro vergul bilan ajratilgan va ekranga chiqarilishi kerak bo‘lgan ifoda, o‘zgaruvchi yoki o‘zgarmaslar ketma-ketligi. Chiqarish ro‘yxatida ifoda qatnashsa, avval ifoda hisoblanib, hosil bo‘lgan natija ekranga chiqariladi. Chiqarish ro‘yxatidagi o‘zgarmaslar belgili yoki satrli bo‘lsa, albatta apostrof ichiga olinishi shart.
Write va Writeln operatorlarining farqi shundaki, Write operatori yordamida ma’lumotlar ekranga chiqarilgach yurgich ekranning shu satrida qoladi va ekranga chiqariladigan keyingi ma’lumotlar shu satrga yurgich turgan joydan boshlab chiqariladi. Writeln operatorida esa ma’lumotlar ekranga chiqarilgach yurgich keyingi satr boshiga o‘tadi.
4–misol.
begin
write(‘Yashna, ‘); write(‘gulla ‘);
write(‘ona Vatanim!‘);
end.
|
|
Dastur bajarilgach, kompyuter ekranida
Yashna, gulla ona Vatanim!
yozuvi hosil bo‘ladi.
|
5–misol.
begin
writeln(‘Yashna, ‘); writeln(‘gulla ‘);
write(‘ona Vatanim!‘);
end.
|
|
Dastur bajarilgach, kompyuter ekranida
Yashna,
gulla
ona Vatanim!
yozuvi hosil bo‘ladi.
|
6–misol.
program o`zlashtirish_chiqarish;
var a,b:integer;
begin a:=23; b:=a+21;
write(‘b ning qiymati ‘, b, ‘ ga teng‘);
end.
|
|
Dastur bajarilgach, kompyuter ekranida
b ning qiymati 44 ga teng
yozuvi hosil bo‘ladi.
|
Ma’lumotlarni chiqarishda chiqarish formatini ko‘rsatish mumkin. Chiqarish formati chiqarilayotgan ma’lumotlarning ko‘rinishini (formatini) belgilaydi. Buning uchun chiqarilayotgan o‘zgaruvchidan keyin “:” (ikki nuqta) belgisi qo‘yiladi. Masalan, a – haqiqiy turdagi o‘zgaruvchi bo‘lsa, chiqarish formatida ikkita parametr – chiqarilayotgan songa ajratilgan xonalar soni ko‘rsatiladi. Masalan, WriteLn(a:10:2); operatori a ning qiymatini chiqarish uchun 10 ta xona ajratadi, shundan bitta xonasi nuqta va ikkita xonasi kasr qismi uchun ajratiladi. Agar son butun bo‘lsa, chiqarish formatida bitta parametr – chiqarilayotgan songa ajratilgan xonalar soni ko‘rsatiladi. Masalan, WriteLn(b:6);. Satrli va belgili o‘zgaruvchilar uchun chiqarish formati ularning qiymatini chiqarish uchun ajratilgan joy (maydon) uzunligini aniqlaydi.
Chiqarilayotgan son yoki matn unga ajratilgan joyning o‘ng chegarasi bo‘yicha tekislanib chiqadi. Masalan, a:=3.24; bo‘lsa, WriteLn(‘a=‘,a:6:2); operatori ekranga a=__3.24 ko‘rinishdagi yozuvni chiqaradi (= belgisidan keyin ikkita bo‘sh joy (probel) qoladi).
Chiqarish formatida ajratilgan joy o‘zgaruvchi qiymatining “uzunligi”dan kichik bo‘lsa, chiqarish formati bekor qilinadi va o‘zgaruvchining qiymati to‘liqligicha ekranga chiqariladi. Faqatgina haqiqiy son kasr qismining formati bekor qilinmaydi. Haqiqiy sonni chiqarishda formati ko‘rsatilmasa, u ekranga eksponensal ko‘rinishda chiqariladi.
7–misol.
var a,b : real;
Begin a:=3.24; b:=5;
writeln(‘a=‘,a); writeln(‘b=‘,b);
end.
|
|
Kompyuter ekranida
a=3.2400000000E+00
b=5.0000000000E+00
|
8–misol.
var a,b : real;
Begin a:=3.24; b:=5.3;
writeln(‘a=‘, a:6:2); writeln(‘b=‘,b:1:0);
end.
|
|
Kompyuter ekranida
a= 3.24
b=5
|
Keltirilgan ikkala misolda ekranga chiqarilgan a va b o‘zgaruvchilarning qiymatlari bir xil, ammo ularning ko‘rinishida katta farq bor. 8-misoldagi ekranga chiqarilgan axborot albatta 7‑misoldagiga nisbatan aniq va tushunarli ko‘rinishga ega. Sonning kasr qismidagi kerakli raqamlar sonini aniq bilmagan hollarda ekranga noto‘g‘ri natija chiqarmaslik uchun chiqarish formatidan ehtiyotkorlik bilan foydalanish zarur.
Yodda tuting: ekrandagi natijani ko‘rish uchun ALT+F5 klavishlar juftligi bosiladi.
IV. Mustahkamlash uchun savol va topshiriqlar
O‘zlashtirish operatori qanday vazifani bajaradi?
O‘zlashtirish operatorining umumiy ko‘rinishini misollar bilan izohlang.
Ma’lumotlarni ekranga chiqarish operatorining umumiy ko‘rinishi qanday?
Write va writeln operatori farqini misollar yordamida izohlang.
Ma’lumotlarni ekranga chiqarish operatori imkoniyatlarini misollar bilan izohlang.
Ma’lumotlarni chiqarish operatorida apostrof ichidagi yozuvlar nimani bildiradi?
Mashqlar
1. Quyidagi ifodalarni o‘zlashtirish operatori yordamida yozing.
a) a= 48; b= 51; javob: a:=48; b:=51 b) x= 0; a= 3,6x+sinx; javob: x:=0; a:=3.6*x+sin(x);
d) g= 4; g= g+16; javob: g:=4; g:=g+16; e) a= 9,81; m= 50; F= m a; javob:a:=9.81;m:=50;F:=m*a;
f) x= 1; ; javob: x:=1; y:=(x-63)/(21-7*x); g) z= 25; z= ; javob: z:=sqrt(z);
2. Chiqarish operatorlari bajarilgach natija ekranda qanday aks etishini yozing.
a) write(‘a=‘); write(2+3); b) writeln(‘a=‘); write(2+3); d) write(‘a=‘); writeln(2+3);
write(‘=‘); write(‘2+3‘); write(‘=‘); writeln(‘2+3‘); write(‘=‘); writeln(‘2+3‘);
javob: a=5=2+3 javob: a=5=2+5 javob: a=5
V. Uyga vazifa.
2. Chiqarish operatorlari bajarilgach natija ekranda qanday aks etishini yozing.
e) write(‘a=‘); write(5); f) writeln(‘a=‘); writeln(5); g) write(‘a=‘); writeln(5);
writeln(‘=‘); write(‘2+3‘); write(‘=‘); write(‘2+3‘); writeln(‘=‘); write(‘2+3‘);
Dostları ilə paylaş: |