جامعة سبها كلية تقنية املعلومات-قسم االتجاه العام االمتحان النصفي في مادة -GS101خريف7102
1322/21/03
االجابة النموذجية: السؤال االول :ما املقصود بكل من: البرمجة : programmingبصفة عامة ،هي عملية تنظيم او تخطيط او جدولة مجموعة من االحداث في شكل برنامج )مثل اعداد البرنامج اليومي او برامج املؤتمرات او برامج القنوات الفضائية(. حاسوبيا هي عملية إعداد برنامج مكون من مجموعة من التعليمات املكتوبة بأحد لغات البرمجة )اللغات الراقية مثل (Java ، VB ،C++التي يمكن للحاسب ترجمتها الى اللغة التي يفهمها) لغة االلة ( machine languageلحل مشكلة ما. الخوارزمية :algorithmتسمى الخطوات املرتبة منطقيا لحل مشكلة حاسوبية أو مسألة رياضية بالخوارزمية نسبة الى العالم املسلم محمد ابو موس ى الخوارزمي . ً ً البرنامج :programبصفة عامة :هو مجموعة من التعليمات املرتبة ترتيبا منطقيا لتحقيق هدف ما. ً ً البرنامج الحاسوبي :هو مجموعة من التعليمات code instructionsاملرتبة ترتيبا منطقيا تعطى للحاسب او اي جهاز اخر لألداء التلقائي ملهمة ما.
:top-down design يمكن تجزئة الحل الى حلول جزئية اذا كان الحل كبير و مركب) مثل نوع العدد :فردي او زوجي و مجموع االعداد املقروءة (.بمعنى آخر ،تقسيم الخطوة املركبة التي تحتوي على اكثر من مهمة الى خطوات فرعية او جزئية حتى تحوي الخطوة الواحدة على مهمة واحدة .هذه الطريقة تسمى تصميم اعلى اسفل. :variablesهي اسماء تعطى ملواقع في الذاكرة ذات قيمة غير معروفة ،و قابلة للتغيير خالل فترة تنفيذ البرنامج.
ً السؤال الثاني :وضح بالتفصيل املراحل املتبعة لحل اي مسألة حاسوبيا. الحل: املرحلة االولى :التحليل النجاح في حل اي مشكلة ما يكمن في فهم هذه املشكلة ، understand the problemو ال يمكن فهم املشكلة اال بعد تعريفها ،بمعنى آخر ،البد من تحديد ما الذي يجب فعله قبل تحديد الطريقة املستخدمة لفعل ذلك. التحليل :يعني فصل العناصر االساسية للمكون عن بعضها البعض و دراسة كل عنصر على حدة و تحديد مستوى كل عنصر و عالقته بالعناصر االخرى .اذن ،لتحليل املشكلة) السؤال البرمجي( ،يتم تحديد عناصر السؤال البرمجي بالشكل التالي: ( output ) ما املطلوب من السؤال؟ ( input ) ما هي معطيات السؤال؟ ( processing ) ما هي العمليات املمكنة للحصول على output؟ املرحلة الثانية :التصميم يقصد بالتصميم وصف الحل املقترح للمشكلة ،بمعنى آخر ،صياغة الحل و التعبير عنه بطريقة واضحة و مفهومة على ً شكل مجموعة من الخطوات املتتالية) ترتيب تسلسلي ( sequential orderو املرتبة ترتيبا منطقيا بحيث يسهل الحقا تحويلها الى برنامج يسمى وصف الحل و التعبير عنه في صورة مستقلة عن اي لغة برمجة ،يسمى بالخوارزمية .Algorithm املرحلة الثالثة :التنفيذ :implementation
في هذه املرحلة ،يتم كتابة الحل البرمجي باستخدام احد لغات البرمجة املناسبة مثل .C++
السؤال الثالث :تتبع قيم x, y, zفي ذاكرة الحاسوب عند تنفيذه للتعليمات التالية: y = x*y + z/x x = x+3*z-8*x z=y – 2*x )if (z==y ;z=0 else ;y=0
مع العلم ان x=3, y=1, z=9
الحل: بالتعويض بقيم x, y, zفي التعليمات املعطاة كما يلي:
-6
6
1
y
y = 3*1+9/3=3+3= 6
6
3
x
x = 3+3*9-8*3=3+27-24=30-24=6
z
z=6 – 2*6=6-12=-6
9
false
0
6
1
)if (z==y) if ( -6 == 6 ;z=0 else ;y=0 y
السؤال الرابع :اكتب خوارزمية لطباعة مضروب ،mمع رسم املخطط االنسيابي. **الحل :لكتابة الخوارزمية للسؤال املعطى ،نتبع الخطوات التالية: ً أوال :التحليل (تحليل السؤال) تحديد outputو هو مضروب العدد mو نضع الناتج في factor تحديد inputو هو العدد m تحديد املعالجة (العمليات املطلوبة للحصول على : (output **يوجد عملية ضرب (متكررة): اذا كان العدد املدخل mيساوي 2فان املطلوب هو ناتج 1*2*3*4*5*6*7 يمكن االستعانة بالحلقة للحصول على الحل االمثلfor : ً ثانيا :التصميم (تصميم الحل :الخوارزمية) Start read m الن الرقم واحد محايد ضربي let factor = 1 // )for ( i = 7 to m ; factor = factor* i print factor stop ارسم املخطط االنسيابي....
1. 2. 3. 4. 5. 6.
السؤال الخامس :شخص ما يشتري عدد nمن الكتب بثمن tللكتاب الواحد ،فإذا كان عددها اكثر من ،23تحصل على تخفيض ،%5و اذا تجاوز عددها ضعف ذلك ،تحصل على تخفيض ،%15 اكتب خوارزمية لطباعة عدد ما اشتراه من الكتب و تمنها قبل و بعد التخفيض و قيمة التخفيض. الحل: ً لحل اي سؤال برمجيا ،البد من اتباع الخطوات التالية: ً اوال :التحليل: تحديد :output طباعة عدد الكتب املشتراة n طباعة ثمن الكتب املشتراة قبل التخفيض cost طباعة ثمن الكتب املشتراة بعد التخفيض االول ، cost1بعد التخفيض الثاني cost2 طباعة قيمة التخفيض االول ، dis1قيمة التخفيض الثاني dis2 تحديد :input عدد الكتبn : ثمن الكتاب الواحد قبل التخفيض t التخفيض االول dis1 %5 التخفيض الثاني dis2 %15 تحديد املعالجة processing حساب ثمن الكتب بدون تخفيضcost = n * t : حساب قيمة التخفيض االول ( )t - t*0.05 حساب ثمن الكتب بعد التخفيض االول (عدد الكتب اكبر من )23 ) cost1= n * ( t – t *0.05 حساب قيمة التخفيض الثاني ( )t - t*0.25 حساب ثمن الكتب بعد التخفيض الثاني (عدد الكتب اكبر من الضعف)13 : )cost1= n * ( t – t *0.25
ً ثانيا :التصميم :تصميم الخوارزمية: 1. start 2. read n, t ) 3. if ( n < = 10 ; cost = n * t ; print n, cost else ) if ( n < =20 dis1 = t * 0.05 )cost1 = n * (t – dis1 print dis1, cost1 else dis2 = t *0.25 )cost2 = n * (t – dis2 print dis2, cost2 4. stop السؤال السادس :اكتب خوارزمية لحساب الوقت الحالي ملدينة ما إذا كانت تقع على خط طول يقدر ً ب ،8+ GMTو كان الوقت الحالي ملدينة لندن العاشرة صباحا ،مع طباعة الوقت في الصورة ً (صباحا أو ً مساء). القياسية 1. start ;2. london = 10 ;3. time = london + 8 )4. If ( time > 12 ; time = time -12 "print time , "PM else "print time , "AM 5. stop