linkedin facebook linkedin facebook nod32

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;
  • butun turdagi sonlar;
  • belgililar (simvollar).

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. Bu turlar Paskal tili tomonidan aniqlangan bo‘ladi;
  • dasturchi tomonidan kiritiladigan (aniqlanadigan) turlar.

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
Cosx
Lnx
ex

SIN(x)
COS(x)
Ln(X)
EXP(x)


Arctgx
|x|
x2
ab

SQRT(x)
ARCTAN(x)
ABS(x)
SQR(x)
EXP(b*LN(a))

        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
True
True

False
True
False
True

False
False
False
True

False
True
True
True

True
True
False
False

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.


6066 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений