Professional Documents
Culture Documents
מ ד ע י ה מ ח ש ב ב׳
®Ï¢ÁÈ μ–Ï ‰ÓÏ˘‰© „ÂÓÈÏ ˙„ÈÁÈ ≤
הוראות לנבחן
Æ˙ÂÎ˙Ï Ô˙ȉ ·˘ÁÓÓ ıÂÁ ¨¯ÊÚ ¯ÓÂÁ ÏÎ ∫˘ÂÓÈ˘· ¯˙ÂÓ ¯ÊÚ ¯ÓÂÁ Æ‚
∫˙„ÁÂÈÓ ˙‡¯Â‰ Æ„
Ô¢‡¯‰ ˜¯Ù· ·˘ÁÓ ˙Ù˘· ·Â˙ÎÏ ˘¯„ ‰˙‡˘ ˙ÂÈÎ˙‰ ÏÎ ˙‡ ®±©
Æ Java ‡ C# — „·Ï· ˙Á‡ ‰Ù˘· ·Â˙Î
Æ Java ‡ C# — ·˙ÂÎ ‰˙‡ שפהÂÊȇ· ˙¯·ÁÓ‰ Ï˘ ©≤® רשוֹם על הכריכה החיצונית
¨˙„ÓÏ˘ מסלול‰ Ì˘ ˙‡ ˙¯·ÁÓ‰ Ï˘ ©≥® רשוֹם על הכריכה החיצונית
¨ÌÈÚˆȷ ¯˜ÁÏ ‡Â·Ó ¨¯Ï·Ó҇ ·˘ÁÓ ˙ÂίÚÓ ∫ÌÈÏÂÏÒÓ‰ ˙Ú·¯‡Ó „Á‡
ÆÌÈÓˆÚ ‰ÁÂÓ ˙ÂÎ˙ ¨ÌÈÈ·Â˘ÈÁ ÌÈÏ„ÂÓ
̘ӷ ‰Ï„‚ ˙‡ ·Â˙Î˙ ̇ ¨˙„˜ ÍÏ »„¯»È ‡Ï ·˙ÂÎ ‰˙‡˘ ˙ÂÈÎ˙· ∫‰¯Ú‰
ÆÍÙ‰Ï Â‡ ‰Ë˜ ˙‡
Æ®‰Ó„ΠÌÈ·Â˘ÈÁ ¨ÌȘ¯Ù È˘‡¯© ‰ËÂÈËÎ ·Â˙ÎÏ Íˆ¯·˘ ‰Ó ÏÎ ¨ÌÈ„¯Ù ÌÈ„ÂÓÚ· ¨„·Ï· ‰ÈÁ·‰ ˙¯·ÁÓ· ·Â˙Î
°‰ÈÁ·‰ ˙ÏÈÒÙÏ Ì¯‚Ï ÏÂÏÚ ‰ÈÁ·‰ ˙¯·ÁÓÏ ıÂÁÓ˘ ÌÈÙ„ ÏÚ Ô‰˘ÏÎ ˙ÂËÂÈË ÌÂ˘È¯ ƉËÂÈË „ÂÓÚ ÏÎ ˘‡¯· ¢‰ËÂÈË¢ Ì«˘¯
2
8 7
4 9
13 12
4 8
1 14
9 6
11 7
st2 st1
ÌÈÎÂÓÒ Ìȯ·È‡ È˘ ÏÎ ÌÂÎÒÓ ¯˙ÂÈ Ï„‚ st1 ˙ÈÒÁÓ· 12– 9 ÌÈÎÂÓÒ‰ Ìȯ·È‡‰ ÌÂÎÒ
Æ21 ¯ÈÊÁ˙ ‰ÏÂÚÙ‰ ÔÎÏ ¨st2 ˙ÈÒÁÓ·
ÚÈÙÂÓ ‡Â‰ ͇ ¨21–Ó ¯˙ÂÈ Ï„‚ ÌÓÂÎÒ˘ ÌÈÎÂÓÒ Ìȯ·È‡ ‚ÂÊ Ì‚ ˘È st1 ˙ÈÒÁÓ· ∫·Ï ÌÈ˘
Æ12– 9 ÌÈÎÂÓÒ‰ Ìȯ·È‡‰ ‚ÂÊÓ ˙ÈÒÁÓ· ¯˙ÂÈ ˜ÂÓÚ
RangeNode
private int from; // Ûˆ¯· ¯˙ÂÈ· Ô˘‰ ¯ÙÒÓ‰
private int to; // Ûˆ¯· ¯˙ÂÈ· Ï„‚‰ ¯ÙÒÓ‰
public RangeNode(int from, int to)
Ø¥ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠¥≠
C# –· „Á‡Â ¨®μ≠¥ ÌÈ„ÂÓÚ© Java –· „Á‡ ∫ÌÈÁÒÂ È˘ ÂÊ ‰Ï‡˘Ï שים לב׃ .3
Æ˙„ÓÏ˘ ‰Ù˘‰ ÈÙ ÏÚ „Â·Ú Æ®∑≠∂ ÌÈ„ÂÓÚ©
Java –· Ìȯ˙ÂÙÏ
˙Âڄ‰ ˙·È˙ ˙Ȉ˜ÂÓ ˘Ï‚ ÏÎÏ Æ‰ÊÏ ‰Ê ˙Âڄ‰ ÁÂÏ˘Ï ÌÈÏÂÎÈ ¢˙ËÙËÙ¢ ¯˙‡· ÌÈ˘Ï‚
‰Ú„‰ ÏÎÏ ÆϷȘ ˘Ï‚‰˘ ˙Âڄ‰‰ ˙ÂÒÁÂ‡Ó ‰·È˙ Ïη Æ˙È·–ÂÏȘ 100 τ‚·
Ư˙ÂÈ ‰Â·‚ ‰Ï˘ ȯ„ÈÒ‰ ¯ÙÒÓ‰ ¯˙ÂÈ ‰˘„Á ‰Ú„‰‰˘ ÏÎÎ Æȯ„ÈÒ ¯ÙÒÓ ‰ŒˆO»Ó
Æ˙È·–ÂÏȘ· ‰Ú„‰‰ τ‚ ¨È¯Â„ÈÒ ¯ÙÒÓ ¨‰Ú„‰‰ ÔÎÂ˙ ¨ÁÏ¢‰ Ì˘ ˙‡ ‰ÏÈÎÓ ‰Ú„‰ ÏÎ
ÆÌÏ˘ ¯ÙÒÓ ‡Â‰ ‰Ú„‰‰ τ‚
Ɖ·È˙‰Ó ˜ÏÁ ‡Â‰˘ ‰Ù˘‡ ÏÒ ˘È ˙Âڄ‰‰ ˙·È˙Ï
Æ˙ÂÏÈÚÙ ˙Âڄ‰ ˙‡¯˜ ‰Ù˘‡‰ ÏÒ· Ôȇ ˙Âڄ‰‰ ˙·È˙· ˙‡ˆÓ˘ ˙Âڄ‰
Æ‰Ù˘‡‰ ÏÒ· ˙‡ˆÓ˘ ˙Âڄ‰ ˜ÂÁÓÏ Â‡ ‰Ù˘‡‰ ÏÒÏ ˙ÂÏÈÚÙ ˙Âڄ‰ ¯È·Ú‰Ï ÏÂÎÈ ˘Ï‚
ÆÔ‰Ï˘ ȯ„ÈÒ‰ ¯ÙÒÓ‰ ÈÂÈ˘Ï ˙ӯ‚ ‰È‡ ‰Ù˘‡‰ ÏÒÏ ˙Âڄ‰ ˙¯·Ú‰
ÈÂÈ˘Ï ˙ӯ‚ ‰È‡ ˙Âڄ‰ ˙˜ÈÁÓ Æ‰·È˙· ¯˙ÂÈ ˙ÂÓÈȘ Ôȇ ‰Ù˘‡‰ ÏÒÓ Â˜ÁÓ˘ ˙Âڄ‰
Ɖ·È˙· ¯‡˘˘ ˙Âڄ‰‰ Ï˘ ȯ„ÈÒ‰ ¯ÙÒÓ‰
Ø∂ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠∂≠
C# –· Ìȯ˙ÂÙÏ
˙Âڄ‰ ˙·È˙ ˙Ȉ˜ÂÓ ˘Ï‚ ÏÎÏ Æ‰ÊÏ ‰Ê ˙Âڄ‰ ÁÂÏ˘Ï ÌÈÏÂÎÈ ¢˙ËÙËÙ¢ ¯˙‡· ÌÈ˘Ï‚
‰Ú„‰ ÏÎÏ ÆϷȘ ˘Ï‚‰˘ ˙Âڄ‰‰ ˙ÂÒÁÂ‡Ó ‰·È˙ Ïη Æ˙È·–ÂÏȘ 100 τ‚·
Ư˙ÂÈ ‰Â·‚ ‰Ï˘ ȯ„ÈÒ‰ ¯ÙÒÓ‰ ¯˙ÂÈ ‰˘„Á ‰Ú„‰‰˘ ÏÎÎ Æȯ„ÈÒ ¯ÙÒÓ ‰ŒˆO»Ó
Æ˙È·–ÂÏȘ· ‰Ú„‰‰ τ‚ ¨È¯Â„ÈÒ ¯ÙÒÓ ¨‰Ú„‰‰ ÔÎÂ˙ ¨ÁÏ¢‰ Ì˘ ˙‡ ‰ÏÈÎÓ ‰Ú„‰ ÏÎ
ÆÌÏ˘ ¯ÙÒÓ ‡Â‰ ‰Ú„‰‰ τ‚
Ɖ·È˙‰Ó ˜ÏÁ ‡Â‰˘ ‰Ù˘‡ ÏÒ ˘È ˙Âڄ‰‰ ˙·È˙Ï
Æ˙ÂÏÈÚÙ ˙Âڄ‰ ˙‡¯˜ ‰Ù˘‡‰ ÏÒ· Ôȇ ˙Âڄ‰‰ ˙·È˙· ˙‡ˆÓ˘ ˙Âڄ‰
Æ‰Ù˘‡‰ ÏÒ· ˙‡ˆÓ˘ ˙Âڄ‰ ˜ÂÁÓÏ Â‡ ‰Ù˘‡‰ ÏÒÏ ˙ÂÏÈÚÙ ˙Âڄ‰ ¯È·Ú‰Ï ÏÂÎÈ ˘Ï‚
ÆÔ‰Ï˘ ȯ„ÈÒ‰ ¯ÙÒÓ‰ ÈÂÈ˘Ï ˙ӯ‚ ‰È‡ ‰Ù˘‡‰ ÏÒÏ ˙Âڄ‰ ˙¯·Ú‰
ÈÂÈ˘Ï ˙ӯ‚ ‰È‡ ˙Âڄ‰ ˙˜ÈÁÓ Æ‰·È˙· ¯˙ÂÈ ˙ÂÓÈȘ Ôȇ ‰Ù˘‡‰ ÏÒÓ Â˜ÁÓ˘ ˙Âڄ‰
Ɖ·È˙· ¯‡˘˘ ˙Âڄ‰‰ Ï˘ ȯ„ÈÒ‰ ¯ÙÒÓ‰
∫ MessageBox — תיבת הודעות‰˜ÏÁÓ‰ ˜˘ŸÓÓœ Ó ˜ÏÁ ÍÈÙÏ
MessageBox
public MessageBox(string owner) ˙¯ˆÂÈ ‰·È˙‰ ÏÚ· Ì˘ ˙‡ ˙Ï·˜Ó‰ ‰Â· ‰ÏÂÚÙ
Æ˙È·–ÂÏȘ 100 τ‚· ‰˜È¯ ‰·È˙
public bool AddMessage(Message m) ÒÂÙÈËÓ m ‰˘„Á ‰Ú„‰ ‰ÙÈÒÂÓ‰ ‰ÏÂÚÙ
ÆMessage
¨‰˘„Á‰ ‰Ú„Â‰Ï ‰·È˙· ÌÂ˜Ó È„ Ôȇ ̇
ÌȯÙÒÓ‰ ˙ÂÏÚ· ˙Âڄ‰‰ ‰Ù˘‡‰ ÏÒÓ Â˜ÁÓÈÈ
ÌÂ˜Ó È„ ‰È‰È˘ „Ú ¯˙ÂÈ· ÌÈÎÂÓ‰ ÌÈȯ„ÈÒ‰
Ɖ˘„Á‰ ‰Ú„‰Ï
˜ÂÁÓÏ ˙Âڄ‰ È„ Ôȇ ‰·È˙· ÌÂ˜Ó È„ Ôȇ ̇
‡Ï ¨‰·È˙Ï ÛÒÂÂ˙˙ ‡Ï ‰Ú„‰‰ ¨‰Ù˘‡‰ ÏÒ·
Æ‰Ù˘‡‰ ÏÒÓ ˙Âڄ‰ ˜ÁÓÈÈ
¨‰·È˙Ï ‰ÙÒ»‰ ‰Ú„‰‰ ̇ true ¯ÈÊÁ˙ ‰ÏÂÚÙ‰
Æ false ¯ÈÊÁ˙ ‰ÏÂÚÙ‰ ˙¯Á‡
∫˙ÂÁ‰
ÆÔ΄ÂÚÓ È¯Â„ÈÒ ¯ÙÒÓ ˘È m –Ï
Æ˙Âڄ‰‰ ˙·È˙ Ï„Â‚Ó Ô˘ ‰Ú„‰‰ τ‚
public int RemoveFromBin() ¯ÙÒÓ‰ ˙ÏÚ· ‰Ú„‰‰ ˙‡ ˙˜ÁÂÓ‰ ‰ÏÂÚÙ
‰¯ÈÊÁÓ ‰Ù˘‡‰ ÏÒ· ¯˙ÂÈ· Ô˘‰ ȯ„ÈÒ‰
Æ˙È·–ÂÏȘ· ‰Ï„‚ ˙‡
public void EmptyBin() Æ‰Ù˘‡‰ ÏÒÓ ˙Âڄ‰‰ ÏÎ ˙‡ ˙˜ÁÂÓ‰ ‰ÏÂÚÙ
public int GetActiveSize() ˙È·–ÂÏȘ· τ‚‰ ÏÎ ÍÒ ˙‡ ‰¯ÈÊÁÓ‰ ‰ÏÂÚÙ
Æ˙ÂÏÈÚÙ‰ ˙Âڄ‰‰ ÏÎ ˙ÂÒÙÂ˙˘
public int GetBinSize() ˙È·–ÂÏȘ· τ‚‰ ÏÎ ÍÒ ˙‡ ‰¯ÈÊÁÓ‰ ‰ÏÂÚÙ
Æ‰Ù˘‡‰ ÏÒ· ˙Âڄ‰‰ ÏÎ ˙ÂÒÙÂ˙˘
Ø∑ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠∑≠
˙‡Â ¨ MessageBox –· ‰Ú„‰ ˙‚ˆÈÈÓ‰ Message ‰˜ÏÁÓ‰ ˙¯˙ÂÎ ˙‡ C# –· ·Â˙Î .א
ƉÂÎ˙ ÏÎÏ „ÂÚÈ˙ Ì¢¯ Æ‰Ï˘ ˙ÂÂÎ˙‰
Æ‰Ï˘ ˙ÂÂÎ˙‰ ˙‡Â MessageBox ‰˜ÏÁÓ‰ ˙¯˙ÂÎ ˙‡ C# –· ·Â˙Î .ב
ƉÂÎ˙ ÏÎÏ „ÂÚÈ˙ Ì¢¯
ÆMessageBox ‰˜ÏÁÓ‰ ˜˘ÓÓ· ˙‚ˆÂÓ‰ AddMessage ‰ÏÂÚÙ‰ ˙‡ C# –· ˘ÓÓ .ג
˘ÓÓÏ ÈÏ·Ó MessageBox ‰˜ÏÁÓ‰ Ï˘ ˙¯Á‡‰ ˙ÂÏÂÚÙ· ˘Ó˙˘‰Ï ÏÂÎÈ ‰˙‡
ÆÔ˙‡
Message ‰˜ÏÁÓÏ ˙ÂÎÈÈ˘‰ ‡ ÛÈÚÒ· ˙Ó˘¯˘ ˙ÂÂÎ˙‰ ÏÎÏ˘ ÁÈ‰Ï ÏÂÎÈ ‰˙‡
Æ Set – Get ˙ÂÏÂÚÙ ˘È
ÌÂÈ· ÌÚÙ˘ ËÏÁ‰ ¨‰·È˙‰ ˙‡ ÏÈ„‚‰Ï ¢˜È· ÌÈ·¯ ¢ÌÈËÙËÙ¢ ÌÈ˘Ï‚˘ ¯Á‡Ï . ד
ÈÙÏ ˙·È˙‰ ˙‡ ÏÈ„‚˙ ‡ ÔÈ˘˙ ÌÈ˘Ï‚‰ Ï˘ ˙·È˙‰ ÏÎ ÏÚ ˙ίÚÓ‰ ¯Â·Ú˙
‰ÒÂÙ˙‰˘ ‰·È˙ ¨2 ÈÙ Ï„‚Â˙ 80%–Ó ¯˙ÂÈ ‰Ï˘ ‰ÒÂÙ˙‰˘ ‰·È˙ ÆÌ‰Ï˘ ˙ÂÏÈÚÙ‰
ÆȈÁ· Ô˘Â˙ 30%–Ó ˙ÂÁÙ ‰Ï˘
MessageBox ‰˜ÏÁÓ‰ ˙ÂÂÎ˙ ˙‡ ˙Â˘Ï Í¯Ëˆ˙ ÂÊ ‰ËÏÁ‰ ¯Â‡Ï ̇‰ (1)
¨˙¢„Á‰ ˙ÂÂÎ˙‰ ˙‡ ·Â˙Π¨ÚÂ„Ó ¯·Ò‰ — ÔΠ̇ ø· ÛÈÚÒ· ˙·˙΢
ÆÚÂ„Ó ¯·Ò‰ — ‡Ï ̇Â
ø‚ ÛÈÚÒ· ˙·˙΢ ‰ÏÂÚÙ‰ ˙‡ ˙Â˘Ï Í¯Ëˆ˙ ÂÊ ‰ËÏÁ‰ ¯Â‡Ï ̇‰ (2)
ÆÚÂ„Ó ¯·Ò‰ — ‡Ï ̇ ¨˙¢ÚÏ ˘È ÌÈÈÂÈ˘ ÂÏȇ ¯·Ò‰ — ÔΠ̇
Ø∏ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠∏≠
C# –· „Á‡Â ¨ ®π≠∏ ÌÈ„ÂÓÚ© Java –· „Á‡ ∫ÌÈÁÒÂ È˘ ÂÊ ‰Ï‡˘Ï שים לב׃ .4
Æ˙„ÓÏ˘ ‰Ù˘‰ ÈÙ ÏÚ „Â·Ú Æ®±±≠±∞ ÌÈ„ÂÓÚ©
Java –· Ìȯ˙ÂÙÏ
Æ Java –· ˙·Â˙Ή ˙ÂȈÈÁ ˙ÂÏÂÚÙ ≤ ÍÈÙÏ
public static void sod1(Queue1Integer2 qu , Stack1Integer2 st)
{
if (! (qu.isEmpty ()))
{
int x = qu.remove ();
sod1(qu , st);
st.push (x);
qu.insert (x);
}
}
Øπ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠π≠
ÌÈÎ¯Ú ˙ÒΉ
" 9 8 1 3 4 " ÌÈÎ¯Ú ˙‡ˆÂ‰
∫˙ÈÎ˙‰ Ú˘ ÔÂ˙Â
Stack1int2 myStack = new Stack1int2 ();
Sod1(myQueue , myStack);
Sod2 (myQueue , myStack);
ii MOV CX , 5
LEA BX , ARR
MOV AL , 0
A1: MOV [BX] , AL
INC BX
LOOP A1
iii MOV BX , 5
DEC BX
A1: MOV ARR[BX] , 0
DEC BX
JNZ A1
iv MOV DI , 0
A1: MOV ARR[DI] , 0
INC DI
CMP DI , 5
JC A1
ر≥ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠ ±≥ ≠
®Æ‡ ÛÈÚÒÏ ¯˘˜ Ôȇ© .ב
ƉÏÈÓ Ï„Â‚· ÌȯÙÒÓ 10 ÌÈÒÁÂ‡Ó ˙ÈÒÁÓ·
Æ0 –Ó ÌÈ˘˘ ÌÈÈ‚Âʉ ÌȯÙÒÓ‰ ˙‡ ˜¯ ˙ÈÒÁÓ· ¯È‡˘‰Ï ˘È ‰Ï‡‰ ÌȯÙÒÓ‰ ÔÈ·Ó
Æ˙ÈÒÁÓ· ¯‡˘˘ ÌȯÙÒÓ‰ ˙ÂÓÎ ˙‡ DX ¯‚‡· ÔÒÁ‡Ï ˘È ÔÎ ÂÓÎ
Æ 0 –Ó Ô˘˘ „Á‡ È‚ÂÊ ¯ÙÒÓ ˙ÂÁÙÏ ˘È˘ Á‰
Æ˙‡Ê Úˆ·Ó‰ ˙ÈÎ˙ Ú˘ ÍÈÙÏ
Æ vi-i ÌȯÙÒÓ· ÌÈÓÂÒÓ‰ ˙ÂÓ˜ӷ ˙Â¯Â˘ ÂËӢ‰ ˙ÈÎ˙‰ ÚËMÓ
˙‡ ÌȯÙÒÓ‰Ó „Á‡ ÏÎ „ÈÏ ·Â˙Π¨˙ÂÓÂÒÓ‰ ˙Â¯Â˘‰ ȯÙÒÓ ˙‡ Í˙¯·ÁÓ· Ì¢¯
Æ˘¯„‰ ˙‡ Úˆ·È ˙ÈÎ˙‰ Ú˘˘ È„Î ¨‰¯ÒÁ‰ ‰„˜ى ˙¯Â˘
MOV CX , 10
MOV BX , 0
A1: POP AX
MOV DX , AX
i
JC A2
ii
SHL DX , 1
JNC A2
MOV [BX] , AX
iii
iv A2:
SUB BX , 2
A3: MOV AX , [BX]
v
INC CX
vi
CMP BX , 0
JGE A3
MOV DX , CX
i XOR CX , CX
MOV AX , 1
MOV CX , K
A1: MUL CX
LOOP A1
ii MOV AX , 1
MOV CX , 1
A1: MUL CX
INC AX
CMP AX , K
JBE A1
iii XOR CX , CX
MOV AX , K
INC CX
A1: MUL CX
DEC AX
LOOP A1
iv MOV AX , 1
MOV CX , K
A1: MUL CX
DEC CX
CMP CX , 0
JNZ A1
Ø±μ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠ ±μ ≠
®Æ‡ ÛÈÚÒÏ ¯˘˜ Ôȇ© .ב
ÆÂÊÏ ÂÊ ˙Â¯Â˘˜ Ôȇ˘ ¨¯Ï·ÓÒ‡· ˙‡¯Â‰ 10 ÍÈÙÏ
Ɖ‡È‚˘ ‰ÏÙ ˙‡¯Â‰‰Ó ˜ÏÁ·
ÆÔ‰Ó ˙Á‡ Ïη ‰‡È‚˘‰ È‰Ó ¯·Ò‰Â ¨˙ÂÈ‚˘‰ ˙‡¯Â‰‰ ˙‡ ˜¯ Í˙¯·ÁÓÏ ˜˙Ú‰
• MOV BX , AL
• MOV [SI] , SI
• MOV AL , 100H
• AND BX , 256
• DEC DI
• SUB 5 , BX
• MOV [SI] , [BX]
• MOV [SI + DI] , AL
• ROL BX , CL
• DIV AX
0 1 2 3 4 5 6 7 8 9
8 4 3 5 10 19 35 7 1 9
LOW DB ?
HIGH DB ?
ARR DB 100 DUP (?)
È˘Â ARR ͯÚÓ‰ ˙‡ Ï·˜˙˘ ¨ CHECK Ì˘· ®‰¯Â„ˆÂ¯Ù© ‰¯‚˘ ¯Ï·ÓÒ‡· ·Â˙Î .א
̉ ÌȯÙÒÓ‰ È˘ Æ®HIGH –Ó Ô˘ LOW© HIGH – LOW ÌÈÓÏ˘ ÌȯÙÒÓ
ÆͯÚÓ· Ìȯ·È‡ Ï˘ ®ÌÈÒ˜„ȇ© ÌÈÈȈÓ
LOW ‡Â‰ ÂÏ˘ ÔÈȈӉ˘ ¯·È‡‰Ó ¨Í¯ÚÓ‰ ȯ·È‡ ̇ ˜Â„·˙ ®‰¯Â„ˆÂ¯Ù© ‰¯‚˘‰
¯„Ò· ÌÈÈÂÓÓ ¨®HIGH – LOW ÏÏÂΩ HIGH ‡Â‰ ÂÏ˘ ÔÈȈӉ˘ ¯·È‡‰ „ÚÂ
ƉÏÂÚ
0 ÔÒÁ‡˙ ‡È‰ — ˙¯Á‡ ¨ AH ¯‚‡· 1 ÔÒÁ‡˙ ®‰¯Â„ˆÂ¯Ù© ‰¯‚˘‰ — ÔΠ̇
ÆAH –·
ƉÊÓ ‰Ê ÌÈ¢ 0 –Ó ÌÈÏ„‚ ARR ͯÚÓ‰ ȯ·È‡˘ Á‰
Æ ממוין למחצהͯÚÓ ‡Â‰ ARR ͯÚÓ‰ ̇ ˜Â„·È˘ ˙ÈÎ˙ Ú˘ ¯Ï·ÓÒ‡· ·Â˙Î .ב
ÆAH –· 0 ÔÒÁ‡È ‡Â‰ — ˙¯Á‡ ¨ AH ¯‚‡· 1 ÔÒÁ‡È ˙ÈÎ˙‰ Ú˘ — ÔΠ̇
Ƈ ÛÈÚÒ· ˙·˙΢ CHECK ®‰¯Â„ˆÂ¯Ù© ‰¯‚˘· ˘Ó˙˘‰Ï ÍÈÏÚ
ÌÈίÚÓ‰ Ï˘ ÔÎÂ˙‰ ˙‡ Ì¢¯Â ¨˙ÈÎ˙‰ Ú˘ Úˆȷ ¯Á‡ ·˜ÚÓ ˙Ï·Ë ˙¯ÊÚ· ·Â˜Ú .א
ÆÂÚˆȷ ¯Á‡Ï T2 – T1
ø˙ÈÎ˙‰ Ú˘ Úˆ·Ó ‰Ó .ב
ø‡ ÛÈÚÒÏ Í˙·Â˘˙ ‰˙˘˙ ̇‰ ¨ LOOPE ‰‡¯Â‰· LOOP ‰‡¯Â‰‰ ÛÏÁÂ˙ ̇ .ג
ÆÚÂ„Ó ¯·Ò‰ — ‡Ï ̇ ¨‰˙˘È ‰Ó ¯·Ò‰ — ÔΠ̇
x2
C(0 , 4)
4
B(-2 , 4)
-4 -2 0 2 4 6
x1
8 10 12
A(2 , 0) D(12 , 0)
ÆÌÈÙÈÚÒ‰ ÏÎ ÏÚ ‰Ú Ɖʷ ‰Ê ÌÈÈÂÏ˙ Ìȇ˘ ¨Â≠‡ ¨ÌÈÙÈÚÒ ‰˘È˘ ÂÊ ‰Ï‡˘· .10
„ÚÈ ÏÎÏ ¯Â˜Ó ÏÎÓ ‰„ÈÁÈÏ ˙ÂÈÂÏÚ‰ ÆÌÈ„ÚÈ ≥– ˙Â¯Â˜Ó ≥ ‰·Â ‰Ï·Â˙ ˙ÈÈÚ· ÍÈÙÏ .א
ÆÍÈÙÏ˘ ‰Ï·Ë· ˙ÂÂ˙
ÌÈ„ÚÈ
˙Â¯Â˜Ó ÚˆÈ‰
1 2 3
18 19 16
1 180
14 15 18
2 a
15 20 17
3 100
Æ x11 = 90 ¨ x12 = 10 ∫‰Ï·Â˙ ˙ÈÈÚ·Ï È¯˘Ù‡ ÈÒÈÒ· Ô¯˙ÙÓ ˜ÏÁ ÔÂ˙ ÍÈÙÏ˘ ‰Ï·Ë· .ב
ÌÈ„ÚÈ
˙Â¯Â˜Ó ÚˆÈ‰
1 2 3
10 15 17
1 100
90 10
10 18 14
2 110
15 20 18
3 100
ÌÈ„ÚÈ
˙Â¯Â˜Ó ÚˆÈ‰ ui
1 2 3
12 15 17
1 200 2
200
10 18 14
2 100 0
100
20 10 18
3 150 -8
100
ÍÂ˙ ˙È·¯ÚÓ–˙ÈÂÙˆ‰ ‰ÈÙ‰ ˙ËÈ˘ ÈÙÏ ‰˙‡ ÌÏ˘‰Â ¨Í˙¯·ÁÓÏ ‰Ï·Ë‰ ˙‡ ˜˙Ú‰
Æȯ˘Ù‡ ÈÒÈÒ· Ô¯˙Ù Ï·˜˙È˘ ÍÎ ¨ÌÈ≠ v j – ÌÈ≠ u i Ï˘ ÌÈίڷ ˙·˘Á˙‰
ÌÈίډ ÌÈÂ˙ ¨‰Ï·Â˙ ˙ÈÈÚ·Ï È¯˘Ù‡ ÈÒÈÒ· Ô¯˙Ù ÔÂ˙ ÍÈÙÏ˘ ‰Ï·Ë· .ד
ÆÍ˙·Â˘˙ ˙‡ ˜Ó øÈÏÓÈËÙ‡ ‡Â‰ Ô¯˙Ù‰ ̇‰ Æ u3 ¨ u2 ¨ u1 ¨ v3 ¨ v2 ¨ v1 Ï˘
ÌÈ„ÚÈ
˙Â¯Â˜Ó ÚˆÈ‰ ui
1 2 3
14 15 17
1 180 0
150 30
10 8 14
2 100 -7
100 0
15 20 18
3 100 1
100
ÌÈ„ÚÈ
˙Â¯Â˜Ó ÚˆÈ‰ ui
1 2 3
10 25 30
1 20 10
20
10 22 14
2 50 10
30 20
16 20 20
3 60 16
40 20
˘Â˜È· 50 40 40
vj 0 4 4
¨ÔÂΉ „‚ȉ‰ ˙‡ Í˙¯·ÁÓÏ ˜˙Ú‰ ÆÔÂÎ Ì‰Ó „Á‡ ˜¯˘ iv-i ÌÈ„‚ȉ‰ ÍÈÙÏ
ÆÍ˙¯ÈÁ· ˙‡ ˜ÓÂ
Æȯ˘Ù‡ Ô¯˙Ù Âȇ ÔÂ˙‰ Ô¯˙Ù‰ i
ÆÈÏÓÈËÙ‡ Âȇ ͇ ȯ˘Ù‡ ÈÒÈÒ· Ô¯˙Ù ‡Â‰ ÔÂ˙‰ Ô¯˙Ù‰ ii
Æ„ÈÁÈ ÈÏÓÈËÙ‡ Ô¯˙Ù ‡Â‰ ÔÂ˙‰ Ô¯˙Ù‰ iii
Æ„ÈÁÈ ÈÏÓÈËÙ‡ Ô¯˙Ù Âȇ ͇ ÈÏÓÈËÙ‡ Ô¯˙Ù ‡Â‰ ÔÂ˙‰ Ô¯˙Ù‰ iv
ÌÈ„ÚÈ
˙Â¯Â˜Ó ÚˆÈ‰
1 2 3
20 34
1 100
10 14
2 120
15 20 18
3 130
25 25 32
4 40
1
3 B F
G: A 0
1 C D E
0 0
2
4 B F
G1: A 1
2 C D E
1 1
תיאור האלגוריתם׃
∫¯˘‡Î G1 = (V1 , E1) Û¯‚‰ ˙‡ ‰· ∫± „Úˆ
V1 V
E1 E
∫‰Ê‰ ÔÙ‡· ˙¯„‚ÂÓ‰ ¨ W: E1 {0 , 1 , 2} Ϙ˘Ó‰ ˙ÈȈ˜ÂÙÂ
Æ U ‰ˆÂ·˜Ï ÌÈÎÈÈ˘ ‡Ï y – x ÌȄ˜„˜‰ ¯˘‡Î W (x , y) = (1)
ÆU ‰ˆÂ·˜Ï ÍÈÈ˘ y ‡ x ÌȄ˜„˜‰ „Á‡ ˜¯ ¯˘‡Î W (x , y) = (2)
Æ U ‰ˆÂ·˜Ï ÌÈÎÈÈ˘ y – x ÌȄ˜„˜‰ ¯˘‡Î W (x , y) = (3)
Æ s „˜„˜Ó ÏÁ‰ G1 Û¯‚‰ ÏÚ (4) Ì˙ȯ‚χ ˙‡ ÏÈÚÙ ∫≤ „Úˆ
ͯÚÓ ÍÂ˙Ó Â˙‡ ¯ÊÁ˘Ï ¯˘Ù‡Â ˘˜Â·Ó‰ ÏÂÏÒÓ‰ Ï·˜˙‰ ∫≥ „Úˆ
Æ s –Ó ÏÁ‰ Ì˙ȯ‚χ· ‰·˘ parent –‰
ÆÌȯÒÁ‰ ÌÈÈÂËÈ·‰ ˙‡ ‰· Ì¢¯Â ¨ÍÈÙÏ˘ ‰Ï·Ë‰ ˙‡ Í˙¯·ÁÓÏ ˜˙Ú‰
(1) ÈÂËÈ·
(2) ÈÂËÈ·
(3) ÈÂËÈ·
(4) ÈÂËÈ·
È˘Ï Ë¯Ù ¨ 2 ‡È‰ „˜„˜ ÏÎ ˙‚¯„ ¯È˘˜ ‡Â‰ ̇ ˜¯‡ שרוך ÔÂÂÎÓ ‡Ï Û¯‚ ii
Æ 1 ‡È‰ Ì˙‚¯„˘ ÌȄ˜„˜
∫ שרוךÍÈÙÏ
1 2 3 4
„Á‡ Ï˘ ‰‚¯„‰ ¨¯È˘˜ ‡Â‰ ̇ ˜¯‡ גרף כוכב ÌȄ˜„˜ n ÏÚ· ÔÂÂÎÓ ‡Ï Û¯‚ iii
„˜„˜‰ Æ 1 ‡È‰ ÌȯÁ‡‰ ÌȄ˜„˜‰Ó „Á‡ ÏÎ Ï˘ ‰‚¯„‰Â ¨ n - 1 ‡È‰ ÌȄ˜„˜‰
Ƙ¯‡ קדקוד מרכזי n - 1 Â˙‚¯„˘
∫ÌȄ˜„˜ 7 ÏÚ· גרף כוכבÍÈÙÏ
2
1 3
7
6 4
5
2
7 3
1
6 4
5
Ø≤∑ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠ ≤∑ ≠
ÌÈÈÂÏ˙ Ìȇ ÌÈÙÈÚÒ‰ Ǣ˜‰ „ÂÓÚ·˘ iv-i ˙¯„‚‰Ï ÌÈÒÁÈÈ˙Ó˘ „≠‡ ÌÈÙÈÚÒ ‰Ú·¯‡ ÍÈÙÏ
ÆÌÈÙÈÚÒ‰ ÏÎ ÏÚ ‰Ú Ɖʷ ‰Ê
Ƈ שרוך מכוון‰ ÍÈÙÏ˘ Û¯‚‰ .א
1 2 3 4 5
תיאור האלגוריתם׃
˙ˆÈ¯ËÓ· v ‰¯Â˘· ÌÈ–± –‰ ¯ÙÒÓ ¨Û¯‚· v „˜„˜ ÏÎÏ Ì‡ ˜Â„· ∫± „Úˆ
u ‰¯Â˘· ÌÈ–± –‰ ¯ÙÒÓ˘ u „Á‡ „˜„˜Ï ˯٠¨ (1) ‡Â‰ ˙ÂÈÂÎÈÓÒ‰
Æ (2) ‡Â‰ ˙ÂÈÂÎÈÓÒ‰ ˙ˆÈ¯ËÓ·
Æ¢·ÎÂÎ Û¯‚ ‡Ï¢ ¯ÊÁ‰ — ˙¯Á‡ ¨¢·ÎÂÎ Û¯‚¢ ¯ÊÁ‰ — ÔΠ̇ ∫≤ „Úˆ
ÆÌȯÒÁ‰ ÌÈÈÂËÈ·‰ ˙‡ ‰· Ì¢¯Â ¨ÍÈÙÏ˘ ‰Ï·Ë‰ ˙‡ Í˙¯·ÁÓÏ ˜˙Ú‰
(1) ÈÂËÈ·
(2) ÈÂËÈ·
Z _
]] ‰Â˘ 2 –· n Ï˘ ‰˜ÂÏÁ‰ ˙ȯ‡˘ ¨ n $ 0 ¨ k $ 0 b
b
L2 = [ a n b k `
]] 2 –· k Ï˘ ‰˜ÂÏÁ‰ ˙ȯ‡˘Ó b
b
\ a
L3 = {a k b2m k $ 0 , m $ 0}
Æ˙ȯÏ‚¯ ‰È‡ ‡ ˙ȯÏ‚¯ ‡È‰ ̇ Ú·˜ ¨ L3 - L1 ˙ÂÙ˘‰ ˘ÂÏ˘Ó ˙Á‡ ÏÎÏ .א
Ɖ˙‡ Ï·˜È˘ ÈËÒÈÈӯ˄ ÈÙÂÒ ËÓ¡ ‰· — ˙ȯÏ‚¯ ‰Ù˘‰ ̇
ÆÍ˙ÚÈ·˜ ˙‡ ˜Ó — ˙ȯÏ‚¯ ‰È‡ ̇
∫ " a , b , ·¢‡‰ ÏÚÓ L5 - L 4 ˙ÂÙ˘‰ ÍÈÙÏ .ב
L 4 = {a n b n-1 È‚Âʖȇ ‡Â‰ n , n $1}
L5 = L1 $ R (L 4)
ø L5 ‰Ù˘‰ ȉÓ
0,1
‰ÏÁ˙‰ q0 0 , 1 q1 0 , 1 q2 0 q3 q4 0 , 1 q5 0 , 1 q6 0 , 1 q7
1 1
1
È„È ÏÚ ˙Ï·˜˙Ó ‡È‰ ̇ ÍÈÙÏ˘ iii - i ÌÈÏÈÓ‰ ˘ÂÏ˘Ó ˙Á‡ ÏÎÏ Ú·˜ (1)
ÆËÓ¡‰
ÆÂÊ ‰ÏÈÓ ¯Â·Ú· Ï·˜Ó ÏÂÏÒÓ Ì¢¯ ¨ËÓ¡‰ È„È ÏÚ ˙Ï·˜˙Ó ‰ÏÈÓ‰ ̇
001001 i
01010 ii
0101 iii
øËÓ¡‰ È„È ÏÚ ˙Ï·˜˙Ó‰ ‰ÏÈÓ Ï˘ ÈÏÓÈÈÓ‰ ͯ‡‰ Â‰Ó (2)
Æ‰Ê Í¯Â‡· ‰ÏÈÓÏ ‰Ó‚„ Ô˙
øËÓ¡‰ È„È ÏÚ ˙Ï·˜˙Ó‰ ‰ÏÈÓ Ï˘ ÈÏÓÈÒ˜Ó‰ ͯ‡‰ Â‰Ó (3)
Æ‰Ê Í¯Â‡· ‰ÏÈÓÏ ‰Ó‚„ Ô˙
øËÓ¡‰ È„È ÏÚ ˙¯„‚ÂÓ‰ ‰Ù˘‰ È‰Ó (4)
b a,b
a a a a
התחלה q0 q1 q2 q3 q5
q4
= 1 1 1 # 1 1 1 1 1 ∆ ∆ ∆ . ..
∫ÍΠ˯҉ ‰‡¯ÈÈ ·Â˘ÈÁ‰ ÌÂÈÒ ¯Á‡Ï
= . .. . .. . .. $ 1 1 1 $ . ..
ÆÌÎÂ˙Ï ˙Â·È˘Á Ôȇ˘ Ìȇ˙ ̉ . . . –· ÌÈÓÂÒÓ‰ Ìȇ˙‰ ∫‰¯Ú‰
ƉÂÎÓ‰ Ï˘ ȘÏÁ ËÂË¯Ò ÍÈÙÏ
a / a ¨ ÔÈÓÈ
1 / 1 ¨ Ï‡Ó˘
1 / 1 ¨ ÔÈÓÈ b / b ¨ ÔÈÓÈ # / # ¨ Ï‡Ó˘
b / b ¨ Ï‡Ó˘
q0 1 / a ¨ ÔÈÓÈ q1 א q2 1 / b ¨ Ï‡Ó˘ q3
‰ÏÁ˙‰
ב ג
q4 q5 q6 b / 1 ¨ Ï‡Ó˘
b / 1 ¨ ÔÈÓÈ Δ / $ ¨ ÔÈÓÈ # / $ ¨ ÔÈÓÈ
1 / $ ¨ ÔÈÓÈ
public ZooZoo()
{
this.animals = new Animal[4];
this.animals[0] = new Snake("snaki", 50);
this.animals[1] = new Crocodile(78);
this.animals[2] = new GoldFish("goldi");
this.animals[3] = new Crocodile(103);
}
public void print()
{
for (int i = 0; i < this.animals.length; i++)
{
System.out.println(this.animals[i].hungry());
System.out.println(this.animals[i].caretaker());
System.out.println(this.animals[i].satisfied());
System.out.println("****");
}
}
}
public class Test
{
public static void main(String [] args)
{
ZooZoo zoo = new ZooZoo();
zoo.print();
}
}
∫‰Ï‡‰ ÌÈÓÈÒ· ˘Ó˙˘‰ Æ˘È¯ٷ ˙¯„‚ÂÓ‰ ˙˜ÏÁÓ‰ ˙ÈÈί¯È‰ ˙‡ ËË¯Ò .א
‰˘Â¯È
‰ÏΉ
ÆËÏÙ‰ ˙‡ ·Â˙Π¨ Test ‰˜ÏÁÓ·˘ main ‰ÏÂÚÙ‰ ¯Á‡ ·˜ÚÓ ·Â˙Î .ב
ÆÂÏ˘ ˙ÂÂÎ˙‰ ÈÎ¯Ú ˙‡ — ÌˆÚ ÏÎ ¯Â·Ú·Â ¨ÌÈ˙˘Ó‰ ÈÎ¯Ú ˙‡ ÏÂÏÎÏ ˘È ·˜ÚÓ·
WhatIn1
private int num ∫‡¯˜Ó
∫˜˘ÓÓ ˘ÂÓÈÓ
public WhatIn1(int number, int num) ∫‰˘Â¯È
public int getNum()
public void setNum(int num)
public int calculate2()
public int calculate3(int p1, int p2)
public String toString()
ÏÚ ‰ÚÈ ¨ WhatClass ‰˜ÏÁÓ· public int calculate1(int p) ‰ÏÂÚÙ‰ ˘ÂÓÈÓ Ì‡‰ .א
ÆÍ˙·Â˘˙ ˙‡ ˜Ó ø WhatIn1 ‰˜ÏÁÓ· ‰Ï˘ ˘ÂÓÈÓ‰ ˙˘È¯„
∫‡Â‰ WhatIn1 ‰˜ÏÁÓ· ‰Â·‰ ‰ÏÂÚÙ‰ ˘ÂÓÈÓ .ב
public WhatIn1(int number, int num)
{
this.number = number;
this.num = num;
}
‰ÏÂÚÙ‰ ˙‡ Ô˜˙ — ‡Ï ̇ ª‰ÏÂÚÙ‰ Úˆȷ ˙‡ ¯‡˙ — ÔΠ̇ ø‰È˜˙ ‰ÏÂÚÙ‰ ̇‰
Æ˙˜Â˙Ó‰ ‰ÏÂÚÙ‰ ˙‡ Í˙¯·ÁÓ· Ì¢¯ Æ®‰ÓˆÚ ‰ÏÂÚÙÏ Ë¯Ù ¯·„ ˙Â˘Ï Ôȇ©
‰ÏÂÚÙ ¯È„‚‰Ï ̘ӷ Ï„ÁÓ ˙¯V· ‰Â·‰ ‰ÏÂÚÙ‰ ÏÚ ÍÓ˙Ò‰Ï ¯˘Ù‡ ̇‰ (1)
ÆÍ˙·Â˘˙ ˙‡ ˜Ó øWhatIn2 ‰˜ÏÁÓ· ‰Â·
WhatIn1 , WhatClass ˙˜ÏÁÓ‰ ˘ÂÏ˘· ‰˘ÓÂÓ calculate3 ‰ÏÂÚÙ‰ (2)
∫‰Ê‰ ÔÙ‡· WhatIn2 –Â
∫̉ ÂÏ˘ ˙ÂÂÎ˙‰ ÈίÚ ¨ WhatIn2 ÒÂÙÈËÓ ‡Â‰ obj ̈ډ ÈÎ Á‰
number = 1
num = 2
sum = 3
∫˙È˘‡¯‰ ‰ÏÂÚÙ· ‰·Â˙Ή ‰‡¯Â‰ ÍÈÙÏ
System.out.println(obj.calculate3(1000, 100, 10));
ÈίÚÏ ˙ÂÏÂÚÙ ÔÂÓÈÊÏ ÒÁÈÈ˙‰ ·˜ÚÓ· Ɖ‡¯Â‰‰ Úˆȷ ¯Á‡ ·˜ÚÓ‰ ˙‡ ‰‡¯‰
ÆÏ·˜˙Ó‰ ËÏÙ‰ ˙‡ Ì¢¯ Æ̈ډ ˙ÂÂÎ˙
Ø≥∏ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠ ≥∏ ≠
∫ÌÈÓˆÚ ‰ÁÂÓ ˙ÂÎ˙ Ï˘ ˙¯˜Ú ‰ÓÎ ÍÈÙÏ .19
encapsulation — ‰ÒÓΉ •
overloading — ‰ÒÓÚ‰ •
inheritance — ‰˘Â¯È •
overriding — ‰Òȯ„ •
polymorphism — ˙ÂÈ˙¯Âˆ–·¯ •
ÆÌ‰Ó ˜ÏÁÏ ˙ÂÒÁÈÈ˙‰ ‰È‰˙ ÂÊ ‰Ï‡˘·
Æ Stam, Davar ∫˙˜ÏÁÓ È˙˘ Ï˘ ȘÏÁ ˘ÂÓÈÓ ÍÈÙÏ
public class Stam
{
private char x;
Davar: x = * same1 as x = *
Davar: x = * not same2 as x = *
x = b same1 as x = b
x = b same2 as x = b
Davar: x = b not same1 as Davar: x = a
Davar: x = b not same2 as Davar: x = a
Ø¥± „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠ ¥± ≠
Ì‚„ ÌȯˆÈÈÓ ¯ÂˆÈÈ ÒÙ Ïη Ư˙Âȉ ÏÎÏ ¯ÂˆÈÈ ÈÒÙ 12 –Ï ÌÂ˜Ó ˘È ˙¯ ¯ÂˆÈÈÏ ÏÚÙÓ· .20
¯ ÏÎ ÆÌ‚„ Â˙Â‡Ó ˙¯‰ ˙‡ Ì‰Ó ¯ˆÈÈÏ ¯˘Ù‡˘ ÌÈÚ·ˆ ‰ÓÎ ˘È Ì‚„ ÏÎÏ Æ˙¯ Ï˘ „Á‡
ÆÂÏ˘ Ì‚„· ÌÈÚ·ˆ‰ ÔÈ·Ó „·Ï· „Á‡ Ú·ˆ· ‡Â‰
‡Â‰ Ì‰Ó˘ ÌÈÚ·ˆ‰ ˙ÂÓ˘ ¨Ì‚„‰ „˜ ¨Ì‚„‰ Ì˘ ∫Ú„ÈÓ‰ ¯Ó˘ ˙¯ Ï˘ Ì‚„ ÏÎ ¯Â·Ú·
˙ÈÏÓÈÒ˜Ó‰ ˙¯‰ ˙ÂÓΠ¨Ì‚„‰ Ï˘ ÌÈÚ·ˆ‰Ó „Á‡ ÏÎÓ È‡ÏÓ· ˘È˘ ˙¯‰ ˙ÂÓÎ ¨¯ˆÂÈÓ
Æ®„ÁÈ ÌÈÚ·ˆ‰ ÏÎÓ© ÔÒÁ‡Ï ¯˘Ù‡˘ ‰Ê Ì‚„Ó
∫˙¯ Ì‚„Ï ‰Ó‚„
Æ¢‰˘Â˘¢ ∫Ì˘ —
Æ11 ∫„˜ —
Ʒ‰ˆ ¨Ô·Ï ¨Ì„‡ ∫¯ˆÂÈÓ ‡Â‰ Ì‰Ó˘ ÌÈÚ·ˆ‰ ˙ÂÓ˘ —
ÆÌȷ‰ˆ ˙¯ 70– ÌÈ·Ï ˙¯ 350 ¨ÌÈÓ„‡ ˙¯ 200 ∫ȇÏÓ· ˙¯‰ ˙ÂÓÎ —
∫ÔÒÁ‡Ï ¯˘Ù‡˘ ®„ÁÈ ÌÈÚ·ˆ‰ ÏÎÓ© ‰Ê Ì‚„Ó ˙¯‰ Ï˘ ˙ÈÏÓÈÒ˜Ó‰ ˙ÂÓΉ —
Æ100,000
Æ· ÌȯˆÂÈÓ‰ ˙¯‰ ÈÓ‚„ ÏÎÏ Ú‚Â· Ú„ÈÓ ¯Ó˘ ÏÚÙÓ·
∫‰Ï‡‰ Ìȇ˙Ï ÒÁÈÈ˙‰Ï ˘È ÌÈÂÒÓ Ì‚„Ó ¯ ¯ˆÈÈÏ ÌȈ¯˘ ÌÚÙ Ïη
‡È‰ ȇÏÓ· ÂÓÓ ˙¯‰ ˙ÂÓ΢ Ú·ˆ‰ ∫ȇÏÓ· ˙¯‰ ˙ÂÓÎ ÈÙ ÏÚ ¯Á·ÈÈ ¯‰ Ú·ˆ •
„Á‡ Ú·ˆÓ ¯˙ÂÈ ˘È ̇© ¯‰ ¯ÂˆÈÈÏ ¯Á·ÈÈ˘ Ú·ˆ‰ ‡Â‰ ¨Ì‚„ Â˙Â‡Ó ¯˙ÂÈ· ‰Ë˜‰
Æ®Ì‰Ó „Á‡ ¯Á·ÈÈ ‰ÊÎ
ÌÈÂÒÓ Ì‚„Ó ˙ÏÏÂΉ ˙¯‰ ˙ÂÓ΢ ¯ÂÒ‡ ͇ ¨ÏÈÚÙÓ‰ ˙¯ÈÁ·Ï ‰Â˙ ¯ÂˆÈȉ ˙ÂÓÎ •
¯˘Ù‡˘ ‰Ê Ì‚„Ó ˙ÈÏÓÈÒ˜Ó‰ ˙ÂÓΉ ÏÚ ‰ÏÚ˙ ®È‡ÏÓ·˘ ˙¯‰Â ¯ˆÂÈÈ˘ ˙¯‰©
ÆÔÒÁ‡Ï
¯Â·Ú· CandleKind ‰˜ÏÁÓ‰ ÔÓ kind1 Ì˘· ÌˆÚ ˙ÈÈ·Ï ˙‡¯Â‰ Ø ‰‡¯Â‰ ·Â˙Î .א
ÌÈÚ·ˆ ‰˘ÂÏ˘· ¯ˆÂÈÓ ˘„Á‰ Ì‚„‰ ÆÏÚÙÓ· ¯ˆÈÈÏ ÌÈÏÈÁ˙Ó˘ ˙¯ Ï˘ ˘„Á Ì‚„
ÆÂ˙ÈÈ· ¯Á‡Ï ̈ډ ˙ÂÂÎ˙ ÈÎ¯Ú ˙‡ Ì¢¯ Æ͈¯Î ˙ÂÂÎ˙Ï ÌÈÎ¯Ú ¯Á· ÆÌÈ¢
ÏÎÏ „ÂÚÈ˙ ·Â˙Î Æ‰Ï˘ ˙ÂÂÎ˙‰ Ø ‰ÂÎ˙‰ ˙‡Â Factory ‰˜ÏÁÓ‰ ˙¯˙ÂÎ ˙‡ ·Â˙Î .ב
ƉÂÎ˙
∫·Â˙Î ‰ÏÂÚÙ ÏÎÏ Æ˘È¯ÙÏ ÛÈÒÂ‰Ï ˘È˘ ≥≠± ˙ÂÏÂÚÙ Ï˘ „ÂÚÈ˙ ÌÚ ‰Ï·Ë ÍÈÙÏ .ג
ÆÍ˙¯ÈÁ· ˙‡ ¯·Ò‰ Ɖ˙‡ ¯È„‚‰Ï Ìȇ˙Ó ®˙˜ÏÁÓ‰ ˘ÂÏ˘ ÔÈ·Ó© ‰˜ÏÁÓ ÂÊȇ· i
ƉÏÂÚÙ‰ Ï˘ ˙¯˙ÂΉ ˙‡ ii
public ZooZoo()
{
this.animals = new Animal[4];
this.animals[0] = new Snake("snaki", 50);
this.animals[1] = new Crocodile(78);
this.animals[2] = new GoldFish("goldi");
this.animals[3] = new Crocodile(103);
}
public void Print()
{
for (int i = 0; i < this.animals.Length; i++)
{
Console.WriteLine(this.animals[i].Hungry());
Console.WriteLine(this.animals[i].Caretaker());
Console.WriteLine(this.animals[i].Satisfied());
Console.WriteLine("****");
}
}
}
ÆËÏÙ‰ ˙‡ ·Â˙Π¨ Test ‰˜ÏÁÓ·˘ Main ‰ÏÂÚÙ‰ ¯Á‡ ·˜ÚÓ ·Â˙Î .ב
ÆÂÏ˘ ˙ÂÂÎ˙‰ ÈÎ¯Ú ˙‡ — ÌˆÚ ÏÎ ¯Â·Ú·Â ¨ÌÈ˙˘Ó‰ ÈÎ¯Ú ˙‡ ÏÂÏÎÏ ˘È ·˜ÚÓ·
WhatIn1
private int num ∫‡¯˜Ó
∫˜˘ÓÓ ˘ÂÓÈÓ
public WhatIn1(int number, int num) ∫‰˘Â¯È
public int GetNum()
public void SetNum(int num)
public int Calculate2()
public int Calculate3(int p1, int p2)
public string ToString()
ÏÚ ‰ÚÈ ¨ WhatClass ‰˜ÏÁÓ· public int Calculate1(int p) ‰ÏÂÚÙ‰ ˘ÂÓÈÓ Ì‡‰ .א
ÆÍ˙·Â˘˙ ˙‡ ˜Ó ø WhatIn1 ‰˜ÏÁÓ· ‰Ï˘ ˘ÂÓÈÓ‰ ˙˘È¯„
∫‡Â‰ WhatIn1 ‰˜ÏÁÓ· ‰Â·‰ ‰ÏÂÚÙ‰ ˘ÂÓÈÓ .ב
public WhatIn1(int number, int num)
{
this.number = number;
this.num = num;
}
‰ÏÂÚÙ‰ ˙‡ Ô˜˙ — ‡Ï ̇ ª‰ÏÂÚÙ‰ Úˆȷ ˙‡ ¯‡˙ — ÔΠ̇ ø‰È˜˙ ‰ÏÂÚÙ‰ ̇‰
Æ˙˜Â˙Ó‰ ‰ÏÂÚÙ‰ ˙‡ Í˙¯·ÁÓ· Ì¢¯ Æ®‰ÓˆÚ ‰ÏÂÚÙÏ Ë¯Ù ¯·„ ˙Â˘Ï Ôȇ©
‰ÏÂÚÙ ¯È„‚‰Ï ̘ӷ Ï„ÁÓ ˙¯V· ‰Â·‰ ‰ÏÂÚÙ‰ ÏÚ ÍÓ˙Ò‰Ï ¯˘Ù‡ ̇‰ (1)
ÆÍ˙·Â˘˙ ˙‡ ˜Ó øWhatIn2 ‰˜ÏÁÓ· ‰Â·
WhatIn1 , WhatClass ˙˜ÏÁÓ‰ ˘ÂÏ˘· ‰˘ÓÂÓ Calculate3 ‰ÏÂÚÙ‰ (2)
∫‰Ê‰ ÔÙ‡· WhatIn2 –Â
∫̉ ÂÏ˘ ˙ÂÂÎ˙‰ ÈίÚ ¨ WhatIn2 ÒÂÙÈËÓ ‡Â‰ obj ̈ډ ÈÎ Á‰
number = 1
num = 2
sum = 3
∫˙È˘‡¯‰ ‰ÏÂÚÙ· ‰·Â˙Ή ‰‡¯Â‰ ÍÈÙÏ
Console.WriteLine(obj.Calculate3(1000, 100, 10));
ÈίÚÏ ˙ÂÏÂÚÙ ÔÂÓÈÊÏ ÒÁÈÈ˙‰ ·˜ÚÓ· Ɖ‡¯Â‰‰ Úˆȷ ¯Á‡ ·˜ÚÓ‰ ˙‡ ‰‡¯‰
ÆÏ·˜˙Ó‰ ËÏÙ‰ ˙‡ Ì¢¯ Æ̈ډ ˙ÂÂÎ˙
Davar: x = * same1 as x = *
Davar: x = * not same2 as x = *
x = b same1 as x = b
x = b same2 as x = b
Davar: x = b not same1 as Davar: x = a
Davar: x = b not same2 as Davar: x = a
Øμ≥ „ÂÓÚ· ͢ӉØ
∂∞≥ ¨∏ππ≤∞μ ßÒÓ ¨Ú¢˘˙ ıȘ ¨ß· ·˘ÁÓ‰ ÈÚ„Ó ≠ μ≥ ≠
„Á‡ Ì‚„ ÌȯˆÈÈÓ ¯ÂˆÈÈ ÒÙ Ïη Ư˙Âȉ ÏÎÏ ¯ÂˆÈÈ ÈÒÙ 12 –Ï ÌÂ˜Ó ˘È ˙¯ ¯ÂˆÈÈÏ ÏÚÙÓ· .24
‡Â‰ ¯ ÏÎ ÆÌ‚„‰ Â˙Â‡Ó ˙¯‰ ˙‡ Ì‰Ó ¯ˆÈÈÏ ¯˘Ù‡˘ ÌÈÚ·ˆ ‰ÓÎ ˘È Ì‚„ ÏÎÏ Æ˙¯ Ï˘
ÆÂÏ˘ Ì‚„· ÌÈÚ·ˆ‰ ÔÈ·Ó „·Ï· „Á‡ Ú·ˆ·
‡Â‰ Ì‰Ó˘ ÌÈÚ·ˆ‰ ˙ÂÓ˘ ¨Ì‚„‰ „˜ ¨Ì‚„‰ Ì˘ ∫Ú„ÈÓ‰ ¯Ó˘ ˙¯ Ï˘ Ì‚„ ÏÎ ¯Â·Ú·
˙ÈÏÓÈÒ˜Ó‰ ˙¯‰ ˙ÂÓΠ¨Ì‚„‰ Ï˘ ÌÈÚ·ˆ‰Ó „Á‡ ÏÎÓ È‡ÏÓ· ˘È˘ ˙¯‰ ˙ÂÓÎ ¨¯ˆÂÈÓ
Æ®„ÁÈ ÌÈÚ·ˆ‰ ÏÎÓ© ÔÒÁ‡Ï ¯˘Ù‡˘ ‰Ê Ì‚„Ó
∫˙¯ Ì‚„Ï ‰Ó‚„
Æ¢‰˘Â˘¢ ∫Ì˘ —
Æ11 ∫„˜ —
Ʒ‰ˆ ¨Ô·Ï ¨Ì„‡ ∫¯ˆÂÈÓ ‡Â‰ Ì‰Ó˘ ÌÈÚ·ˆ‰ ˙ÂÓ˘ —
ÆÌȷ‰ˆ ˙¯ 70– ÌÈ·Ï ˙¯ 350 ¨ÌÈÓ„‡ ˙¯ 200 ∫ȇÏÓ· ˙¯‰ ˙ÂÓÎ —
∫ÔÒÁ‡Ï ¯˘Ù‡˘ ®„ÁÈ ÌÈÚ·ˆ‰ ÏÎÓ© ‰Ê Ì‚„Ó ˙¯‰ Ï˘ ˙ÈÏÓÈÒ˜Ó‰ ˙ÂÓΉ —
Æ100,000
Æ· ÌȯˆÂÈÓ‰ ˙¯‰ ÈÓ‚„ ÏÎÏ Ú‚Â· Ú„ÈÓ ¯Ó˘ ÏÚÙÓ·
∫‰Ï‡‰ Ìȇ˙Ï ÒÁÈÈ˙‰Ï ˘È ÌÈÂÒÓ Ì‚„Ó ¯ ¯ˆÈÈÏ ÌȈ¯˘ ÌÚÙ Ïη
‡È‰ ȇÏÓ· ÂÓÓ ˙¯‰ ˙ÂÓ΢ Ú·ˆ‰ ∫ȇÏÓ· ˙¯‰ ˙ÂÓÎ ÈÙ ÏÚ ¯Á·ÈÈ ¯‰ Ú·ˆ •
„Á‡ Ú·ˆÓ ¯˙ÂÈ ˘È ̇© ¯‰ ¯ÂˆÈÈÏ ¯Á·ÈÈ˘ Ú·ˆ‰ ‡Â‰ ¨Ì‚„ Â˙Â‡Ó ¯˙ÂÈ· ‰Ë˜‰
Æ®Ì‰Ó „Á‡ ¯Á·ÈÈ ‰ÊÎ
ÌÈÂÒÓ Ì‚„Ó ˙ÏÏÂΉ ˙¯‰ ˙ÂÓ΢ ¯ÂÒ‡ ͇ ¨ÏÈÚÙÓ‰ ˙¯ÈÁ·Ï ‰Â˙ ¯ÂˆÈȉ ˙ÂÓÎ •
¯˘Ù‡˘ ‰Ê Ì‚„Ó ˙ÈÏÓÈÒ˜Ó‰ ˙ÂÓΉ ÏÚ ‰ÏÚ˙ ®È‡ÏÓ·˘ ˙¯‰Â ¯ˆÂÈÈ˘ ˙¯‰©
ÆÔÒÁ‡Ï
¯Â·Ú· CandleKind ‰˜ÏÁÓ‰ ÔÓ kind1 Ì˘· ÌˆÚ ˙ÈÈ·Ï ˙‡¯Â‰ Ø ‰‡¯Â‰ ·Â˙Î .א
ÌÈÚ·ˆ ‰˘ÂÏ˘· ¯ˆÂÈÓ ˘„Á‰ Ì‚„‰ ÆÏÚÙÓ· ¯ˆÈÈÏ ÌÈÏÈÁ˙Ó˘ ˙¯ Ï˘ ˘„Á Ì‚„
ÆÂ˙ÈÈ· ¯Á‡Ï ̈ډ ˙ÂÂÎ˙ ÈÎ¯Ú ˙‡ Ì¢¯ Æ͈¯Î ˙ÂÂÎ˙Ï ÌÈÎ¯Ú ¯Á· ÆÌÈ¢
ÏÎÏ „ÂÚÈ˙ ·Â˙Î Æ‰Ï˘ ˙ÂÂÎ˙‰ Ø ‰ÂÎ˙‰ ˙‡Â Factory ‰˜ÏÁÓ‰ ˙¯˙ÂÎ ˙‡ ·Â˙Î .ב
ƉÂÎ˙
∫·Â˙Î ‰ÏÂÚÙ ÏÎÏ Æ˘È¯ÙÏ ÛÈÒÂ‰Ï ˘È˘ ≥≠± ˙ÂÏÂÚÙ Ï˘ „ÂÚÈ˙ ÌÚ ‰Ï·Ë ÍÈÙÏ .ג
ÆÍ˙¯ÈÁ· ˙‡ ¯·Ò‰ Ɖ˙‡ ¯È„‚‰Ï Ìȇ˙Ó ®˙˜ÏÁÓ‰ ˘ÂÏ˘ ÔÈ·Ó© ‰˜ÏÁÓ ÂÊȇ· i
ƉÏÂÚÙ‰ Ï˘ ˙¯˙ÂΉ ˙‡ ii
ƯˆÈÈÏ ÂÏÈÁ˙È˘ ÌÈÂÒÓ ˙¯ Ì‚„Ó ¯ Ï˘ Ú·ˆ ‰¯ÈÊÁÓ‰ ‰ÏÂÚÙ ±
ÆÌÈÂÒÓ ˙¯ Ì‚„Ó ¯ˆÈÈÏ ¯˘Ù‡˘ ˙¯‰ ˙ÂÓÎ ˙‡ ‰¯ÈÊÁÓ‰ ‰ÏÂÚÙ ≤
˙ÂÓΉ ÔÈ· ˘¯Ù‰‰ ¯·ڷ˘ ¯‰ Ì‚„ Ï˘ „˜‰ ˙‡ ‰¯ÈÊÁÓ‰ ‰ÏÂÚÙ ≥
˘È ̇ Ư˙ÂÈ· Ï„‚‰ ‡Â‰ ÔÒÁ‡Ï ¯˘Ù‡˘ ˙ÂÓΉ ÔÈ·Ï È‡ÏÓ· ‰Ê Ì‚„Ó ˘È˘
ÈÓ‚„Ó „Á‡ ÏÎ Ï˘ ȇÏÓ· ˙ÂÓΉ ̇ ÆÌ‰Ó „Á‡ ¯ÊÁÂÈ ¨‰Ï‡Î ˙¯ ÈÓ‚„ ‰ÓÎ
Æ®ÌÈȘ ‡Ï „˜© 999 „˜‰ ¯ÊÁÂÈ ¨ÔÒÁ‡Ï ¯˘Ù‡˘ ˙ÈÏÓÈÒ˜Ó‰ ‡È‰ ˙¯‰
!בהצלחה
χ¯˘È ˙È„ÓÏ ‰¯ÂÓ˘ ÌȯˆÂȉ ˙ÂÎÊ
ÍÂÈÁ‰ „¯˘Ó ˙¢¯· ‡Ï‡ ÌÒ¯ÙÏ Â‡ ˜È˙Ú‰Ï Ôȇ