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 802 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
- Visual Basic ile Gösterici (Pointer) Kullanımı
- Hasse Çizgeleri (Hasse Diagrams)
- Zeki Vekiller (Akıllı Ajanlar, Intelligent Agents, Zeki Etmenler )
- Integral Kriptoanalizi ( Toplam Tecessüsü , Integral Cryptoanalysis)
- Diferansiyel Kriptoanalizi ( Fark Tecessüsü , Differential Cryptoanalysis)
- Sierpinski Üçgeni (Sierpinski Triangle)
- C ile programlamaya giriş final sınavı çözümleri
- Çok Seviyeli Sıralar (Multi Level Queues)
- Çift Özetleme (Double Hashing)
- İkinci Dereceden Sondalama (Quadratic Probing)
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Sıralama işleminiz poligonu...
- Şadi Evren ŞEKER: bahsettiğiniz sıralama algoritması...
- Abdurrahman ulusoy: merhaba hocam. gelişigüzel...
- Oguz Okutan: Merhaba hocam.. Fonksiyonlarda degere göre...
- Şadi Evren ŞEKER: Null, NULL, nil veya null olarak...
- Fatih Kabakci: hocam merhabalar,...
- kara: Çok güzel anlatılmış gerçekten teşekkürler...
- Şadi Evren ŞEKER: Bahsettiğiniz şekil dönüşümü...
- Caner: Kullanıcıdan açı girdisi almıyorsanız...
- Furkan Yediyildiz: Algoritmanin mantigi cok güzel...
- havva: çok sağolun çok güzel açıklamalar var tşk...
- Şadi Evren ŞEKER: typedef komutu, bir yapıdan yeni bir...
- fatih kabakci: hocam ben structures ile ilgili bir sorum...
- Şadi Evren ŞEKER: evet, yukarıda açıklanan, herhangi...
- Abdurrahman ulusoy: fi açısından teta kadar döndürme...
- Şadi Evren ŞEKER: Hayır yok, bir noktanın, herhangi...
- Abdurrahman ulusoy: Bu durumda yukarıdaki formüllerin...
- Abdurrahman ulusoy: Merhaba hocam Üstteki mesajımda...
- mustafa ekmekcioğlu: merhaba şadi bey ben hacettepe...
- Şadi Evren ŞEKER: Talebiniz üzerine...
Yakın Yazılar
Sonsuz Döngü (Fasit Daire, Kısır Döngü, Infinite Loop)
Sınırlı Derin Öncelikli Arama (Depth-Limited Search)
Ö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)
İç içe döngüler (Nested Loops)
Etiket ve gitme komuları (Label and GOTO)
Tekrarlı ve Arttırımlı Geliştirme (Iterative and Incremental Development)
Program doğruluğu ( Program correctness)
Ekrana Trafik Işıkları Çizen Kod
Bağlantılar