Basit

resim
Geri dön
Döngüler 


Döngü kısaca aynı işlemin tekrarlanmasıdır. Fakat aynı işlem tekrarlanırken, işlem gören değerler farklı olabilir. Bu sebepten dolayı farklı teknik olanaklar sağlayan döngüler vardır.

Standart döngü modeli:

Döngü poz = 0 Dan 9 Kadar
  Denetim poz
DöngüSon

yada

Döngü poz = 0 Dan 9 Kadar 1 Adım Artış
  Denetim poz
DöngüSon

Bu örnekteki döngü 0'dan 9'kadar adım adım yükseliyor. Başlangıçta 0 iken, ikinci adımda 1, sonra 2, sonra 3, sonra 4 vesaire oluyor. Adım adım artışı ikişer ikişer, üçer üçer veya daha fazla belirlenebilir:

Döngü poz = 0 Dan 9 Kadar 3 Adım Artış
  Denetim poz
DöngüSon

Örnekte kullanılan "poz" bir değişkendir ve rakamsal değer içerir. İkinci model, standart modele çok benzer, fakat tersine işlemektedir:

Döngü poz = 9 Dan 0 Kadar 1 Adım Düşüş
  Denetim poz
DöngüSon

Bu örnekte döngü değeri 9 ile başlar ve her adımda bir puan düşerek, 0'da noktalanır.

Eğer bir dizilimin öğelerine döngü yardımıyla erişmek istiyorsan, şöyle bir kod girebilirsin:

Döngü poz = 0 Dan diz - 1 Kadar 1 Adım Artış
Denetim diz[poz]
DöngüSon

Dizilimin adeti 10 ise, öğelerin erişim bandı 0 ile 9 arasıdır. Bu yüzden "diz -1" demek zorundasın. Aksi taktirde döngü dizilimin sonuncu öğesinden sonra olmayan bir öğe daha okumaya çalışacak ve hataya sebebiyet verecektir.

Bandı belirlemek için "Dan" komutu yanısıra "Den" komutunuda kullanabilirsin. İkiside aynı manayı ifade etmektedir. Örnek:

Döngü poz = 1 Den 3 Kadar 1 Adım Artış
  Denetim poz
DöngüSon

Veya

Döngü poz = 6 Dan 8 Kadar 1 Adım Artış
  Denetim poz
DöngüSon

Birinci ve ikinci döngü modelleri otomatiktir. Yani her ikisinede sayaç görevi gören bir değişken girilir, örnekte "poz" gibi. Ayrıca bandı bellidir. "a" dan "b" ye kadardır.

Döngü'nün bir farklı modeli daha vardır. Bu farklı model özellikle dizilimler için tasarlanmıştır:

Döngü öğe Kaynağı DizilimAdı Artış
   Denetim Öğe
DöngüSon

Bu örnekte yine "Artış" ile dizilimin başından sonuna kadar gidilirken, "Düşüş" ile dizilimin sonundan başlayıp başına kadar gidilir. Buradaki "Öğe" ise dizilimin kendi türünden bir işaretli değişkendir. Sayaç değildir. Dizilimin sıradaki öğesi bu değişkene bağlanır ve anında değerlendirilebilir. Eğer "öğe" işaretli değilde, normal olarak belirlenirse, bu normal değişken türleri açısından sıkıntı yapmaz. Fakat eğer dizilimin türü yine dizilimsel bir tür ise veya yapısal veya objesel ise, o halde gereksiz yere öğe kopyası oluşturulur ve buda uygulamanın yavaşlamasına neden olur. En güzel yöntem "öğe" değişkenini mutlaka işaretli olarak belirlemektir.

Üçüncü döngü modeli ise çok farklı çalışır. Bu modelde döngünün kendisi bir değişkeni sayaç olarak kullanmaz. Onun yerine bir kritere bakar:

Tekrar
  poz += 1
Tekrarla poz = 30

Bu çok basit örnekte aranan kriter "poz" adresinin değerinin 30'a ulaşmış olmasıdır. Tabi başka kriterlerde belirlenebilir:

Tekrar
 ? ...
Tekrarla x > 5 Ve p = 0 Ve prosedürüm() <> 1 Veya f = 0

Dördüncü ve sonuncu döngü ise, üçüncü döngüye benzer ve bitmeksizin çalışan bir döngüdür:

Tekrar
  poz += 1
TekrarSon

Bu döngüyü terk etmek için, başka bir yöntem kullanmak gerekiyor. Aksi taktirde bu döngü program veya bilgisayar çökene kadar tekrarlamaya devam edecektir.

Hangi döngüde olursan ol, her döngüyü anında terk etme imkanın vardır. Bunun için tek satırlık komut olarak İptal emrini girmen yeterlidir. Örnek:

Döngü poz = 0 Dan 99 Kadar 1 Adım Artış
    Denetim poz
    Eğer poz > 59 İse
        İptal
    EğerSon
DöngüSon

Veya

Tekrar
  ? ...
  İptal
Tekrarla x > 5 Ve p = 0 Ve prosedürüm() <> 1 Veya f = 0

Veya

Tekrar
  poz += 1
  İptal
TekrarSon


Örnek

İnternetten bilgi edinme

Geri dön



Giriş      Kaydol      Bilgi      Gizlilik      Site Haritası



Bu İnternet sitesinde bulunan tüm kod, görsel kaynaklar ve bilgi, özellikle belirtilmemiş ise, 5M-Ware'e aittir ve tüm hakları saklıdır. Bu kaynakların izinsiz kopyalanması, izinsiz başka platformlarda kullanılması yasaktır. Ayrıntılı bilgi için Kullanıcı Sözleşmesini inceleyebilirsin.


5M-Ware Youtube Videoları Blogger Tumblr


Icons erstellt von Freepik from www.flaticon.com


Tüm Telif Hakkı Saklıdır© 2019-2020 5M-Ware
info@basit.web.tr
ok
Bu web sitesi çerezleri saklamaz. İletişim formu aracılığıyla yapılan sorular geçici olarak saklanır ve işlemden sonra silinir. Yazı tipleri Google’dan alınmıştır. Ayrıntılı bilgi için  Gizlilik Politikamızı  inceleyin.