Professional Documents
Culture Documents
תרגיל בית מס 5 - פונקציות
תרגיל בית מס 5 - פונקציות
הגדירו פונקציה בשם areaהמקבלת כפרמטרים שני מספרים שלמים חיוביים המייצגים א.
אורך ורוחב של מלבן .על הפונקציה לחשב ולהחזיר את שטח המלבן.
הגדירו פונקציה נוספת בשם ( areaשם זהה לפונקציה הקודמת) המקבלת כפרמטרים ב.
מספר שלם וחיובי המייצג רדיוס של מעגל .על הפונקציה לחשב ולהחזיר את שטח המעגל.
הגדירו את המשתנה PIכקבוע השווה לערך 3.14159
ִּכתבו תכנית ראשית הקולטת שני מספרים שלמים חיוביים (עבור אורך ורוחב של מלבן) ,לאחר
ההודעה הבאה:
Enter length and width of the rectangle:
על התכנית להדפיס את שטח המלבן ע"י זימון (קריאה) הפונקציה המוגדרת בסעיף א'.
לאחר מכן ,על התכנית לקלוט מספר שלם וחיובי (עבור רדיוס מעגל) ,ע"י ההודעה הבאה:
Enter radius of the circle:
על התכנית להדפיס את שטח המעגל ע"י זימון הפונקציה המוגדרת בסעיף ב'.
דוגמאות להרצת התכנית:
Enter length and width of the Enter length and width of the
:rectangle :rectangle
42 1
8 -3
:Enter radius of the circle ERROR
1 2
3.14159 2
4
:Enter radius of the circle
-4
ERROR
3
28.2743
מבוא למדעי המחשב – – 150005תשפ"ג בס"ד
תרגיל בית מספר -5עמוד 2מתוך 5
הגדרה :מספר מושלם הוא מספר השווה לסכום כל מחלקיו הקטנים ממנו.
לדוגמא :המספר 6הינו מספר מושלם ,מאחר ומחלקיו הקטנים ממנו הם המספרים 1,2,3וסכומם
הוא.6=1+2+3 :
הגדירו פונקציה בשם perfectהמקבלת כפרמטר מספר שלם וחיובי .על הפונקציה לבדוק א.
ולהחזיר trueבמידה והמספר הוא מושלם ,אחרת על הפונקציה להחזיר .false
הגדירו פונקציה בשם printPerfectsהמקבלת כפרמטר מספר שלם וחיובי .על הפונקציה ב.
להדפיס את כל המספרים המושלמים הקטנים ממספר זה ,באמצעות זימון הפונקציה
perfectהמוגדרת בסעיף א' (ההדפסה תתקבל עם רווחים בין המספרים) .במידה ולא
התקבל מספר כפרמטר בפונקציה ,על הפוקציה להדפיס את כל המספרים המושלמים
הקטנים מ.500 -
ִּכתבו תכנית ראשית הקולטת מספר שלם וחיובי ,לאחר ההודעה הבאה:
Enter a number:
על התכנית לחשב ולהדפיס את:
רשימת המספרים המושלמים הקטנים מהמספר שהתקבל.
רשימת המספרים המושלמים הקטנים מ.500-
החישוב וההדפסה יתבצעו ע"י זימון הפונקציה printPerfectsהמוגדרת בסעיף ב' .פעם אחת עם
שליחת פרמטר ופעם נוספת ללא שליחת פרמטר.
שימו לב ,במידה ולא קיימים מספרים מושלמים הקטנים מהמספר שהתקבל יש להדפיס שורה ריקה.
שימו לב :בשאלה זו מובא האלגוריתם לחישוב ספרת הביקורת (הִס פרה הימנית ,התשיעית) של
מספר זהות עפ"י שמונה הספרות הראשונות של מספר הזהות.
הגדירו פונקציה בשם sumDigitsהמקבלת כפרמטר מספר שלם וחיובי ,על הפונקציה לחשב א.
ולהחזיר את סכום ספרותיו.
הגדירו פונקציה בשם lastDigitIDהמקבלת מספר בעל שמונה ספרות (המהוות את שמונה ב.
הספרות הראשונות של מספר זהות) ,על הפונקציה לחשב ולהחזיר את ספרת הביקורת של
מספר הזהות (הספרה האחרונה) .על הפונקציה לזמן את הפונקציה sumDigitsהמוגדרת
בסעיף א'.
שמונה הספרות של מספר הזהות 1 2 3 4 5 6 7 8
משקל הספרות 1 2 1 2 1 2 1 2
מכפלת הספרה במשקלה 1 4 3 8 5 12 7 16
סכום ספרות תוצאת המכפלה 1 4 3 8 5 3 7 7
ִּכְת בו תכנית ראשית הקולטת מספר בעל שמונה ספרות (המהוות את שמונה הספרות הראשונות של
מספר זהות) ,לאחר ההודעה הבאה:
הגדרה :טבלת גיבוב זו טבלה אשר בה מאוכסנים נתונים כלשהם במחשב .גודל טבלת הגיבוב חייב
להיות מספר ראשוני (מספר המתחלק ב 1-ובעצמו בלבד).
הגדירו פונקציה בשם isPrimeהמקבלת כפרמטר מספר שלם וחיובי .על הפונקציה א.
לבדוק ולהחזיר trueבמידה והמספר ראשוני ,אחרת על הפונקציה להחזיר .false
הגדירו פונקציה בשם findPrimeהמקבלת כפרמטר מספר שלם וחיובי .על הפונקציה ב.
לחשב ולהחזיר את המספר הראשוני הקרוב ביותר (שווה או גדול) למספר שהתקבל
כפרמטר .על הפונקציה לזמן את הפונקציה isPrimeהמוגדרת בסעיף א'.
במידה והמשתמש יודע מהו מספר הנתונים שעליו לשמור בטבלת הגיבוב ,עליו להכניס
מספר חיובי .כלומר ,התכנית תקלוט מספר חיובי ותחשב את גודל הטבלה כמספר הראשוני
הקרוב ביותר (שווה או גדול) למספר הנקלט.
מבוא למדעי המחשב – – 150005תשפ"ג בס"ד
תרגיל בית מספר -5עמוד 5מתוך 5
במידה והמשתמש לא יודע מהו מספר הנתונים שעליו לשמור בטבלת הגיבוב ,עליו להכניס
מספר שלילי או .0במקרה זה על התכנית לחשב את גודל הטבלה ע"י שימוש במספרים
אקראיים עפ"י השלבים הבאים:
על התכנית להגריל מספר אקראי בין 10ל( 100-כולל).
על התכנית לחשב את גודל הטבלה כמספר הראשוני הקרוב ביותר (שווה או גדול)
למספר שהוגרל.
בכל אחד מהמקרים ,חישוב גודל הטבלה יעשה ע"י זימון הפונקציה findPrimeהמוגדרת
בסעיף ב'.
Table size:#
שימו לב:
בכדי שהבודק האוטומטי יזהה את פקודת )(randיש להוסיף בתחילת התכנית את הפקודה
הבאה:
>include <cstdlib#
!!בהצלחה רבה