בחינה לדוגמה - יסודות מדעי המחשב
מדעי המחשב
2 יחידות לימוד
הוראות לנבחן
א. משך הבחינה: שלוש שעות.
ב. מבנה השאלון ומפתח ההערכה: בשאלון זה שלושה פרקים.
פרק ראשון - בפרק זה חמש שאלות,
ועליך לענות על כולן. ( 5 ´ 10) - 50 נקודות
פרק שני - בפרק זה שלוש שאלות, מביניהן
עליך לענות על שתיים ( 2 ´ 15 ) - 30 נקודות
פרק שלישי - בפרק זה שתי שאלות, מביניהן
עליך לענות על אחת בלבד ( 1 ´ 20 ) - 20 נקודות
ג. חומר עזר מותר בשימוש: כל חומר עזר ( פרט למחשב הניתן לתכנות )
ד. הוראות מיוחדות: אין
בהצלחה !!!
פרק ראשון ( 50 נקודות )
ענה על כל השאלות 1 - 5 ( לכל שאלה - 10 נקודות ).
1. כתוב תכנית הקולט מספר למשתנה N ולאחריו N מספרים שלמים ומדפיס את כמות המספרים המתחלקים ב3- ללא שארית. (10 נקודות).
2. כתוב ביטוי בוליאני המייצג את התנאי הבא:
ספרת העשרות במספר NUM שווה לספרת האחרות בו והמספר גדול מ-50.
(המספרNUM דו ספרתי) (10 נקודות).
3. נתון קטע התוכנית:
I:=24;
while I>0 dO
begin
writeln(I);
I:=I-4;
end;
א. מה יהיה הפלט לקטע התוכנית (5 נקודות).
ב. כתוב קטע תוכנית שקול שבו מופיע המשפט REPEAT והפלט זהה לפלט הקטע הנתון. (5 נקודות).
4. נניח כי בתכנית מופיעה ההצהרה הבאה: VAR LIST:ARRAY[1..100] OF CHAR
כתוב קטע תכנית המשים את הערך 'A' לכל האיברים במערך עם המציין האי זוגי
(כלומר: [1]LIST, [3]LIST, [5]LIST.. יהיו בעלי הערך התחילי 'A'), ראה הערך 'B' לכל האיברים במערך עם המציין הזוגי. (10 נקודות).
5. התבונן בהצהרות ובקטע התוכנית הבא:
var Num, Sum: integer;
Sum:=0;
Num:=1;
while Num 20 do
begin
writeln(Num);
Sum:=Sum+Num;
Num:=Num+2;
end;
writeln(Sum, ' :'סכום המספרים );
קטע התוכנית אמור להדפיס את המספרים האי-זוגיים מ-0 עד 20 ואת סכומם.
א. בקטע נפלה שגיאה, מהי השגיאה? (5 נקודות)
ב. תקן את קטע התכנית כך שיבצע את משימתו (5 נקודות)
פרק שני ( 30 נקודות)
ענה על שתיים מבין השאלות 6 - 8 (לכל שאלה - 15 נקודות).
6. כתוב תוכנית המדפיסה את כל המספרים בני 3 ספרות המקיימים את התנאי הבא:
סכום ספרת העשרות והמאות שווה לרבוע ספרת האחדות.
אם המספר מקיים את התנאי התוכנית תדפיס אותו.
דוגמה: המספר 543 מקיים את התנאי: 3*3=9=5+4 (15 נקודות)
7. הנח כי בתכנית הופיעו ההגדרות וההצהרות הבאות:
type Positive=1..maxint;
var Num:Positive;
Function Sum0fDigit(Num:Positive):Positive;
הנח כי הפונקציה SumOfDigit מקבלת מספר שלם חיובי ומחזירה את סכום ספרותיו.
א מהו הערך שתחזיר הפונקציה אם ערך הפרמטר Num הוא 45 ו376-. (5 נקודות).
ב נניח שהפונקציה מחזירה את הערך 9, תן שתי דוגמאות לערך הפרמטר Num.
(5 נקודות)
ג כתוב קטע תכנית הקולטת סדרה של מספרים חיוביים, סוף הסדרה מצוינת ע"י מספר שלילי, ומדפיסה כל מספר המתחלק בסכום ספרותיו וכמו כן מדפיסה את כמות המספרים המקיימים תנאי זה.
לדוגמא: סדרת המספרים - 18 103 83 550 110 4000
המספרים 18 550 110 ו4000- מתחלקים בסכום ספרותיהם לכן הפלט יהיה:
4000 110 550 18
כמות המספרים מתחלקים בסכום ספרותיהם: 4
הערה: אין צורך לכתוב את הפונקציה. (5 נקודות).
8. נתונה התכנית הבאה:
Program Confusion;
var X, Y:integer;
procedure F(X:integer; var Y: integer);
begin
X:=X-Y;
Y:=X+Y;
end; (F)
begin
read(X,Y);
F(X,Y);
Writeln(X,Y);
end.
מה יהיה פלט התכנית Confusion כאשר הקלט הוא 2 5 (כלומר המספר 5 מושם במשתנה X והמספר 2 מושם במשתנה Y ). (5 נקודות).
מה יהיה פלט התכנית Confusion כאשר הקלט הוא 2 5 וכותרת הפרוצדורה משתנה ל-((procedure F(X,Y:integer (5 נקודות).
מה יהיה פלט התכנית Confusion כאשר הקלט הוא 2 5 וכותרת הפרוצדורה משתנה
לvar X,Y:integer)- ) F procedure . (5 נקודות).
פרק שלישי ( 20 נקודות)
ענה על אחת מבין השאלות 9 - 10 (20 נקודות).
9. הנהלת בית הספר החליטה להפיק דו"ח מעקב הישגי התלמידים במקצוע מחשבים. לצורך זה אתה מתבקש לכתוב תכנית הקולטת את ציוני התלמידים במחשבים בשכבת כיתות י' (בשכבה קיימים 200 תלמידים) ומדפיסה את כל הציונים הקטנים מהממוצע.
א. נסח את הבעיה העומדת בפני ההנהלה כבעיה אלגוריתמית, כלומר, תאר במדויק את הקלט והפלט לאלגוריתם המבוקש . (5 נקודות)
ב. בסעיף זה עליך לחשוב על אלגוריתם לפתרון הבעיה שניסחת בסעיף א' ולענות רק על השאלה הבאה:
מהם המשתנים או המערכים העיקריים שבהם תשתמש בכתיבת האלגוריתם? לכל משתנה או מערך ציין את שמו ואת טיפוסו, והגדר במשפט אחד את תפקידו. (7 נקודות).
ג. כתוב תוכנית בפסקל המממשת את הבעיה והיעזר בתשובתך בסעיף ב' (8 נקודות).
10. במפעל נעלים ארבע מחלקות יצור:
מחלקה 1 - נעלי נשים
מחלקה 2 - נעלי גברים
מחלקה 3 - נעלי ילדים
מחלקה 4 - נעלי ספורט
לכל סוג נעל קיים מספר בקטלוג המורכב מ-3 ספרות. ספרת המאות מציינת את קוד המחלקה (1-4) ושאר שתי הספרות מציינות את קוד המוצר.
דוגמא: המספר 354 בקטלוג מציין נעל ילדים אשר קוד המוצר שלה הוא 54.
כתוב תכנית הקולטת רשימה של מספרי קטלוג של נעלים אשר נמכרו בחודש האחרון. הרשימה מסתיימת במספר 0. הנח כי הקלט תקין.
על התכנית להדפיס את מספר זוגות הנעלים שמכרה כל מחלקה במשך החודש ואת מספר זוגות הנעלים שמכר המפעל.
עליך להשתמש בפונקציה Hundred המחזירה את ספרת המאות של מספר חיובי שלם בין 3 ספרות. (20 נקודות).