Commodore sayı 41, sayfa 60
Sayfanın metni

Sayfa 60

Programın başı/sonu

Veri işleme (operation)

Program dallanması (tercih)

Akış yönü

Akış diyagramlarının yapılmasında kullanılan önemli semboller

Bu komut tür, birbirini katı bir şekilde takip eden komutları yerine getiren bilgisayar programlarıyla gerçekleştirilemez. Bu nedenle programlarda dallanma (... eğer, öyleyse ...) ve tekrarlanan faaliyetler (... olana kadar) olanağı vardır. Her iki komut türü (dallanma ve tekrar) için de önemli olan, BASIC'te GOTO komutuyla gerçekleştirilen program atlamalarıdır. Bu konuya ilişkin olarak bir örnek program görelim:

START PRINT “MERHABA” GOTO START PRINT “SON”

Bu programı başlattığınızda ekranda “MERHABA” sözcüklerinden oluşan sonsuz satırlar zinciri görünecektir. Programın başlaması bir öncekinin aynısıdır. Birinci satır herhangi bir etki yaratmaz. Bu satır yalnızca programın içinde önemli bir yeri belirten bir program işaretidir (İngilizce'de Label). İkinci satır ekrana “MERHABA” ifadesini yazar. Ardından GOTO'nun anlamı “git”'tir. Bu komutun görevi, daha önce gördüğümüz alışılmış mekanizmanın, yani bir komutun ardından mutlaka bir sonrakinin yerine getirilmesinin, kesintiye uğratılmasıdır. GOTO START'tan sonra hemen ardından gelen PRINT “SON” değil, ilk “START”ı takip eden komut yerine getiriliyor. Yani pratikte program baştan başlamış oluyor. Programın son komutu olan PRINT “SON” bir türlü yerine getirilemiyor, çünkü program daha önce START'a geri dönüyor. Bu programın normal bir sonu yoktur. Bu tür programlara sonsuz döngü adı verilir. Bu programı AMIGA BASIC'le girmişseniz, RUN menüsündeki STOP komutunu kullanmanız gerekecektir. Geriye doğru atlayış içeren programların sonsuz döngü oluşturma eğilimleri oldukça yüksektir.

Programcı durum tercihi yardımıyla bir sonsuz döngünün normal düzenli bir döngüye dönüşmesini sağlayabilir. Düzgün bir döngünün en basit biçimi, belirli sabit bir sayıda dönüşü gerçekleştiren ve ardından sona eren sayı döngüsüdür. Bunu sağlamak için örnek programımızda küçük bir değişiklik yapmak yeterli:

SAYAC- O START PRINT “MERHABA”

SAYAC- SAYAC*41I IF SAYAC 10 THEN GOTO START PRINT “SON”

Bu program, ekranda yalnızca on kez “MERHABA” yazacak ve SON ifadesiyle sona erecektir. Eskisindekine göre farklı davranmasının nedeni, sondan bir evvelki satırda bulunan durum tercihidir (koşul). Bu satırın sonundaki atlama komutu yalnızca eğer (İngilizcesi: IF) SAYAC değişkenindeki değer 10'dan küçükse yerine getirilecektir. Bu değişken programın başında sıfırlanır. Bilgisayar dördüncü satırda değişkenin değerini 1 artırır. Yani program akışı içinde IF komutuna ilk kez erişildiğinde değişkenin değeri 1'dir. Bu değer 10'dan küçüktür ve bu nedenle başlangıca geri atlama gerçekleşir. IF komutuna ikinci kez erişildiğinde, SAYAC'ın değeri 2'dir. Bu da 10'dan küçük olduğundan, yine başa dönülür. Bu oyun, SAYAC'ın 10 değerini almasına kadar devam eder. Bu durumda IF komutuna erişildiğinde, “SAYAC 10” koşulu artık yerine getirilmemekte olduğundan, GOTO komutu göz ardı edilmektedir. Şimdi program bir sonraki (yani son) komutu yerine getirecek ve sona erecektir.

Akış Diyagramları

Size örnek programımızın işlevini dökümü yardımıyla kolayca açıkladık. Daha büyük programları açıklamak ise pek bu kadar kolay olmayabilir. Program akış diyagramı (şeması) adı verilen bir tür grafik çizim, programlara genel bakışı kolaylaştırabilir. Profesyonel programcılar, kapsamlı ya da karmaşık projelerde öncelikle bir akış planı yapar ve bunu istenen bilgisayar diline daha sonra uygularlar. Akış diyagramları dilinden bağımsızdır.

Bu yolla problemin çözümüne yönelik mantık akışı, program tekniğine ilişkin gerçekleştirme sorunlarına dalınmadan bulunabilir.

IF komutu yardımıyla bir program döngüsü oluşturduk. Bu komut başka amaçlar için de kullanılır. Önceleri programcılar döngüleri oluşturabilmek için, IF komutunu daima bir atlama komutuyla birlikte kullanmak zorundaydılar. Modern programlama dillerinin çoğunda döngü oluşturmak için daha şık bir çözüm var artık: WHILE komutu.

Klavyeyle gezinmek için ← ve → tuşları.