- başla - ekrandan bir sayı oku - sayı, işaretsiz tamsayı olmalı . . eğer kullanıcı 2'den küçük sayı girdiyse, bitir'e git . . eğer sayı negatif ya da kesirli ise HATA'ya git - Faktör'e öndeğer olarak 1 aktar - I=2'den sayı'ya kadar yinele : . . . . Faktör değişkeninin içeriğini döngü değişkeni olan I ile çarp ve Faktöre aktar . . . . (Faktör <- Faktör * I) - yineleme döngüsü sonu (döngü değişkeni 1 artırılıp, döngü başına gidilir. döngü bitince aşağıdaki satır ile devam edilir) - ekrana Faktör değişkenini yaz - başla'ya git - HATA : ekrana "1'den büyük tamsayı girin, çıkmak için sıfır giriniz" yaz; başla'ya git - bitir
Parantez içindeki yazılar açıklama için, algoritmanın parçası olmak zorunda değil..
vSonuc := 1;
for i in 1..n
loop
vSonuc := vSonuc x i;
end loop;
return vSonuc;
gibi bişey olsa gerek.
Bu mesaja 1 cevap geldi. Cevapları Gizle
- ekrandan bir sayı oku
- sayı, işaretsiz tamsayı olmalı
. . eğer kullanıcı 2'den küçük sayı girdiyse, bitir'e git
. . eğer sayı negatif ya da kesirli ise HATA'ya git
- Faktör'e öndeğer olarak 1 aktar
- I=2'den sayı'ya kadar yinele :
. . . . Faktör değişkeninin içeriğini döngü değişkeni olan I ile çarp ve Faktöre aktar
. . . . (Faktör <- Faktör * I)
- yineleme döngüsü sonu (döngü değişkeni 1 artırılıp, döngü başına gidilir. döngü bitince aşağıdaki satır ile devam edilir)
- ekrana Faktör değişkenini yaz
- başla'ya git
- HATA : ekrana "1'den büyük tamsayı girin, çıkmak için sıfır giriniz" yaz; başla'ya git
- bitir
Parantez içindeki yazılar açıklama için, algoritmanın parçası olmak zorunda değil..
Evet. "stack" derinliğine dikkat ederek olur. Ama arkadaş algoritma istemişti..
Ben pascal'dan örnek vereyim :
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesaja 1 cevap geldi. Cevapları Gizle
{
y=1;s=1;
printf("sayi\n");
scanf("%d",&n);
while(s<=n){
y*=s;
++s;
}
printf("faktoryel %d = %d\n\n",n,y);
}
Bu mesaja 1 cevap geldi. Cevapları Gizle
< Bu mesaj bu kişi tarafından değiştirildi _conscript_ -- 28 Aralık 2008; 22:03:55 >
Bu mesaja 1 cevap geldi. Cevapları Gizle
Recursive (yinelemeli) şekli olarak da bu kodu verebiliriz.. Recursive konusunun en temel örneğidir..