1 Aralık 1986 Tarihli Commodore Gazetesi Sayfa 24

1 Aralık 1986 tarihli Commodore Gazetesi Sayfa 24
Metin içeriği (otomatik olarak oluşturulmuştur)

yapacak? Gayet basit: Bir durumuna geçerek RETURN emriyle geri döne- cek ve müjdeyi üst seviyedeki prog- ramlara verecek. Diyelim ki düz yolda giderken yo- lu tıkandı bu sefer ne yapacak? Bu sefer de sıfır durumuna geçerek üzüntülerini üst seviyedeki program- lara bildirecek. Şimdi dördüncü ve en karışık ihti- male geliyoruz; yol çatallaşırsa ne ola- cak? Zaten RECURSION'i gerektiren durum da bu. Programımız N, Y ko- ordinatlarını yığına atacak ve ihtimal- lerden birini seçip o yönde bir nokta ilerleyecek ve o ihtimali değerlendir- mesi için kendi kendini çağıracak. Geri dönüşte X, Y koordinatlarını yığından geri alacak ve çağırdığı prog- ramın gönderdiği durum kodunu kontrol edecek. Şayet durum kodu *bir'se altprogram işi çözmüş demek- tir. Programımız aynı durum koduy- la geri dönecektir. Durum kodu “sıfır” ise alt seviyedeki programın yolu tı- kanmış demektir. Bu durumda yapı- lacak iş girilmiş olan çıkmaz yolun be- lirlenmesine gelir. Arkasından diğer ihtimallerin değerlendirilmesi için alt- programın başındaki 'çevresine bak- ma' işlemine gider. Şimdi geçtiği yola iz bırakma ola- yına geri dönelim. Başta basit görü- nen bu olay detayları dikkate alının- ca hiç de öyle olmadığı görülür. Bı- rakılan iz şu işlere yarayacak. Önce- likle üzerinden geçilen noktaların ha- zırlanması için gerekli. Hedefi bulma işi bittiğinde ise bırakılmış olan izler çözüm yolunu içerir. Fakat çözüm için gerekli olandan fazlası yani çıkmaz yolları da içerir. Bu çıkmaz yolların esas çözüm yolundan ayırdedilebilir özellikte olması gerekir. ÖO yüzdendir ki sıfır koduyla geri dönen altprogramın bıraktığı izler de- ğiştirilmekte (bir bakıma silinmekte). Bu safha da dikkati çeken bir nokta da her seviyede yürüyen programın bı- raktığı iz farklı olursa bir kolaylık sağ- lanacağı. Böylece değişik seviyelerin izleri daha kolay bulunup drüzeltile- bilir. Basit bir mantıksal çıkarım gös- terecektir ki çözüm bulunduğu zaman her seviyeye ait bir tek iz olacaktır; bu da çözüme giden izdir. Bunca tartış- madan sonra akla gelen en basit çö- züm iz bırakma kodunun seviye (ve- ya yığın göstergeci) ile doğru orantılı veya aynı değerde olmasıdır. Herkesin olayı rahatça takip edebil- PROĞRAM ADI : ga raa gağ118 gaiıza 68130 gadıdAa gaısğa Baısa gölF7a gaezga Baziıd gazaa ga230 gdazda ga25a go26a go27a gazsa gazaa gaz3aoa 00318 gazaa dA33a AdA399 sasada Biığdaa gığiğ BLaza 1038 aıagda 16050 gt1öSa Bt1aF7A gıdsa g10398 giılaa gı1111 giılza g1138 gıi1dö RECURSTÜN REMYİ ikokikokakokakolcakcoğe ai oğe oe öi ö l e d öde od ae l oe öle ode ol ll REM * * REM * MAZE SÜLYING * REM * RECURSİVE VERSION * REM £ (0) 2.10.,19386 THURSDAY * REM £ BY AYHAN KALAYLIOGLU * REM * * REMİ ikökokokokokokoökoaltokökokölook akekeoğe el keöke öğe oe ökk ol ökk ö öi GÜSUÜBR 30dâ PRIİINT "<CLR><2DOLN><SESPACELABİRENT COZME" PRIİINT "<AdSPACE -sssszzazazcazazz" PRINT #PRINT FOR AsG TÜ XUYLEİPRIİINT "4"SENEST #:PR INT PRINT "x*S";4FOR As51 TÜ KU-L1:3PRINT * *"FANEKST #PRİNT "4" FOR Yze8 TO YU-LEPRIİINT "4"7 FÖOR Ks1 TÜ Kh PRIİNT "-*"3ENEST #4PRİNT "4" :NEKT PRINT "x*";3FOR #-1 TÜ KU-L:PRIİINT "* "FŞENEKT #PRİNT "Ex" FOR A-s8 TO XW*LEPRİNT "*"FENEKT iPR INT PRINT :PRIİNT PRINT "RUN i1a8ga“ END END AŞ 10 YUŞ 1G0:RETURN GOSUB 930d DIM DARACAI,DYCAILARKLII , YU L I, C AKLİA İ1,YU41,2),5XC100),5YLGA) FÖR Izi TÜ 4diREAD OKC1),DYCIENEKT DATA -1,â6,A,1,1,80,A,-1 FOR Yz8 TO YUY*L:FOR X-00 TO KUH L:AL A, YOZ2SAICIK,Y,LIERABICİK,Y,S)SA2NE KT NEKT FÖR Yzi TÜ YU:FOR Kz1 TÜ KLİ:CD-PEEK CZ0 A4AKCYLUI—YIA*R) IF CDsSi139 THEN ALK,YOSaS5S3ıllK,Y,L1)-8 SiCK,Y,2)-8315s-1:X5eKRıYS-Y IF CDs3 THEN ALK,YIS25BıliR,Y,1)-693 #ÜÖCA,Y,2)-S93L:E-İ IF CDs32 THEN ACK,YOSESSICİK,Y,L1)-3 BiCİK,;Y;2)s32 IF ACK,YIsa54 Y;2)-543 NEXT :NEKT SP-1:hM5-5PrP IF 5-0 ÜR E-zG THEN PRİNT D TIF-z"d0dOdA"ıKaKNSIYEAYS GOSUÜUB 180f0 THEN ÜCA,Y,L)543:0lK, "HATAL":EN <154> <159> <da2> <245> <A58> <i79> <2a3> <a24> <208> <225> <iAF7> <ld1s2> <A26> <i1dü> <G18> <213> <148> <iaz2> <088> <a08> <aa2a> <B227> <â51i> <1Ga2> <246> <180> <1d2> <107> <ezi> <isa> <168> <113> <d047> MA <87 > <057> <A084> <129> <idd4>

Bu sayıdan diğer sayfalar: