+ All Categories
Home > Documents > 603 899205 (2) ب بوساحلا ملع

603 899205 (2) ب بوساحلا ملع

Date post: 22-Oct-2021
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
ة إسرائيل دول מדינת ישראל عليمّ ربية والتّ وزارة الت משרד החינוך ةّ انويّ مدارس الثل أ. بجروت لمتحان: نوع ا א. בגרות לבתי"ס על־יסודיים סוג הבחינה: ينّ لخارجيين ا نَ لممتح. بجروت ل ب בגרות לנבחנים חיצוניים ב.2013 متحان: صيف موعد ا קיץ תשע"ג מועד הבחינה:603 ،899205 موذج:ّ رقم الن603 ,899205 מספרהשאלון:(2) ةّ ترجمة إلى العربي(2) תרגום לערביתلحاسوب "ب" علم ا מדעי המחשב ב') ةّ تعليمي وحدات5 ـِ ة لتكمل( تانّ وحدتان تعليمي) יח"ל5השלמה ל־( יחידות לימוד2 نَ لممتحيمات ل تعل הוראות לנבחןث ساعات.متحان: ث ة اّ مد أ. משך הבחינה: שלוש שעות. א. رجات:ّ توزيع الدذج و موّ مبنى الن ب. מבנה השאלון ומפתח ההערכה: ב.ن. موذج فصّ في هذا الن בשאלון זה שני פרקים. أربعة أسئلة،فصل: في هذا ال لّ وفصل ا ال פרק ראשון: בפרק זה ארבע שאלות, منها.ين اثنجابة عن عليك ا ומהן יש לענות על שתיים. درجة50 - (25x2) נק'50 (25x2) أسئلة فيفصلني: في هذا ال اّ الثفصل ال פרק שני: בפרק זה שאלות בארבעה عن سؤالين فقط مختلفة. أجبرات أربعة مسا מסלולים שונים. ענה על שאלות רק عليماتّ ه، حسب التَ متّ ذي تعلر اللمسا في ا במסלול שלמדת, לפי ההוראותلمسار.سئلة في هذا اجموعة ا في م בקבוצת השאלות במסלול זה. درجة50 - (25x2) נק'50 (25x2) درجة100 - المجموع נק'100 סה"כ ةّ مادّ : كلستعمالها سمح اُ مساعدة يّ مواد جـ. חומר עזר מותר בשימוש: כל חומר עזר, ג.كن برمجته. يمسوب الذيلحاعدة، عدا ا مسا חוץ ממחשב הניתן לתכנות. ة:ّ عليمات خاص ت د. הוראות מיוחדות : ד.طلب منكُ ي البرامج التي جميع اكتب.1 את כל התכניות שאתה נדרש לכתוב.1 ل،ّ وفصل اسوب في ال كتابتها بلغة حا בשפת מחשב בפרק הראשון, כתוב.Java أوC# - واحدة فقطلغة بـ. Java אוC# בשפה אחת בלבד — ةّ فتر بأيّ لد لّ لخارجيف اى الغ عل لّ سج.2 של המחברת ם על הכריכה החיצוניתֹ רשו.2 .Java أوC# - كتب ت لغة.Java אוC# אתה כותב — שפה באיזו فتر، اسمّ لد لّ لخارجيف اى الغ عل لّ سج.3 של המחברת ם על הכריכה החיצוניתֹ רשו.3 ربعة:رات المسا ا أحد ه،َ متّ ذي تعل اللمسار ا שלמדת, אחד מארבעתמסלול את שם ה مة لبحثّ بلر، مقدب وأسم أنظمة حاسو המסלולים: מערכות מחשב ואסמבלר, هةّ ة موج ة، برمجّ ت حسابيداءات، مودي ا מבוא לחקר ביצועים, מודלים חישוביים, كائنات. תכנות מונחה עצמים.خصم درجاتُ بها، لن تكتي تحظة: في البرامج الت م לך נקודות,ּ רדוּ הערה: בתכניות שאתה כותב לא יו من حرف صغير أو بالعكس.ً ا بدً ا كبيرً حرفَ بت إذا كت אם תכתוב אות גדולה במקום אות קטנה או להפך. سواء.ّ ين على حد نَ لممتح نات ولَ لممتح هة لّ موج ر وّ توبة بصيغة المذكوذج مك مّ ت في هذا الن عليماّ الت جاح!ّ ى لك النّ تمن ن ב ה צ ל ח ה !
Transcript
Page 1: 603 899205 (2) ب بوساحلا ملع

دولة إسرائيل מדינת ישראל وزارة التربية والتعليم משרד החינוך

بجروت للمدارس الثانوية أ. نوع الامتحان: בגרות לבתי"ס על־יסודיים א. סוג הבחינה: بجروت للممتحنين الخارجيين ب. בגרות לנבחנים חיצוניים ב.

صيف 2013 موعد الامتحان: קיץ תשע"ג מועד הבחינה: رقم النموذج: 899205، 603 603 ,899205 מספר השאלון:

ترجمة إلى العربية (2) תרגום לערבית (2)

علم الحاسوب "ب" מדעי המחשב ב' وحدتان تعليميتان )تكملة لـ 5 وحدات تعليمية( 2 יחידות לימוד )השלמה ל־5 יח"ל(

تعليمات للممتحن הוראות לנבחן

مدة الامتحان: ثلاث ساعات. أ. משך הבחינה: שלוש שעות. א. مبنى النموذج وتوزيع الدرجات: ب. מבנה השאלון ומפתח ההערכה: ב.

في هذا النموذج فصلان. בשאלון זה שני פרקים. الفصل الأول: في هذا الفصل أربعة أسئلة، פרק ראשון: בפרק זה ארבע שאלות,

عليك الإجابة عن اثنين منها. ומהן יש לענות על שתיים. درجة 50 - (25x2) נק' 50 — (25x2)

الفصل الثاني: في هذا الفصل أسئلة في פרק שני: בפרק זה שאלות בארבעה أربعة مسارات مختلفة. أجب فقط عن سؤالين מסלולים שונים. ענה על שאלות רק

في المسار الذي تعلمته، حسب التعليمات במסלול שלמדת, לפי ההוראות في مجموعة الأسئلة في هذا المسار. בקבוצת השאלות במסלול זה.

درجة 50 - (25x2) נק' 50 — (25x2) درجة 100 - المجموع נק' 100 — סה"כ

مواد مساعدة يسمح استعمالها: كل مادة جـ. חומר עזר מותר בשימוש: כל חומר עזר, ג. مساعدة، عدا الحاسوب الذي يمكن برمجته. חוץ ממחשב הניתן לתכנות.

تعليمات خاصة: הוראות מיוחדות: د. ד. 1. اكتب جميع البرامج التي يطلب منك את כל התכניות שאתה נדרש לכתוב .1 كتابتها بلغة حاسوب في الفصل الأول، בשפת מחשב בפרק הראשון, כתוב .Java أو C# - بـلغة واحدة فقط .Java או C# — בשפה אחת בלבד

سجل على الغلاف الخارجي للدفتر بأية .2 רשום על הכריכה החיצונית של המחברת .2 .Java أو C# - لغة تكتب .Java או C# — באיזו שפה אתה כותב

سجل على الغلاف الخارجي للدفتر، اسم .3 רשום על הכריכה החיצונית של המחברת .3 المسار الذي تعلمته، أحد المسارات الأربعة: את שם המסלול שלמדת, אחד מארבעת

أنظمة حاسوب وأسمبلر، مقدمة لبحث המסלולים: מערכות מחשב ואסמבלר, الأداءات، موديلات حسابية، برمجة موجهة מבוא לחקר ביצועים, מודלים חישוביים,

كائنات. תכנות מונחה עצמים. ملاحظة: في البرامج التي تكتبها، لن تخصم درجات הערה: בתכניות שאתה כותב לא יורדו לך נקודות,

إذا كتبت حرفا كبيرا بدلا من حرف صغير أو بالعكس. אם תכתוב אות גדולה במקום אות קטנה או להפך. التعليمات في هذا النموذج مكتوبة بصيغة المذكر وموجهة للممتحنات وللممتحنين على حد سواء. نتمنى لك النجاح! ב ה צ ל ח ה !

Page 2: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 2 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

الأسئلةفي هذا النموذج فصلان: الفصل الأول والفصل الثاني.

عليك الإجابة عن أسئلة من الفصلين، حسب التعليمات في كل فصل.الفصل الأول )50 درجة(

انتبه: في كل سؤال يطلب فيه تطبيق، بإمكانك استعمال عمليات الفئات <Node<T> , List<T> , BinTreeNode<T ، بدون تطبيقها.

إذا استعملت عمليات إضافية، عليك تطبيقها. أجب عن اثنين من الأسئلة 1-4 )لكل سؤال - 25 درجة(.

.1 C# في الصفحتين 2-3(، والثانية بلغة( Java انتبه: لهذا السؤال صيغتان: الأولى بلغة)في الصفحتين 4-5(. اعمل حسب اللغة التي تعلمتها.

Java للذين يحلون بلغة. sod3 , sod2 , sod1 أمامك ثلاث عمليات

public static boolean sod1(List<Integer> list1, List<Integer> list2) { Node<Integer> node1 = list1.getFirst(); Node<Integer> node2 = list2.getFirst(); for (int i = 1; i <= 4; i++) { if ((node1 == null) || (node2 == null)) return false; if ((i == 1) || (i == 4)) if (node1.getInfo() != node2.getInfo()) return false; node1 = node1.getNext(); } return true;}public static boolean sod2(List<Integer> list1, List<Integer> list2) { Node<Integer> node1 = list1.getFirst(); Node<Integer> node2 = list2.getFirst(); while ((node1 != null) && (node2 != null)) { if (node1.getInfo() != node2.getInfo()) return false; node1 = node1.getNext(); node2 = node2.getNext(); } return true;}

/يتبع في صفحة 3/

Page 3: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 3 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

public static boolean sod3(List<Integer> list1, List<Integer> list2) {

Node<Integer> node1 = list1.getFirst();

while (node1 != null)

{

boolean found = false;

Node<Integer> node2 = list2.getFirst();

while ((node2 ! = null) && (!found))

{

if (node1.getInfo() == node2.getInfo())

found = true;

node2 = node2.getNext();

}

if (!found)

return false;

node1 = node1.getNext();

}

return true;

}

تتبع كل واحدة من العمليات sod3 , sod2 , sod1 ، مع القائمتين list1 و list2 اللتين أ. أمامك:

z:list1 2 4 5 1 1 9" " " " " "; z:list2 2 4 5 1 4" " " " ";

اكتب ماذا يعاد بالنسبة لكل واحدة من العمليات. في المتابعة، بين المرور على

القائمتين.ما هي تعقيدات زمن تشغيل كل واحدة من العمليات sod3 , sod2 , sod1 ؟ ب.

علل إجابتك. /يتبع في صفحة 4/

Page 4: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 4 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

C# للذين يحلون بلغة . Sod3 , Sod2 , Sod1 أمامك ثلاث عمليات

public static bool Sod1(List<int> list1, List<int> list2){ Node<int> node1 = list1.GetFirst(); Node<int> node2 = list2.GetFirst(); for (int i = 1; i <= 4; i++)

{ if ((node1 == null) || (node2 == null)) return false; if ((i == 1) || (i == 4)) if (node1.GetInfo() != node2.GetInfo()) return false; node1 = node1.GetNext(); } return true;}public static bool Sod2(List<int> list1, List<int> list2){ Node<int> node1 = list1.GetFirst(); Node<int> node2 = list2.GetFirst(); while ((node1 != null) && (node2 != null)) { if (node1.GetInfo() != node2.GetInfo()) return false; node1 = node1.GetNext(); node2 = node2.GetNext(); } return true;}

/يتبع في صفحة 5/

Page 5: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 5 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

public static bool Sod3(List<int> list1, List<int> list2){ Node<int> node1 = list1.GetFirst(); while (node1 != null) { bool found = false; Node<int> node2 = list2.GetFirst(); while ((node2 != null) && (!found)) { if (node1.GetInfo() == node2.GetInfo()) found = true; node2 = node2.GetNext(); } if (!found) return false; node1 = node1.GetNext(); } return true;}

تتبع كل واحدة من العمليات Sod3 , Sod2 , Sod1، مع القائمتين list1 و list2 اللتين أ. أمامك:

z:list1 2 4 5 1 1 9" " " " " ";

z2: 2 4 5 1 4list " " " " ";

اكتب ماذا يعاد بالنسبة لكل واحدة من العمليات. في المتابعة، بين المرور على القائمتين.

ما هي تعقيدات زمن تشغيل كل واحدة من العمليات، Sod3 , Sod2 , Sod1 ؟ ب. علل إجابتك.

/يتبع في صفحة 6/

Page 6: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 6 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

.2C# في صفحة 6(، والثانية بلغة( Java انتبه: لهذا السؤال صيغتان: الأولى بلغة)في صفحة 7(. اعمل حسب اللغة التي تعلمتها.

Java للذين يحلون بلغةشجرة ترينارية هي شجرة فيها على الأكثر ثلاثة أبناء للعقدة، ابن أيسر وابن أوسط وابن أيمن.

. TriTreeNode<T> "أمامك واجهة تطبيق جزئية للفئة "عقدة تريناريةالفئة تعرف عقدة ترينارية فيها قيمة من النمط T وثلاثة تفرعات إلى عقد ترينارية.

اسم العمليةالوصف،x تبني العملية عقدة ترينارية تكون قيمتها

.null وتكون قيمة ثلاثة التفرعاتTriTreeNode( T x)

. x تبني العملية عقدة ترينارية تكون قيمتهاleft — تفرع إلى ابن أيسر، و middle — تفرع إلى

ابن أوسط، و right — تفرع إلى ابن أيمن. . null قيم التفرعات يمكن أن تكون

TriTreeNode (TriTreeNode<T> left, TriTreeNode<T> middle, TriTreeNode<T> right, T x)

()T getInfoتعيد العملية قيمة العقدة الترينارية.

تغير العملية القيمة المحفوظة في العقدة الترينارية .x إلى

void setInfo(T x)

تعيد العملية الابن الأيسر للعقدة الترينارية.. null إذا لم يكن هناك ابن أيسر، تعيد العملية

TriTreeNode<T> getLeft()

تعيد العملية الابن الأوسط للعقدة الترينارية.. null إذا لم يكن هناك ابن أوسط، تعيد العملية

TriTreeNode<T> getMiddle()

تعيد العملية الابن الأيمن للعقدة الترينارية.. null إذا لم يكن هناك ابن أيمن، تعيد العملية

TriTreeNode<T> getRight()

اكتب بلغة Java عملية خارجية big تتلقى شجرة ترينارية t لأعداد صحيحة وأكبر من 0 ، أ.

. 1- وتعيد العدد الأكبر في الشجرة. إذا كانت الشجرة فارغة، تعيد العملية

أمامك عنوان عملية: ب. public static boolean noThree(TriTreeNode<Integer> tr)

تتلقى العملية شجرة ترينارية tr لأعداد صحيحة وتعيد true إذا كان في كل واحدة من

العقد التي في الشجرة ابنان على الأكثر. خلاف ذلك —تعيد العملية false. إذا كانت . true الشجرة فارغة، تعيد العملية

. Java طبق العملية بلغة ملاحظة: بإمكانك استعمال عمليات الفئة TriTreeNode بدون تطبيقها.

إذا استعملت عمليات أخرى، عليك تطبيقها. /يتبع في صفحة 7/

Page 7: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 7 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

C# للذين يحلون بلغة

شجرة ترينارية هي شجرة فيها على الأكثر ثلاثة أبناء للعقدة، ابن أيسر وابن أوسط وابن أيمن.

. TriTreeNode<T> "أمامك واجهة تطبيق جزئية للفئة "عقدة تريناريةالفئة تعرف عقدة ترينارية فيها قيمة من النمط T وثلاثة تفرعات إلى عقد ترينارية.

اسم العمليةالوصف،x تبني العملية عقدة ترينارية تكون قيمتها

.null وتكون قيمة ثلاثة التفرعاتTriTreeNode( T x)

. x تبني العملية عقدة ترينارية تكون قيمتهاleft — تفرع إلى ابن أيسر، و middle — تفرع إلى

ابن أوسط، و right — تفرع إلى ابن أيمن. . null قيم التفرعات يمكن أن تكون

TriTreeNode (TriTreeNode<T> left, TriTreeNode<T> middle, TriTreeNode<T> right, T x)

()T GetInfoتعيد العملية قيمة العقدة الترينارية.

تغير العملية القيمة المحفوظة في العقدة الترينارية . x إلى

void SetInfo(T x)

تعيد العملية الابن الأيسر للعقدة الترينارية.. null إذا لم يكن هناك ابن أيسر، تعيد العملية

TriTreeNode<T> GetLeft()

تعيد العملية الابن الأوسط للعقدة الترينارية.. null إذا لم يكن هناك ابن أوسط، تعيد العملية

TriTreeNode<T> GetMiddle()

تعيد العملية الابن الأيمن للعقدة الترينارية.. null إذا لم يكن هناك ابن أيمن، تعيد العملية

TriTreeNode<T> GetRight()

اكتب بلغة #C عملية خارجية Big تتلقى شجرة ترينارية t لأعداد صحيحة وأكبر من 0 ، أ. . 1- وتعيد العدد الأكبر في الشجرة. إذا كانت الشجرة فارغة، تعيد العملية

أمامك عنوان عملية: ب. public static bool NoThree(TriTreeNode<int> tr)

تتلقى العملية شجرة ترينارية tr لأعداد صحيحة وتعيد true إذا كان في كل واحدة من

العقد التي في الشجرة ابنان على الأكثر. خلاف ذلك —تعيد العملية false. إذا كانت .true الشجرة فارغة، تعيد العملية

. C# طبق العملية بلغة

ملاحظة: بإمكانك استعمال عمليات الفئة TriTreeNode بدون تطبيقها.إذا استعملت عمليات أخرى، عليك تطبيقها.

/يتبع في صفحة 8/

Page 8: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 8 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .3

يوجد لحجر اللعب جهتان. على إحدى الجهتين مسجل أحد الأعداد المكونة من رقم أ. واحد بين 0 و 6 )بما في ذلك 0 و 6(، وعلى الجهة الأخرى مسجل أحد الأعداد المكونة

من رقمين بين 10 و 16 )بما في ذلك 10 و 16(. اكتب بلغة Java أو بلغة #C عنوان الفئة BiStone، التي تعرف حجر اللعب وصفاته. (1)

اكتب بلغة Java أو بلغة #C في الفئة BiStone عملية بنائية تتلقى عددين، أحدهما (2)

مكون من رقم واحد بين 0 و 6 ، والآخر مكون من رقمين بين 10 و 16 .اكتب بلغة Java أو بلغة #C في الفئة BiStone عملية ضمنية تعيد true إذا كان (3)

العدد المكون من رقم واحد الذي في إحدى جهتي حجر اللعب مساويا لرقم آحاد العدد المكون من رقمين الذي يظهر في الجهة الثانية للحجر، خلاف ذلك - تعيد

.false العملية

الفئة Stones هي مجموعة كل حجارة BiStone الممكنة. لا تحوي الفئة حجرين. BiStone ما مجموعه 49 حجارة ، Stones عليهما نفس تركيبة الأعداد. تحوي الفئة

اكتب بلغة Java أو بلغة #C عنوان الفئة Stones وصفاتها. (4)

ن جميع اكتب بلغة Java أو بلغة #C في الفئة Stones ، عملية بنائية تكو (5)

. BiStone 49 حجارة

)لا علاقة له مع البند "أ".( ب. اكتب بلغة Java أو بلغة #C عملية تتلقى عددا صحيحا num ، أكبر من 1، (1)

. num تحوي أعدادا صحيحة أكبر من 0 ، جميعها أصغر من lst وقائمة تعيد العملية قائمة جديدة حدودها هي جميع الأعداد الصحيحة الأكبر من 0

. lst التي لا تظهر في القائمة ، num والأصغر من

ما هي تعقيدات زمن تشغيل العملية التي كتبتها؟ علل إجابتك. (2)

/يتبع في صفحة 9/

Page 9: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 9 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

انتبه: لهذا السؤال صيغتان: الأولى بلغة Java )في الصفحتين 10-9(، 4.والثانية بلغة #C )في الصفحتين 11-12(. اعمل حسب اللغة التي تعلمتها.

Java للذين يحلون بلغة في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين.

. amir أمامك العملية أ. public static void amir(BinTreeNode<Integer> t, int x)

{ if (t != null) { amir(t.getLeft() , x + 1); if ((t.getLeft() == null) && (t.getRight() == null)) t.setInfo(x) ; amir(t.getRight() , x + 1); }}

. tree أمامك الشجرة

5

3

6

7

4

tree

. amir(tree , 4) :التي تنتج بعد تشغيل الاستدعاء tree اكتب الشجرة i

x ؟ 0= ما الذي تنفذه العملية amir بالنسبة لشجرة ما و ii

/يتبع في صفحة 10/)انتبه: البند "ب" في الصفحة التالية.(

Page 10: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 10 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. . z , y , x :تحوي على الأقل ثلاث عقد قيمها ، t معطاة شجرة بحث بينارية

أمامك ادعاءان: )inorder( هي قيم ثلاث عقد متتالية في تمشيط ضمني z و y و x إذا كانت (1)

. z x= لـ t ، عندها

. x y2 إذا كان x و y هما قيمتا ورقتين في t )من اليسار إلى اليمين(، عندها (2)

بالنسبة لكل واحد من الادعاءين (1)-(2)، اختر الإمكانية الملائمة من بين الإمكانياتالثلاث التي أمامك:

• الادعاء صحيح دائما. علل إجابتك.

• الادعاء دائما غير صحيح. علل إجابتك.

• الادعاء صحيح في بعض الحالات. أعط مثالا لحالة يكون فيها الادعاء صحيحا،

ومثالا لحالة يكون فيها الادعاء غير صحيح.

/يتبع في صفحة 11/

Page 11: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 11 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

C# للذين يحلون بلغة في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين.

.Amir أمامك العملية أ. public static void Amir(BinTreeNode<int> t, int x){ if (t != null) { Amir(t.GetLeft () , x 1+ ) ;

if ((t.GetLeft() == null) && (t.GetRight() == null))

t.SetInfo (x) ;

Amir(t.GetRight () , x 1+ ) ; }}

. tree أمامك الشجرة

5

3

6

7

4

tree

. Amir(tree , 4) :التي تنتج بعد تشغيل الاستدعاء tree اكتب الشجرة i

x ؟ 0= ما الذي تنفذه العملية Amir بالنسبة لشجرة ما و ii

)انتبه: البند "ب" في الصفحة التالية.(/يتبع في صفحة 12/

Page 12: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 12 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. . z , y , x :تحوي على الأقل ثلاث عقد قيمها ، t معطاة شجرة بحث بينارية

أمامك ادعاءان: )inorder( هي قيم ثلاث عقد متتالية في تمشيط ضمني z و y و x إذا كانت (1)

. z x= لـ t ، عندها

. x y2 إذا كان x و y هما قيمتا ورقتين في t )من اليسار إلى اليمين(، عندها (2)

بالنسبة لكل واحد من الادعاءين (1)-(2)، اختر الإمكانية الملائمة من بين الإمكانياتالثلاث التي أمامك:

• الادعاء صحيح دائما. علل إجابتك.

• الادعاء دائما غير صحيح. علل إجابتك.

• الادعاء صحيح في بعض الحالات. أعط مثالا لحالة يكون فيها الادعاء صحيحا،

ومثالا لحالة يكون فيها الادعاء غير صحيح.

/يتبع في صفحة 13/

Page 13: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 13 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

الفصل الثاني )50 درجة(في هذا الفصل أسئلة في أربعة مسارات:

أنظمة حاسوب وأسمبلر، ص 17-13. مقدمة لبحث الأداءات، ص 24-18.

موديلات حسابية، ص 29-25. برمجة موجهة كائنات بلغة Java، ص 30-36؛ برمجة موجهة كائنات بلغة #C ، ص 43-37.

أجب فقط عن سؤالين في المسار الذي تعلمته.أنظمة حاسوب وأسمبلر

إذا تعلمت هذا المسار، أجب عن اثنين من الأسئلة 5-8 )لكل سؤال - 25 درجة(.

فت المعطيات على النحو التالي: في مقطع المعطيات عر .5

NIBBLE DB 1001B M DW 0F000H NUMBER DW 0E539H

أمامك قطعة برنامج بلغة أسمبلر. MOV CX , 4 XOR DX , DX MOV DH , NIBBLE SHL DH , CL MOV CX , 13 MOV AX , NUMBERAGAIN: MOV BX , M AND BX , AX XOR BX , DX JZ OK SHL AX , 1 LOOP AGAIN JMP SOFOK: MOV CH , 1SOF: NOP

تتبع بواسطة جدول متابعة تنفيذ قطعة البرنامج. أ.

. DX , CX , BX , AX ل في كل مرحلة محتوى في جدول المتابعة، فص ما الذي تنفذه قطعة البرنامج؟ ب. /يتبع في صفحة 14/

Page 14: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 14 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .6في مقطع المعطيات عرف المتغير K على النحو التالي: أ.

K DB 5EH

أمامك قطعة برنامج بلغة أسمبلر. MOV CX , 2 MOV AH , K MOV AL , AHNEXT: SHL AX , CL DEC CL SHR AH , CL ADD AH , AL SUB AH , CL LOOP NEXT

تتبع بواسطة جدول متابعة تنفيذ قطعة البرنامج.. AL , AH , CL :ل في كل مرحلة محتوى في جدول المتابعة، فص

/يتبع في صفحة 15/

Page 15: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 15 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. أمامك أربع قطع برنامج بلغة أسمبلر، iv-i . بعد تنفيذ كل واحدة من القطع، يجب أن

يحوي الخازن AX نفس القيمة التي حواها قبل تنفيذ القطعة. د إذا كانت تنفذ المطلوب أم لا تنفذ بالنسبة لكل واحدة من القطع iv-i التي أمامك، حد

المطلوب. إذا كانت القطعة لا تنفذ المطلوب، أعط مثالا يبين ذلك. i MOV CL , 4 ROL AX , CL PUSH AX POP BX ROR BX , CL MOV AX , BX

ii MOV CX , 4 XOR BX , BX MOV BX , AX SHR AX , CL SHL BX , CL MOV AX , BX

iii MOV CX , 4 XOR BX , BX ADD BX , AX SHL BX , CL SHR BX , CL MOV AX , BX

iv MOV CX , 4 ROL AX , CL PUSH AX POP DX ROR DX , CL MOV AX , DX

/يتبع في صفحة 16/

Page 16: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 16 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .7

. C# وبلغة Java أمامك قطعة برنامج مكتوبة بلغة أ.

while ((a<b) || (a > 0)) {a = a-1;}

المتغيران a و b هما متغيران من نمط صحيح.

اكتب قطعة برنامج بلغة أسمبلر تنفذ قطعة البرنامج التي أمامك.

. BX مخزون في الخازن b والمتغير ، AX مخزون في الخازن a افترض أن المتغير

)لا علاقة له مع البند "أ".( ب. ين الأخيرين في ين الأولين والبت ل إلى صفر( البت ر )يحو اكتب أمرا واحدا يصف (1)

الخازن AL ، بدون تغيير قيم البتات الأخرى في الخازن. ين الأخيرين في ين الأولين والبت ل إلى 1( البت اكتب أمرا واحدا يضيء )يحو (2)

الخازن AL ، بدون تغيير قيم البتات الأخرى في الخازن. اكتب أمرا واحدا يؤدي بأربعة البتات المنخفضة في الخازن AL إلى أن تكون 1 ، (3)

. AL بدون تغيير قيم أربعة البتات العالية في الخازنفت المصفوفة A على النحو التالي: في مقطع المعطيات عر (4)

A DW 20 DUP (?)

. A محتوى الحد الخامس للمصفوفة AX اكتب أمرا واحدا يدخـل إلى الخازن —

.A عنوان الحد الخامس للمصفوفة AX اكتب أمرا واحدا يدخـل إلى الخازن —

/يتبع في صفحة 17/

Page 17: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 17 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

فت المعطيات التالية: في مقطع المعطيات عر .8

ARR DW 100 DUP (?)

MIN DW ?

NUM DW 0

اكتب بلغة أسمبلر قطعة برنامج تعوض في المتغير MIN أصغر قيمة مخزونة في

المصفوفة ARR. تعوض قطعة البرنامج في المتغير NUM عدد المرات، التي ظهرت فيها القيمة الموجودة في المتغير MIN، في المصفوفة.

.ARR على قطعة البرنامج أن تمسح مرة واحدة فقط جميع حدود المصفوفة عليك أن تعتبر جميع الأعداد أعدادا بدون إشارة.

/يتبع في صفحة 18/

Page 18: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 18 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

مقدمة لبحث الأداءاتإذا تعلمت هذا المسار، أجب عن اثنين من الأسئلة 9-12 )لكل سؤال - 25 درجة(.

معطاة مسألة تخطيط خطي: .9 { }max z kx x61 2= +

تخضع للاضطرارات التالية:x x2 3 61 2#+

x x5 2 101 2#+

x 01$

x2 ليس مقيدا بإشارة.k هو بارامتر.

أمامك رسم لمجال الحلول الممكنة للمسألة المعطاة.

/يتبع في صفحة 19/

2-

2-4-

6

C

x2

x1

A

BG D

F H

4

2

00

2 4 6

( , )E 1118

1110

Page 19: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 19 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

أمامك خمسة بنود فرعية (1)-(5) لا تتعلق ببعضها البعض. في قسم منها معطاة أ.

. k قيمة معينة للبارامتر بالنسبة لكل واحد من البنود الفرعية (1)-(5):

إذا كان الحل الأمثل وحيدا، جد الحل الأمثل الوحيد وقيمة دالة الهدف في هذا الحل. • إذا كان الحل الأمثل ليس محصورا، علل تحديدك. •

إذا كان لا يوجد حل ممكن، علل تحديدك. •

. k = 0 (1)

. k = 6 (2)

نغير فقط دالة هدف المسألة المعطاة في بداية السؤال إلى: (3)

. { }min z x6 2=

نغير فقط دالة هدف المسألة المعطاة في بداية السؤال إلى: (4)

. { }min z x x6 61 2= +

نغير فقط دالة هدف المسألة المعطاة في بداية السؤال إلى: (5)

. x 02$ } ، ونضيف الاضطرار }min z x x6 61 2= +

بالنسبة لأية قيم k يكون لمسألة التخطيط الخطي المعطاة في بداية السؤال لا نهاية ب.

من الحلول المثلى؟ د قيمة دالة الهدف بالنسبة لكل واحدة من قيم k هذه. علل تحديدك. حد

/يتبع في صفحة 20/

Page 20: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 20 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان "أ - ب"، لا علاقة بينهما. أجب عن البندين. .10

ها ممثلا بواسطة مصفوفة المجاورات التي أمامك: ا ليس موج ليكن G = (V , E) رسما بياني أ.

V

X

WWWWWWWW

edcbaR

T

SSSSSSSS

00110a00101b01011c10100d01000eارسم الرسم البياني G الممثل بواسطة المصفوفة. (1)

ب ربط )Connected Components( يوجد في الرسم البياني المعطى، وما هي؟ كم مرك (2) بات الربط. أزل قوسا واحدا من الرسم البياني G الذي رسمته، بحيث لا يتغير عدد مرك (3)

أشر إلى القوس الذي أزلته. يسمى القوس في الرسم البياني "قوسا فاصلا" إذا أدت إزالته من الرسم البياني إلى (4)

بات الربط بـ 1. تكبير عدد مرك .G أشر إلى "قوس فاصل" واحد في الرسم البياني

ارسم الرسم البياني الذي ينتج بعد إزالة القوس الذي أشرت إليه. )لا علاقة له مع البند "أ".( ب.

ها ممثلا بواسطة قائمة المجاورات التي أمامك: ا ليس موج ليكن G = (V , E) رسما بياني

a " b " c " g " e " <b " a " e " c " <c " a " b " f " <d " e " <e " a " b " d " <f " c " g " <g " a " f " <

. a على الرسم البياني المعطى، ابتداء من الرأس (DFS) ل ألغوريثما لتمشيط عميق فع (1)

ارسم في دفترك فقط الشجرة الامتدادية (DFS) / الغابة الامتدادية (DFS) التي تنتج.

اعتمد على التمثيل المعطى بواسطة قائمة المجاورات. . a على الرسم البياني المعطى، ابتداء من الرأس (BFS) ل ألغوريثما لتمشيط عرضي فع (2)

ارسم في دفترك فقط الشجرة الامتدادية (BFS) / الغابة الامتدادية (BFS) التي تنتج. اعتمد على التمثيل المعطى بواسطة قائمة المجاورات. /يتبع في صفحة 21/

Page 21: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 21 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .11

أمامك شبكة: أ.

B

2

20

546

86

8

10

16

2 47

E

F

G

HA C

D

جد المسارات القصيرة في الشبكة المعطاة حسب ألغوريثم ديكسترا، من الرأس A إلى

كل رأس آخر في الشبكة، وارسم الوصف التخطيطي لشجرة المسارات القصيرة. بالنسبة لكل رأس في الشبكة، اكتب طول أقصر مسار من الرأس A وحتى هذا الرأس.

)لا علاقة له مع البند "أ".( ب. أمامك شبكة:

B8

1

5

10

C

D

A

A جد المسارات القصيرة في الشبكة المعطاة حسب ألغوريثم ديكسترا، من الرأس (1)

إلى كل رأس آخر في الشبكة، وارسم الوصف التخطيطي لشجرة المسارات القصيرة.

بالنسبة لكل رأس في الشبكة، اكتب طول أقصر مسار من الرأس A وحتى هذا الرأس. ها (A , D) إلى الشبكة المعطاة. نضيف قوسا ليس موج (2)

ماذا يجب أن يكون وزن القوس، كي لا تتغير المسارات القصيرة من الرأس A إلى كل واحد من الرؤوس الأخرى؟

/يتبع في صفحة 22/

Page 22: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 22 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال خمسة بنود، "أ - هـ"، لا علاقة بينها. أجب عن جميع البنود. .12 . x 511= في الجدول الذي أمامك معطى جزء من حل أساسي ممكن لمسألة النقل: أ.

المصادرالغاياتالعرض4321

1511201010

51

2520197122

51816140

3

الطلب1015155انسخ الجدول إلى دفترك، وأكمل الحل الأساسي الممكن حسب طريقة الزاوية i

الشمالية الغربية. نغير السعر في الخلية (1 , 3) من 0 إلى 15. هل يتغير الحل الأساسي الممكن الذي ii

وجدته في البند الفرعي i ؟ علل. .u1 في الجدول الذي أمامك معطى حل أساسي ممكن لمسألة نقل ومعطاة قيمة ب.

uiالمصادرالغاياتالعرض4321

01511

5

2410

5

10

51

252019

15

7

10

122

518

5

262403

الطلب1015155vj

. , , , , ,u u v v v v2 3 1 2 3 4 انسخ الجدول إلى دفترك، وأكمل فيه قيم i

اشرح لماذا الحل المعطى ليس حلا أمثل. ii /يتبع في صفحة 23/

Page 23: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 23 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في الجدول الذي أمامك معطى جزء من حل أساسي ممكن لمسألة نقل، ومعطاة قيم جـ.

, التي تلائم هذا الحل. , , , , ,u u u v v v v1 2 3 1 2 3 4

uiالمصادرالغاياتالعرض4321

7-1511

10

2010

5

101

10-252019

15

7

10

122

051816140

53

الطلب1015155182917 0vj

, , , , , ,u u u v v v v1 2 3 1 2 3 انسخ الجدول إلى دفترك وأكمل الحل مع الأخذ بالحسبان قيم 4بحيث ينتج حل أساسي ممكن.

معطى جدول يمثل مسألة نقل معينة. د.

المصادرالغاياتالعرضDCBA

15112010101

2520197122

51816140

3

الطلب1015155نغير طلب الغاية C من 15 إلى 20 ، بدون تغيير باقي الطلبات والعروض التي في الجدول.

ن ارسم في دفترك جدولا جديدا يشمل جميع المعطيات التي في الجدول المعطى، ويمكإيجاد حل أساسي ممكن حسب طريقة الزاوية الشمالية الغربية. يجب أن يشمل الجدول

الأسعار من كل مصدر إلى كل غاية. /يتبع في صفحة 24/ )انتبه: البند "هـ" في الصفحة التالية.(

Page 24: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 24 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في الجدول الذي أمامك معطى حل غير أمثل نتج بعد k تكرارات بالنسبة لمسألة نقل معينة، هـ. . , , , , , ,u u u v v v v1 2 3 1 2 3 4 ومعطاة قيم

uiالمصادرالغاياتالعرض4321

015312010

9

10

61

3-2320

3

19

15

7

5

122

5-718

7

201403

الطلب101514623221010vj

ما هو المتغير الذي يخرج من القاعدة؟ i

ارسم في دفترك جدولا جديدا يحوي الحل الذي ينتج بعد تكرار إضافي، أي بعد ii

. k+1 التكرار الـ

/يتبع في صفحة 25/

Page 25: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 25 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

موديلات حسابيةإذا تعلمت هذا المسار، أجب عن اثنين من الأسئلة 13-16 )لكل سؤال - 25 درجة(.

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .13

: { , , , , , , , , , }0 1 2 3 4 5 6 7 8 9 أمامك اللغة L فوق الأبجدية أ. ب الكلمة يقسم تتبع الكلمة للغة L إذا كان حاصل ضرب جميع الأرقام التي ترك

على 10 بدون باق. : L أمثلة لكلمات في

325 ، لأن 30 = 5*2*3 ، و 30 يقسم على 10 بدون باق.

30675 ، لأن 0 = 5*7*6*0*3 ، و 0 يقسم على 10 بدون باق.

543 ، لأن 60 = 3*4*5 ، و 60 يقسم على 10 بدون باق.

: L أمثلة لكلمات ليست في

123 ، لأن 6 = 3*2*1 ، و 6 لا يقسم على 10 بدون باق.

51 ، لأن 5 = 1*5 ، و 5 لا يقسم على 10 بدون باق.

. Z = {2 , 4 , 6 , 8} D = {1 , 3 , 7 , 9} :نرمز

. L أمامك رسم جزئي لأوتومات نهائي محدود يتلقى اللغة

هناك انتقالات وإشارات إدخال ناقصة في الرسم.

q0 q1

q2q3

DZ

0

5 , D

05

ية. يحوي الرسم جميع حالات الأوتومات، وجميع الحالات المتلق

. L انسخ الرسم إلى دفترك، وأكمله بحيث يتلقى الأوتومات اللغة

عليك إكمال الانتقالات الناقصة وإشارات الإدخال الناقصة.

انتبه: لا تضف حالات إلى الأوتومات ولا تنقص منه حالات.

/يتبع في صفحة 26/ )انتبه: البند "ب" في الصفحة التالية.(

Page 26: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 26 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب.

أمامك أوتومات نهائي غير محدود يتلقى اللغة L فوق الأبجدية {1 , 0} .

q0

q1 q4 q5

q2

0 1

1

0, 1

0, 1

0, 1

0

q3

انسخ إلى دفترك كل واحدة من الكلمات الخمس v-i التي أمامك. (1)

د إذا كان الأوتومات يتلقاها أم لا يتلقاها. بالنسبة لكل واحدة من الكلمات، حد

إذا كان الأوتومات يتلقى الكلمة، اكتب في دفترك المسار المتلقي بالنسبة لهذه الكلمة.

000 i

01000 ii

1100 iii

00101 iv

1011 v

فة بواسطة الأوتومات المعطى؟ ما هي اللغة L المعر (2)

/يتبع في صفحة 27/

Page 27: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 27 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .14

: { , }0 1 أمامك اللغة L فوق الأبجدية أ.

{0 1 0 , 0 ,L n kn k 2; $= }n + k زوجي

. L أمامك رسم جزئي لأوتومات نهائي محدود يتلقى اللغة

هناك انتقالات وإشارات إدخال ناقصة في الرسم.

0

0

0 , 1

1

1

0q0 q1 q2

q5 q4 q3

ية. يحوي الرسم جميع حالات الأوتومات، وجميع الحالات المتلق

. L انسخ الرسم إلى دفترك، وأكمله بحيث يتلقى الأوتومات اللغة عليك إكمال الانتقالات الناقصة وإشارات الإدخال الناقصة.

انتبه: لا تضف حالات إلى الأوتومات ولا تنقص منه حالات.

)انتبه: البند "ب" في الصفحة التالية.(/يتبع في صفحة 28/

Page 28: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 28 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب.

. { , }a b أمامك أوتومات نهائي محدود يتلقى اللغة L فوق الأبجدية

bb

b b

a

a a

aq0 q1 q2 q3

د إذا كان كل واحد من الادعاءات iii - i التي أمامك صحيحا أم غير صحيح. حد

إذا كان الادعاء غير صحيح، اكتب كلمة تثبت أنه غير صحيح. ab التي تحوي الكلمة الفرعية {a , b} هي مجموعة كل الكلمات فوق الأبجدية L .i

. b ولا تنتهي بـ

L هي مجموعة كل الكلمات فوق الأبجدية {a , b} التي تنتهي بـ b ولا تحوي .ii

. ab الكلمة الفرعية L هي مجموعة كل الكلمات فوق الأبجدية {a , b} التي تنتهي بـ b أو لا تحوي .iii

. ab الكلمة الفرعية

.{a , b , c} هي لغة فوق الأبجدية L .15

{L a b c n 1n n k; $= }k هو الباقي الذي ينتج من قسمة n على 3 ،

. L ابن أوتومات راصة بالنسبة للغة

/يتبع في صفحة 29/

Page 29: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 29 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال ثلاثة بنود، "أ - جـ"، لا علاقة بينها. أجب عن ثلاثة البنود. .16

: { , }a b L2 فوق الأبجدية ، L1 أمامك اللغتان أ. { { , }*}L v v v a bR

1 : ; !=

{ }L a b m 1m2 $;=

*{a , b} هي مجموعة كل الكلمات فوق الأبجدية {a , b} )بما في ذلك الكلمة الفارغة(

.v هو معكوس الكلمة vR و

. j i! w بحيث: a bj2= w و a bi1= : L2 معطاة كلمتان في

جد كلمة w بحيث يتحقق:

w w1 : ! L1

w w2 : g L1

: {a} فوق الأبجدية L2 } ، واللغة , , }a b c أمامك اللغة L1 فوق الأبجدية ب.

{ ( , ) , , }maxL a b c k n mn m 1 1n k m1 ; $ $= =

{ }L a s 1s2 ; $=

. j i2 w ، بحيث: aj2= ، w ai1= : L2 معطاة كلمتان في

جد كلمة w بحيث يتحقق:

w w1 : ! L1

w w2 : g L1

: { , , }a b c L2 فوق الأبجدية ، واللغة , }{a b أمامك اللغة L1 فوق الأبجدية جـ.

{ , }L a b n k0 0n k1 ; $ $=

{L a cbm r2 ;= m على 2 هو 1 r+ } ,{باقي قسمة }a b n 0n n; $

. L1 ا محدودا يتلقى اللغة ابن أوتوماتا نهائي (1)

L؟ هل هي نظامية؟ علل. L1 2+ ما هي اللغة (2)

L2 استعن بالنتيجة التي حصلت عليها في البند الفرعي (2) ، واشرح لماذا اللغة (3)

ليست نظامية. /يتبع في صفحة 30/

Page 30: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 30 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

برمجة موجهة كائناتإذا تعلمت هذا المسار وتكتب بلغة Java، أجب عن اثنين من الأسئلة 20-17.

)لكل سؤال - 25 درجة(

أمامك جزء من واجهة تطبيق الفئة Node ، وفيها أربع عمليات. أ. .17

، x تبني العملية حلقة. قيمة الحلقة هيوليس لديها حلقة تابعة.

Node(T x)

، x تبني العملية حلقة. قيمة الحلقة هي. next والحلقة التابعة لها هي

. null يمكن أن تكون next قيمة

Node(T x , Node<T> next)

تعيد العملية الحلقة التابعة. . null إذا لم تكن هناك حلقة تابعة، تعيد العملية

Node<T> getNext()

ا يصف الحلقة. ()String toStringتعيد العملية نص

ن عمليتين بنفس الاسم في نفس الفئة؟ ما هي الآلية التي تمك (1)

هل يمكن إضافة عملية بنائية ثالثة إلى واجهة تطبيق الفئة Node؟ (2)

إذا كانت إجابتك نعم - اكتب عنوانا ملائما للعملية، إذا كانت إجابتك لا - اشرح

لماذا.

/يتبع في صفحة 31/

Page 31: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 31 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

. Node<T> اللتان ترثان الفئة Node2<T> ، Node1<T> معطاة الفئتان ب. public class Node1<T> extends Node<T> { public Node1(T x) { super(x); } public Node1(T x, Node<T> n) { super(x, n); } public String toString() {return "$" + super.toString() + "$";}}public class Node2<T> extends Node<T> { public Node2(T x) { super(x); } public Node2(T x, Node<T> n) { super(x, n); } public String toString() {return "#" + super.toString() + "#";}}

. Test في الفئة main معطاة العملية

. (v)-(i) هناك أجزاء أوامر ناقصة في الأسطر المشار إليها بـ ،main في العملية

انسخ هذه الأسطر إلى دفترك، وأكملها بحيث يكون مخرج العملية main )من اليسار إلى

اليمين( 1$2$#3#$4$5 public class Test { public static void main(String[] args) { Node<Integer> nd = (i) ;

nd = (ii) ;

nd = (iii) ;

nd = (iv) ;

nd = (v) ;

while (nd != null) { System.out.print(nd); nd = nd.getNext(); } }}

/يتبع في صفحة 32/

Page 32: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 32 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .18

أمامك تعريفات: أ. interface IOne {...}

interface ITwo {...}

interface IThree extends IOne {...}

class C1 implements IOne {...}

class C2 implements ITwo {...}

class C3 implements IThree {...}

class C4 extends C3 implements ITwo {...}

د إذا كانت كل واحدة منها سليمة أم غير سليمة. أمامك ثماني قطع برنامج، viii-i . حد

إذا كانت غير سليمة - علل تحديدك، وحدد إذا كان هناك خطأ تجميع )مسح أوامر( أم

خطأ تشغيل )تنفيذ أوامر(.

i ITwo a = new ITwo();

ii ITwo b = new C2();

iii C3 c = new C4();

iv C2 d = new C4();

v C4 e = new C3();

vi C4 f = (C4)(new C3());

vii IOne g1 = new C1();

C4 g2 = new C4();

g1 = g2;

viii IOne h1 = new C4();

ITwo h2 = new C2();

h2 = h1;

/يتبع في صفحة 33/

Page 33: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 33 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. . Test في الفئة main ومعطاة العملية ،B ، A معطاة الفئتان

public class A{ public A(int k) { System.out.print(k + " "); } }public class B extends A{ public B(int k) { A a = new A(10); System.out.print(k + " "); }}public class Test{ public static void main(String[] args) { A a = new B(6); }}

الفئة B لا يمكن تجميعها )مسح أوامرها(.

اشرح ما هو الخطأ. i

main بحيث يكون مخرج العملية ، i ح الخطأ الذي شرحته في البند الفرعي صح ii

)من اليسار إلى اليمين( 6 10، بدون إضافة أوامر طباعة أو تغيير أوامر طباعة موجودة، . Test وبدون تغيير الفئة

انسخ إلى دفترك الفئة/ الفئات التي صححتها. main بحيث يكون مخرج العملية ، i ح الخطأ الذي شرحته في البند الفرعي صح iii

6 10 6، بدون إضافة أوامر طباعة أو تغيير أوامر طباعة موجودة، وبدون تغيير الفئة

.Test

انسخ إلى دفترك الفئة/ الفئات التي صححتها.

/يتبع في صفحة 34/

Page 34: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 34 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .19

.Run و BBB و AAA أمامك مشروع فيه الفئات أ. public class AAA{ protected int x; public AAA(int k) { x = k; } public String toString() {return "H"; }}public class BBB extends AAA{ public BBB(int k) { super(k); } public String toString() {return "T"; } public AAA convertToAAA() {return new AAA(x);}}public class Run{ public static void main (String[] args) { AAA s1 = new AAA(10); AAA s2 = new BBB(20); BBB s3 = new BBB(30); System.out.print(s1 + " "); System.out.print(s2 + " "); System.out.print(s3 + " "); System.out.print((AAA)s3 + " "); System.out.print(s3.convertToAAA()); }}

اكتب متابعة للعملية main في الفئة Run، واكتب المخرج.

في المتابعة، يجب أن تكتب قيم المتغيرات، وبالنسبة لكل كائن - قيم صفاته.

/يتبع في صفحة 35/

Page 35: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 35 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. . Test و B و A أمامك مشروع فيه الفئات

public class A{ public int x; public A() { this(1); } public A(int k) { this.x = k*10; } public int m() {return x; }}public class B extends A{ public int x; public B() { this(2); } public B(int k) { super(k + 1); this.x = super.x + 1; } public int m() {return x; }}public class Test{ public static void main(String[] args) { A a = new A(); System.out.println(a.x); System.out.println(a.m()); B b = new B(); System.out.println(b.x); System.out.println(b.m()); a = new B(); System.out.println(a.x); System.out.println(a.m()); b = (B)a; System.out.println(b.x); System.out.println(b.m()); }}

اكتب متابعة للعملية main في الفئة Test ، واكتب المخرج.في المتابعة، يجب أن تكتب قيم المتغيرات، وبالنسبة لكل كائن - قيم صفاته.

/يتبع في صفحة 36/

Page 36: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 36 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

- Judo ،ألعاب كرة - Ball ،رياضة - Sport أمامك تخطيط لهرمية الفئات بالنسبة للفئات .20جودو، RelayRace - سباق تتابع، Basketball - كرة سلة، TableTennis - تنس طاولة،

وواجهتا التطبيق IHall - رياضة في القاعة و IGroup - رياضة جماعية.

د إذا كان كل واحد منها صحيحا أم غير صحيح. أمامك أربعة تعريفات، iv-i . حد (1) أ.

إذا كان غير صحيح، علل تحديدك.

i Sport s1 = new Ball();

ii Sport s2 = new Basketball();

iii Judo b2 = new Sport();

iv Basketball b3 = new Sport();

د إذا كان كل قول منهما صحيحا أم غير صحيح. علل تحديدك. أمامك قولان، ii-i. حد (2)

فة في الفئة في الفئة Ball يمكن تعريف متغيرات من نوع private ليست معر i

. Judo أو في الفئة Sport

إذا كان في الفئة Sport تعريف لمتغير باسم title ، فإن الفئتين ii

Ball و Judo ترثانه بالضرورة، لكن لا يمكنهما التوجه إليه مباشرة.

اكتب عنوانا بلغة Java لكل فئة ولكل واجهة تطبيق في التخطيط. ب.

اكتب بلغة Java عملية ختمها public static int count(Sport[] sp) ، تعيد عدد الكائنات جـ.

في المصفوفة sp ، التي تطبق واجهتي التطبيق.

/يتبع في صفحة 37/

TableTennisتنس طاولة

IGroupرياضة جماعية

Basketballكرة سلة

Ballألعاب كرة

Judoجودو

Sportرياضة

RelayRaceسباق تتابع

IHallرياضة في القاعة

مفتاح:وراثة

تطبيق واجهة تطبيق

Page 37: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 37 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

برمجة موجهة كائناتإذا تعلمت هذا المسار وتكتب بلغة #C، أجب عن اثنين من الأسئلة 24-21.

)لكل سؤال - 25 درجة(

أمامك جزء من واجهة تطبيق الفئة Node ، وفيها أربع عمليات. أ. .21

، x تبني العملية حلقة. قيمة الحلقة هيوليس لديها حلقة تابعة.

Node(T x)

، x تبني العملية حلقة. قيمة الحلقة هي. next والحلقة التابعة لها هي

. null يمكن أن تكون next قيمة

Node(T x , Node<T> next)

تعيد العملية الحلقة التابعة. . null إذا لم تكن هناك حلقة تابعة، تعيد العملية

Node<T> GetNext()

ا يصف الحلقة. ()string ToStringتعيد العملية نص

ن عمليتين بنفس الاسم في نفس الفئة؟ ما هي الآلية التي تمك (1)

هل يمكن إضافة عملية بنائية ثالثة إلى واجهة تطبيق الفئة Node؟ (2)

إذا كانت إجابتك نعم - اكتب عنوانا ملائما للعملية. إذا كانت إجابتك لا - اشرح

لماذا.

)انتبه: البند "ب" في الصفحة التالية.(/يتبع في صفحة 38/

Page 38: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 38 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

. Node<T> اللتان ترثان الفئة Node2<T> ، Node1<T> معطاة الفئتان ب. public class Node1<T> : Node<T> { public Node1(T x) : base(x) { } public Node1(T x, Node<T> n):base(x,n) { } public override string ToString() { return "$" + base.ToString() + "$"; }}public class Node2<T> : Node<T> { public Node2(T x) : base(x) { } public Node2(T x, Node<T> n):base(x,n) { } public override string ToString() { return "#" + base.ToString() + "#"; }}

. Test في الفئة Main معطاة العملية

.(v)-(i) هناك أجزاء أوامر ناقصة في الأسطر المشار إليها بـ ،Main في العملية

انسخ هذه الأسطر إلى دفترك، وأكملها بحيث يكون مخرج العملية Main )من اليسار إلى

اليمين( 1$2$#3#$4$5 public class Test{ public static void Main () { Node<int> nd = (i) ;

nd = (ii) ;

nd = (iii) ;

nd = (iv) ;

nd = (v) ; while (nd != null) { Console.Write(nd); nd = nd.GetNext(); } }}

/يتبع في صفحة 39/

Page 39: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 39 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .22

أمامك تعريفات: أ. interface IOne {...}

interface ITwo {...}

interface IThree : IOne {...}

class C1 : IOne {...}

class C2 : ITwo {...}

class C3 : IThree {...}

class C4 : C3 , ITwo {...}

د إذا كانت كل واحدة منها سليمة أم غير سليمة. أمامك ثماني قطع برنامج، viii-i . حد

إذا كانت غير سليمة - علل تحديدك، وحدد إذا كان هناك خطأ تجميع )مسح أوامر( أم

خطأ تشغيل )تنفيذ أوامر(.

i ITwo a = new ITwo();

ii ITwo b = new C2();

iii C3 c = new C4();

iv C2 d = new C4();

v C4 e = new C3();

vi C4 f = (C4)(new C3());

vii IOne g1 = new C1();

C4 g2 = new C4();

g1 = g2;

viii IOne h1 = new C4();

ITwo h2 = new C2();

h2 = h1;

)انتبه: البند "ب" في الصفحة التالية.(

/يتبع في صفحة 40/

Page 40: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 40 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. . Test في الفئة Main ومعطاة العملية B ، A معطاة الفئتان

public class A

{

public A(int k) { Console.Write(k + " "); }

}

public class B : A

{

public B(int k)

{

A a = new A(10);

Console.Write(k + " ");

}

}

public class Test

{

public static void Main() { A a = new B(6); }

}

الفئة B لا يمكن تجميعها )مسح أوامرها(.

اشرح ما هو الخطأ. i

Main بحيث يكون مخرج العملية ، i ح الخطأ الذي شرحته في البند الفرعي صح ii

)من اليسار إلى اليمين( 6 10، بدون إضافة أوامر طباعة أو تغيير أوامر طباعة موجودة، . Test وبدون تغيير الفئة

انسخ إلى دفترك الفئة/ الفئات التي صححتها. Main بحيث يكون مخرج العملية ، i ح الخطأ الذي شرحته في البند الفرعي صح iii

.Test 6 10 6، بدون إضافة أوامر طباعة أو تغيير أوامر طباعة موجودة، وبدون تغيير الفئةانسخ إلى دفترك الفئة/ الفئات التي صححتها.

/يتبع في صفحة 41/

Page 41: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 41 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

في هذا السؤال بندان، "أ - ب"، لا علاقة بينهما. أجب عن البندين. .23

.Run و BBB و AAA أمامك مشروع فيه الفئات أ. public class AAA

{

protected int x;

public AAA(int k) { x = k; }

public override string ToString() { return "H"; }

}

public class BBB: AAA

{

public BBB(int k): base(k) { }

public override string ToString() {return "T"; }

public AAA ConvertToAAA() {return new AAA(x);}

}

public class Run{ public static void Main() { AAA s1 = new AAA(10); AAA s2 = new BBB(20); BBB s3 = new BBB(30); Console.Write(s1 + " "); Console.Write(s2 + " "); Console.Write(s3 + " "); Console.Write((AAA)s3 + " "); Console.Write(s3.ConvertToAAA()); }

}اكتب متابعة للعملية Main في الفئة Run، واكتب المخرج.

في المتابعة، يجب أن تكتب قيم المتغيرات، وبالنسبة لكل كائن - قيم صفاته.

/يتبع في صفحة 42/ )انتبه: البند "ب" في الصفحة التالية.(

Page 42: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 42 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

)لا علاقة له مع البند "أ".( ب. . Test و B و A أمامك مشروع فيه الفئات

public class A{ public int x; public A() : this(1) { } public A(int k) { this.x = k*10; } public virtual int M() { return x; }}public class B : A{ public int x; public B () : this(2) { } public B(int k) : base(k + 1) { this.x = base.x + 1; } public override int M() { return x; }}public class Test{ public static void Main() { A a = new A(); Console.WriteLine(a.x); Console.WriteLine(a.M()); B b = new B(); Console.WriteLine(b.x); Console.WriteLine(b.M()); a = new B(); Console.WriteLine(a.x); Console.WriteLine(a.M()); b = (B)a; Console.WriteLine(b.x); Console.WriteLine(b.M()); }

}اكتب متابعة للعملية Main في الفئة Test ، واكتب المخرج.

في المتابعة، يجب أن تكتب قيم المتغيرات، وبالنسبة لكل كائن - قيم صفاته. /يتبع في صفحة 43/

Page 43: 603 899205 (2) ب بوساحلا ملع

מדעי המחשב ב', קיץ תשע"ג, מס' 899205, 603- 43 -علم الحاسوب "ب"، صيف 2013، رقم 899205، 603

- Judo ،ألعاب كرة - Ball ،رياضة - Sport أمامك تخطيط لهرمية الفئات بالنسبة للفئات .24جودو، RelayRace - سباق تتابع، Basketball - كرة سلة، TableTennis - تنس طاولة،

وواجهتا التطبيق IHall - رياضة في القاعة و IGroup - رياضة جماعية.

د إذا كان كل واحد منها صحيحا أم غير صحيح. أمامك أربعة تعريفات، iv-i . حد (1) أ. إذا كان غير صحيح، علل تحديدك.

i Sport s1 = new Ball();ii Sport s2 = new Basketball();iii Judo b2 = new Sport();iv Basketball b3 = new Sport();

د إذا كان كل قول منهما صحيحا أم غير صحيح. علل تحديدك. أمامك قولان، ii-i. حد (2)

فة في الفئة في الفئة Ball يمكن تعريف متغيرات من نوع private ليست معر i

. Judo أو في الفئة Sport

إذا كان في الفئة Sport تعريف لمتغير باسم title ، عندها الفئتان ii

Ball و Judo ترثانه بالضرورة، لكن لا يمكنهما التوجه إليه مباشرة.

اكتب عنوانا بلغة #C لكل فئة ولكل واجهة تطبيق في التخطيط. ب.

اكتب بلغة #C عملية ختمها public static int Count(Sport[] sp) ، تعيد عدد الكائنات جـ.

في المصفوفة sp ، التي تطبق واجهتي التطبيق.

ב ה צ ל ח ה!ى لك النجاح! نتمن

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

حقوق الطبع محفوظة لدولة إسرائيل.النسخ أو النشر ممنوعان إلا بإذن من وزارة التربية والتعليم.

TableTennisتنس طاولة

IGroupرياضة جماعية

Basketballكرة سلة

Ballألعاب كرة

Judoجودو

Sportرياضة

RelayRaceسباق تتابع

IHallرياضة في القاعة

مفتاح:وراثة

تطبيق واجهة تطبيق

Recommended