FOR - NEXT KOMUTU

FOR bir döngü komutudur. IF THEN GOTO deyimleri ile yapılan da bir döngü olayıydı. Ancak FOR komutu ile yapılan döngü olayı biraz daha farklı.

Döngü istenilen koşul ve şartlar gerçekleşinceye kadar yapılması istenilen işlemlerin yapılması ve koşul gerçekleştiğinde diğer program satırlarına geçilmesidir.

Bu komutun kullanılışı;

FOR

İŞLEM

NEXT

Şeklinde olur. Yani döngü FOR komutu ile başlar NEXT ile biter. Aradaki işlem bölümüne de şartlar ve koşullar tamamlanıncaya kadar yapılacak işlemler yazılır. Bunu daha iyi anlayabilmek için basit bir program yapalım. Diyelim ki; Ekrana alt alta 15 kere Orhan yazdıralım. Bunu gayet tabi 15 satırda PRINT "Orhan" komutunu kullanarak yazdırabiliriz. Fakat bu işlem için FOR komutunu kullanırsak hem FOR komutunu hem de bu komutun kullanım amacını öğrenmiş oluruz. Bu işlem için şu program satırlarını kullanıyoruz;

10 FOR I=1 TO 15

20 PRINT "Orhan"

30 NEXT

40 END

Burada döngü kısmı FOR 'dan başlar NEXT 'de biter. Yani program çalıştığında bilgisayar FOR komutunun önündeki I değişkeninin aldığı değere bakar. (Değişken isminin I olması şart değildir. Herhangi bir isimde olabilir. Ancak Sayısal değişken olmalıdır, yani sonu $ ile bitmemelidir.) Burada biz bu değişkene 1 'den 15 kadar değer atamışız. Aradaki TO deyiminin anlamı malum, İngilizcedeki e, a, ye, ya anlamlarını taşıyor. Demek ki FOR komutunun önündeki değişkenin aldığı değere göre döngünün kaç kez tekrarlanacağını saptıyoruz. O halde burada FOR I=1 TO 15 komutu ile Bilgisayara; Çevrime (Döngüye) Gir, Bu çevrime 1 den başla 15 kez tekrarlanıncaya kadar devam et diyoruz. Böylece Bilgisayar FOR komutunun altındaki satırdan başlayarak NEXT komutunu görünceye kadar olan işlemleri I değişkeninde belirtilen değer kadar, yani 15 kez tekrarlayacaktır. Daha açık bir ifade ile FOR ile NEXT komutu arasında olan PRINT "Orhan" komut satırı gereği ekrana Orhan yazdıktan sonra NEXT satırını görünce bu 1 diyip tekrar FOR komut satırına dönecek tekrar bir alt satıra geçip ekrana Orhan yazacak, tekrar NEXT komutunu görünce daha evvelce bu 1 demişti ya, bu defaki 1 'i evvelki bir 'in üstüne ilave edecek ve bu 2 oldu diyecek, böylece her NEXT satırına gelişinde üstüne bir ilave edecek. Ne zamana kadar; Ta ki NEXT satırına gelip de bu 15 diyip FOR komutuna geri döndüğü zaman oradaki FOR I=1 TO 15 komut satırının sonundaki 15 'i görünce "ha bu 15 son muş" diyip daha hiçbir işlem yapmadan, aksine bir komut satırı yoksa NEXT komut satırının bir altındaki satırdan işleme devam edecek. Çünkü FOR - NEXT döngüsü içerisindeki gerekli işlemler yapılarak (Ekrana 15 kez Orhan yazdırılarak) FOR komut satırında belirtilen şart ve koşullar sağlanmıştır.

Şimdi de bu komuta yeni bir koşul ekleyelim: STEP

FOR komutunun sonuna ekleyeceğimiz STEP komutu, Komut satırında belirlenen işlem sayısının sayım sırasını farklılaştırır.

ÖRNEK;

FOR A=1 TO 10 STEP 2

Şeklindeki bir satırda STEP 2 koşulu kullanılmamış olsaydı NEXT 'e kadar olan işlemler 1 den başlayarak 10 kez tekrar edilecekti. Ancak burada Bilgisayar ilk işlemi yapıp bu 1 dedikten sonra FOR 'a dönüp sonundaki STEP 2 koşulunu görünce 2 adım atlıyor yani 1+2 diyor ve 3'den devam ediyor. Bir başka deyişle STEP 2 koşulu Bilgisayara "Evet 1 'den başla 10'a kadar tekrar et, ama 2'şer sayarak tekrar et" diyor. Demek ki Bilgisayar 1, 3, 5, 7 ve 9. kerelerde işlem yapacak diğer dönüşlerinde işlem yapmayacak. Bunu şöyle uygulayalım;

10 FOR A=1 TO 10 STEP 2

20 PRINT A

30 NEXT

40 END

Ekrana yazılacak olan sonuç şudur;

1

3

5

7

9

Burada PRINT A satırında FOR komutundaki A değerinin aldığı değerler yazdırılıyor. Eğer STEP 2 satırı olmasaydı Ekrana sırayla alt alta 1 2 3 4 5 6 7 8 9 ve 10 sayıları yazılacaktı. Eğer burada STEP 2 yerine STEP 4 yazılsaydı ekranda 1, 5 ve 9 sayıları yazılacaktı.

 

Ayrıca iç içe döngü komutları da kullanabiliriz. Örnekle gösterelim:

 

10 CLS

20 FOR C=1 TO 3

30 PRINT "ORHAN"

40 FOR D=1 TO 2

50 PRINT "AYGÜN"

60 NEXT D

70 NEXT C

80 END

Burada Bilgisayar önce FOR C satırındaki koşul gereği 3 kere tekrarlanacak bir döngüye girer. Bu döngü gereği önce ekrana Orhan yazar. Sonra FOR D döngüsündeki ikinci döngü gereği ekrana iki kez Aygün yazar. Bu işlemleri 3 kez tekrarlar ve ekranda şöyle bir görüntü oluşur.

ORHAN
AYGÜN
AYGÜN
ORHAN
AYGÜN
AYGÜN
ORHAN
AYGÜN
AYGÜN

Burada dikkat edilecek konular şunlardır. Hiçbir zaman döngüler birbirini kesmezler. Bir döngünün içindeki diğer döngü asıl döngü bitmeden bitmelidir. Dikkat ederseniz, FOR komutuna ait değişken ismi NEXT komutunun sonuna da eklenmiştir. Bu değişken ismi NEXT satırının hangi FOR komut satırının sonunu belirttiğini gösterir.

Bu şekildeki FOR - NEXT kullanımına NESTING LOOP (İçiçe döngü) diyoruz.

 

  

12.Sayfa 14.Sayfa

 


GWBASIC MENU



Eğer bu sayfaya bir arama motorundan veya her hangi bir şekilde direk geldiyseniz ve Ana sayfayı göremiyorsanız, Ana sayfaya ulaşmak için;

T I K L A Y I N