döngüler. Parametreli döngü (for)


Aynı kelimeyi ekranda göstermemiz gereken bir durum düşünelim, kelimeyi söyleyelim "Merhaba";, 10 kez. Ne yapmalıyız?
Komutu 10 defa alıp yazabilirsiniz Console.WriteLine("HELLO");

Peki ya 10 defaya değil de 20, 30, 40 defaya ihtiyacınız varsa? Ve eğer 200 kez? Bu durumda kopyalama çok uzun zaman alacaktır. Ve kullanıcının ekranda bilgilerin kaç kez görüntüleneceğini seçmesi gerekiyorsa? 

Bu görevin üstesinden gelmek için döngü adlı özel bir yapı kullanabiliriz.

Döngü, belirli bir komut dizisinin birkaç kez tekrarlandığı algoritmik bir yapıdır.

C# programlama dilinde iki tür döngü vardır: değişken döngü (for) ve koşul döngüsü (while ve do...while)

İlk türden döngülerle tanışmaya başlayalım.

Değişkenli veya bilinen adım sayısına (for) sahip bir döngü.

Genellikle bazı eylemlerin tekrar sayısını biliyoruz veya serif">hesaplayabiliriz
bildiğimiz verileri kullanarak tekrar sayısı. Bazı programlama dillerinde, Rusça'da tekrar (sayı) gibi görünen bir komut vardır - yani tam tekrar sayısını belirtebiliriz. 

Bu döngünün makine seviyesinde nasıl çalıştığını görmek ilginç:
1. Hafızada belirli bir hafıza hücresi tahsis edilir ve tekrar sayısı ona yazılır.
2. Program döngü gövdesini bir kez çalıştırdığında, bu hücrenin (sayaç) içeriği bir azaltılır.
3. Bu hücre sıfır olduğunda döngü sona erer.

C# programlama dilinde böyle bir yapı yoktur, bunun yerine for yapısı vardır.  

for döngü operatörünün genel biçimi şu şekildedir:
for (/*expression1*/; /*expression2*/; /*expression3 */)
{
      /*bir ifade veya ifade bloğu - döngü gövdesi*/;
}
Bu yapı şunları yapmamızı gerektirir:
1. Açıkça sayaç olacak bir bellek hücresi tahsis edin ve başlangıç ​​değerini ayarlayın.
2. Döngü gövdesinin yürütüleceği bir koşul yazdık.
3. Bu hücredeki değerin nasıl değişeceğini belirtin.

Uygulamalı kısımda "Merhaba" kelimesini 10 kez göstermeye çalışacağız ve sonraki görevlerde bu yapıyı daha detaylı analiz edeceğiz.

for
döngüsü
for döngüsü, tekrarlanan eylemler arasında geçiş yapmanın bir yoludur. Nasıl çalıştığına daha yakından bakalım.

for döngüsünün bazı bölümleri genellikle şu adımları izler: 
1. Başlangıç ​​değeri ayarlanıyor. 
2. Döngüye devam etmek için durum testi gerçekleştiriliyor. 
3. Döngü eylemleri gerçekleştirin. 
4. Testte kullanılan değerleri güncelleyin. 
ve ardından koşul sağlanana kadar 2-4 adımları tekrarlanır. Koşul yanlış olur olmaz döngü sona erer ve for döngüsü ifadesinden sonraki ifade yürütülür.
 
Döngünün genel biçimi  for (/* ifade 1*/; /* ifade 2*/; /* ifade 3*/ ) {       /* bir ifade veya ifade bloğu - döngü gövdesi */; }

Döngü değişkeninin (sayaç) başlangıç ​​değerini ayarlamaktan sorumlu İfade 1, noktalı virgülle biter.
Örneğin :
  • i=0; // döngü değişkeni i ilk değeri sıfıra eşitle - önce bildirilmelidir döngü
  • int i=0; // i değişkeni hemen döngü başlığında bildirilebilir, ancak bu durumda, döngü çalışır
  • ;  // döngü değişkeni için hiçbir başlatma ve bildirim yoktur, bu durumda, döngüden önce bildirilebilir
İfade 2 - bu, for döngüsünü devam ettirmenin koşuludur, doğruluğu test edilir. Örneğin,

i <= 10  // i değişkeni 10'dan küçük veya ona eşit olduğu sürece döngü çalışır.
Koşul herhangi bir şey olabilir.

3. İfade sayaç değişkeninin değerini değiştirir. Bu değer olmadan, döngü sonsuz kabul edilecektir. Örneğin,

i++;  // döngü gövdesi her tamamlandığında, i 1 artırılır.

 

Her başlık bölümünde virgülle ayrılmış birden fazla operatör olabilir.< /span>
Başlık örnekleri:

for ( int i = 0; i <10; i + + ) { ... } - standart başlık

for ( int i = 0, x = 1; i < 10; ben += 2, x *= 2 ){ ... }  
         // bu durumda, döngü gövdesinin yürütülmesinden sonra değişecek iki değişken kullanıyoruz - bunlar i ve x
değişkenleridir.          // i değişkeni 2'lik artışlarla değişir - i+=2 -  i=i+2
         // x değişkeni her adımda 0,1 kat artar x=x*2 - kısaltılmış х*=2
>< /span>

N kez tekrarla

Şimdiye kadar yazdığımız for döngüsüne sahip tüm programlara evrensel denemez. Çünkü döngü gövdesinin tekrar sayısını kendimize belirliyoruz. Peki ya tekrar sayısı başka bir değere bağlıysa? Örneğin, kullanıcının kendisi döngünün tekrar sayısını ayarlamak istiyor.
Bu durumda ne yapmalı? Her şey çok basit. Sayısal başlangıç ​​ve bitiş değerleri yerine kullanıcı tarafından hesaplanabilen veya ayarlanabilen herhangi bir değişkeni kullanabiliriz.

Örneğin, N değişkeninin değerinin klavyeden girildiği 1 ile N arasındaki sayıların karelerini göstermemiz gerekir. kullanıcı.
Program şöyle görünecektir:
  #include <iostream> ad alanı std kullanarak; ana() { int ben,N; // ben – döngü değişkeni, N - karesini hesapladığımız maksimum sayı cin>> N; for ( i = 1; i <= N; i ++) // döngü: 1'den N'ye kadar tüm i'ler için. i değişkeni sırayla 1'den N'ye kadar değerler alacaktır { cout Döngüye girerken, i = 1 ifadesi yürütülür ve ardından i değişkeni her adımda bir artırılır (i ++ ). i <= N koşulu doğruyken döngü yürütülür. Döngü gövdesinde sadece çıktı deyimi belirtilen formata göre sayının kendisini ve karesini ekrana yazdırır.
Kare alma veya diğer küçük üsler için çarpmayı kullanmak daha iyidir.

Programı çalıştırın ve N değişkeninin farklı değerleri ile çalışmasının sonucunu görün.