Urganch davlat universiteti axborot texnologiyalari kafedrasi



Download 13,56 Mb.
Pdf ko'rish
bet57/99
Sana31.12.2021
Hajmi13,56 Mb.
#262961
1   ...   53   54   55   56   57   58   59   60   ...   99
Bog'liq
akademik litsey kasb hunar kollejlarda informatika fanidan olimpiada masalalarini ishlash boyicha korsatmalar

function getC(var f:text; var c:

char

):

boolean





begin 

  getC:=

true


  

if eoln(f) then begin 



    readln(f); 

    


if eoln(f) 

      


then begin c:=#

0

; getC:=



false 

and 

    else read(f,c) 

   


end 

   else read(f,c); 

 

end;

 

while getC(f,c) do begin 

  

{c simvolini qayta ishlash} 



end;

 

Simvolni  qayta  ishlashni  aniqlashtiramiz.  Misoldagi  shartdan  ko‘rinib  turibdiki  har  biri 



o‘ziga  xos qavslardan  iborat  to‘rtta  sanagich  mavjud  emas.  Qavslar  to‘g‘ri  yopilmayotganligini 

nazorat qilish uchun ular qanday tartibda olinayotganligi ni esda saqlash kerak.  

Shunday qilib bizda ochiq va hali yopilmagan qavslar ro‘yhati kerak. Yangi ochilayotgan 

qavsni  ro‘yxat  oxiriga  yozib  qo‘yamiz.  Yopiluvchi  qavs  paydo  bo‘lganida  oxirgi  olingan  qavs 

nechanchi bo‘lganini qarab ko‘ramiz. Agarda bu turli tanadagi qavslar yoki ro‘yxat bo‘sh bo‘lsa, 

u  holda  ifoda  noto‘g‘ri,  aks  holda  ro‘yxatdan  oxirgi  olingan  qavsni  yo‘q qilamiz.  To‘g‘ri  ifoda 

tugagach ro‘yhat bo‘sh bo‘ladi. Ro‘yxatda o‘zgartirishlar misoli quyidagi jadvalda berilgan 



 

O‘qilgan simvollar 

Hali yopilmagan qavslar ro‘yxati 



([ 

([ 


([ ] 

([ ] < 



(< 

([ ] < > 

([ ] < >) 



 

([ ] < >)< 



([]<>)<> 

 

 

Hali  yopilmagan  qavslar  stek(stack)  yoki  magazine  –  yangi  ochilgan  qavs  uning 



yuqorisida  joylashadi,  yopiluvchi  o‘zining  ochiluvchisini  yuqoridan  siljitib  yuboradi,  “begona” 

ochiluvchi  esa  magazinning  yuqorisida  ifodaning  noto‘g‘riligi  haqida  xabar  beradi.  Simvollar 

massivi stack (uning o‘lchamini keyinchalik aniqlashtiramiz) va boshlang‘ich qiymati 0 bo‘lgan 

butun  o‘zgaruvchi  top  yordamida  magazinni  amalga  oshiramiz.  Massiv  –  ro‘yhat  elementlari, 

top- ularning miqdori, stack[top] elementi esa – so‘nggi hali yopilmagan qavsni bildiradi. 

Magazinga ochiluvchi qavsni qo‘shish  

int(yop); stack[top]:=c,

 

dec(top)  qavsni  yo‘q  qilishni  bildiradi.  Agar  top=0,  u  holda  magazin  bo‘sh  bo‘ladi 

(ifodani kata ishlash siklidan oldin top:=0 ni o‘zlashtirish kerak).  

Agar  yangi  simvol  –  yopiluvchi  qavs,  magazine  bo‘sh  yoki  uning  yuqorisida  “begona” 

qavs  bo‘lsa,  joriy  ifodaning  qolganini  quyidagi  skipTest  prosedura  yordamida  o‘tkazib 

yuboramiz: 




Download 13,56 Mb.

Do'stlaringiz bilan baham:
1   ...   53   54   55   56   57   58   59   60   ...   99




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish