Commodore sayı 17, sayfa 57

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 57

BURAK KİPER

Geçen bölümde döngülere başlamış ve FOR...DO döngü çeşidini incelemiştik. Bu döngü, eğer tekrarın ne kadar yapılacağını biliyorsak kullanışlı olabilir. Tekrarın sayısını her zaman bilemeyiz ama hangi durumda tekrarın biteceğini bilebiliriz. Başka bir deyişle, döngümüzün belirli bir durumunun doğru olduğu sürece devam etmesini isteyebiliriz. Belirli durumumuz yanlış olduğunda ise döngü sona erer. Belirli durum ne olabilir? Mesela kullanıcıdan alınan cevap “evet” olduğu sürece döngüye devam eder, cevap “hayır” olarak verildiğinde döngüyü sona erdirerek bir sonraki komut gruplarına geçebiliriz. Döngü çeşitlerinden WHILE komutu döngüyü bu şekilde kontrol etmemizi sağlar. WHILE komutunun genel şekli şöyledir:

Boolean İfadesi DO Komut

Bilgisayar ilk önce Boolean İfadesi'ne bakar, eğer bu ifadenin değeri doğru (TRUE) ise DO'dan sonra gelen komutu işler. Döngü Boolean İfadesi'nin değeri TRUE olduğu sürece devam eder. Boolean İfadesi'nin değeri yanlış (FALSE) olduğu andan itibaren döngü sona erer ve kontrol bir alta geçer. Bu arada Boolean'ın sadece iki durumu olduğunu belirtelim: TRUE veya FALSE. Mesela DEVAM değişkenini VAR bildiriminde Boolean veri tipi olarak bildirdiyseniz, bu değişkeninize ya DEVAM:= TRUE veya DEVAM:= FALSE; şeklinde bir değer verebilirsiniz. Programınızda WHILE DEVAM DO I:=I+1; şeklinde bir komut kullandığınızda DEVAM değişkeninizin değeri TRUE olduğu sürece I değişkenimizin içeriği bir artar. FOR döngüsünde olduğu gibi, tekrarlanan tek bir komut olabileceği gibi, BEGIN...END bloğu içinde çoklu komutlar da olabilir. Şimdi WHILE...DO komutu ile ilgili olarak anlattıklarımızı birkaç örnekle inceleyelim. Örneklerimiz bir programın belirli bir bölümünü oluşturmakta. Örneklerde kullanılan değişkenlerin daha evvelden bildirildiğini kabul edeceğiz.

0)

WHİLE 1: < -20 DO 5;

Örneğimizde I:=I+5 komutu devamlı tekrarlanmakta ve bu komutun her tekrarlanışında I değişkeninin değeri 5 artmaktadır. Böylece I değişkeni sırayla 5, 10, 15, 20 ve 25 değerlerini alır. Komutun her tekrarlanışından evvel I değişkeninin değerinin 20'den küçük olup olmadığı kontrol ediliyor. I<20 ifadesi bizim Boolean İfademizi oluşturur ve bu ifadenin aldığı değere göre döngünün devam edip etmeyeceği belirlenir. I değişkeninin değeri 0, 5, 10, 15 veya 20 iken ifadenin değeri TRUE olacağı için döngü yapılır, fakat I değişkeninin değeri 25 olduğunda ifade FALSE değeri ile sonuçlanacağından kontrol bir sonraki komuta atlar. Yukarıdaki örnekte tek bir komutun döngü içinde kullanılmasına örnek verdik. Şimdi de döngü içinde bir komut grubunun kullanılışına örnek verelim:

ıt -0; WHİLE 1: < -20 DO BEGIN WRITE6:4); END;

Dikkat ettiyseniz WHILE...DO'dan sonra döngüde yer almasını istediğimiz komutları BEGIN...END bloğu içine aldık. Yazımızın ilk başlarında bir PASCAL programının BEGIN ile başlayıp END ile bittiğini söylemiştik. Bundan başka programımızın herhangi bir yerinde üstteki örnekte de olduğu gibi belirli bazı komutların tek bir komut gibi işlem görmesini istersek BEGIN...END bloğu içine alırız. Programımızı çalıştırdığımızda şöyle bir çıktı alacağız:

05101520

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