תשובה…. פונקציה רקורסיבית היא בעצם פונקציה שיש לה תנאי עצירה ושהיא קוראת לעצמה. לדוגמא – חישוב עצרת מתבצע ע"י הכפלת כל המספרים עד למספר n, החל מ-1. אז אפשרות אחת היא באמת לולאה רגילה, ואפשרות שנייה לדוגמא הזו היא פונק' רקורסיבית – אתה קולט בפונקציה את המספר n, אם הוא שווה ל-1 אתה מחזיר 1, אחרת, אתה רושם משהו כזה –
Atzeret = n * AtzeretFunction( n-1 );
וכך הפונקציה בעצם קוראת לעצמה עד שתנאי עצירה (חובה) כלשהו מתקיים- במקרה שלנו – n=1.
תגיד משהו פה לא מסתדר לי…. זה ציטוט שלך – "אני מנסה לבנות פורום שדומה לזה ונתקלתי בכמה בעיות ::: 1. עשיתי רקורסיה ע"י שימוש בשני עמודות levelID ו-fatherID והשתמשתי בקוד הבא :::"
<% function recorsion(var) if var=0 then exit if else Atzeret = var * recorsion(var-1) end if for i=0 to atzeret recors = recors & " " next response.write recors }%>
8 תשובות
תשובה….
פונקציה רקורסיבית היא בעצם פונקציה שיש לה תנאי עצירה ושהיא קוראת לעצמה.
לדוגמא – חישוב עצרת מתבצע ע"י הכפלת כל המספרים עד למספר n, החל מ-1.
אז אפשרות אחת היא באמת לולאה רגילה, ואפשרות שנייה לדוגמא הזו היא פונק' רקורסיבית –
אתה קולט בפונקציה את המספר n, אם הוא שווה ל-1 אתה מחזיר 1,
אחרת, אתה רושם משהו כזה –
Atzeret = n * AtzeretFunction( n-1 );
וכך הפונקציה בעצם קוראת לעצמה עד שתנאי עצירה (חובה) כלשהו מתקיים-
במקרה שלנו – n=1.
מקווה שהבנת …
תגיד משהו פה לא מסתדר לי….
זה ציטוט שלך –
"אני מנסה לבנות פורום שדומה לזה ונתקלתי בכמה בעיות :::
1. עשיתי רקורסיה ע"י שימוש בשני עמודות levelID ו-fatherID
והשתמשתי בקוד הבא :::"
איך אתה עושה ורק אחר כך שואל מזה ?
חשבתי שאני עושה עד..
שהבנתי את מה שאני עושה…
אני בונה פורום על בסיס של ליניארי בלי שימוש בליניארי
טעות חמורה!!!
ניסיתי…
לעשות את הפונקציה כך :::
<script language="JavaScript" type="text/javascript">
function AtzeretFunction(n){
if (n==Atzert){
return (Atzert);
}else{
Atzeret = n * AtzeretFunction( n-1 );
}
}
</script>
אבל משום מה אין פלט
ניסיתי גם
בהתנייה לשים את המספרים 1 או 0 במקום ה-"עצרת"
כי אתה לא מדפיס שום דבר
טוב לבסוף עשיתי כך:::
<%
function recorsion(var)
if var=0 then
exit if
else
Atzeret = var * recorsion(var-1)
end if
for i=0 to atzeret
recors = recors & " "
next
response.write recors
}%>
השאלה שלי האם זה פונקציה של רקורסיה???
בקשר לקןד…
נכון הוא ב-VB כי זו שפה שאני יותר מבין ודבר שני
בשורה הבאה :::
recors = recors & " "
אז הרווח אמור להיות
&nbsp;