scheme

scheme

היי אנשים, הscheme שלי עושה לי צרות. מישהו מוכן להעיף מבט בחצי תוכנית הזו ולומר לי מה הבעיה בה שהוא "צועק"?? תודה בתוש והנה התוכנית:
(define (sherit mispar) (cond ((= mispar 0) 0) (else ((sherit (/ mispar 2)) (if (= (remainder mispar 2) 0) 0 1)))))​
 

DadleFish

New member
אולי במקום לנחש, תספרי לנו מה הוא

צועק (ומתי), וכך נוכל לומר לך איפה הבעיה. פשוט אין לי כח ורצון להתקין את הדוקטור כרגע, אבל אם תספרי לי מה הוא אומר לך - אולי אוכל לענות.
 
הוא צועק ב- else

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

(ניתן לראות ניסיון כושל של זה בדוגמא למעלה).
 

DadleFish

New member
אכן נסיון כושל

אני לא מכיר מספיק טוב SCHEME ולכן אין לי מושג איך מחלקים מספר אחד בשני בצורה שלמה (כלומר, ש-3/2 יחזיר 1 ולא 1.5) - אולי את יודעת איך, בכל מקרה הנה הקוד ב-C, ואת יכולה לתרגם אותו בקלות אם את יודעת את הפונקציות ב-SCHEME.
int binrep(int number) { if (number == 0) { return 0; } else { return (number %2) + binrep(number/2) * 10; } }​
 
אני לא יודעת איך../images/Emo10.gif

מה אני עושה? זה נורא קשה, ואין לי שמץ על פונקציות בscheme, חוץ מפונקציית remainder שבודקת את שארית החילוק:\ עזרה???
 
למעלה