Güncelleme: 8 Ekim 2019
Tekrar edilen işlemler için döngüler kullanılır.Böylece bilgisayarın sürekli yapacağı işlemler için aynı komutları bir daha yazmak zorunda kalmayız.
GOTO döngüsü
En basit döngü GOTO ile yapılan döngüdür.basla:
A = A + 1
PRINT A
GOTO basla
Yukarıdaki program bir sonsuz döngü oluşturur.Döngüyü kırmak(durdurmak) için CTRL + PAUSE tuşlarına basınız.
Böyle yaptığınızda kod ekranı gelir ve hangi satırda kırıldığı satırın yazısı beyaz renkli gösterilerek belirtilir.
F5 ile ya da menüden Run/Continue ile çalışmaya kaldığı yerden devam ettirilir.
Çalışmaya baştan başlatmak için menüden Run/Restart
Aşağıdaki şekilde değişiklik yaparsak döngüyü kontrol altına almış oluruz.
basla:
A = A + 1
IF A>20 THEN END
PRINT A
GOTO basla
PROBLEM 1 : 1 den 30 a kadar olan çift sayıların karelerini ekrana yazan bir program yazınız.FOR ... NEXT döngüsü
Belirli sayılarda işlemlerin tekrar etmesi için kullanılır.FOR N = 1 TO 25
PRINT N
NEXT N
1 den 25 e kadar olan sayıları yazacaktır. Her döngüde N değişkeninin değeri 1 artacaktır.Eğer ilk satırı
FOR N = 1 TO 25 STEP 4
olarak yazacak olursak.N nin ilk değeri 1 olacak sonra her seferinde üzerine 4 eklenerek devam edecektir.
FOR N = 25 TO 1 STEP -1
yazılacak olursa 25 den 1 e doğru N nin değeri her seferinde 1 azaltılır.NEXT in arkasına değişkeni yazmak şart değildir ama okunurluğu kolaylaştırmak için yazmakta fayda vardır.
FOR ları içi içe koyarak da kullanılabilir.
İçerdeki FOR un NEXT i dışarıdakinin NEXT inden sonra gelmemesine dikkat etmelisiniz.
FOR N = 1 TO 10
FOR M = 1 TO 4
PRINT N * M ,
NEXT M
PRINT
NEXT N
FOR döngüsünden çıkma gereği olursa EXIT FOR ile çıkılabilir.PROBLEM 2 : Problem 1 i FOR..NEXT döngüsüyle yapın
DO ... LOOP döngüsü
DO
PRINT A
A = A +1
LOOP
Bu da sonsuz döngü oluşturacaktır. Döngüyü kırmak, kontrol altına almak için çeşitli yollar varEXIT DO ile döngüden çıkmak:
DO
IF A > 40 THEN EXIT DO 'A 40 dan büyük olduğunda döngüden çık
PRINT A
A = A +1
LOOP
WHILE kullanarak döngüyü kontrol altına almak:
1 . program
CLS
DO WHILE A < 40 ' A, 40 dan küçük İKEN(while) döngüye devam
PRINT A
A = A + 1
LOOP
2 . program
CLS
DO
PRINT A
A = A + 1
LOOP WHILE A < 40 ' A, 40 dan küçük İKEN(while) döngüye devam
Yukarıdaki iki programı denediğinizde hiçbir fark göremeyeceksiniz.Şimdi ilk satırlarına A = 45 komutunu ekleyip deneyin ve farkı anlamaya çalışın.
Eğer WHILE ı LOOP un yanına koyarsak döngüde şart aranmaksızın en az 1 kere döner.
DO nun yanına konulursa döngü başlamadan şart kontrol edilir, şart uygun değilse döngü gerçekleşmez.
UNTIL kullanarak döngüyü kontrol altına almak:
CLS
DO UNTIL A > 40 ' şart DOĞRU olanA KADAR dön. A , 40 dan büyük olana kadar devam
PRINT A
A = A +1
LOOP
WHILE için verdiğim açıklamalar bunda da geçerli.UNTIL i DO nun yanına ya da LOOP un yanına koyabiliriz.
Kısaca WHILE, şartın DOĞRU olmasında; UNTIL, şartın YANLIŞ olmasında döngüye devam eder.
PROBLEM 3: Problem 1 i DO..LOOP döngüsüyle yapın
WHILE ... WEND döngüsü
CLS
WHILE A < 40 ' A , dan küçük İKEN devam
A = A + 2
PRINT A
WEND
WHILE...WEND, DO...LOOP un bir alternatifidir. Ama DO LOOP kadar kullanışlı değildir. Çünkü DO LOOP da karşılaştırma şartını başta veya sonda verebiliyoruz.PROBLEM 4: Problem 1 i WHILE..WEND döngüsüyle yapın
Örnek:
' Kabarcık sıralama
CONST FALSE = 0, TRUE = NOT FALSE
DIM A$(4)
A$(1) = "Niğde"
A$(2) = "Bursa"
A$(3) = "Adana"
A$(4) = "Sivas"
Max = UBOUND(A$)
Degisme = TRUE
WHILE Degisme
Degisme = FALSE
FOR I = 2 TO Max
IF A$(I - 1) > A$(I) THEN
Degisme = TRUE
SWAP A$(I - 1), A$(I)
END IF
NEXT
WEND
CLS
FOR I = 1 TO 4
PRINT A$(I)
NEXT I
END
Sonraki Bölüm:QuickBasic Kursu: Bölüm 6: Diziler
Hiç yorum yok:
Yorum Gönder