( )
أسئلة من امتحانات مفمار
سؤال (مفمار 2014
سؤال 3)
(أ)
أمامكم قائمة الاعداد
التالية: 20, 50, 30, 10, 70, 40
الخوارزمية التالية تقرأ اعداد.
ماذا يخرج (פלט) من
الخوارزمية إذا المُدخلات أُخذت من قائمة الأعداد المذكورة (من اليسار إلى
اليمين، المُدخل الأول 20)؟
انتبه – الخوارزمية ليس بالضرورة تستعمل
جميع الاعداد التي في القائمة.
|
|
(ب)
الخوارزمية التالية هي أيضاً تقرأ أعداد.
ماذا يخرج (פלט) من
الخوارزمية إذا المدخلات أخذت من قائمة الأعداد السابقة (من اليسار إلى اليمين، المُدخل
الأول 20)؟
انتبه – الخوارزمية ليس بالضرورة تستعمل
جميع الاعداد التي في القائمة.
|
|
الحل:
(أ)
20 70 100 110
توضيح: الحلقة تنفذ
في 4 دورات (איטרציות).
المخرج
(على الشاشة)
|
Sum ç 0
|
|
count ç 0
(دورات الحلقة)
|
20
|
0+20=20
|
20
|
(1)
|
70
|
20+50=70
|
50
|
(2)
|
100
|
70+30=100
|
30
|
(3)
|
110
|
100+10=110
|
10
|
(4)
|
|
(ب)
20 70 100 110 180
توضيح: الحلقة تنفذ
في 5 دورات (איטרציות).
الحلقة كرر حتى- repeat until () تُنفذ
طالما الشرط لم يتحقق. عندما يتحقق الشرط ويأخذ القيمة true
عندها الحلقة سوف تتوقف. نراقب هذا الشرط في الجدول المتابعة
التالي:
المخرج
(على الشاشة)
|
count
(دورات الحلقة)
|
Sum
|
|
|
|
1
|
0
|
|
|
20
|
1+2=3
|
0+20=20
|
20
|
not (1<10) èflase
|
70
|
53+2=
|
20+50=70
|
50
|
not (3<10)
èflase
|
100
|
5+2=7
|
70+30=100
|
30
|
not (5<10) èflase
|
110
|
7+2=9
|
100+10=110
|
10
|
not (7<10) èflase
|
180
|
9+2=11
|
100+70=180
|
70
|
not (9<10) èflase
|
|
|
|
|
not (11<10) èfrue
|
|
|