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


Aynı kelimeyi ekranda göstermemiz gereken bir durum hayal edin, 10 kez "HELLO" kelimesini söyleyelim. Ne yapmalıyız?
cout << komutunu 10 defa 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 LOOP
adlı özel bir yapı bize yardımcı olacaktır.
Döngü, belirli bir komut dizisinin birkaç kez tekrarlandığı algoritmik bir yapıdır.


Java programlama dilinde iki tür döngü vardır: (for) değişkenli bir döngü ve koşullu (while ve do...while) bir döngü

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

DEĞİŞKEN VEYA BİLİNEN ADIM SAYISI (FOR) İLE DÖNGÜ

Genellikle bazı eylemlerin tekrar sayısını biliriz veya bildiğimiz verileri kullanarak tekrar sayısını hesaplayabiliriz. Bazı programlama dillerinde, Rusça'da REPEAT (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. döngü yürütme, bu hücre sıfır olduğunda sona erer.

Java programlama dilinde böyle bir yapı yoktur, for yapısı vardır.  

for döngüsü deyiminin genel biçimi şu şekildedir:
için (/*ifade1*/; /*ifade2*/; /*ifade3*/ )
{
      /*bir ifade veya ifade bloğu - döngü gövdesi*/;
}
Bu yapı, biz
1. açık bir şekilde bir sayaç olacak bir bellek hücresini tahsis etti ve başlangıç ​​değerini belirledi
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.

Uygulamalı kısımda Merhaba kelimesini 10 kez 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ü, tekrarlanan eylemler arasında geçiş yapmanın bir yoludur. Nasıl çalıştığına daha yakından bakalım.

Tipik olarak, bir for döngüsünün parçaları aşağıdaki adımları gerçekleştirir: 
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ü ifadesinin genel biçimine geri dönelim ve tüm bölümleri daha ayrıntılı olarak inceleyelim.
için (/*ifade1*/; /*ifade2*/; /*ifade3*/ )
{
      /*bir ifade veya ifade bloğu - döngü gövdesi*/;
}

İfade 1

döngü değişkeninin (sayaç) başlangıç ​​değerini ayarlamaktan sorumludur, noktalı virgülle biter
Örneğin :
seçenek 1) i=0; //çevrim değişkeni i'ye sıfıra eşit başlangıç ​​değeri atanır. Böyle bir kayıtla,
//i değişkeni döngüden önce bildirilmelidir

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

seçenek 3) ; // hiçbir şekilde döngü değişkeninin başlatılması ve bildirilmesi yok,
// bu durumda döngüden önce bildirilebilir
İfade 2
bu  for döngüsüne devam etmenin koşuludur, doğruluğu kontrol edilir.

i<=10 // döngü, i 10'dan küçük veya ona eşit olduğu sürece çalışır.
Durum herhangi bir şey olabilir
İfade 3 
sayaç değişkeninin değerini değiştirir. Bu değer olmadan, döngü sonsuz olarak kabul edilecektir.

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

for döngüsünün başlığını yazmaya çalışalım

Kaydın bir diğer özelliği de döngü gövdesinde yalnızca bir operatör varsa parantezlerin atlanabilmesidir.

Her başlık bölümünde virgülle ayrılmış birden fazla ifade olabilir.
Başlık örnekleri:
için ( ben = 0; ben < 10; ben ++ ) { ... }
        //standart başlık
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 olan iki değişken kullanıyoruz - bunlar i ve x değişkenleridir
        // i değişkeni adım 2 ile değişir - i+=2 - i=i+2 için kısaltma
        // x değişkeni her x=x*0.1 adımında 0,1 kat artar - x*=0,1 olarak kısaltılır

Ş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ı kendimiz 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 kullanıcı tarafından klavyeden girildiği 1'den N'ye kadar olan sayıların karelerini göstermemiz gerekiyor.
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; // klavyeden N girin
 for ( i = 1; i <= N; i ++) // döngü: 1'den N'ye kadar tüm i 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 (i ++) artırılır. Döngü, i 
koşulu doğruyken yürütülür.Döngünün gövdesinde, yalnızca çıktı ifadesi 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 çalışmasının sonucunu N değişkeninin farklı değerleri ile görün.