Hackrogroups

Döngüler

09.05.2010 14:05

 

Döngüler programın akışı sırasında tekrarlanması gereken işlemler için kullanılır. Tekrarlama işlemi için bir koşul seçilir ve bu koşul sağlanıncaya kadar tekrarlama işlemi sürer. İç içe birden fazla döngü komutu kullanılabilir.

A) FOR - DO:

PLAIN TEXTPASCAL:
1.FOR koşul:=başlangıç değeri TO/DOWNTO bitiş değeri DO
2.Begin
3.komutlar
4.End;
FOR döngüsünde koşul, başlangıç değeri ve bitiş değeri değişken olabileceği gibi sabit de olabilir. Eğer döngü azalarak işlem yapacaksa DOWNTO, artarak işlem yapacaksa TO ifadesi kullanılmalıdır. Ayrıca, döngü başa döndükçe koşul ifadesi birer birer arttırılacak/azaltılacaktır.

Döngü içinde birden fazla komut kullanılacaksa komutlar Begin – End bloğu içine yazılır. DO ifadesinden sonra noktalı virgül kullanılmaz. Eğer noktalı virgül kullanırsanız derleyiciniz bir hata vermez ancak döngünüz hiç işlem yapmaz. Birkaç örnek verelim:

PLAIN TEXTPASCAL:
1.FOR i:=0 TO 10 DO i:=i+1;
2.{ Döngü, 0 dan 10‘a kadar olan sayıları topluyor }
3.
4.t:=1;
5.FOR k:=5 DOWNTO 1 DO t:=k*t;
6.{ k değişkeni birer birer azalıp 5! değerini buluyor }
7.
8.t:=1;
9.k:=100;
10.FOR i:=1 TO 5 DO
11.Begin
12.t:=t+1;
13.k:=k-15;
14.End;
15.{ i değeri 1 den 5’e kadar artıyor ve her seferinde }
16.{ t değeri 1 artıyor, k değeri 15 azalıyor }
17.
18.
19.FOR i:=0 TO 1000 DO; i:=i+1;
20.{ DO ifadesinden sonra noktalı virgül kullanıldığı }
21.{ için i değeri 1000 oluncaya kadar döngü 1000 kez }
22.{ dönüyor sonra i değerini 1 artıyor ve sonuç }
23.{ 1001 oluyor. Aksi halde i değeri 1’den 1000’e }
24.{ kadar olan sayıların toplamı olacaktı. }
25.
26.t:=1;
27.FOR i:=0 TO 11 DO
28.Begin
29.t:=i+t;
30.i:=i+5;
31.End;
32.{ Bu döngü iki kez dönüyor. İlkinde i değeri sıfır ve }
33.{ t değeri 1 olarak işlem yapılıyor, son satırda i }
34.{ değeri 5 attırılıyor ancak döngü başa döndüğünde }
35.{ i değeri otomatik olarak 1 arttırılıyor ve böylece }
36.{ i değeri 6 olarak işlemler yapılıyor. Son satırda i }
37.{ değeri 5 attırılıyor ve 11 oluyor. Döngü başa }
38.{ döndüğünde i değeri 1 daha attırılıyor ve 12 }
39.{ oluyor. Bitiş değeri 11 olduğu için döngü }
40.{ işlemini bitirmiş oluyor. }
B) REPEAT – UNTIL:

PLAIN TEXTPASCAL:
1.Repeat
2.Komutlar
3.Until koşul;
Döngü, Until ifadesindeki koşul sağlanıncaya kadar tekrarlanacaktır. Repeat- Until bloğu içine birden fazla komut yazılabilir ve Begin-End bloğunu kullanmaya gerek yoktur. For-Do döngüsünden farkı, koşulun artış veya azalış miktarını belirtebilmemizi sağlar. Döngü başa döndükçe koşul değerini otomatik olarak değiştirmez. Örnek verelim;

PLAIN TEXTPASCAL:
1.i:=0;
2.t:=0;
3.Repeat
4.i:=i+2; { artış miktarını biz belirtiyoruz }
5.t:=t+i;
6.Until i=100;
7.{ 0’dan 100’e kadar olan çift sayıların toplamı }
8.
9.
10.i:=1;
11.k:=1;
12.Repeat
13.i:=i*k;
14.k:=1+k;
15.i:=i+1;
16.Until i=5;
17.{ 5! değerini bulan döngü }

Geri

Sitede ara

Copyrıght by HACKRO.© 2010-2011 All rıght reserved.