Ş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:
var i, n :integer; // ben – döngü değişkeni, n - karesini hesapladığımız maksimum sayı
başlamak
oku(n); // klavyeden n girin
for i := 1'den n'ye do // 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
writeln('Kvadrat chisla ', i, ' kuzgun ', i * i); // Bir sayının karesini belirli bir formatta gösterme ve yeni bir satıra taşıma
son.
Döngüye girerken, i := 1 ifadesi yürütülür ve ardından i değişkeni her adımda bir (to) artırılır. Döngü, i <= n koşulu doğruyken 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 çalışmasının sonucunu n değişkeninin farklı değerleri ile görün.