19.103 GURUH TALABASI Maxkamova Umidaxon
Paskal dasturlash tili
Reja:
Paskal dasturlash tilining strukturasi
Paskal dasturlash tilining alifbosi, asosiy tushunchalari
Paskalda oddiy dasturlar tuzish.
Paskal tili sintaksisi. Kattaliklarning asosiy turlari. Paskal tilidagi
programmalarning strukturasi. Paskal tilining operatorlari. qiymatlarning skalyar turlari: tartiblangan, sanab o`tiluvchi va chegaralangan turlar.
Endi bizning oldimizda algoritmlarni EHM tushinadigan tilda yozish masalasi turadi, buning uchun maxsus algoritmik tillar mavjud. EHM paydo bo`lganidan beri juda ko`plab algoritmik tillar yaratilgan. Ularni shartli ravishda uch tipga ajratish mumkin:
- Quyi darajadagi programmalash tillari (mashina tillari)
- O`rta darajadagi programmalash tillari
- Yuqori bosqichli programmalash tillari
Quyi darajadagi programmalash tillarida buyruqlar va amallar ma`lum kodlar (raqamlar) bilan ifodalangan bo`lib, ular EHM qurilmalari adreslari bilan bevosita ishlashga mo`ljallangan va mashina tili deb ham yuritiladi. Sintaksis–bu alfavitdan foydalanilgan holda biror algoritmik tilda
ishlatilishi mumkin bo`lgan konstruktsiyalarni aniqlovchi qoidalar sistemasidir. Bu konstruktsiyalar orqali algoritmlar ifodalanadi. Shunday qilib, sintaksis har bir simvollar ketma-ketligining berilgan tildan foydalanish mumkinligini yoki mumkin emasligini aniqlab beradi.
Semantika–biror algoritmik til konstruktsiyalarini ma`nosi jihatidan tekshiruvchi qoidalar sistemasidir. Biror algoritmik tilning sintaktik qoidalarini ifodalash uchun maxsus yordamchi tilga–metatil deb ataladi. Eng keng tarqalgan metatillardan biri Bekus–Naurning metalingvistik formulalari va sintaktik diagrammalaridir. Bir algoritmik tilning qonun qoidalarini aniq va bir qiymatli aniqlash uchun maxsus tushincha va belgilar zarur bo`ladi. Tilning har bir tushinchasi uchun yagona metoformula mavjud bo`lishi kerak va uning gap qismida kiritilayotgan tushincha, ya`ni metao`zgaruvchi ko`rsatiladi. O`ng tomonda esa, metoo`zgaruvchining qabul qilishi mumkin bo`lgan qiymatlar to`plami keltiriladi. Odatda metoo`zgaruvchilar maxsus < >kavslar ichida yoziladi. Masalan: , . Metoformulaning chap va o`ng qismlari maxsus :: metosimvol bilan ajratiladi va u “ta`rif bo`yicha” degan ma`noni anglatadi. Masalan, quyidagi metoformula
:: A \ V
o`zgaruvchi ta`rif bo`yicha A yoki V harifidir degan ma`noni ifodalaydi.
::
-
Paskal programmalash tili N. Virt (Shveytsariya Informatika instituti professori) tomonidan 1968 yilda yaratilgan. 1992 yilda Borland firmasi Paskal tilining ShEHMdagi MS-DOSda amal g`iluvchi Turbo-Pascal programmalash paketlarini chiqardi. TP juda keng tarqaldi va programmalash tarixida foydalanuvchilar sonining oshish sur`ati bo`yicha bu tilga teng keladigani yo`q. Buni Paskal tilida algoritmlarning fundamental va eng muhim kontseptsiyalarining oydin va tushunishga oson shaklda berilganligi bilan tushintirish mumkin. Programma tuzish paytida programma tuzuvchi uning ixtiyoriga programmalash tili tomonidan beriladigan kategoriyalar bilan fikr yuritadi.
Paskal tilini yaratishda ikki maqsad nazarda tutilgan:
- tushinarli va tabiiy ravishda ifodalangan bir kator fundamental
tushunchalarga asoslangan programmalashni rgatishga qulay bo`lgan tizimli predmet sifatida yaratish;
- mavjud bo`lgan hisoblash mashinalarida tilni ishlatishning ishonchliligi va samaradorligi.
Paskal programmalash tili eng muhim ikkita tamoyilga asoslangan:
- strukturali programmalash tamoyili (unga klassik strukturali programmalashning asosiy boshqaruvchi strukturalarini amalga oshirish vositalari kiradi);
- berilganlarni tashkil qilishning strukturali tamoyili (u K. Xoar tomonidan taklif etilgan strukturali turlarning to`liq to`plamini oddiy o`zgaruvchilar, massivlar, ketma-ket fayllar, yozuvlar, variantli yozuvlar, ko`rsatkichlar va undan berilganning yangi turlarini yaratishning taraqqiy topgan vositalarni o`z ichiga oladi);
Paskal programmalash tili, zamonaviy programmalashda muhim ahamiyatga ega bo`lgan, programmalarning to`g`riligini isbotlovchi analitik usullarning taraqqiy topishida katta rol` uynadi. U xozirgi kungacha programmalashning to`g`riligini isbotlashga imkon beradigan programmalash sistemalariga ega bo`lgan yagona tildir.
Paskal programmalash tili, programmaning qismlari yoki butun programma to`g`risida turli xil mulohazalarni isbotlashni ta`minlaydigan, yaxshi matematik apparatga asoslangan. K. Xoarning aksiomatik sistemalari yordamida ifodalanadi. Programmalarni ishlashini "sozlash"ning eski usullari o`rniga, xozirgi paytda paydo bo`layotgan programmalarning to`g`riligini tekshiradigan avtomatik sistemalardan foydalanish maqsadga muvofiqdir.
Alfavit – bu Paskal tilida ishlatishi mumkin bo`lgan belgi va simvollar to`plamidir. Turbo-Pascal muhitning hamma belgilari ASCII (American Standard Code for Information Interchange ) kodining standart belgilaridan tashkil topgan.
Tupbo paskal tili alfavitiga quyidagilap kipadi:
1) lotin xapflapi: A, B, C, ..., Z va a,b,c,...,z;
2) apab paqamlapi: 0, 1, 2, ..., 9;
3) maxsus belgilap: , -, *, , , [, ], , . , , , (, ), :, ;, @, ^ ,$, ', {, }, #, (ppobel) ;
4) arifmetik amallar belgilari: , -, *, , div, mod;
5) taqqoslash amallari: < , >, > , ,<>;
6) mantiqiy amallar: not, and, or, xor;
7) kalit so`zlap: absolute, and, array, begin, case, const, constructor, destructor, div, do, downto, else, end, external, file, for, forward, function, goto, if, implementation, in, inline, interface, interrupt, label, mod, nil, not,
object, of, or, packed, program, procedure, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, virtual, while, for.
Paskal-programma sarlavha va tanasidan(blok) iborat. Ulardan keyin nuqta qo`yiladi. Sarlavha tanadan nuqta-vergul bilan ajratiladi:
::= < programma sarlavhasi >;
. Sarlavhasi program xizmatchi so`zidan boshlanadi, so`ng
programmaning nomi(identifikator, harflar va raqamlardan iborat, harfdan boshlanadi) va qavs ichida tashqi muhit bilan o`zaro aloqa qiluvchi fayllarning nomlari yoziladi:
:: = program
({, < fayl nomi >});
Ko`p programmalik operatsion sistemalarda amal qiluvchi Paskal tillarida o`rnida standart input (o`qish) va output (yozish) fayllari keladi va u programma tomonidan o`qish-yozish qurilmalariga buyurtmani bildiradi. Shaxsiy EHMlarda bo`lishi shart emas. Programmaning tanasi blok bo`lib, u 6 bo`limdan iborat :
::=
.
Nishonlar bo`limida programmada foydalanilgan nishonlar e`lon
qilinadi. Nishon-bu qaysidir operatorga o`tish uchun ishlatilgan, 0...9999 oralig`idagi butun son yoki identifikator. Nishon bo`limining sintaksisi quyidagicha yoziladi:
::= yoki label {,}; Masalan,
label 6, 2, 56, 888;
O`zgarmaslar bo`limi programmada foydalanilgan o`zgarmaslar e`lon
qilish va ularga qiymat berish uchun ishlatiladi va quyidagicha yoziladi: bo`limi> :: = yoki const e`lon qilish> {,}
::= = ::= yoki yoki
yoki yoki -
:: = {}
Masalan:
const n=34; mh=3.12; nn=-n; t=d
Turlar bo`limi programmada ishlatilgan o`zgaruvchilarning turlarini
e`lon qilish uchun ishlatiladi va quyidagicha yoziladi:
::= yoki type {;
qilish >};
::= =
:: = yoki
Masalan:
type log=boolean; week1= (monday, friday, sunday); week2=3..6;
O`zgaruvchilar bo`limi programmada foydalanilgan o`zgaruvchilar qaysi turlarga tegishli bo`lganlarini e`lon qilishda ishlatiladi va quyidagicha yoziladi:
::= yoki var {;};
::= {,}:;
Masalan,
var x, d: real; d1: week1; asd: log;
Pascal (dasturlash tili)
Dostları ilə paylaş: |