תכנות - שיעור 24
25/December/2005
הערות על תרגילים
פרט למחסור בשוקולד, יש שיפור ניכר בהגשה. עלו והצליחו! כדי להתקדם,
כדאי מאד שלכולם תהיה גישה ישירה לאינטרנט מ-Linux. אני אשמח לעזור, אבל
צריכה להיות יוזמה מצדכם.
לגבי התרגילים עצמם:
-
חשוב להוסיף הערות.
-
הדפסות התוצאה צריכות להיות מובנות גם
למי שלא רואה את המקור של התכנית.
-
שימו לב למהירות ביצוע של הריצה.
-
רצוי להמעיט בטיפול במקרים מיוחדים.
תכנית קצרה עדיפה על תכנית ארוכה.
בכל זאת
אין לקצר
על ידי המנעות ממתן הערות.
יש לזכור שפירוק לפונקציות הוא מבורך כמעט תמיד.
משולש פיתגורס והמעגל.
הבטנו במישור עם הצירים הממשיים
.
ראינו את הקשר בין נקודות "יפות" - עם ערכים שלמים על המעגל
ובין שלשות פיתגוראיות
(Pythagorean triples).
במשולש ישר זוית, לצלעות
(sides, edges)
הסמוכות לזוית הישרה, קוראים
ניצבים
.
הצלע הגדולה שמול הזוית הישרה נקראת
hypotenuse
(יש קשור עברי)
,
ובעברית
יֶתֶר
כאשר לפי אבן-שושן
היוד סגולה (עם סגול)
.
תרגילים
-
בנו קבץ "אישי" של כל הפונציות שתרצו שיהיו לכם לשימוש.
למשל
rbmtools.py
.
לאחר מכן, תוכלו בכל תכנית להוסיף:
import rbmtools
הוסיפו לקבץ את הפונציות:
gcd(...)
lcm(...)
introot(...)
נכנה מעתה את הקבץ הזה בתואר
ספרית Python האישית.
-
כתבו תכנית שעושה import לספריה האישית שיצרתם בתרגיל הקודם
ומשתמשת בפונקציות שמוגדרות בספריה.
התכנית יכולה לבצע כל שעולה ברוחכם.
-
כתבו פונקציה
שמקבלת שני מספרים שלמים
כפרמטרים
hypotenuse(a,b)
ומחזירה מספר שלם c,
אם יש כזה שמקיים את השויון:
ומחזירה
אחרת. הוסיפו את הפונקציה הזו לספריה האישית שלכם.
-
כתבו תכנית שמחפשת שלשות פיתגוראיות.
התכנית תקבל מספר שלם אחד M כפרמטר.
היא תקרא לפונציה
hypotenuse
עבור כל המספרים השלמים
כך ש-
ותדפיס
רק
את השלשות
הפיתגוראיות, כלומר כך ש
הערה:
הרצתי תכנית שכזו עם
ונמצאו
שלשות פיתגוראיות. התכנית רצה שעתיים!
פתרון לתרגיל קודם
להלן פתרון
לבדיקת זוגות מספרים כמועמדים למשולש פיתגורס שלם
שניתן כתרגיל
בשעור קודם
.
חזרה לעמוד האם