- Aynı anda birden fazla kere içi içe aynı procedure'ü çalıştırabilirsin. Bunu sınırlayan unsur senin de tahmin edeceğin procedure'ün dışa bağımlılığıdır.
- Bu durum şarta göre oluşsun ve de dolaysıyla sonsuz döngüye girmesin yeter.
- İhtiyaç duyulabilecek durumlar dinamik uygulamalardır. Örneğin bir dizindeki dosyaların alt dizinlerine kadar listelenmesi. Daha önceden kestirilemeyecek kadar sayıda alt dizin olabilir. Aynı alt dizin routinleri bir sonraki alt dizin için tekrar çalıştırılmak istenebilir. Bu örneklerden sadece biri...
hmm anladım. Sınır, procedure'ün dışa bağımlılığıdır. mesela aynı dosyayı tekrar açmak gibi durumlar olmamalı.
heheh ben şimdi bunları okuyunca bunu bende anlardım keşke sormasaydım dedim ama insasın aklı bazen duruyor.
biri çıkıp olmaz kullnamazsın! dese idi nolacaktı? tabi yine kullanmaya çalışacaktım saolun arkadaşlar bu forum acayip dinamik. anında cevap geliyor. hepinize teşekkür .
Procedurun birden fazla kopyasının çalışmasının bir sınırı daha var aslında. Eğer Rekürsif (kendi kendini çağıran fonksiyon) fonksiyon kullanıyorsan (örneğin alt dizinleri listeleme, Flood Fill gibi) pek de belli olmayan bir sınır vardır. Bu da stack'in dolması (stackin tam kapasitesi ve fonksiyonun ihtiyacı belli olmadığı için belirsiz) ve sonunda ortaya çıkan Stack overflow hatası. Bunun çözümü de açıkçası fonksiyona göre değişmekle beraber, temel mantığın fonksiyonun bir kaç parçaya bölünmesi ve bir kontrol fonksiyonu ile rekürsif fonksiyonun while döngüsüne çevrilmesidir. Bununla ilgili net bir örnek gönderemiyorum, çünkü dediğim gibi her rekürsif fonksiyon için değişik bir yöntem uygulamak gerekiyor.