asagida bir C fonksiyonu var. Siz bilgisayar bilginiz ile bu basit fonksiyonun
a. Icinde bilincli olarak birakilmis bir hatanin ne oldugunu. (Bu bir runtime hatasidir, compiler bunu farkedemeyecektir.)
b. Bu hatanin nasil duzeltilebilecegini.
c. Bu hata duzeltilmedigi takdirde ne tur sorunlar yasanacagini,
c. Bu fonksiyonun Ne ise yaradigini,
d. Daha iyi nasil yazilabilecegini (hata anlaminda degil, optimizasyon anlaminda)
e. Kullanilan teknigin ismini
soyleyebilirseniz, sizin bilgisayar bilginizi takdir etmis olurum.
Saygilarimla
*********************
long x(long p)
{
if (p = 0)
return 1;
return p * x(p-1);
}
Not :
x fonksiyon adi, p bu fonksiyonun parametresidir.
Her ihtimale karsi C bilemeyebileceginizden (Daha once Turbo Pascal bildiginizi iddia etmistiniz) PASCAL ile de yazayin bu fonksiyonu size :
Function x(p : long) : long;
Begin
if (p = 0) then
x := 1
else
x := p * x(p-1);
End;
Sorular PASCAL icin de aynidir. Ancak yanitlar farkli olabilir.
***
Sanirim sizin gibi bir bilishim ve iletishim dehasi icin bu soru bir cherez olsa gerektir.
asagida bir C fonksiyonu var. Siz bilgisayar bilginiz ile bu basit fonksiyonun
a. Icinde bilincli olarak birakilmis bir hatanin ne oldugunu. (Bu bir runtime hatasidir, compiler bunu farkedemeyecektir.)
b. Bu hatanin nasil duzeltilebilecegini.
c. Bu hata duzeltilmedigi takdirde ne tur sorunlar yasanacagini,
c. Bu fonksiyonun Ne ise yaradigini,
d. Daha iyi nasil yazilabilecegini (hata anlaminda degil, optimizasyon anlaminda)
e. Kullanilan teknigin ismini
soyleyebilirseniz, sizin bilgisayar bilginizi takdir etmis olurum.
Saygilarimla
*********************
long x(long p)
{
if (p = 0)
return 1;
return x(p-1);
}
Not :
x fonksiyon adi, p bu fonksiyonun parametresidir.
Her ihtimale karsi C bilemeyebileceginizden (Daha once Turbo Pascal bildiginizi iddia etmistiniz) PASCAL ile de yazayin bu fonksiyonu size :
Function x(long p) : long;
Begin
if (p = 0) then
result := 1
else
result := x(p-1);
End;
Sorular PASCAL icin de aynidir. Ancak yanitlar farkli olabilir.
***
Sanirim sizin gibi bir bilishim ve iletishim dehasi icin bu soru bir cherez olsa gerektir.
Respond to this message
Author Reply
baris
209.17.159.225 Indentasyon nedeniyle ozur ve pascaldiyalekti duzeltmesi August 2 2001, 10:18 PM
Function x(long p) : long;
Begin
if (p = 0) then
result := 1
else
result := x(p-1);
End;
result degiskenine assignment her pascal diyalekti tarafindan desteklenmeyebilir ve bu diyalekti bilmiyor olabilirsiniz (Delphi destekliyor ancak sanirim turbo pascal desteklemiyordu)
O nedenle ANSI diyalektinde tekrar yazayim :
Function x(long p) : long;
Begin
if (p = 0) then
x := 1
else
x := x(p-1);
End;