Module: Döngü ifadesi için. Tipik görevler


Problem

1/16

Sıra Numaralarının Toplamı - Örnek 1

Theory Click to read/hide

Aşağıdaki problemi çözmek için bir program yazmaya çalışalım:
100 ile 500 arasındaki tüm tam sayıların toplamını bulun.

Bu problemi çözerken toplamı bulmak zorlaşır. Toplama işleminin sonucunu s değişkenine basitçe yazarsak, örneğin,


s=100+101+102+103+...+500

kaydın kendisi çok zaman alacaktır çünkü bilgisayar üç noktanın aritmetik ifadede nasıl kullanılacağını anlamayacak ve 100'den 500'e kadar tüm sayıları bu toplamın içine yazmamız gerekecek. Ve böyle bir programın değeri önemsiz olacaktır. Özellikle sayılarımızı değiştirip farklı bir aralık almak istiyorsak.

Ne yapmalıyız?

Yukarıdaki girişe dikkat edersek, sürekli olarak "+" ekini kullanırız.
s değişkenine kademeli olarak sayı eklemeyi deneyebilirsiniz. Örneğin, bu gösterimi kullanarak
s := s + i;
burada ne yaptık:
1) sağ tarafa s+i, ifadesini koyuyoruz yani artık hafızamızda bulunan s değişkeninin değerini alıp değeri ekliyoruz i< değişkeninin ona /strong>
2) solda s değişkeninin adını belirliyoruz, yani sağdaki hesaplamanın tüm sonucu bu değişkende saklanacak, böylece değişkenin değerini değiştireceğiz s. 

Aralığımızdaki sayıları nereden alabiliriz?

Aralığımıza ait 100'den 500'e kadar olan sayılar teker teker i değişkenine düşmelidir. Ve bu, iyi bilinen for
döngüsü kullanılarak yapılabilir. Örneğin, bu şekilde
sn := 0; //başlangıçta s değişkenini sıfırlamak gerekir, böylece ilk adımda 100 sayısı hafızada olana değil sıfıra eklenir!
for i := 100 - 500 do //i değişkeninin değerini 1'lik artışlarla 100'den 500'e değiştirdiği döngünün başlığı
    s := s + ben; //değişen i değişkeninin değerini s değişkenine kademeli olarak eklediğimiz döngünün gövdesi
                 // ve sonuç s değişkeninde saklanır
Bu çözüm, toplamı işlemlere göre hesaplamaya çok benzer
 s = 0 + 100 = 100
 s = 100 + 101 = 201
 s = 201 + 102  = 303
vesaire.

Problem

1. Yürütme için teorik bölümde analiz edilen programı çalıştırın, çalışmasının sonucunu görün