“Kompyuter injiniringi” fakult ti


Download 0.63 Mb.
Pdf ko'rish
bet3/6
Sana19.10.2020
Hajmi0.63 Mb.
#134795
1   2   3   4   5   6
Bog'liq
ushbu uslubiy korsatma telekommunikatsiya texnologiyalari talim yonalishi talabalari uchun moljallangan. (1)


MASALA  

 4

Matn redakt rining quyidagi el

ntlarini bajaruvchi dasturni tuzish: faylni str lkalar

rqali qarab chiqish –o’ngga, - chapga,- t paga,- pastga.



MASALA  

 5

Grafik r dakt rning kuyidagi el

ntlarini bajaruvchi dasturni tuzish: figuralarni chizish

va saklash (faylga yozish).



MASALA  

 6

Matn b rilgan:  matnning  arf va pr

llardan farkli b lgilari b r  yoki yukligini

aniklash. Shunday b lgi t pilganda t vush chikarish.



MASALA  

 7

Matn b rilgan: Ushbu matn

a) id ntifikat rmi

b) butun kurinishli unlik yozuvmi aniklash dasturini tuzish.



MASALA  

 8

Ekran mayd nida  o’z  g’irlik markazi atr fida aylanuvchi turli t

nli uchburchakni

if dalash dasturini tuzish.



MASALA  

 9

Ekran mayd nida  o’z markazi atr fida aylanuvchi to’g’ri t

nli uchburchakni

if dalash dasturini tuzish.



MASALA  

 10

Ekran mayd nida  o’z markazi atr fida aylanuvchi to’g’ri turtburchakni if dalash

dasturini tuzish.

MASALA  

 11

Ekran mayd nida  o’z cho’qqilarining biri  atr fida aylanuvchi tugri turtburchakni

if dalash dasturini tuzish.

MASALA  

 12

Ekranda uz qdan yaqinlashuvchi sharni if dalash dasturini tuzish.



MASALA  

 13

Tuganmas tsikl dasturini tuzish. Chiqish “Enter” klavishasini b sish  rqali amalga

shiriladi.

MASALA  

 14

tiyoriy yo’nalishda  arakatlanuvchi sharni if dalash dasturini tuzish. B shqaruv

str lkalar  rqali amalga  shiriladi.

MASALA  

 15

Ekranda tas difiy ravishda 100 ta nuqtani chizish dasturini tuzish.



MASALA  

16

Kurs r va ekran rangini aniql vchi dasturni tuzish. So’ngra i tiyoriy rangni o’rnating.



MASALA  

 17

Ekranda  i tiyoriy b lgini shriftini o’zgartirish dasturini tuzish.



MASALA  

 18

So’zlarni  k nt kst qidirish va o’zgartirish dasturini tuzish.



MASALA  

 19

18

Matnni f rmatlash va ushbu matnni print r va ekranga chiqarishni amalga  shirish

dasturini tuzish.

MASALA  

 20

Quyidagi cho’qqilarga ega (100,100), (150,100), (170,120), (150,140), (100,140)

shburchakni if dalash dasturini tuzish. Mayd nni b shqa rang bilan bo’yash.

MASALA  

 21

Ekranda  arakatlanuvchi pirpirakni dasturini tuzish.



MASALA  

 22

Ekranda billiard sharini  arakatini luzasiz b shqarish dasturini tuzish.



MASALA  

 23

Ekran o’lch viga t ng spiral matritsani qurish dasturini tuzish.



MASALA  

 24

9 ta bir-birini ichiga j ylashgan yashil, qizil va jigar rangga bo’yalgan k ns ntrik

aylanalarni chizish dasturini tuzish.

MASALA  

 25

10 ta bir-birini ichiga j ylashgan yashil va qizil rangga bo’yalgan kvadratlarni chizish

dasturini tuzish.

Tajriba ishi  5,6


19

Mavzu: Identifikatorlar jadvalini tashkil etish

Ishdan maqsad: Regulyar grammatika nazariyasining asosiy tushunchalarini  leksik

taxlilchilarning  ish printsiplari bilan tanishgan xolda o’rganish, berilgan sodda til misolida

skanerni ko’rish bilimlarini olish.

Nazariy qism

Kompilyatorning ishi alfavitni, leksikani, sintaksisni semantikani (mazmunni) saqlagan

xolda o’zgartirishdir.

Alfavit – til konstruktsiyasini ko’rishda foydalaniladigan mumkin bo’lgan belgilar

to’plamidir.

Leksika – tilning aloxida ma’noli birliklari to’plamidir (leksemalar).

Leksema – tilning ma’noga ega bo’lgan minimal  konstruktsiyasidir.

Leksemalarga o’zgaruvchilar ismlari, xizmatchi so’zlar, konstantalar, amal belgilari,

ajratkichlar va x.k.

Sintaksis – tilning tugri ifodalash imkonini beradigan qoidalar tizimidir.

Semantika – sintaksis jixatidan tugri konstruktsiyalarning ma’noviy bo’lagini ifodalaydi.

Alfavit, leksika, sintaksis formal ko’rinishda berilishi mumkin. Semantika  esa

ko’pincha formallashgan emas, semantika qoidalarining tekshirish algoritmlari ko’rinishida

beriladi.

 Kompilyator ishining umumiy chizmasi ikki fazadan tashkil topadi:

1. taxlil fazasi

2. sintez fazasi

1. Taxlil fazasi leksik analizator ishidan boshlanadi. (skanerdan).

U kiritilgan dasturning karab chikishdan boshlanadi, turli leksemlarni ajratish va

klassifikatsiyasi va keyingi bosqichga uzatiladigan mos jadvallarni to’ldirishdan iborat. Skaner

quyidagi jadvallardan foydalanadi:

1) Tilning terminal belgilari jadvali.

U skaner ishi uchun boshlang’ich hisoblanadi va kompilyatorni ishlab chiqaruvchisi

tomonidan quriladi.

 Terminal belgilar quyidagilardir:

ajratkichlar

amal ishoralari

tilning kalit suzlari

2) Belgili ismlar jadvali (identifikatorlar).

Skaner bu jadvalga xar bir uchragan ismni kiritadi, agar u qoidaga asosan qurilgan va

kalit so’zlarga tegishli bo’lmasa.

3)  Konstantalar jadvali.

Xar  bir konstanta uchun quyidagi xarakteristikalar tegishlidir:

Qiymat


Tur

Asosi (Osnovanie SS)

Kenglik  (xotira soxasi ulchami)

Natijada dastur jadvallar to’plamiga aylanadi. Bunday shakl kompilyator ishining

quyidagi bo’lagi uchun qulay xisoblanadi.

Bundan tashqari, xar birida 2 tadan maydoni bo’lgan yozuvlardan tashkil topgan

leksemlar jadvali quriladi.

Leksem turidagi kod   Jadvaldagi rakam

I

5


20

I – leksema identifikator ekanligini belgisidir.

5 – identifikatorlar jadvalidagi o’rin.

Xar bir leksemaga leksemalar kodlari jadvalidagi o’z yozuvi mos keladi, bu erda

birinchi yozuvga birinchi leksema mos keladi.

Leksik taxlil fazasi

Leksik taxlilchi turli konstantalar, identifikatorlar va kalit so’zlar bilan ish yuritadi.

Konstanta va identifikatorlar tili kup xollarda regulyar buladi, ya’ni regulyar grammatikalar

yordamida ifodalangan buladi. Regulyar grammatikalar uchun anglovchilar bulib chekli

avtomatlar xisoblanadilar. Ixtiyoriy regulyar grammatika uchun nodeterminirlangan avtomat

kurish mumkin bulgan, ushbu grammatika bilan berilgan tilni zanjirlarini anglovchi, koidalar

mavjud.

Avtomat ishi taktlar bo’yicha bajariladi. Har bir navbatdagi I taktda  avtomat



qandaydir q

i

xolatda bulib, navbatdagi w

 belgini kiruvchi belgilar zanjiridan o’qiydi va

uz xolatini q

iQ1

q (q


i

,w) uzgartiradi, sungra kiruvchi belgilar zanjirining kursatkichi keyingi

belgiga suriladi va iQ1 takt boshlanadi. Bu jarayon kiruvchi belgilar zanjiri tugaguniga kadar

davom etadi. Belgilar zanjiri oxirini maxsus belgi

 bilan belgilanadi. 1 takt oldidan avtomat

boshlangich q

0

xolatda buladi deb xisoblanadi.



Avtomat chizma ravishda birtomonga yunaltirilgan grafda ifodalanadi, unda chukkilar

xolatni, kobiklar esa  bir xolatdan ikkinchi xolatga utishni ifodalaydilar. Kobikdagi belgilarning

belgilanishi esa  utish funktsiyasiga mos keladilar. Agar utish funktsiyasi bir necha belgi buyicha

q xolatdan  q’ xolatga utishni kuzda tutsa, u xolda ular urtasida bitta kobik kuriladi, va

belgilanishda barcha utishlar yuz berayotgan belgilar yoziladi.

Anglash chizmasi.

Tilning kiruvchi zanjirlarini anglash uchun foydalanilayotgan chekli determinirlangan

avtomatning grafi 3 rasmda keltirilgan.

Leksik taxlilchini normal ish xolatida boshlangich va oxirgi xolati mos keladi (rasmda

"q" xolat). Xatolik kiruvchi zanjir xolatida avtomat ERROR xatolik xolatiga tushadi. Bu xolda

avtomat ishi tuxtatiladi.

Bundan tashkari, avtomat uchun tipik bulib ID (uzgaruvchi) va CONSTANT

(konstanta) xolati xisoblanadi. Avtomatning kolgan xolatlari kompilyator uchun mumkin

bulgan kiruvchi til leksemalari bilan aniklanadilar.

Xar bir oxirgi "q" xolatga utish joriy kiruvchi zanjirning oxiri xakida ma’lumot beradi.

Bu xolatda anglangan zanjirni taxlili va avtomatni navbatdagi kiruvchi belgilar zanjiri uchun

kaytaishlatilishi amalga oshiriladi. Kiruvchi belgilar zanjirining ba’zi bir  belgilarining takroriy

kayta ishlanishi mumkin. Bu avtomatni oxirgi xolatga olib keluvchi belgi keyingi belgilar

zanjirining boshlanishi xisoblangan xolda zarurdir.



 Natijalar

Leksik taxlilning dasturiy realizatsiyasi LexFSM va LexAnalyser modullari

kurinishida keltirilgan. LexFSM – belgilarning kiruvchi zanjirini anglovchi avtomat ishini aks

ettiradi. LexAnalyser kiruvchi fayl matnini uni belgilarini LexFSM modulni suroviga kura

junatish uchun tayyorlaydi. U kiruvchi matnni probel belgilari va keraksiz belgilarini tashlab

yuboradi (tabulyatsiya belgilari, karetkani kaytishi va x.k.). LexFSM oxirgi xolatlardan biriga

utgan xolda, u boshkaruvni LexAnalyser modulga uzatadi. U uz navbatida ish natijalarini

ekranga chikaradi va  xato uchragan kator xakidagi xatoliklarni bildiradi. Bundan tashkari, agar

LexFSM  "q" oxirgi xolatga utsa va shunday kilib kiruvchi belgilar zanjirini anglasa, u olingan

leksemani  u  xakidagi ma’lumot bilan birga LexAnalyser ga uzatadi, u esa uni uz leksemalari

ruyxatiga kushib kuyadi. Faylni kayta ishlash tugashi bilan LexAnalyser modul leksemalar


21

ruyxatini LexTab grafik moduliga yuboradi, u esa natijaviy leksemalar ruyxatini jadvallar

kurinishida aks ettiradi.

Xuddi shunday modullardan xar biri uz xarakatlari ketma-ketligi xakidagi ma’lumotni

berib turadi, bu esa uz navbatida taxlilchi ishini kuzatib turish imkonini beradi. Bu ma’lumotlar

xam LexTab  grafik modul yordamida ekranda aks etadi.

Matnli faylni kayta ishlash misolini karaymiz:

program


begin

begine:q1;

a:q5;

repeat


if a>3 then a:q3

else i:q0

endif

until iq0



end;

end.


Leksik taxlilchining ish natijalari kiskacha 1 jadvalda keltirilgan.

 1 jadval

Leksema

Leksemalar turi



Identifikatorlar jadvalidagi

identifikator rakami

Program

 'program'  kalit suzi



Begin

 'begin' kalit suzi

Begine

Uzgaruvchi



1

:q

Uzlashtirish operatori



':q'

5

Konstanta



;

Ajratuvchi

A

Uzgaruvchi



2

:q

Uzlashtirish operatori



':q'

5

Konstanta



;

Ajratuvchi

Repeat

'repeat' kalit suzi



If

 'if' kalit suzi

A

Uzgaruvchi



2

>

Amal belgisi '>'



3

Konstanta

Then

 'then' kalit suzi



A

Uzgaruvchi

2

:q

Uzlashtirish operatori



':q'

3

Konstanta



              Dastur ishining ifodalanishi

Chekli determinirlangan avtomatning grafi asosida leksik taxlilchining dasturi

realizatsiyasi ishlab chikildi.

Faylni yuklash vkladkasi (1 rasm) foydalanuvchiga yuklanuvchi faylni karab chikish,

leksik taxlil xatoligi xolatida xato katorni kurish va  tanlash imkonini beradi.


22

 5.1rasm – Faylni yuklash vkladkasi

Leksik taxlilchining ish natijalari «Leksemalar jadvali» vkladkasida chikariladi (2

rasm).


5.2 rasm  – Vkladka "Leksemalar jadvali"

Kiruvchi fayldagi leksik xato uchragan xolda ekranga xatolik xakidagi ma’lumot

chikariladi va faylni yuklash vkladkasida xatolik qator qizil rang bilan chiqadi (3 rasm).


23

5.3 rasm – Xatoliklar chiqishi



Tajriba ishining bajarilish tartibi (algoritmi):

1.Masalaning qo’yilishini ifodalash.

2. Amalga oshirilayotgan tilda tekshiruv misollarini tuzish.Juda bo’lmaganda bitta misol

translyatsiya qilinayotgan fayldagi bo'lishi mumkin bo’lmagan belgilarga dasturni

javobini tekshirishi  kerak

3.Dasturlash tilida skanerlash moduli dasturini tuzish va tekshiruv misollarida test

o’tkazish.

4.Ish natijasida leksemalar va ularning sinflarini belgilariga ega jadval hosil qilinadi.

5.Natijalarni qog’oz yoki monitor ekraniga chiqarish.

   6.Tajriba ishi bo’yicha hisobot tayyorlash.

            Hisobotga talablar:

            

Xisobotda  qo’yilgan  masalaning  berilishi,  ishdan  maqsad,  nazariy  qismi,  ishning

bajarilishi algoritmi, dastur matni, olingan natijalar, xulosalar va foydalanilgan adabiyotlar aks

ettirilishi kerak.

Sinov savollari:

1.Taxlil fazasi nima?

            2. Sintez fazasi nima?

            3. Tilning terminal belgilari jadvalida nimalar aks etadi?

            4. Konstantalar jadvalida nimalar aks ettiriladi?.

5. Leksemalar kodlari jadvali nima uchun tashkil etiladi?



24

6. Bir-ikki va uch utishli kompilyatorlarning yutuklari nimalarda kurinadi?

7. Kompilyator va interpretatorning farki nimada?

     8. Regulyar grammatikaning yutuk va kamchiliklari nimalardan iborat?

     9.Ikkidarajali grammatikani kim birinchi bulib ifodalagan va ular nima

          maksadlarda kullaniladi?

10. Atributiv grammatikadan kanday maksadlarda foydalaniladi?

5,6-tajriba ishining yechilishiga doir masala varianti.

Masala: kiruvchi til ; belgisi bilan ajratilgan mantiqiy ifodalardan tashkil topgan, mantiqiy

ifodalar identifikatorlardan tashkil topgan, konstantalar 0 va  1, o’zlashtirish belgisi :q, amal

ishoralari or, xor, not, and va () (4-rasm).


25

5.4-rasm. Masalaning qo’yilishining grafik chizmasi.



Dastur matni

#include

#pragma hdrstop

#include "Unit2.h"

G’G’---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

G’G’---------------------------------------------------------------------------

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

SG->Cells[0][0]q"



";

SG->Cells[1][0]q"Znachenie leksemo’";

SG->Cells[2][0]q"Tip leksemo’";

OD->InitialDirqExtractFilePath(Application->ExeName);

SD->InitialDirqExtractFilePath(Application->ExeName);

}

G’G’---------------------------------------------------------------------------



26

void __fastcall TForm2::BitBtn1Click(TObject *Sender)

{if(FileExists(ExtractFilePath(Application->ExeName)Q"Test.txt")qq1) Memo->Lines-

>LoadFromFile(ExtractFilePath(Application->ExeName)Q"Test.txt");

else if (OD->Execute()) Memo->Lines->LoadFromFile(OD->FileName);}

G’G’---------------------------------------------------------------------------

void __fastcall TForm2::BitBtn2Click(TObject *Sender)  {if (SD->Execute())  Memo->Lines-

>SaveToFile(SD->FileName);}

G’G’---------------------------------------------------------------------------

AnsiString KeyWords[]q{"or","xor","and","not"};

AnsiString SI[]q{" ","g’n","g’t",")","(",":",";"};

int *A;


AnsiString ParseString(AnsiString Src,int StP,int &EnP)

 {

  for(int iqStP;i

   for(int jq0;j<7;jQQ)

 if (Src.SubString(i,1)qqSI[j] || Src[i]qq'g’n' || iqqSrc.Length())

 {

 EnPqi;


 if(Src[i]qq'g’n') return Src.SubString(StP,EnP-StP-1);

 else return Src.SubString(StP,EnP-StP);

 }

 }

bool kaq0;



void __fastcall TForm2::GoBtnClick(TObject *Sender)

{

Memo->TextqMemo->TextQ" ";



AnsiString TEMP;int xq0,scq1,ZSq0;

G’G’


 for(int iq1;iText.Length();)

  {


   if(Memo->Text[i]qq'{') {kaq1;iQQ;continue;}

   if(Memo->Text[i]qq'}') {kaq0;iQQ;continue;}

   if(kaqq1) {iQQ;continue;}

   if(int(Memo->Text[i])qq13) {iQQ;continue;}

   if(Memo->Text.SubString(i,2)qq":q")

  {


  SG->Cells[1][sc]qMemo->Text.SubString(i,2);SG->Cells[0][sc]qsc;scQQ;

  SG->RowCountqsc;iQq2;continue;

  }

   TEMPqParseString(Memo->Text,i,x);



   if(x!qi && Memo->Text[i]!q'g’n')

{

 SG->Cells[1][sc]qTEMP; SG->Cells[0][sc]qsc;scQQ;



 SG->RowCountqsc;

  iqx;


  }

27

   else


{

 if(Memo->Text[i]qq'(' || Memo->Text[i]qq')' || Memo->Text[i]qq';' || Memo-

>Text[i]qq':')

  {


  SG->Cells[1][sc]qMemo->Text[i];SG->Cells[0][sc]qsc;scQQ;

  SG->RowCountqsc;

  }

  iQQ;}}


 Aqnew int[SG->RowCount];

  for(int iq1;iRowCount;iQQ)

 {

  if (SG->Cells[1][i]qq"")          {SG->Cells[2][i]q"";goto end;}



 for(int jq0;j<4;jQQ)

if(SG->Cells[1][i]qqKeyWords[j])

 {SG->Cells[2][i]q"Logicheskiy operator ";goto end;}

 if (SG->Cells[1][i]qq":q")          {SG->Cells[2][i]q"Operator prisvaivaniya";goto end;}

 if (SG->Cells[1][i]qq'0' || SG->Cells[1][i]qq'1')

  {SG->Cells[2][i]q"Binarnaya konstanta";goto end;}

 if (SG->Cells[1][i]qq';')        {SG->Cells[2][i]q"Razdelitel";goto end;}

 if (SG->Cells[1][i]qq'(')        {SG->Cells[2][i]q"Otro’vayuhayasya skobka";goto end;}

 if (SG->Cells[1][i]qq')')        {SG->Cells[2][i]q"Zakro’vayuhayasya skobka";goto

end;}


 for(int jq1;jCells[1][i].Length();jQQ)

if((int(SG->Cells[1][i][j])<65 || int(SG->Cells[1][i][j])>90) &&

   (int(SG->Cells[1][i][j])<97 || int(SG->Cells[1][i][j])>122))

{SG->Cells[2][i]q"Nedopustimo’y simvol";A[ZS]qi;ZSQQ;goto

end;}

 SG->Cells[2][i]q"Identifikator";



 end:;

 }

 delete[] A;



}

G’G’---------------------------------------------------------------------------

void __fastcall TForm2::SGDrawCell(TObject *Sender, int ACol, int ARow,

  TRect &Rect, TGridDrawState State)

{

int x,y;


G’G’----------- Poluchenie koordinat dlya vo’voda teksta i sam vo’vod ----------------

 xqRect.leftQ2; G’G’ (Rect.Width()-SG1->Canvas->TextWidth(SG1-

>Cells[ACol][ARow]))G’2;

 yqRect.topQ3;  G’G’(Rect.Height()-SG1->Canvas->TextHeight(SG1-

>Cells[ACol][ARow]))G’2;

 SG->Canvas->Font->ColorqclBlack;

 SG->Canvas->TextOut(x,y,SG->Cells[ACol][ARow]);

G’G’---------------------- Zakraska tekuhey vo’delennoy stroki --------------------



28

if(A!qNULL && ARow!q0)

 for(int iq0;iRowCount;iQQ)

  if(ARowqqA[i])

  {SG->Canvas->Brush->ColorqclRed;SG->Canvas->Font->ColorqclWhite;

   SG->Canvas->FillRect(Rect);

   SG->Canvas->TextOut(x,y,SG->Cells[ACol][ARow]);}

}

Dastur natijasi



Xulosa: Tajriba ishini bajarish natijasida  C++ Builder 7 muxitida dastur matni yozildi

            5,6-tajriba ishiga doir berilishi mumkin bo’lgan masala variantlari:

                                                            Variant  

1

 ::q .

::q

 ::q Var 

::q |

 ::q | < Uzlashtirishlar ruyxati>

::q q

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

                                               Variant  

 2

 ::q .

::q Begin  end

 ::q Var 

::q | ,


29

 ::q | < Uzlashtirishlar ruyxati>

::q :q

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

                                              Variant  

 3

 ::q .

::q [ ]

 ::q Var 

::q | ,

 ::q | < Uzlashtirishlar ruyxati>

::q;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

  Variant  

 4

 ::q .

::q

 ::q Var 

::q | ,

 ::q | < Uzlashtirishlar ruyxati>

::q :q ;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

                                              Variant  

 5

 ::q .

::q Begin  End

 ::q Var 

::q | ,

 ::q | < Uzlashtirishlar ruyxati>

::q q

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”


30

 ::q |  

::q    |

::q    |

                                              Variant  

 6

 ::q .

::q Begin  End

kilish > ::q Var



::q; | |

;

 ::q | < Uzlashtirishlar ruyxati>

::q :q ;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

Variant  

 7

 ::q .

::q Begin  End

kilish > ::q Var : Integer;



::q | |

 ::q | < Uzlashtirishlar ruyxati>

::q :q ;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

                                              Variant  

 8

 ::q .

::q Begin  End

kilish > ::q Var : Logical;



::q | |

 ::q | < Uzlashtirishlar ruyxati>

::q :q ;

::q |

 ::q () |   |  

::q “ ! “

::q “ & “  | “ | ” |  “ ^ ”

 ::q |  

::q    |

::q 0   | 1

31

                                              Variant  

 9

 ::q .

::q Begin  End

kilish > ::q Var : Boolean;



::q | |

 ::q | < Uzlashtirishlar ruyxati>

::q :q ;

::q |

 ::q () |   |  

::q “ NOT “

::q “ .AND. “  | “.OR.| ” |  “ .XOR. ”

 ::q |  

::q    |

::q 0   | 1

             Variant  

 10

 ::q .

::q Begin  End

kilish > ::q Integer : Boolean;



::q; | |

 ::q | < Uzlashtirishlar ruyxati>

::q :q ;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

                                              Variant  

 11

 ::q 

::q Begin  End

kilish > ::q   

  ::q Integer  | Long Integer

::q; | |

 ::q | < Uzlashtirishlar ruyxati>

::q;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |

                                              Variant  

 12

 ::q 


32

::q Begin  End

kilish > ::q  Int   Int   

e’lon kilish >

::q; | |

 ::q | < Uzlashtirishlar ruyxati>

::q;

::q |

 ::q () |   |  

::q “ –“

::q “ – “  | “Q” |  “ * ” | “G’”

 ::q |  

::q    |

::q    |


Download 0.63 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling