الدرس 1, موضوع 1
في تقدم

B3L2T2: תרגילי חזרה (פונקציות) – שיעורים 1 ו-2

תרגילי חזרה (פונקציות) – שיעורים 1 ו-2

תרגיל 1   

הבא דוגמא לכל סוג מסוגי הפונקציות מבחינת העברת פרמטרים והחזרת ערך.

 תרגיל 2

הבא דוגמא לפונקציה שלא מקבלת פרמטרים ומחזירה ערך?

 תרגיל 3 (העברת פרמטרים לפונקציה)

א– כתוב פונקציה בשם mitar שמקבלת שני פרמטרים ממשיים a , b שהם האורכים של שני הצלעות המאונכים של משולש ישר זווית.

הפונקציה מחשבת ומחזירה את אורך המיתר c.

ב– כתוב פונקציה ראשית שקולטת מהמקלדת את אורכי הצלעות המאונכים של משולש ישר זווית. התוכנית תחשב את היקף משולש זה ותדפיס הודעה מתאימה.

התוכנית תשלב הנחיות לקלט, ותשתמש בפונקציה מסעיף א’.

 תרגיל 4 

 נביא להלן אותה דוגמא שהביאנו בשיעור, כי תרגיל 5 מבוסס עליה.

א– כתוב פונקציה המדמה השהייה בגודל שניה אחת בשם delay.

ב– כתוב תוכנית אשר מממשת מונה 60 שניות כמונה מטה ומציגה את זאת במרכז המסך בפורמט שתי ספרו. התוכנית תקרא לפונקציה שכתבת בסעיף א’.

ג– הרץ תוכנית זו על המחשב ושלח סרטון של הפלט למורה.

תרגיל 5

בהסתמך על תרגיל 4, כתוב תוכנית המדמה פעולתו של שעון.   hh:mm:ss

בשעון שהוא למעשה מונה שניות למעלה מתעדכן שדה השניות ss כל שניה ושדה הדקות mm כל 60 שניות. וכן שדה השעות hh מתעדכן כל 60 דקות כשערך הדקות מסיים מחזור של 60 דקות מ-0 עד 59.

תרגיל 6 (העברת מערך כפרמטר)

א– כתוב פונקציה בשם sumOfArray שמסכמת איברי מערך ממשי המועבר אליה כפרמטר ומחזירה את הסכום.

המערך מועבר אליה כפרמטר, איברי המערך מטיפוס double.

ב– כתוב תוכנית שקולטת רצף של 10 מספרים ממשיים לתוך מערך בשם firstArray. ועוד 20 מספרים ממשיים לתוך מערך אחר בשם secondArray.

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

חובה להשתמש בפונקציה שבסעיף א’.

תרגיל 7 (שתי פונקציות והעברת מערך כפרמטר) 

א– כתוב פונקציה בשם bothRequal() שמקבלת כפרמטרים של שני מספרים ממשיים ובודקת אם הם שווים, ומחזירה ערך אמת או שקר.

ב– כתוב פונקציה בשם allRequal() שמקבל מערך מספרים ממשיים ובודקת אם כל איבריו שווים. פונקציה זו צריכה לקרוא לפונקציה bothRequal().

ג– כתוב פונקציה ראשית שקולטת 20 מספרים לתוך מערך ובודקת אם כל איבריו שווים ומדפיסה הודעה מתאימה.

תרגיל 10  (שתי פונקציות והעברת מערך כפרמטר) 

א– כתוב פונקציה בשם zogee()e שמקבלת מספר שלם כפרמטר, הפונקציה בודקת אם מספר זה הוא זוגי או לא, אם כן מחזירה 1, אחרת מחזירה 1-.

ב– כתוב פונקציה בשם NofZogee()e שמקבלת מערך מספרים שלמים כפרמטר, הפונקציה מחזירה מספר האיברים הזוגיים בו, חובה שהפונקציה תשתמש בפונקציה שבסעיף א’.

ג– כתוב פעולה ראשית אשר מגדירה שני מערכים שלמים באורך 5 ו 10 וקובעת ערכיהם בהגדרה. התוכנית תבדוק מי משני המערכים מכיל יותר מספרים זוגיים, וכמה.

תשלבו הודעות מתאימות.

 תרגיל 11

כתוב תוכנית שקולטת משפט באנגלית. המשפט מתחיל באות ולא ברווח.

א– התוכנית מונה מספר המילים במשפט.

ב– התוכנית מדפיסה את האות האחרונה במילה הראשונה.

הערה: בין כל שתי מילים רק רווח אחת בלבד.

תרגיל 12

כתוב פעולה (פונקציה) שמוצאת הפתרון לשתי משוואות בשני נעלמים.

הפונקציה מקבלת את ארבעת המקדמים של שתי המשוואות כפרמטרים מועברים.

הפונקציה מחזירה את שני הפתרונות כמערך בגודל 2.

כאשר שתי המשוואות נתונות בצורה:

a11.X + a12.Y = a13

a21.X + a22.Y = a23

שמות המקדמים הם:

 a11, a12, a13, a21, a22, a23

בתוכנית הראשית:

א– התוכנית קולטת את ארבעת מקדמים של שתי משוואות

ב– מזמנת את הפעולה למציאת הפתרון

ג– מדפיסה את שתי המשוואות ומתחתה את הפתרון X=? ו- Y=? .

תרגיל 13

כתוב פעולה (פונקציה) שמוצאת הפתרון לשלוש משוואות בשלוש נעלמים.

הפונקציה מקבלת את 12 המקדמים של שלושת המשוואות כפרמטרים מועברים (אפשר כמערך).

הפונקציה מחזירה את שלושת הפתרונות כמערך בגודל 3.

כאשר שתי המשוואות נתונות בצורה:

a11.X + a12.Y + a13.Z = A

a21.X + a22.Y + a23.Z = B

a31.X + a32.Y + a33.Z = C

שמות המקדמים הם:

 a11, a12, a13, A, a21, a22, a23, B, a31, a32, a33, C

בתוכנית הראשית:

א– התוכנית קולטת את כל המקדמים של שתי משוואות (אפשר כמערך).

ב– מזמנת את הפעולה למציאת הפתרון

ג– מדפיסה את שלושת המשוואות ומתחתה את הפתרון X=? ו- Y=? ו- Z=? .

חזרה לדף השער של שיעור 1: פונקציות 

חזרה לדף השער של שיעור 2: מערך כפרמטר 

מעבר לדף פתרונות תרגילי החזרה לשיעורים 1 ו-2