Answerofquestion gs101 midexam fall2016

Page 1

‫جامعة سبها‬ ‫كلية تقنية املعلومات‪-‬قسم االتجاه العام‬ ‫االمتحان النصفي في مادة ‪ -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‬‬


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.