ABA


"תעזרו לי בבקשה בעיצוב תוכנה, רקורסיה"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #6952 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 6952
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   19:31   13.09.03   
אל הפורום  
  תעזרו לי בבקשה בעיצוב תוכנה, רקורסיה  
 
   ערכתי לאחרונה בתאריך 13.09.03 בשעה 19:41 בברכה, דני15
 
זה בפסקל...

כתוב פונקציה רקורסיבית המקבלת שני מספרים שלמים ומחזירה את הממוצע שלהם.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  רקורסיבית?! liranr 13.09.03 20:23 1
     תודה רבה דני15  13.09.03 20:43 2
         זה לא קשה לחשוב על זה אחי no_angel 13.09.03 21:50 3
     משהוא קצת יותר פשוט(לדעתי) dryice 13.09.03 22:22 4
         תודה רבה דני15  13.09.03 22:50 5

       
liranr

   20:23   13.09.03   
אל הפורום  
  1. רקורסיבית?!  
בתגובה להודעה מספר 0
 
   טוב, אני מניח שאם רוצים אפשר להתחכם, אבל זה טיפשי לחלוטין:
function avg (num1,num2 : integer) : real;
var
small,big : integer;
begin
if num1=num2 then
avg := num1
else
begin
if num1>num2 then
big := num1
else
big := num2;
small := num1 + num2 - big;
if small+1=big then
avg := small+0.5
else
avg := avg(small+1,big-1);
end;
end;


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   20:43   13.09.03   
אל הפורום  
  2. תודה רבה  
בתגובה להודעה מספר 1
 
   זה אכן טיפשי, אבל המטרה היא ללמוד את נושא הרקורסיה.
למה זה כזה מסובך לחשוב על זה ?


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
no_angel
חבר מתאריך 20.3.02
4989 הודעות
   21:50   13.09.03   
אל הפורום  
  3. זה לא קשה לחשוב על זה אחי  
בתגובה להודעה מספר 2
 
   מה הקטע אבל ברקורסיה זה לדעת את מה לשלוח חזרה לפונקציה לאחר שיתבצע העניין


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dryice

   22:22   13.09.03   
אל הפורום  
  4. משהוא קצת יותר פשוט(לדעתי)  
בתגובה להודעה מספר 1
 
  

function avg(num1,num2: integer):real;
begin
if (num2>num1) avg:=avg(num2,num1)
else
begin
if (num1=num2) avg:=num1
else if (num1=num2+1) avg:=num2+0.5
else avg:=avg(num1-1,num2+1);
end;
end;


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
דני15 
חבר מתאריך 3.8.02
47437 הודעות, 8 פידבק
   22:50   13.09.03   
אל הפורום  
  5. תודה רבה  
בתגובה להודעה מספר 4
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net