ערכתי לאחרונה בתאריך 20.11.06 בשעה 16:34 בברכה, Fire_Blede
אני מקווה שתבינו את ההסבר
אני מנסה לבנות תוכנית שתבצע את הדבר הבא (זה משימה שנתנו לנו בבי"ס):
אני מכניס פונקציה מסוימת (או נתונה) והתוכנית מגלה את ערך השורש (חיתוך עם ציר ה-x, מה שנוסחת שורשים עושה).
ההליך מתבצע כך:
1. אני קולט 2 מקורות (xים) על הפונקציה. דואג שה-y של האחד יהיה חיובי ושל השני יהיה שלישי (positive, negetive) ולכן קראתי להם xn ו-xp ולסרוגין yn ו-yp.
אתם בטח שואלים איך אני דואג שאחד יהיה חיובי ואחד שלילי.. אז ככה: אם ה-y של ה-x האחד גדול מ-0 כלומר חיובי, אני מחסיר ל-x כל הזמן 1 עד שה-y נהיה שלילי (מה שגם גורם לו להתקרב לשורש), וברגע שהוא קטן מ-0 זה עוצר. כנ"ל לגבי השני: אם ה-y שלו קטן מ-0 כלומר שלילי, אני מחבר לו כל הזמן 1 עד שה-y חיובי.2. אני ממציא x3. ואומר ככה:
x3=(xp+xn)/2
ואז יכולים להתקיים 2 מצבים
א.

ה-y של x3 הוא חיובי
ואז אני קורא לו xp (בעצם מחליף אותו ל-xp)
ואז התהליך חוזר חלילה
ב.

ה-y של x3 הוא שלילי
ואז אני קורא לו xn
ואז התהליך חוזר חלילה
עד שאני ממש ממש ממש מתקרב לנקודה
ופה אני מחליט מה מידת הדיוק שלי
אז אני בחרתי שהדיוק (yp-yn) יהיה 0.001 ומטה
ואז בעצם ככה אני מגיע לנקודה שהיא ממש ממש קרובה לחיתוך עם ציר ה-x ואז אני יכול להגיד שזה נקודת החיתוך עם ציר ה-x
זאת התוכנית:
https://rotter.name/User_files/nor/4561bbee098f06e2.txt
עכשיו הבעיה היא כזאת:
בחלק השני כשאני אומר לו x3=(xp+xn)/2
הוא מתחיל לזייף ותמיד נותן לי אותה תשובה: x3=-2.89, לא משנה איזה נקודות אני מכניס לו עוד מתחילת התוכנית
תודה על ההקשבה
אשמח אם מישהו יוכל למצוא את ה"תקלונת"
:]

