Mirsaid Aripov, Nurillo Otaxanov



Download 9,81 Mb.
bet141/209
Sana16.01.2022
Hajmi9,81 Mb.
#371485
1   ...   137   138   139   140   141   142   143   144   ...   209
Bog'liq
DELPHI dasturlash titli 2018

14.4. Yo`l qidirish masalasi


Bir-biri bilan bir nechta yo`llar orqali bog’langan bir nechta shaharlar berilgan bo`lsin. Ayrim yo`llarning boshi berk bo`lishi ham mumkin. Bir shahardan ikkinchisiga olib boruvchi barcha marshrutlarni topish masalasi qo`yilgan bo`lsin.

Mavjud bo`lgan barcha yo`llarning haritasi graf (shaharlarni angla-tuvchi uchlar va yo`llarni bildiruvchi qirralarning to`plami) yordamida berilgan bo`lsin. (13.9-rasm)



13.9-rasm. Graf ko`rinishidagi yo`llar xaritasi

Qidirish jarayonini qadamlar ketma-ketligi sifatida ifodalash mumkin. Har bir qadamda joriy nuqtadan turib, biror shart ostida o`tish mumkin bo`lgan ikkinchi nuqta tanlanadi. Agar navbatdagi nuqta izlangan nuqta bilan ustma-ust tushsa, u holda masala yechildi. Aks holda yana bir qadam qo`yish kerak. Joriy nuqtani boshqa bir nechta nuqtalar bilan birlashtirish imkoniyati bo`lgani uchun tanlash biror shart asosida bajariladi. eng sodda holda eng kichik nomerli nuqtani olish mumkin.

Faraz qilaylik, 1-nuqtadan 5-chiga o`tish talab qilingan bo`lsin. Shartga ko`ra, dastlab 2-nuqtani tanlanadi keyingi qadamda uning boshi berk ekanligi ayon bo`ladi. Mumkin bo`lgan yo`llardan biri 1→3→4→6→5. Shundan keyin 6-ga qaytib, 5-dan farqli yana boshqa yo`l mavjudligini tekshiriladi va h.k. Qidirish masalasi xarakat boshlangan joydan boshqa boradigan birorta ham yo`l qolmaganidan so`ng tugatiladi.

Qidirish algoritmi rekursiv xarakterga ega: yangi qadam uchun nuqta tanlanadi. Bu jarayon to maqsadga erishmaguncha, davom etaveradi.

Mumkin bo`lgan barcha yo`llarni qidirish masalasi yangi nuqtani (shaharni) tanlash va yo`lning qolgan qismidan mumkin bo`lgan barcha yo`llarni qidirish masalasiga aylandi. Bu yerda rekursiya ko`rinib turibdi.

Grafni ikki o`lchovli map massivi deb qaraylik: map[i, j] - bu i va j shaharlar o`rtasidagi masofa. Agar ular orasida yo`l bo`lmasa, bu masofa 0, aks holda 1 ga teng. Yuqoridagi graf uchun map massivi quyidagicha yoziladi (13.10-rasm)

12.10-rasm. Map massivi

Massivdan tashqari bizga yana road (yo`l) va incl (include – kiritilsin) massivlari ham kerak bo`ladi. Road massiviga o`tilgan shaharlar yozib boriladi. Oxirgi nuqtaga borganda, bu massivga barcha o`tilgan nuqta-shaharlar, ya`ni marshrutlar yozib qo`yiladi. Incl[i] massiviga esa i-nomerli nuqta marshrutga kirgan bo`lsa – true yoziladi. Bu bir marta borilgan nuqtaga yana qayta bormaslik uchun kerak.

Rekursiv protseduradan foydalanilgani uchun, rekursiv jarayonning tugashiga alohida e`tibor qaratish lozim. Protsedura joriy nuqta mo`ljaldagi nuqta bilan ustma-ust tushguncha o`zini o`zi chaqiraveradi. 13.11-rasmda navbatdagi nuqtani tanlash protsedurasining blok-sxemasi, 13.12-rasmda esa dialog oynasi keltirilgan.

Grafni o`z ichiga olgan massivni kiritish uchun StringGrid1 komponentasidan (13.1-jadval) foydalaniladi, natijani (topilgan marshrutni) chiqarish uchun - Label1 maydoni kiritilgan. Boshlang’ich va oxirgi nuqtalar Edit1 va Edit2 maydonlariga kiritiladi. Qidirish jarayoni Qidirilsin (Button1) tugmasi bilan boshlanadi.

13.11-rasm. Marshrut qadamini tanlash protsedurasining blok-sxemasi


13.12-rasm. Marshrut qidirish dasturining dialog oynasi



StringGrid1 komponentasining hususiyat qiymatlari 13.1-jadval.


Download 9,81 Mb.

Do'stlaringiz bilan baham:
1   ...   137   138   139   140   141   142   143   144   ...   209




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