Bu sayfadaki yazılar
Sayfanın metni
Sayfa 20
PROG RAM ADI
00010 00020
REM INPUT
00080
40 FOR TO N 00050 INPUT ELEMAN(J) 00060 NEXT 00100 : 00110 RE 00120 : 00130 00135: 00140 00150 00160 00170 00180 00190 00200 BAYRAK-İI “00210 NEXT J 00220 1F BAYRAK-I THEN : : 00300 REM ------CIKIS 00305 “©0310 FOR TON 00320 PRİNT — 00830 NEXT. 00340 END.
00040
TARAMA TO N-1
GECİCİSELEMAN(J)
"KAÇ ELEMAN”
DIM
N<2 THEN 20
DIKKAT ELEMAN-EL
IP ELEMAN CJ) << ELEMANCJ*1) THEN 210
141)
120
down” (yukarıdan aşağıya), “gotoless”” (goto'suz) programlama. Bu üç terimin tanımında bazı farklar vardır ama hepsi size aynı şeyi yaptırmayı amaçlar: Projenizi planlayın, modüllerinizi hazırlayın ve programınızı ufacık bir köşeye sıkıştırılmış bir kod parçasında kaybetmeyin. Burada dikkatinizi çekmem gereken nokta, hepimizin başlangıçta spagettiler programladığı ve zamanla düzenli ve zarif programlar yapmayı öğrendiğidir. Mesela AMIGA BASIC'de program yaptığım zaman ilk olarak label'ları kullanırım, program bittikten sonra çalışmasını bozmadan label'ları yok etmeye çalışırım (procedure'ları gösteren label'lar dışında). Bu sayede yapılanmışa daha yakın kodlar elde edebiliyorum.
tekrar: BU
İŞLEM DÖNGÜ KARAR
Şekil 1: Yapılandırılmış akış şemalarında kullanılan üç eleman
GİRİŞ
ÇIKIŞ
Şekil 2: Bir işlem basamağının sadece bir girişi (tepeden) bir de çıkışı (en alttan) bulunur.
Yapılanmış Akış Diyagramları
Düzenli programlar yapmanın ilk basamağı, programınızı planlamaktan ve akış şemaları yapmaktan geçer. Ama standart akış şemaları hem çok fazla yer kaplar, hem de garip görünüşleriyle çok itici gelirler bana. Fakat yapılandırılmış programlar için kullanılabilecek akış şemaları olan Nassi-Shneiderman diyagramları, birçok alanda geleneksel akış şemalarından üstündürler. Biz de bu diyagramı kullanarak basit bir program tasarlayacak, daha sonra da bu programı AMIGA BASIC'de yazacağız. Yazacağımız program hemen her programcı tarafından bilinen bubble-sort (kabarcık sıralama) olacak. Tabii ki bu sıralama metodu şimdiye kadar yapılmış en etkin sıralama metodu değildir ama hem anlatması oldukça kolay, hem de program mantığını kolaylıkla izleyebilirsiniz.
İşlem, Döngü ve Karar
Bu üç eleman ve nasıl çizileceklerini Şekil 1'de görebilirsiniz. Bunlar, yapılandırılmış programlamanın üç temel parçasıdır. Sadece bu üç elemanı kullanarak herhangi bir şeyi programlamanız mümkündür. Şekil 2'de bir işlem basamağını görüyorsunuz. Bir işlem basamağının yalnızca bir giriş (INPUT) ve bir çıkış (OUTPUT) noktası bulunur. Giriş dikdörtgenin en tepesinde, çıkış da en altında yer alır. Bir işlem basamağı tüm program olabileceği gibi programın küçücük bir parçası bile olabilir. Şekil 3'de bir döngü basamağı görüyorsunuz. L şeklindeki basamağın iç tarafındaki bölgede bulunan işlemler L'nin dışında tanımlanan koşullara göre işlenirler. Dikkat etmeniz gereken bir nokta koşulun başta veya sonda tanımlanmış olmasıdır, buna göre döngü basamağının şekli değişebilir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 21
BEŞ KERE İŞLET
Şekil 3: Döngü içindeki işlem gösterildiği gibi tekrarlanır. Tekrarlama kararı işlemin başında ya da sonunda verilebilir.
tz0?
Şekil 4: Bir karar basamağı kodu değişik parçalara böler. Soldaki şemada ya sağ ya da sol işlem basamağına sıçranır. Sağdaki şemada ise X$'ın değerine göre gerekli işlem basamağına sıçranır.
Şekil 4'te ise karar basamağını görüyorsunuz. Basit bir Evet/Hayır kararı iki işlemden birinin yürütülmesini sağlayacaktır. Çoklu bir seçim her biri bir işlem basamağına açılan birçok yolun birine açılabilir. İsterseniz bu işlem basamaklarından herhangi birini boş bırakarak, “bu işlem seçilirse hiçbir şey yapma!” diyebilirsiniz.
Kabarcık Sıralama
Bu sıralama sistemi bilgisayar uzmanlarınca pek tutulmaz ama anlatması ve akış şeması çıkartması oldukça kolaydır. Bu sıralama metodunun hızını ve esnekliğini artıracak yollar var ama burada temel rutine bağlı kalacağız. Projeye başlamak için atılacak ilk adım şekil 5'de görülen gibi bir
GİRİŞ
SIRALAMA
PROGRAMI SIRALAMA
ÇIKIŞ dikdörtgen çizmektir. Bu dikdörtgen tüm programı temsil eder. Daha sonra programı üç ayrı parçaya böleriz: Girdi, sıralama, çıkış. Şu anda, programın ana tasarımı bitmiş durumda, Diyagramımız diyor
Şekil 5: Bütün sıralama programı bir işlem basamağıdır ve tek bir dikdörtgen olarak çizilebilir. Daha sonra bu programı ardışık işlem basamaklarına ayırabiliriz: giriş, sıralama, çıkış. Her işlem basamağı bir önceki tamamlandıktan sonra başlar.
ki, program başladığında girdiler alacak, tüm girdiler verildikten sonra bu girdileri sıralayacak ve sıralama işlemi bitince sıralanmış değerleri çıktı olarak verecek. Programı başka şekillerde de tasarlayabilirdik. Mesela bilgi girişi yapılırken sıralama da yapabilirdik. En iyisi girdi ve çıktı bölümlerini bırakalım ve sıralama işlemine 21 detaylı olarak bakalım. Bu tür akış diyagramlarının en iyi yanı, gittikçe kompleksleşen şemalarla uğraşmak zorunda olmayışımız. Yani sıralama işlemi yapan işlem basamağını ayrı bir blok olarak tasarlamanız mümkündür bu sistemde (Şekil 6'ya bakın). Kabarcık sıralama şu şekilde mantık yürütür: Program elemanları tarar. Eğer ardışık iki eleman
“doğru sırada değilse, bu elemanların yerini değiştirir. Her taramanın sonunda ise şöyle der: “Bu tarama sırasında elemanların yerini değiştirdim mi? Eğer değiştirdiysem, bir