(C++) Döngüler. Parametreli döngü (for)


Programlamada döngüler
Aynı kelimeyi ekranda göstermemiz gereken bir durum hayal edin, 10 kez "HELLO" kelimesini söyleyelim. Ne yapmalıyız?
10 defa cout << alıp yazabilirsiniz. "Merhaba";

Peki ya 10 kez değil, 20, 30, 40 kez ve 200 kez ihtiyacınız varsa? 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ı kullanacağız.  
Döngübelirli bir komut dizisinin birkaç kez tekrarlandığı algoritmik bir yapıdır.< /div>
C++ programlama dilinde iki tür döngü vardır: değişken döngü (for) ve koşullu döngü (while ve do...while)

İlk türden döngülerle tanışmaya başlayalım.
 
Değişkenli döngü (for)

Genellikle bazı eylemlerin tekrar sayısını biliriz veya bildiğimiz verileri kullanarak tekrar sayısını hesaplayabiliriz. Bazı programlama dillerinde, Rusça'da parantez içinde tam tekrar sayısını belirten repeat(sayı) gibi bir komut vardır. 

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. döngü yürütme, bu hücre sıfır olduğunda sona erer.

C++ programlama dilinde böyle bir yapı yoktur, ancak for yapısı vardır.  

for döngüsü deyiminin genel biçimi şu şekildedir: for (/*ifade1*/; /*ifade2*/; /*ifade3*/ ) { /*bir ifade veya ifade bloğu - döngü gövdesi*/; } Bu tasarım şunları yapmamızı gerektirir:
1. sayaç olacak ve başlangıç ​​değerini ayarlayacak bir bellek hücresini açıkça tahsis etti;
2. döngü gövdesinin yürütüleceği bir koşul yazılmıştır;
3. Bu hücredeki değerin nasıl değişeceğini belirtin.

Pratik kısımda ise "Merhaba"  kelimesini 10 defa göstermeye çalışacağız. Aşağıdaki görevlerde, bu yapıyı daha ayrıntılı olarak 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 çalıştırılması şu adımlardan oluşur: 
1. döngü değişkeninin (sayaç) başlangıç ​​değerini ayarlamak;
2. döngüye devam etmek için koşulları kontrol etme;
3. bir adımın yürütülmesi (döngü gövdesi); 
4. döngü değişkeninin değerini değiştirme.
Ayrıca, 2. adımdaki & nbsp; koşulu yanlış olana kadar 2-4 adımları tekrarlanır. Koşul yanlış olur olmaz, döngü sona erer ve for.
döngü deyiminden sonraki ifade yürütülür.

Döngü ifadesinin genel biçimine geri dönelim ve tüm bölümleri daha ayrıntılı olarak inceleyelim.
for (/*ifade1*/; /*ifade2*/; /*ifade3*/ ) {       /*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,

1)i=0;    // i döngü değişkenine sıfıra eşit bir başlangıç ​​değeri atayın.
                 // Bu notasyonla, i değişkeni döngüden önce bildirilmelidir.

2) int i=0; //  i değişkeni doğrudan döngü başlığında bildirilebilir, ancak
                     // bu durumda, döngü bellekten silindikten sonra

3) ;    // Döngü değişkeninin başlatılması ve bildirilmesi hiç yok,
          //  bu durumda döngüden önce tanımlanabilir.


İfade 2 doğru olduğu test edilen için döngü devam koşuludur.

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.
 

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

i++  // değişkeni her adımda 1 artacaktır.
 

Döngü gövdesinde bir ifade varsa

Döngü gövdesinde yalnızca bir ifade varsa parantezler atlanabilir.

özellikleri için döngüsü

Her başlık bölümünde virgülle ayrılmış birden fazla ifade olabilir.
 
Örnek
için ( ben = 0, x = 1.; ben < 10; ben += 2, x *= 0.1 ) { ... } 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 adımlarında değişir: i += 2, i = i + 2 için kısaltmadır. x değişkeni her adımda 0,1 kat artar x = x * 0.1, kısaca x *= 0.1.

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.