מבחן בתכנות – מועד ב'

 

להנדסאי תעשייה וניהול – מערכות מידע

 

 

 

א.                  משך הבחינה 4 שעות.

 

ב.                   מבנה השאלון ומפתח הערכה:

 

פרק א'

 

ענה על שאלה אחת מתוך השתיים (25 נק').

 

 

פרק ב'

 

ענה על שתי שאלות מתוך 3 השאלות (50 נק').

 

 

פרק ג'

 

ענה על שאלה אחת מתוך השתיים (25 נק').

 

 

ג.                    חומר עזר מותר לשימוש: כל חומר עזר. אין להעביר חומר עזר בין הנבחנים.

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

פרק א' – ענה על אחת מתוך השאלות 1 ו- 2.

         

שאלה 1

 

כתוב תרשים זרימה שהקלט שלו הוא: גיל הבעל וגיל האישה

והפלט שלו הוא:

 

v    אם הפרש הגילאים קטן או שווה לחמש שנים, יש להדפיס: "הפרש קטן".

v    אם הפרש הגילאים גדול מחמש שנים אבל קטן או שווה לשמונה שנים, יש להדפיס: "הפרש בינוני".

v    אם הפרש הגילאים גדול משמונה שנים, יש להדפיס: "הפרש גדול".

דוגמא:

 

v    אם הקלט הוא גיל הגבר: 30, גיל האישה 35 התכנית תדפיס: "הפרש קטן".

 

v    אם הקלט הוא גיל הגבר: 30, גיל האישה 22 התכנית תדפיס: "הפרש בינוני".

 

v    אם הקלט הוא גיל הגבר: 30, גיל האישה 40 התכנית תדפיס: "הפרש גדול".

 

 

 

שאלה 2

 

א.      אם מיון בחירה ישירה על מערך של 100 איברים הסתיים תוך 10 דקות, אזי תוך כמה זמן בערך הוא יבצע מיון בועות על 10 איברים?

 

ב.       אם חיפוש בינארי (אריה במדבר) ביצע חיפוש על 50 איברים תוך 10 דקות, אזי תוך כמה זמן הוא יבצע חיפוש על 10 איברים?

 

ג.        האם הצבת ערך מסוג  float לתוך משתנה מסוג integer עלולה ליצור שגיאה בזמן ריצה?

 

ד.       נניח כי הסימן % מסמל שארית של חלוקה. למשל הערך שיוחזר מהחישוב

5 % 10 יהיה 0 בעוד הערך שיוחזר מחישוב 10 % 168 יהיה 8. איזה תחום ערכים יוחזר מפעולת שארית חלוקה בשלוש של מספר כלשהו ((X % 3?

 

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


פרק ב' – עליך לענות על 2 שאלות מתוך השאלות 3,4,5.

 

 

שאלה 3

 

כתוב תכנית אשר קולטת את המשכורות של זוגות נשואים, את המשכורת של הבעל (X) ולאחר מכן את המשכורת של האישה (y).

סוף הקלט מצוין ע"י שני הערכים -1, -1.

 

 

התכנית תדפיס:

 

v    את מספר הזוגות בהם הכנסת הגבר גבוהה מהכנסת האישה.

 

v    את ממוצע ההכנסה של הנשים.

 

שאלה 4

 

כתוב תכנית הקולטת סדרה של תווים. סוף הקלט מצוין ע"י התו  $.

סדרת התווים מורכבת מתת סדרות של תווים המכילות אותיות. כל תת סדרה מופרדת מתת סדרה אחרת ע"י התו ! אחד או יותר. התכנית תדפיס את מספר המילים בהן הופיעה האות  'a'. יש להניח שהאותיות שיתקבלו תהיינה אותיות קטנות באנגלית.

 

דוגמא:

 

$

c

f

!

c

a

b

!

f

c

a

!

f

d

c

!

a

b

a

 

הפלט צריך להיות 3 שכן ישנן 3 תתי סדרות המכילות את האות a.

 

שאלה 5

 

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

 

דוגמא:            עבור הזוג הבא –       15, 1574

 

יודפס:             "שוויון" (שכן הספרה 5 הופיעה פעם אחת בכל מספר).

 

 

דוגמא:            עבור הזוג הבא:-        55, 15731

 

יודפס:            "המספר הראשון ניצח" (שכן במספר הראשון הספרה 5 הופיעה פעמיים ואילו במספר השני הספרה 5 הופיעה רק פעם אחת).


פרק ג' – עליך לענות על שאלה אחת מתוך השאלות 6 ו- 7.

 

 

שאלה 6

 

 

א.      כתוב פונקציה המקבלת מספר, הפונקציה מחזירה את מספר הספרות הזוגיות במספר. אם אין ספרות זוגיות הפונקציה תחזיר 0.

 

ב.       כתוב תכנית המשתמשת בפונקציה הקודמת אשר קולטת 10 מספרים למערך a, ו- 10 מספרים למערך b.

 

התכנית תדפיס "מערכים תאומים" אם סה"כ מספר הספרות הזוגיות שבמספרים שבמערכים a ו- b זהה. 

 

 

דוגמא:

אם התקבלו במערכים a ו- b הערכים הבאים:

 

 

מערך a

 

   9             8            7           6            5            4           3             2           1            0

 

19

12

43

524

123

111

145

32

25

15

 

 

      מערך b

 

9           8            7            6           5           4            3            2            1            0

 

9

3

16

338

213

342

521

41

52

33

 

 

אזי התכנית תדפיס מערכים תאומים. כיוון  שמספר הספרות הזוגיות שבמערך a שווה לשמונה, וכן מספר הספרות הזוגיות שבמערך b שווה לשמונה.

 

שאלה 7

 

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

 

ב.   כתוב תכנית המשתמשת בפונקציה של סעיף א' אשר קולטת עשרים מספרים למערך ומדפיסה את מספר המספרים במערך אשר הספרה הימנית שלהם זהה לספרה הימנית של המספר הכי גדול במערך. (את המספר הכי גדול יש למצוא באמצעות הפונקציה של סעיף א').