מדעי המחשב
1
שאלון - 899381 :תשע"ו 6112 -
מדעי המחשב
פתרון בחינת הבגרות
פרק ראשון ( -יסודות)
שאלה 1
דרך I
דרך Java - II
דרך C# - II
blog.csit.org.il
הילה קדמן
מדעי המחשב
6
שאלון - 899381 :תשע"ו 6112 -
שאלה 2
Java
א
/
ב.
ג.
blog.csit.org.il
הילה קדמן
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
3
C#
א.
ב.
ג.
blog.csit.org.il
הילה קדמן
מדעי המחשב
4
שאלון - 899381 :תשע"ו 6112 -
שאלה 3
Java
ב.
blog.csit.org.il
הילה קדמן
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
5
C#
ב.
blog.csit.org.il
הילה קדמן
מדעי המחשב
2
שאלון - 899381 :תשע"ו 6112 -
פרק שני ( -מבני נתונים)
שאלה 4
Java
א.
ב.
סיבוכיות זמן הריצה היא ).O(n
נימוק :העברת nטבעות מהמוט למוטות העזר n * O(1) :סה"כ nצעדים
החזרת nטבעות משני מוטות העזר n * O(1) :סה"כ nצעדים
)f(n) = 2n O(n
סה"כ:
blog.csit.org.il
הילה קדמן
מדעי המחשב
שאלה 4
7
שאלון - 899381 :תשע"ו 6112 -
C#
א.
ב.
סיבוכיות זמן הריצה היא ).O(n
נימוק :העברת nטבעות מהמוט למוטות העזר n * O(1) :סה"כ nצעדים
החזרת nטבעות משני מוטות העזר n * O(1) :סה"כ nצעדים
)f(n) = 2n O(n
סה"כ:
blog.csit.org.il
הילה קדמן
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
8
שאלה 5
Java:
C#:
ב.
()1
טבלת מעקב:
ערך
left.get
left
&& I
III
II
I
מוחזר
Right
==
&& II
left.val +
left.getRight
≠ left
== sum
right
III
right.val
≠ right
right
sum
right
left
value
value
== sum
false
()2
true
true
T
T
T
true
T
T
T
11
F
27
false
21
8
13
10
27
ניתן להחליף את התנאי.
נימוק :הפעולה מחזירה אמת אם סכום כל זוגות איברים הנמצאים במרחק שווה מקצות הרשימה
שווים (סימטרי-סכומים).
הלולאה עוצרת כאשר הגיעה לאמצע הרשימה או כאשר נמצא זוג איברים שסכומם שונה.
עבור רשימה באורך אי-זוגי ,מוחזר אמת אם האיבר האמצעי שווה לסכום זה ,אחרת מוחזר שקר.
בכל מקרה אחר מוחזר אמת אם סכום שני האיברים במקומות leftו right -שווה ל,sum -
אחרת מוחזר שקר.
ולכן ,ניתן להחליף את הקטע המסומן בהוראה:
"החזר :סכום האיברים במקומות leftו right -שווה ל"sum -
blog.csit.org.il
הילה קדמן
מדעי המחשב
9
שאלון - 899381 :תשע"ו 6112 -
תרגיל 6
דרך I
האם-מסלול-עולה? )(tr
{
פעולה המחזירה אמת אם קיים בעץ מסלול המתחיל בשורש העץ ומסתיים באחד העלים ,וערך
הצמתים ממוין בסדר עולה ,ושקר אחרת.
הנחה :העץ לא לא ריק שערכיו מספרים שלמים השונים זה מזה.
//
אם (עלה? ) )(trהחזר אמת
}
בדיקת המסלול הסתיימה בהצלחה
אם (יש ל tr -בן שמאלי שערכו גדול מערך הצומת של ) tr
אמת left
אחרת שקר left
אם (יש ל tr -בן ימני שערכו גדול מערך הצומת של )tr
אמת right
אחרת שקר right
אם (אחד הצדדים תקין)
החזר leftוגם האם-מסלול-עולה? (בן שמאלי של )trאו
rightוגם האם-מסלול-עולה? (בן ימני של )tr
החזר שקר
//
אף אחד מהבנים לא נמצא במסלול ממוין
יש לממש גם את הפעולה עלה? )(tr
blog.csit.org.il
הילה קדמן
6112 - תשע"ו- 899381 :שאלון
11
מדעי המחשב
II דרך
גרינולדEvi אביטל:פתרון של
) שונים זה מזה1 הפעולה מקבלת עץ בינרי של מספרים שלמים טבעיים ( שלמים גדולים מ
. שקר – אחרת, הפעולה מחזירה 'אמת' אם קיים מסלול עולה משורש עד עלה
:תנאי קדם
:תנאי בתר
public static boolean upPath(BinNode<Integer> tr)
{
if (tr == null) return false;
if (tr.getLeft() == tr.getRight()) return true;
return upPath (tr.getLeft(), tr.getValue()) || upPath (tr.getRight(), tr.getValue());
}
) שונים זה מזה1 הפעולה מקבלת עץ בינרי של מספרים שלמים טבעיים ( שלמים גדולים מ
x ומספר טבעי
:תנאי קדם
, x הפעולה מחזירה 'אמת' אם קיים מסלול עולה משורש העץ עד עלה שערך השרש שלו גדול מ
.שקר – אחרת
:תנאי בתר
private static boolean upPath(BinNode<Integer> tr, int x)
{
if (tr == null) return false;
if (tr.getValue() <= x) return false;
if (! tr.hasLeft() && ! tr.hasRight()) return true;
return upPath (tr.getLeft(), tr.getValue()) || upPath(tr.getRight(), tr.getValue());
}
הילה קדמן
blog.csit.org.il
6112 - תשע"ו- 899381 :שאלון
מדעי המחשב
11
פרק שלישי
מערכות מחשב ואסמבלר
אור- רונית (מרציאנו) גל:הפתרון לפרק זה נכתב ע"י
7 תרגיל
.א
tav db ?
; count bits in tav
count:
mov al,tav
mov cl,0
again:
shr al,1
adc cl,0
cmp al,0
jne again
continue:
mov ch,cl ; keep cl
; check if Even number
and ch,1
jz even
; not even
rol tav,cl
jmp sof
even:
ror tav,cl
sof: nop
.ב
לא נכון
)1(
.4 לא תהיהax התשובה ב,1 יש ערך השונה מdx ולכן אם בbx בdx ax מבצעת חילוק שלdiv bx הפקודה
mov ax,8
mov bx,2
div bx
ah לא ידוע מה יש בal=1 בסים הקטע
לא נכון
)6(
לא נכון
)3(
mov al,56
add al,200
jz stop
inc al
stop:
ax=3000h בסים הקטע
הילה קדמן
blog.csit.org.il
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
16
11
14
11
30
33
02
11
01
תוכן
07
06
05
04
03
02
01
11
כתובת
ax=3000h
()4
נכון
()5
נכון
array dw 1,2,3,4
mov bx,array
add bx,2
]mov ax,[bx
mov cx,3
mov ax,1
do:
shl ax,1
loop do
mov ax,11000001b
mov bx,01000001b
מכיוון שהנתון בשאלה הוא בית והוא נכנס ל אוגר מילה ,תמיד ההשוואה ביניהם תהיה ש axגדול יותר
()2
נכון
or al,3
orאם ביט 1תמיד ייתן 1לא משנה אם הביט המקביל הוא 1או 1
blog.csit.org.il
הילה קדמן
6112 - תשע"ו- 899381 :שאלון
מדעי המחשב
13
8 תרגיל
cx
ax
si
ch
cl
ah
al
00h
04h
45h
45h
0000h
04h
04h
05h
0001h
00h
04h
00h
14h
0002h
00h
03h
26h
26h
0003h
04h
02h
06h
0004h
00h
03h
00h
0ch
00h
02h
32h
32h
04h
03h
02h
00h
02h
00h
06h
00h
01h
82h
82h
04h
08h
02h
00h
01h
00h
10h
00h
00h
sp
sp spspsp
.א
111h
0ffh
00h
00h
00h
00h
0feh
04h
03h
06h
01h
0fdh
0fch
0fbh
0fah
0f0h
0f9h
תמונת הזיכרון
vec1 db 45h,26h,32h,82h
vec2 db 0,0,0,0
לפני
vec1 db 45h,26h,32h,82h
vec2 db 14h,0ch,2h,10h
אחרי
הילה קדמן
blog.csit.org.il
6112 - תשע"ו- 899381 :שאלון
מדעי המחשב
14
.5 מאוחסן המספרbl ובאוגר6 מאוחסן המספרal באוגר
. כוללbl עדal את סכום המספרים מdx יש לאחסן באוגר
לא מבצע
.ב
1 קטע
mov al,2
mov bl,5
mov dx,0
mov ah,0
mov cl,al
sub cl,bl
again:
add dx,ax
inc al
loope again
nop
cx
ch
dx
cl
02h
dh
ax
dl
ah
bx
al
bh
00h 00h 00h 02h
0fdh 00h 02h
bl
05h
03h
0fch
loope ואז יוצא מהלולאה בגלל ה
cx בנוסף שימו לב לערך של
מבצע
2 קטע
לא מבצע
3 קטע
mov al,2
mov bl,5
xor dx,dx
mov bh,0
again:
add dx,bx
dec bl
cmp bl,al
jge again
nop
mov al,2
mov bl,5
מתאפסים ישר בהתחלהbl ןal
xor dx,dx
xor ax,ax
mov bx,0
again:
add dx,ax
add ax,1
cmp ax,bx
jl again
nop
הילה קדמן
blog.csit.org.il
מדעי המחשב
15
שאלון - 899381 :תשע"ו 6112 -
מבוא לחקר ביצועים
שאלה 9
שאלה 11
blog.csit.org.il
הילה קדמן
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
12
מודלים חישוביים
הפתרון לפרק זה נכתב ע"י רחל לודמר.
תרגיל 11
L L1 L2 L1 L2
א.
כאשר:
}L1 {a k | k %2 1, k 0
}L2 {b k | k %2 0, k 0
ב.
b
a
a
b
a
b
b
b
b
blog.csit.org.il
a
b
a
a
הילה קדמן
מדעי המחשב
17
שאלון - 899381 :תשע"ו 6112 -
שאלה 12
blog.csit.org.il
הילה קדמן
מדעי המחשב
18
שאלון - 899381 :תשע"ו 6112 -
תכנות מונחה עצמים Java
תרגיל 13
א.
()1
שגיאת קומפילציה (הידור).
הפעולה )( fooאינה מוגדרת עבור עצם מהטיפוס Object
()6
שגיאת קומפילציה (הידור).
הפעולה )( fooאינה מוגדרת עבור עצם מהטיפוס B
()3
תקין
()4
שגיאת קומפילציה (הידור).
הפעולה )( fooאינה מוגדרת עבור עצם מהטיפוס Object
ב.
blog.csit.org.il
הילה קדמן
6112 - תשע"ו- 899381 :שאלון
מדעי המחשב
19
14 תרגיל
.א
.ב
1
1
6
3
4
5
Object a
A
A
x(A)
0
x(A) 5
B
B
x(A) 0
x(B)
B
x(A) 5
1
x(B)
-5
-15
x(B)
4
40
B
A aa
x(A)
x(B)
הילה קדמן
2
x(A)
3
10 8
blog.csit.org.il
מדעי המחשב
ג.
61
שאלון - 899381 :תשע"ו 6112 -
()1
()6
()3
()4
()5
()2
blog.csit.org.il
הילה קדמן
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
61
תכנות מונחה עצמים C#
הפתרון לפרק זה נכתב ע"י דיתה אוהב-ציון.
שאלה 15
א1 .
שגיאת הידור .העצם gמטיפוס המחלקה Objectשלא מכילה ולא מכירה את הפעולה )(.Foo
(מחלקת אב לא מכירה פעולות שיש בבנים שלה)
א2 .
שגיאת הידור .העצם gמטיפוס המחלקה Bשלא מכילה ולא מכירה את הפעולה )(.Foo
(מחלקת אב לא מכירה פעולות שיש בבנים שלה)
א3 .
תקין.
א4 .
שגיאת הידור .העצם gמטיפוס המחלקה Objectשלא מכילה ולא מכירה את הפעולה )(.Foo
(מחלקת אב לא מכירה פעולות שיש בבנים שלה)
ב.
המחלקה Artist
משתנה סטטי על פי הקריאה
Artist.num
public class Artist
{
;protected string name
;protected double sal
;protected static int num
} { )public Artist(double sal, string name
בנאי המתאים לקריאה עם שתי מחרוזות
הפעולה )( Valueמפעילה אותו
}{)public Artist(double sal, string name, string name1
} { )(public double Price
על פי ההקריאה )(base.Calc
מאחר וב Singer -היא ,override
הרי באב היא וירטואלית
על פי ההקריאה )(base.Print
} { )public virtual double Calc(double d
} { )(public virtual void Print
מאחר וב Singerהיא ,override
הרי באב היא וירטואלית
} { )(public int Train
מאחר ואין הגדרה לפעולה כמימוש
מהממשק ב Singerהרי היא מוגדרת
באב.
blog.csit.org.il
}
הילה קדמן
מדעי המחשב
שאלון - 899381 :תשע"ו 6112 -
66
שאלה 16
א.
ההוראה השלישית ; B b1= a1שגויה .עצם מטיפוס מחלקה יורשת לא יכול להחזיק עצם ממחלקת האב.
;B b1 = (B)a1
יש לבצע המרה
ב.
;)aa = new B(3, 10
A
;)( aa.Subתפעיל את הפעולה מ B -הדורסת
לכן הערך ישתנה ל8 -
השורה ;)( ((A)ar[3]).TripleXתשנה את הערך
(הפעולות המופעלת הן הפעולות הדורסות של ). B
B.x= -15
השורה ;)( ((B)ar[4]).TenTimesXתשנה את הערך B.x= 40
blog.csit.org.il
הילה קדמן
מדעי המחשב
63
שאלון - 899381 :תשע"ו 6112 -
ג.
.1
תקין .הפלט ;xA=198 xB=99 :
.2
;)(a2.TenTimesX
לא תקין -שגיאת הידור.
הפניה מטיפוס האב לא מכירה פעולות ממחלקות יורשות .תיקון אפשרי ((B)a2).TenTimesX(); :
.3
אותה שגיאה .ה if -לא משנה.
.4
;)(((B)a1).TenTimesX
שגיאת זמן ריצה .הפניה מטיפוס האב המחזיקה עצם מטיפוס אב לא מכירה את היורשים ממנה.
.5
תקין .הפלט ;xA=2 xB=97 :
.6
תקין .הפלט .2 :
blog.csit.org.il
הילה קדמן
© Copyright 2025