תכנות - שיעור 24 25/December/2005    

הערות על תרגילים

פרט למחסור בשוקולד, יש שיפור ניכר בהגשה. עלו והצליחו! כדי להתקדם, כדאי מאד שלכולם תהיה גישה ישירה לאינטרנט מ-Linux. אני אשמח לעזור, אבל צריכה להיות יוזמה מצדכם.

לגבי התרגילים עצמם:

משולש פיתגורס והמעגל.

הבטנו במישור עם הצירים הממשיים lteq1.png . ראינו את הקשר בין נקודות "יפות" - עם ערכים שלמים על המעגל ובין שלשות פיתגוראיות (Pythagorean triples). במשולש ישר זוית, לצלעות (sides, edges) הסמוכות לזוית הישרה, קוראים ניצבים . הצלע הגדולה שמול הזוית הישרה נקראת hypotenuse (יש קשור עברי) , ובעברית יֶתֶר כאשר לפי אבן-שושן היוד סגולה (עם סגול) .

תרגילים

  1. בנו קבץ "אישי" של כל הפונציות שתרצו שיהיו לכם לשימוש. למשל rbmtools.py. לאחר מכן, תוכלו בכל תכנית להוסיף:
    import rbmtools
    הוסיפו לקבץ את הפונציות:
    gcd(...)
    lcm(...)
    introot(...)
    
    נכנה מעתה את הקבץ הזה בתואר ספרית Python האישית.
  2. כתבו תכנית שעושה import לספריה האישית שיצרתם בתרגיל הקודם ומשתמשת בפונקציות שמוגדרות בספריה. התכנית יכולה לבצע כל שעולה ברוחכם.
  3. כתבו פונקציה שמקבלת שני מספרים שלמים כפרמטרים
    hypotenuse(a,b)
    ומחזירה מספר שלם c, אם יש כזה שמקיים את השויון:
    lteq2.png
    ומחזירה lteq3.png אחרת. הוסיפו את הפונקציה הזו לספריה האישית שלכם.
  4. כתבו תכנית שמחפשת שלשות פיתגוראיות. התכנית תקבל מספר שלם אחד M כפרמטר. היא תקרא לפונציה hypotenuse עבור כל המספרים השלמים lteq4.png כך ש-
    lteq5.png
    ותדפיס רק את השלשות lteq6.png הפיתגוראיות, כלומר כך ש lteq7.png

    הערה: הרצתי תכנית שכזו עם lteq8.png ונמצאו lteq9.png שלשות פיתגוראיות. התכנית רצה שעתיים!

פתרון לתרגיל קודם

להלן פתרון לבדיקת זוגות מספרים כמועמדים למשולש פיתגורס שלם שניתן כתרגיל בשעור קודם .


חזרה לעמוד האם