'ב בשחמה יעדמ -...

27
מדעי המחשב1 עיצוב תכנה שאלון:899205 - תשע"ב- 2012 log.csit.org.il b הילה קדמן מדעי המחשב ב' פתרון בחינת הבגרות פרק א- עיצוב תכנה שאלה1 : 5 4 3 2 1 0 18 5 14 4 8 2 a א. מעקב אחר הפעולה: הגדרת קיצור:kar = karamba ב. עבור מערך בגודל6 המכיל מספרים שלמים שערכם2 , כל ההוראות הבאות יחזירו ערך6 : ערך( k יכול להיות כל מספר הקטן מ- 2 ) , כולל מספר שליליkaramba(1, a, 0, 2) , karamba(1, a, 1, 3) , karamba(1, a, 2, 4) , karamba(1, a, 3, 5) ג. הפעולה מחזירה את סכום כל איברי המערך, בין המקומותs ו- e , הגדולים מ)כולל( - k . ד. סיבוכיות הפעולה הואO(n) פונקצית זמן הריצה של הפעולה הוא: נימוק:f n = log 2 n + n O(n) הפעולה מחלקת שוב ושוב את המערך עד לקבלת איבר אחד(log 2 n) ואחר כך מסכמת- בחזרה מהרקורסיה- את כל האיברים. בסה"כ עוברת הפעולה פעם אחת על כל אחד מ- n איברי המערך. פלט ההוראה הוא:40 40 kar (6,a,1,5) 22 kar (6,a,1,3) 18 kar (6,a,5,5) (a[5] == 18) > 6 0 kar (6,a,4,4) (a[4] == 5) > 6 18 kar (6,a,4,5) 14 kar (6,a,3,3) (a[3] == 14) > 6 8 kar (6,a,1,2) 8 kar (6,a,1,1) (a[1] == 8) > 6 0 kar (6,a,2,2) (a[2] == 4) > 6

Transcript of 'ב בשחמה יעדמ -...

Page 1: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 1 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

מדעי המחשב ב' פתרון בחינת הבגרות

עיצוב תכנה -פרק א

:1שאלה

5 4 3 2 1 0

18 5 14 4 8 2 a

kar = karamba הגדרת קיצור: מעקב אחר הפעולה: א.

,2המכיל מספרים שלמים שערכם 6עבור מערך בגודל ב. , כולל מספר שלילי(2 -להיות כל מספר הקטן מ יכול k)ערך : 6כל ההוראות הבאות יחזירו ערך

karamba(1, a, 0, 2) , karamba(1, a, 1, 3) , karamba(1, a, 2, 4) , karamba(1, a, 3, 5)

.k -)כולל(, הגדולים מ e -ו sהפעולה מחזירה את סכום כל איברי המערך, בין המקומות ג.

O(n)סיבוכיות הפעולה הוא ד. fn = log2n + n O(n) נימוק: פונקצית זמן הריצה של הפעולה הוא:

(log2n)הפעולה מחלקת שוב ושוב את המערך עד לקבלת איבר אחד את כל האיברים. -בחזרה מהרקורסיה -ואחר כך מסכמת איברי המערך.n -פעם אחת על כל אחד מ הפעולה בסה"כ עוברת

40פלט ההוראה הוא:

40

kar (6,a,1,5)

22

kar (6,a,1,3)

18

kar (6,a,5,5)

(a[5] == 18) > 6

0

kar (6,a,4,4)

(a[4] == 5) > 6

18

kar (6,a,4,5)

14

kar (6,a,3,3)

(a[3] == 14) > 6

8

kar (6,a,1,2)

8

kar (6,a,1,1)

(a[1] == 8) > 6

0

kar (6,a,2,2)

(a[2] == 4) > 6

Page 2: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 2 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:Java :2שאלה

סיבוכיות הפעולה: ב. הצמתים בעץ. n -אחד מהפעולה עוברת על כל

האיברים במחסנית, nספירת - Iלפי אפשרות O(nסיבוכיות הפעולה

2)

איברים 3ספירה של עד - IIלפי אפשרות O(n)ולכן סיבוכיות הפעולה O(1) במחסנית

Page 3: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 3 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

Page 4: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 4 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

// --- איברים שבצמתי העץ 3של סכום עד מחסניתפעולה המחזירה --- C# : public static Stack<int> TreeSumStack (BinTreeNode<Stack<int>> t) { Stack<int> s = new Stack<int>(); Sum (t, s); return s; } 1דרך ---// --- public static void TreeSumStack(BinTreeNode<Stack<int>> t, Stack<int> s) { if (t != null) { Sum(t.GetLeft(), s); int n = 3, sum = 0; Stack<int> s2 = t.GetInfo(); while (! s2.IsEmpty() && n > 0) { sum = sum + s2.Pop(); n -- ; } Sum(t.GetRight(), s); } }

2דרך ---// --- public static void TreeSumStack(BinTreeNode<Stack<int>> t, Stack<int> s) { if (t != null) { Sum(t.GetLeft(), s); int sum = SumStack (t.GetInfo(); s.Push(sum); Sum(t.GetRight(), s); } }

האיברים שבראש המחסנית 3פעולה המחזירה את סכום עד ---// --- public static int SumStack(Stack<int> s) { int sum = 0; for (int i = 0 ; I < 3 ; i++) if (! s.IsEmpty()) sum += s.Pop(); return sum; }

Page 5: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 5 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:3שאלה

א. --- פעולה המחזירה עותק של הקבוצה ---//

public static RealSet clone (RealSet rs)

{

RealSet rs1 = new RealSet();

RealSet rsTemp = new RealSet();

int n = sr.size();

double x;

for (int i = 0 ; i < n ; i ++)

{

x = rs.findBiggest();

rs1.insert (x);

rsTemp.insert (x);

rs.remove (x);

}

for (int i = 0 ; i < n ; i ++)

{

x = rsTemp.findBiggest();

rs.insert (x);

rsTemp.remove (x);

}

return rs1;

}

--- פעולה המחזירה קבוצה חדשה המכירה רק את האיברים השליליים מהקבוצה הנתונה ---//

public static RealSet buildNeg (RealSet rs)

{

RealSet rs1 = clone (rs);

double x;

int n = rs1.size();

while (n > 0)

{

x = rs1.findBiggest();

if (x < 0)

return rs1;

rs1.remove();

n -- ;

}

return rs1; // אם אין איברים שליליים, תוחזר קבוצה ריקה

}

Java :

Page 6: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 6 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

--- פעולה המחזירה עותק של הקבוצה ---//public static RealSet Clone(RealSet rs) { RealSet s1 = new RealSet(); RealSet s2 = new RealSet(); int n = rs.Size(); double num; for (int i = 1; i <= n; i++) { num = rs.FinBiggest(); rs.Remove(num); s1.Insert(num); s2.Insert(num); } for (int i = 1; i <= n; i++) { num = s2.FinBiggest(); s2.Remove(num); rs.Insert(num); } return s1; }

ה רק את האיברים השליליים מהקבוצה הנתונהלולה המחזירה קבוצה חדשה המכיפע ---// ---

public static RealSet BuidNeg(RealSet rs) { RealSet s = Clone(rs); double num; bool finish = false; int n = s.Size(); while (n > 0) { num = s.FinBiggest(); if (num >= 0) { s.Remove(num); n -- ; } else finish = true; } return s2; }

C# : ראמי ג'באלינכתב ע"י

Page 7: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 7 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:4שאלה

א.

ב.

ג.

Java :

Page 8: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 8 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

ד.

דרך כתיבה נוספת לניהול השלב השני של המשחק:boolean gameOver = false;

while (! gameOver)

{

if (! deck.move())

gameOver = true;

}

Page 9: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 9 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

פרק ב'

מערכות מחשב ואסמבלר הפתרון לפרק זה נכתב ע"י:

מקיף ט' ראשון לציון –סוזי גנזיה

: 5תרגיל

א. הוראה A AX CXתא זיכרון

69H= 01101001B

AL AH

00 00 0002 MOV CX,2 00 00 MOV AX,0

01101001B (69h)

MOV

AL,A

01101001B

(69h)

ADD AH,A

10100100b A4h))

10100101b

A5h))

Next: SHL

AX,CL 10100101b

A5h))

OR

AL,AH

00101001b

29h))

SHR

AH,CL 0001 LOOP

NEXT 01001001B (4Ah) 01010011b

(53h)

Next: SHL

AX,CL 01011011b

(5Bh)

OR

AL,AH 01011011b

(5Bh) 00101001b

29h))

SHR

AH,CL 0000 LOOP

NEXT 01011011b

(5Bh)

MOV

A,AL

1השלמה MOV AX, PLACE .1 ב.

MOV BX,1 2השלמה

SAR AX,1אשר שייכת למספרים לא מכוונים תוחלף בהוראה SHR AX,1אם ההוראה 2 השייכת למספרים מכוונים ישתנה ביצוע הקטע בשל השפעתו על הסיבית המשמעותית ביותר, .0FFFFHהיה: סיבית הסימן )מריחת סימן( והתוצאה שתתקבל ת

Page 10: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 10 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:6תרגיל

א.

יכרון של המערך לפני ביצוע התוכניתמפת ז

20B 20A 209 208 207 206 205 204

F1 C 11 1A A8 21 6 2

מפת זיכרון של המערך לאחר ביצוע התוכנית:

20B 20A 209 208 207 206 205 204

C 11 1A A8 21 6 2 0

קטע התכנית מבצע הזזה שמאלה של תאי המערך ומכניס אפס לתא הראשון. .2

AX CX SI

AL AH 20A 0007

C0 209 0006

11 208 0005

1A 207 0004

A8 206 0003

21 205 0002

06 204 0001

02 204 0000

00

Page 11: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 11 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

1. MOV AL, 0A1h (0A1h =10100001b)

SUB AL,11111101b

10100001-11111101=10100100b ( borrow )בפעולת החיסור התבצע

AL= 10100100b (A4h)לאחר הפעולה,

of pf sf zf cf

0 0 1 0 1

2. MOV AL, 01110111b (77h)

ADD AL,29D (29D = 1Dh)

77h+1dh= 94h )94 מספר שלילי, התבצעה גלישהh)

AL= 10010100b (94h)לאחר הפעולה

of pf sf zf cf

1 0 1 0 0

Page 12: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 12 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:7תרגיל Cmp CX DX AX מחסנית

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

sp

88 88

8888

תוכנית ראשית

SP 11

11 88

88 :CALL UPLILאחרי פקודת

SP כתובת חזרה

11 11

88 88

A305 שגרה

05

BP=SP ובת כת חזרה

BP+2 11 11

BP+4 88 88

1111

BP=SP כתובת חזרה

BP+2 22 22

BP+4 88 88

F

04 Shl -

>

2222

BP=SP כתובת חזרה

BP+2 44 44

BP+4 88 88

F 8888

4444

Shl -

>

Page 13: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 13 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

תמונת מחסנית במהלך הרצת השגרה:

BP=SP כתובת חזרה

BP+2 11

11

BP+4 88

88

BP=SP כתובת חזרה

BP+2 22

22

BP+4 88

88

BP=SP רהכתובת חז

BP+2 44

44

BP+4 88

88

BP=SP כתובת חזרה

BP+2 88

88

BP+4 88

88

תמונת זיכרון:

CHECK SUM NUMBER

0004 0003 0002 0001 0000

? 11 11 A3 05

1 11 11 A3 05

ואי החזרתם RET 4 בשל מחיקת ערכי המחסנית ע"י הפקודה 1111יישאר ללא שינוי, ערכו SUM ב. כנית הראשית.לת

Page 14: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 14 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:8שאלה

.CODE

MOV AX, @DATA

MOV DS,AX

MOV CX,100

MOV DH,0

MOV SI,OFFSET NUMBERS

AGAIN: MOV BL,[SI]

MOV BH,0

MOV DH,APP [BX]

INC DH

MOV APP[BX],DH

INC SI

LOOP AGAIN

SOF: MOV AX, 4C00h

INT 21h

END

Page 15: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 15 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

פרק ב'

מבוא לחקר ביצועים

:9שאלה

:10שאלה

:11שאלה

:12שאלה

Page 16: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 16 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

פרק ב'

מודלים חישוביים .רחל לודמרהפתרון לפרק זה נכתב ע"י

: 13תרגיל

א.

ab,aa,bbמילה מינימאלית המתקבלת ע"י האוטומט: (1) ב.

abbb: 3וארכה גדול מ a –מילה המתחילה ב (2)

bbbbbb: 3וארכה גדול מ b –מילה המתחילה ב (3)

(4) }12%||,},{,0|{ 2 wbawnbאוawL n

באורך זוגי חיובי . bואורכן זוגי או רצף של a -הן מילים המתחילות ב L -המילים ב

1

q0 q1 q2

0

1

1

1

0

q3

0

1

0

q4

0

Page 17: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 17 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:14שאלה

אוטומט מחסנית עבור השפה:

}0|)(){( 12 nbabcabaL nn

:15שאלה

ב. א.

ww2 אינו מהצורהvv .

.b -אחרי ה aשייכת לשפה ואין abהטענה לא נכונה. המילה (i) ג.

(ii) הטענה לא נכונה. המילהabb מסתיימת ב- b כת לשפה.ולא שיי

(iii) הטענה נכונה. שפת האוטומט היא אוסף כל המילים מעל הא"ב{a,b} 2שאין בהם - b .רצופים

A,b/ללא שינוי

S /S,bשלוף

SA/├,aדחוף AA/A,aדחוף

b,├/ללא שינוי

S,a/ללא שינוי A,a/ללא שינוי

A,a/ללא שינוי

a,├/ללא שינוי b,├/ללא שינוי A,b/ללא שינוי

A,c/ללא שינוי

S,b/ללא שינוי A,b/ללא שינוי

A /A,bשלוף

a,├/ללא שינוי b,├/ללא שינוי

12

11

1|

Lcbaww

Lcbaww

icbw

iij

iii

ii

12

11

1|

Lbbaaww

Lbbaaww

ibaw

ij

ii

i

Page 18: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 18 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:16שאלה

#aaa?b#מסלול חישוב עבור הקלט: א.

# b ? a a a # 1.

0q

# b ? a a a # 2.

0q

# b ? a a a # 3.

0q

# b ? a a a # 4.

0q

# b ? a a a # 5.

0q

# b ? a a a # 6.

1q

# b ? a a # # 7.

2q

# b ? a a # # 8.

2q

# b ? a a # # 9.

2q

# b ? a a # # 10.

2q

# b ? a a # # 11.

2q

# b ? a a # # 12.

3q

Page 19: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 19 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

##aA### הפלט:

. ###B###. הפלט במקרה זה הוא: Bהתו שירשם במקום ? הוא ב.

מטרת המכונה: ג. התווים הראשוניים של mבמקום התו ?, וכן A , המכונה תרשום b -גדול ממספר ה a -כאשר מספר ה

#. -יהפכו ל b -#, וגם כל תווי ה -)השמאליים ביותר( יהפכו ל a -ה

####|,0 הפלט יהיה מהצורה: mmnAa mmnm

b -ה n#, וכן -יהפכו ל a -, כל הB -, התו ? יהפוך ל a -גדול או שווה למספר ה b -וכאשר מספר ה #. -הימניים ביותר יהפכו ל

####|,0הפלט יהיה מהצורה: nnmBb nnmn

# # ? a a # # 13.

0q

# # ? a a # # 14.

0q

# # ? a a # # 15.

0q

# # ? a a # # 16.

0q

# # ? a a # # 17.

1q

# # ? a # # # 18.

2q

# # ? a # # # 19.

2q

# # ? a # # # 20.

2q

# # ? a # # # 21.

3q

# # A a # # # 22.

4q

Page 20: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 20 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

פרק ב'

Javaתכנות מונחה עצמים

: 17תרגיל

מוגדרת בתת המחלקה שלה. validCodeא מחלקת העל. הפעולה הי A לא נכון. (i) א. (ii) .נכון B יורשת מ- A .ולכן היא גם יורשת את כל התכונות ואת כל הפעולות (iii) .התכונה לא נכוןmyVal שב- A היא תכונה פרטית(private) ( ולא מוגנתprotected.) (iv) .לא נכון A אינה מכירה את התכונות שלB ולכן אינה יכולה להתייחס אליהן )גם אם הן לא היו מוגדרות כתכונות פרטיות(.

ב. public B (int val, double x)

{

super(val);

this.x = x;

}

שבעקבות ההוראה עבר המרה כלפי מעלה Bהוא אובייקט מטיפוס code שגיאת הידור. (i) ג. אינה חוקית. Bש ממנו לבצע פעולה של . ולכן הניסיון לבקAלטיפוס

(ii) .שגיאת הידור num הוא אובייקט מטיפוסA ולכן ,validCode .אינה שייכת לפעולות שלו

(iii) .ההמרה לטיפוס שגיאת הידורB .מתבצעת על התוצאה של הפעולה ל (. התוצאה היא ערך בוליאני שאינו יכוiהפעולה מביאה לשגיאת הידור )סעיף להיות מומר לטיפוס בוליאני.

()boolean myBool = ((B)code).validCode -שינוי ההוראה ל הייתה הופכת את ההוראה לתקינה.

(iv) הידור.שגיאת num אינו מטיפוסA ולכן אי אפשר לבצע לו המרה לטיפוסB. ()boolean myBool = ((B)num).validCode -ל)שינוי ההוראה תיתן שגיאת זמן ריצה(.

Page 21: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 21 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

ד.

אינה עוברת שינוי. Aשבמחלקה fהפעולה דרך א:

במחלקה של הפעולה הראשית נכתוב:

main -קטע הקוד בA [] arr = new A[5];

arr[0] = new A (1);

arr[1] = new B (2, 2.2);

arr[2] = new B (3, 3.3);

arr[3] = new A(4);

arr[4] = new B (5, 5.5);

int countB = 0;

for (int i=0 ; i<arr.length ; i++)

{

if (arr[i] instanceof B)

countB ++;

}

int countA = arr.length - countB;

:Aבמחלקה fשינוי הפעולה דרך ב:

main -קטע הקוד ב Aבמחלקה fשינוי הפעולה public int f()

{

if (this instanceof B)

return 1;

return 0;

}

A [] arr = new A[5];

arr[0] = new A (1);

arr[1] = new B (2, 2.2);

arr[2] = new B (3, 3.3);

arr[3] = new A(4);

arr[4] = new B (5, 5.5);

int countA = 0, countB = 0;

for (int i=0 ; i<arr.length ; i++)

{

if (arr[i].f() == 1)

countB ++;

else

countA ++;

}

Page 22: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 22 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:18תרגיל

A

int n

char ch

2

G

A a3

A

int n

char ch

1

M

B

int n

char ch

A a

2

G

B b2

A

int n

char ch

4

E

B

int n

char ch

A a

2

G

B b1

A

int n

char ch

3

M

A a2

A

int n

char ch

4 5

E F

A a1

פלט התכנית:

F F F F F

M M M

E E E E

M

G G

B b2 = new B (b1, 1);

אין פעולה בונה המקבלת עצם Bמחלקה בעצם ה בונה המקבלתיש פעולאבל B מסוג , A סוג שלהוא B -כיוון שמ .Aמסוג

העצם שהועבר כפרמטר ) מופעלת פעולה בונה זו

.(מקבל הפניה מסוג מחלקת העל שלו

Page 23: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 23 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:19תרגיל

א.

Item

EdSoft Book

TextBook

Library

IApprovable

IRankable

IReadable

Page 24: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 24 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

ב.

Page 25: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 25 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

:20שאלה

א.

ב.

Participant -משתתף Sadna -סדנה

PaidSadna סדנה בתשלום

Materials -חומרים

Hugim –חוגים התכנית הראשית

כוללת מערך של סדנאות

Page 26: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 26 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

חוגים -התכנית הראשית כולל יצירת חוג אחד מטיפוס סדנה שתשלום )לא נדרש בבחינה.(

Page 27: 'ב בשחמה יעדמ - blog.csit.org.ilblog.csit.org.il/UpLoad/FilesUpload/pitaron_205_2012.pdf · rs.Insert(num); return s1; //--- הנותנה הצובקהמ םיילילשה

עיצוב תכנה 27 מדעי המחשב

2012 -תשע"ב - 899205שאלון:

log.csit.org.ilb הילה קדמן

פרק ב'

#Cתכנות מונחה עצמים ........ע"י הפתרון לפרק זה נכתב

: 21תרגיל

:22תרגיל

:23תרגיל

:24שאלה