Delphi tilida



Yüklə 3,41 Mb.
səhifə79/133
tarix07.01.2024
ölçüsü3,41 Mb.
#210126
1   ...   75   76   77   78   79   80   81   82   ...   133
sodapdf-converted (1)

end; 
end; 
Procedure b(i: integer; canvas: TCanvas); 
begin 
if i > 0 then begin 

175 

c(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X-u,canvas.PenPos.Y); 
b(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y-u); 
b(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X+u, canvas.PenPos.Y); 
d(i-l, canvas); 
end; 
end; 
Procedure c(i: integer; canvas: TCanvas); 
begin 
if i > 0 then begin 
b(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y-u); 
c(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X-u,canvas.PenPos.Y); 
c(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y+u); 
a(i-l, canvas); 
end; 
end; 
Procedure d(i: integer; canvas: TCanvas); 
begin 
if i > 0 then begin 
a(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y+u); 
d(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X+u,canvas.PenPos. Y) ; 
d(i-l, canvas); 
canvas.LineTo(canvas.PenPos.X,canvas.PenPos.Y-u); 
b(i-l, canvas); 
end; 
end; 
Procedure TForml.ButtonlClick(Sender: TObject); 
begin 
buttonl.Visible:=false; 
Forml.Canvas.MoveTo(p, u) ; 
a(5,Form1.Canvas); 
end; 
end. 

176 

6.4. Graflarga rekursiyani qoMlash 
Yo‘l i l izlash 

Rekursiya qollashga yana bir misol ikki shahar orasiga yo‘l topish 
masalasidir. 
Yollar xaritasi graf sifatida tasvirlanishi mumkin. 

Yo‘l izlashjarayoni qadamlar ketma-ketligidan iborat boladi. Har 


bir shahardan borish mumkin bolgan shahar tanlanadi. Agar bu shahar 
berilgan so‘nggi shahar bo‘lsa jarayon tugaydi. Bu shahardan yana 
yangi shaharga o‘tiladi. Agar o‘tish mumkin bolgan shahar mavjud 
bolmasa. bir qadam orqaga qaytiladi. 
Izlash algoritmi rekursiv xarakterga ega. 
Graf ikki olchovli massiv ko‘rinishida beriladi. Bu massivni map 
(xarita) deb ataymiz. Massiv map[i, j] elementi qiymati —bu i va j 
shaharlari orasidagi masofaga teng. Agar bu shaharlarni boglovchi 
to‘g‘ri yo‘l mavjud bolmasa nolga tengdir. 
Keltirilgan graf uchun map massivini quyidagi jadval ko‘rinishida 
tasvirlash mumkin: 

177 


Yüklə 3,41 Mb.

Dostları ilə paylaş:
1   ...   75   76   77   78   79   80   81   82   ...   133




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2025
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin