Ma`lumotlar : 1091
Xabarlar soni: 271
Bugun: 23.4.2021
Soat: 23:37
Paskal algoritmik til elementlari
Muallif: Mengliyev Sh.
Qo`shilgan sana: 2015-01-13
Paskal algoritmik til elementlari
1.Kirish
Paskal tili universal tillardan biri bo‘lib, boshqa tillarga qaraganda imkoniyatlari kengroq tildir. So‘ngi yillarda Paskal tili juda takomillashib, tobora ommalashib bormoqda. Pascal tili SHvetsariyalik olim N.Virt tomonidan yaratilib, keyinchalik Borland korporatsiyasi tamonidan rivjlantirildi.
2.Pascal algoritmik tilining alfaviti
Paskal tili ham boshqa dasturlash tillari kabi o‘z alfavitiga va belgilariga ega. Paskal tili 26 ta lotin harflariin, 0 dan 9 gacha bo‘lgan arab raqamlarini va quyidagi belgilarni ishlatadi: bo‘shlik belgisi; 4 ta arifmetik amallar +, - , * , / ; mantiіiy amallarni bajarish uchun <, >, <=, >= , <>, = belgilarini ishlatadi. Ulardan tashqari vergul, nuqta, ikki nuqta, kichik, katta va o‘rta qavsni ham ishlatadi.
3.Sonlar, o‘zgarmaslar va o‘zgaruvchilar
Paskal tilida quyidagi turdagi sonlar ishlatiladi:
Haqiqiy turdagi sonlar umumiy holda quyidagi ko‘rinishda bo‘ladi:
s a1a2...an. b1b2...bk
Bu erda s ishora(+ yoki -) yoki bo‘sh joy; a1a2...an butun qism; b1b2...bk kasr qism. Masalan: +3,147 soni +3.147 yoki 3.147
-143,03 soni -143.03
57,0 soni 57.0
0,493 soni 0.493 yoki .493
Haqiqiy sonlarning o‘zgarish diapazoni kompyuterning turiga karab turlicha bo‘ladi. 10-38<X<1038 X - ixtiyoriy son. Ular eksponensial (darajali) ko‘rinishda ifodalanishi ham mumkin.
Masalan: 0,43·10-6 kompьyuterda .43E-6
0,0003 kompьyuterda 3E-4
Butun sonlar umumiy holda quyidagicha yoziladi s a1a2...an.
Masalan: +345 soni +345 yoki 345
-106 soni -106
Butun sonlar o‘zgarish diapozoni -32768 dan +32767 gacha. Agar butun son qiymati bu dipazondan chiqsa, u haqiqiy son shaklida ifodalanadi yoki kompьyuter turiga qarab, u o‘noltilik sanoq tizimida ifodalanishi ham mumkin. Belgili o‘zgarmaslar diapazoni 0 dan 255 tagacha bo‘ladi. Misol. `Pascal`, `405.5`
Paskal tilida identifikator so‘zi ishlatilib ular o‘zgarmaslarni, o‘zgaruv-chilarni, belgi(metka), protsedura va funksiyalar nomlarini belgilashda ishlatilgan nomlvrdir. Identifikator lotin alfaviti harflaridan boshlanib qolganlari belgi yoki raqam ketma-ketligidan tashkil topgan bo‘lishi mumkin. Masalan: xx, xx1, alfa&.
4.O‘zgaruvchilar va o‘zgarmaslarning dasturda tavsiflanishi
Paskal tilida dastur ishlash mobaynida qiymati o‘zgarmaydigan identifikatorlar o‘zgarmaslar deyiladi. Ular dasturning bosh qismida Const so‘zi bilan e’lon qilinib unga aniq qiymat tenglashtiriladi.
Misol. Const aa1=2.27; Pi=3.14; Radius=14;
Dasturda qiymatlari o‘zgarishi mumkin bo‘lgan identifikatorga o‘zgaruvchilar deyiladi. Ular dastur bosh qismida Var so‘zi bilan e’lon qilinadi. O‘zgaruvchilar nomi keltirilib, ularning turlari beriladi. O‘zgaruvchilar turlari asosan butun, haqiqiy, belgili(simvolli), matnli va mantiqiy bo‘ladi. Ular mos ravishda butun - Integer, haqiqiy - Real, belgili- Char, matnli(qatorli) - String va mantiqiy- Boolean deb yoziladi. Masalan: Var a, d1, alfa : Integer; c121, df : Real;
Etx, xx : Char; st: String; fl : Boolean;
Mantiqiy o‘zgaruvchilar faqat ikkita qiymat qabul qiladi: "True" (chin) va "False"(yolg‘on).
Ma’lumotlar turlarini umumiy holda ikkiga ajratish mumkin:
Standart turlar tarkibiga quyidagilar kiradi: butun, haqiqiy, belgili (simvol), qator (strok), mantiqiy, ko‘rsatgichli va variant.
Dasturchi turlarni dasturning Var bo‘limida o‘zgaruvchilarni tavsiflashda aniqlaydi yoki maxsus turlarni aniqlash uchun bo‘lim bo‘lgan turlarni tavsiflash Type bo‘limida aniqlaydi. Bu bo‘lim umumiy holda quyidagicha bo‘ladi.
Type
<tur nomi>=<turning tavsifi>;
Misol: Type
TColor=(Red,Blue,Black);
Var Color1,Color2,Color3: TColor;
Type bo‘limida dasturchi tomonidan yangi Tcolor nomli tur kiritilmoqda va u Red, Blue, Black mumkin bo‘lgan qiymatlarni qabul qilishi mumkin.
Var bo‘limida dasturchi tomonidan turi aniqlangan uchta Color1, Color2, Color3 o‘zgaruvchilar tavsiflanmoqda.
Bu o‘zgaruvchilarni to‘g‘ridan to‘g‘ri quyidagicha ham tavsiflash mumkin.
Var Color1,Color2,Color3: (Red,Blue,Black);
Standart turlarni Type bo‘limida tavsiflash shart emas, ularni to‘g‘ridan to‘g‘ri Var bo‘limida tavsiflash mumkin.
5.Standart va nostandart matematik funksiyalar
Standart matematik funksiyalar.
Funksiya nomi |
Tilda yozilishi |
Funksiya nomi |
Tilda yozilishi |
Sinx |
SIN(x) |
|
SQRT(x) |
Nostandart matematik funksiyalar.
O‘zgartirish funksiyalari.
Funksiya |
Qiymati |
Chr(n) |
Kodi n ga teng simvol |
IntToStr(k) |
Butun k ni tasvirlovchi satr |
FloatToStr (n) |
Haqiqiy n tasvirlovi satr |
StrToInt (s) |
Satrni butun songa o‘tkazish |
StrToFloat (s) |
Satrni haqiqiy songa o‘tkazish |
Round (n) |
Haqiqiy sonni yaxlitlash |
Trunc (n) |
Haqiqiy son kasr qismini olib tashlash |
Frac(n) |
Kasrli sonning kasr qismi |
Int (n) |
Kasr sonning butun qismi |
6.Arifmetik va mantiqiy ifodalar
Ifodalarda hisoblashlar tartibi qavslar ichidagi ifodalar bajarilgandan keyin quyidagi amallar bajariladi:
1.NOT amali;
2. *, /, DIV, MOD, AND;
3.+, -, OR;
4.taqqoslash belgilari: <, >, <=, >=, <>, =, IN.
Ifodadagi amal natijasi qanday turda bo‘lishi amallarda qatnashayotgan o‘zgaruvchilarning turlariga bog‘liq. Agar ikkita o‘zgaruchining turi Integer yoki Real bo‘lsi, amal natijasi ham Integer yoki Real bo‘ladi. Agar biri Integer ikkinchisi Real bo‘lsa natija Real bo‘ladi. NOT, OR, AND va taqqoslash amallarining natijalari esa Boolean turida bo‘ladi.
Pascal tilida shart - bu mantiqiy turdagi ifoda bo‘lib, u faqat «chin»(True) yoki «yolg‘on»(False) qiymatni qabul qiladi.
Quyidagi mantiqiy amallar ishlatiladi: NOT-«inkor»; AND-«mantiqiy va»; OR-«mantiqiy yoki».
Bu mantiqiy amallarning bajarilish natijalari quyidagicha:
Op1 |
Op2 |
Op1 AND Op2 |
Op1 OR Op2 |
NOT Op1 |
False |
False |
False |
False |
True |
Masalan: (5<6) AND (6<50) -mantiqiy ifoda rost (True),
(20>0) OR (20<0.5) -mantiqiy ifoda rost (True),
NOT(100>3) -mantiqiy ifoda yolg‘on (False).
Mantiqiy ifodalarni biror bir mantiqiy o‘zgaruvchiga yuborish ham mumkin.
Masalan: F:=(A<B) AND (A<C);
Bu erda, agar ikkala shart bajarilgandagina F mantiqiy o‘zgaruvchi “chin” (True) qiymatni qabul qiladi. Aks holda “yolg‘on” (False) qiymatni qabul qiladi.
7.Paskal tilida dastur strukturasi
Paskal tilida dastur matni bosh va asosiy bo‘limdan tashkil topadi. Bosh bo‘lim dastur nomi va o‘zgaruvchilar, o‘zgarmaslar, massivlar, belgilar(metkalar), protseduralar va funksiyalarni tavsiflashdan iborat bo‘ladi. Asosiy bo‘lim dastur tanasi deyilib, unda dasturda bajariladigan hamma operatorlar ketma-ketligi beriladi va u Begin (boshlamoq) so‘zi bilan boshlanib End (tugash) so‘zi bilan tugaydi. Umumiy holda dastur strukturasi quyidagi ko‘rinishga ega:
Program <dastur nomi>;
Uses <Foydalanadigan bibliotekalar (modullar) ro‘yxati>;
Label <Ishlatiladigan belgilar(metkalar) ro‘yxati>;
Const <Ishlatiladigan o‘zgarmaslarni aniqlash>;
Type <YAngi turlarni aniqlash>;
Var <O‘zgaruvchilarni e’lon kilish>;
<Protsedura va funksiyalarni aniqlash>
Begin
<Asosiy qism >
End.
8.Ma’lumotlarni kiritish va chiqarish operatorlari
Biror bir masalani echishning chiziqli bo‘lgan algoritmiga dastur tuzishda algoritmdagi keltirilgan ketma-ketliklar asosida operatorlar yoziladi. Bunday dasturlarni tuzushda asosan o‘zgaruvchilar qiymatini kiritish, natijalarni chiqarish va shu bilan birga o‘zlashtirish operatorlari ishlatiladi.
Kompьyuter foydalanuvchi tomonidan qo‘yilgan masalani aniq va tushunarli ko‘rsatmalar berilgandagina bajara oladi. Bu ko‘rsatmalar ma’lum bir ma’noni anglatuvchi so‘zlardan iborat bo‘lib, kompьyuterga qanday operatsiyani bajarish lozimligini bildiradi va bu ko‘rsatmalarga operatorlar deyiladi. Operatorlar dastur ishlaganda ketma-ket ravishda bajariladi. Paskal tilida bir satrga bir necha operatorlarni yozish umkin. Dasturdagi o‘zgaruvchilar qiymatlarini dastur ichida o‘zlashtirish operatori yordamida ham berish mumkin. Lekin dasturda o‘zgaruvchi qiymatini tashqaridan kiritish qulaylik tug‘diradi va umumiylikni ta’minlaydi.
Read operatori o‘zgaruvchilar qiymatlarini ekrandan kompьyuter xotirasiga kiritish uchun ishlatiladi. U quyidagi ko‘rinishlarga ega.
Read(c1,c2,...,cn); Readln(c1,c2,...,cn); Readln;
bu erda c1,c2,...,cn - o‘zgaruvchilar nomi; ln - qo‘shimchasi qiymatni kiritib keyingi qatorga o‘tishni bildiradi.
Misollar: Read(Sm1,Sm2); Readln(x1,x2,x3); Readln;
Bu erda birinchi operator Sm1 va Sm2 o‘zgaruvchilar qiymatini ekrandan kiritadi. Ikkinchi operator esa x1,x2,x3 o‘zgaruvchilar qiymatini ekrandan kiritadi va kiritishni keyingi qatorga o‘tkazadi. Oxirgi operator esa kiritishni kutadi va qator o‘tkazadi.
Write operatori oddiy ma’lumotlarni va o‘zgaruvchilar qiymatlarini kompьyuter ekraniga chiqarish uchun ishlatiladi. U quyidagi ko‘rinishlarga ega.
Write(c1,c2,...,cn); Writeln(c1,c2,...,cn); Writeln;
bu erda c1,c2,...,cn - oddiy matnlar yoki o‘zgaruvchilar nomi; ln - qo‘shimchasi chiqarishni keyingi qatorga o‘tishni bildiradi.
Misollar: Write(Summa); Write(‘Natija yuk’);
Write(‘Tenglama echimi x1=’, x1, ’x2=’, x2);
Oddiy ma’lumotlarni chiqarishda ular matn deb qaraladi va u qo‘shtirnoq ichida yoziladi. CHiqarish operatori yordamida o‘zgaruvchilar qiymatini format ko‘rinishda ham berish mumkin: Write(c:m:n);
bu erda s-o‘zgaruvchi; m-shu o‘zgaruvchi qiymati uzunligi; n-qiymatning kasr qismi va unda n-1<m bo‘lishi kerak.
Misol. Write(x:8:4);
Agar x=155.01021 bo‘lsa, quyidagi yozuv chiqadi 115.0102.
Write(‘Maxsulot soni:’, kol:5);
Agar kol=15 bo‘lsa, quyidagi yozuv ekranga chiqadi. Maxsulot soni: 15
Dastur matnini tushuntirish maqsadida ko‘pincha dasturda izohlar keltiriladi. Dasturda izohlar istalgan joyda berilishi mumkin. Izoh katta qavs ichida yoziladi.
Masalan: { Bu matn dasturga izoh beradi } { Bu joyda echim aniqlanmoqda }
Dasturda ma’lum hisoblashlarning natijalarini biror bir o‘zgaruvchida saqlash uchun o‘zlashtirish (yuborish) operatori ishlatilib, u «:=» belgisi yordamida qiymat yuborilishi kerak bo‘lgan o‘zgaruvchidan keyin qo‘yiladi.
Masalan: i:=0; i-qiymati nolga tenglashadi, ya’ni i o‘zgaruvchiga nol yuboriladi deb tushuniladi. Bunda mashina i o‘zgaruvchi uchun ajratilgan xotirasiga nol yozib saqlaydi. Misol: B:=5; C:=4; A:=(B+C)/2;
Bu erda, agar A butun identifikator bo‘lsa, uning qiymati 4 ga, aks holda esa 4.5 qiymatga ega bo‘ladi.
O‘zlashtirish operatori yordamida ixtiyoriy ifodalarni hisoblash va natijalarni xotiraga joylashtirish mumkin.
CHiziqli strukturali algoritmlarni dastur shaklida yozish uchun oldin ishlatiladigan o‘zgaruvchilar ruyxati keltirilib, keyin algoritmdagi bajarilishlar ketma-ket ravishda amalga oshirilishi kerak.
Misol: Tekislikdagi ikki nuqta orasidagi masofani topish dasturi.
Program XY;
Var x1,y1,x2,y2,d: Real;
Begin
Write(‘Nukta koordinatalarini kiriting:’); Readln(x1,y1,x2,y2);
d:=Sqrt(Sqr(x1-x2)+Sqr(y1-y2));
Writeln(‘Masofa=’,d);
Readln;
End.
11103 marta o`qildi.
![]() |
![]() |