Sonsuz Döngü (Fasit Daire, Kısır Döngü, Infinite Loop)
Yazan: Şadi Evren ŞEKER
Yapısal programlama dillerinde(structured programming languages) herhangi bir alt programın (Subprogram) tekrarlanması istendiğinde döngüler (loop ) kullanılabilir. Bu döngülerin taşıması gereken 3 ana unsur bulunur bunlar:
- Başlangıç değeri (initial)
- Bitiş değer kontrolü (condition)
- ve adım değeri (iteration)
Şayet yukarıdaki bu değerlerde sorun varsa veya istenerek eksik veya bitmeyecek şekilde girildiyse döngü hiçbir zaman bitmeyip sonsuza kadar (namütenahi) dönebilir.
Örneğin aşağıdaki Türkçe cümleyi ele alalım:
“yarından sonra bir sene boyunca haftada bir toplantı var”
Bu cümledeki toplantı olayının:
Başlangıcı : Yarın
Bitişi: Bir sene sonra
Adım değeri : Haftada bir
olarak ifade edilebilir. Dolayısıyla sağlıklı ve sonu olan bir eylemdir ancak aynı cülmeyi:
“yarından sonra haftada bir toplantı var”
şeklinde ifade etseydik bu olayın ne zaman biteceği belirsizdir ve bilgisayar programları açısından sonsuz bir olaydır.
Daha net bir ifadeyle aşağıdaki döngüyü ele alalım:
for(int i = 0 ;i <10;i++)
Bu döngü 0′dan 10′a kadar 1′er 1′er artan i değişkeni üzerinde dönmektedir. Aynı döngüyü:
for(int i = 0 ; ; i++)
veya
for (int i = ; i<10;)
şeklinde yazsak döngü sonsuz olur. (ilkinde bitişi belirsiz, ikincisinde ise adım değeri belirsizdir)
Ayrıca programlama dilleri istekli olarak sonsuz döngüye de izin vermektedir örneğin aşağıdaki döngü sonsuz döngüdür:
for(;;)
« Döngü (loop) | Değişken (Variable) »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Sonsuz Döngü (Fasit Daire, Kısır Döngü, Infinite Loop)' isimli yazı 08 Sep 2008 tarihinde, saat: 12:42 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 440 defa okunmuştur.
Benzer yazıları C/C++, JAVA, Programlama Dilleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Özyineli Diller (Recursive Languages)
- Özyineli Geçiş Ağları (Reursive Transition Networks)
- Gellish (Kontrollü Doğal Dil)
- Karar Problemi (Decision Problem)
- Masfuf (Matris , Matrix)
- Turing Makinesi (Turing Machine)
- Özyineli Sayılabilir Diller (Recursively Enumerable Languages)
- Chomsky Hiyerarşisi ( Chomsky Hierarchy )
- Anlamsal Ağlar (Semantic Network)
- Mana Ağları (Sematic Webs, Anlamsal Ağ)
Yapılan Son Yorumlar
- vildan: teşekkürler..
- Şadi Evren ŞEKER: Elbette; farklı iki örnek daha...
- rasim: daha baska ornekler verebılırmısınız
- Zeynep Kaya: İyi günler.Benim size bi sorum daha...
- Zeynep Kaya: Cok tesekkür ederim yardımınız icin..
Yakın Yazılar
Sonsuz Döngü (Fasit Daire, Kısır Döngü, Infinite Loop)
Özyineli Sayılabilir Diller (Recursively Enumerable Languages)
Brent Algoritması (Brent's Algorithm)
Bindirme Tipi Fonksiyonlar (Mapping Style Functions)
Yönlü Düz Ağaçlar (Directed Acyclic Graph)
Tekrarlı ve Arttırımlı Geliştirme (Iterative and Incremental Development)
RC4 Şifrelemesi (RC4 Cipher, ARC4, ARCFOUR)
sıra gecikmesi (queueing delay)
Pompalama Önsavı (Pumping Lemma)
Zamani (Temporal, Zamansal, Zamane, Mevkut)
Binaen Burhan (İnşâa ile İspat , Proof by Construction, Binaenaleyh)
Bağlantılar