Download as ppsx, pdf, or txt
Download as ppsx, pdf, or txt
You are on page 1of 17

‫أساسيات البرمجة‬

‫خطوات حل المسائل البرمجيّة‬

‫المحاضرة الثالثة‬

Principles of programming -- Prepared by: Abdul Hakeem M. Gujja Spring 2019


‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫علمنـ أـن خطوات حـل المسـائل البرمجيـة يتلخـص فـي خمس‬‫ا‬ ‫كمـ‬
‫ا‬
‫خطوات وهي‪:‬‬
‫‪ .1‬فهم ومعرفة المسألة‪.‬‬
‫‪ .2‬تحليل المسألة‪.‬‬
‫‪ .3‬تصميم الحل وينقسم إلى‪:‬‬
‫‪ .1‬كتابة الخوارزمية‪.‬‬
‫‪ .2‬رسم المخطط اإلنسيابي‪.‬‬
‫‪ .4‬كتابة البرنامج‪.‬‬
‫‪ .5‬تنفيذ وإختبار البرنامج‪.‬‬

‫فـي هذه المحاضرة سـنتكلم علـى الخطوتيـن ‪ 1‬و ‪ 2‬كاملـة بين امـ الخطوة ‪ 3‬سنتكلم‬
‫على الخوارزمية فقط إلى حين أن نصل إلى المخطط اإلنسيابي‪.‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة الدائرة‬
‫أوال ً معرفـة وفهـم المسـألة‪ :‬نقوم بفهـم المسـألة وهـي أن إيجاد‬
‫معرف‬
‫ّ‬ ‫مسـاحة الدائرة يتطلـب معرفـة قانون المسـاحة وهو‬
‫كالتالي‪ :‬المساحة= ط*نق*نق أي ‪Area=Pi*r*r‬‬

‫ثانيا ً تحليـل المسـألة‪ :‬وهوـ معرفـة المدخالت إليجاد المساحة‪.‬‬


‫ك امـ نعلـم أـن قيمـة الـــ ‪ pi‬قيمـة ثابتـة وتسـاوي ‪ ،3.14‬إذا ً فإن‬
‫المدخـل الوحيدـ كـبيانات‪ ،‬كذلـك معرفة‬ ‫ُ‬ ‫نصـف القطرـ ‪ r‬هوـ‬
‫العمليات الحسـابية أوـ المنطقيـة التـي سـتجرى على هذه‬
‫لدينـ عمليـة حسـابية واحدة فقط‬ ‫ا‬ ‫المدخالت وفـي هذه المسـألة‬
‫وهي‪:‬‬
‫كون‬‫مـعـرفـة مـخـرجات اـلبرنـاـمـج وـهناـ يـ‬ ‫أـخرا ًيـ‬ ‫‪Area= pi*r*r‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫حة‪.‬‬
‫‪ Spring‬لاـم اـسـ‬
‫‪2019‬ـعة‬
‫بطـا‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة الدائرة‪.‬‬

‫ثالثا ً تصميم الحل‪:‬‬


‫‪ -1‬كتابة الخوارزمية‬

‫البداية‬ ‫‪.1‬‬
‫قراءة قيمة نصف القطر ‪.r‬‬ ‫‪.2‬‬
‫حساب المساحة ‪.Area= 3.14*r*r‬‬ ‫‪.3‬‬
‫طباعة المساحة ‪.Area‬‬ ‫‪.4‬‬
‫النهاية‪.‬‬ ‫‪.5‬‬

‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة الدائرة‪.‬‬
‫حل آخر‬
‫ثالثا ً تصميم الحل‪:‬‬
‫‪ -1‬كتابة الخوارزمية‬

‫البداية‬ ‫‪.1‬‬
‫ضع ‪pi=3.14‬‬ ‫‪.2‬‬
‫قرـاءة قيمة نصف القطر ‪.r‬‬ ‫‪.3‬‬
‫حساب المساحة ‪.Area= pi*r*r‬‬ ‫‪.4‬‬
‫طباعة المساحة ‪.Area‬‬ ‫‪.5‬‬
‫النهاية‪.‬‬ ‫‪.6‬‬

‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد وطباعة متوسط ثالثة أعداد‪.‬‬

‫أوال ً معرفـة وفهـم المسـألة‪ :‬نقوم بفهـم المسـألة وهـي أن إيجاد‬


‫المتوسـط ألـي أعداد يكون بجمـع هذه األعداد ثـم تقسـيمها على‬
‫عددها‪.‬‬

‫ثانيا ً تحليـل المسـألة‪ :‬وهوـ معرفـة المدخالت إليجاد المتوسط‬


‫وهانـ إدخال ثالثـة أعداد كـبيانات ُمدخلـة ولتكـن (‪ ،)x, y, z‬كذلك‬
‫معرفـة العمليات الحسـابية وأـ المنطقيـة التـي سـتجرى على هذه‬
‫ابية واحدة وهي‪:‬‬ ‫لدين ـ عمليةـ حس ـ‬ ‫ا‬ ‫وهن ـ‬
‫ا‬ ‫المدخالت‬
‫وهنـ طباعة‬
‫ا‬ ‫‪ Avg=(x+y+z)/3‬ثـم معرفـة مخرجات الـبرنامج‬
‫المتوسط لهذه األعداد ‪.Avg‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد وطباعة متوسط ثالثة أعداد‪.‬‬
‫ثالثا ً تصميم الحل‪:‬‬
‫‪ -1‬كتابة الخوارزمية‬

‫البداية‪.‬‬ ‫‪.1‬‬
‫قراءة قيمة ثالثة أعداد (‪.)x, y, z‬‬ ‫‪.2‬‬
‫حساب المتـوسط لها ‪.Avg=(x+y+z)/3‬‬ ‫‪.3‬‬
‫طباعة المتوسط ‪. Avg‬‬ ‫‪.4‬‬
‫النهاية‪.‬‬ ‫‪.5‬‬

‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد وطباعة متوسط ثالثة أعداد‪.‬‬
‫ثالثا ً تصميم الحل‪:‬‬
‫‪ -1‬كتابة الخوارزمية‬
‫حل آخر‬
‫البداية‪.‬‬ ‫‪.1‬‬
‫قراءة قيمة ثالثة أعداد (‪.)x, y, z‬‬ ‫‪.2‬‬
‫حساب ‪sum=x+y+z‬‬ ‫‪.3‬‬
‫حساب المتـوسط لها ‪.Avg=sum/3‬‬ ‫‪.4‬‬
‫طباعة المتوسط ‪. Avg‬‬ ‫‪.5‬‬
‫النهاية‪.‬‬ ‫‪.6‬‬

‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة مثلث بمعلومية القاعدة واإلرتفاع‬
‫أوال ً معرفـة وفهـم المسـألة‪ :‬نقوم بفهـم المسـألة وهـي أن إيجاد‬
‫معرف‬
‫ّ‬ ‫مسـاحة المثلـث يتطلـب معرفـة قانون إيجاد مسـاحته وهو‬
‫أو‬ ‫فـ القاعدة*اإلرتفاع‬
‫احة= نصـ‬ ‫المســ‬ ‫يـ‪:‬‬
‫كالتالـ‬
‫‪Area=0.5*b*h‬‬

‫ثانيا ً تحليـل المسـألة‪ :‬وهوـ معرفـة المدخالت إليجاد المساحة‪.‬‬


‫المدخالت طول القاعدة وإرتفاع المثلـث‪ ،‬كذلـك معرفة‬ ‫وهنـ ُ‬ ‫ا‬
‫العمليات الحسـابية أوـ المنطقيـة التـي سـتجرى على هذه‬
‫لدينـ عمليـة حسـابية واحدة فقط‬ ‫ا‬ ‫المدخالت وفـي هذه المسـألة‬
‫وهي‪:‬‬
‫عدـة‬‫اـ‬
‫اـلقـ‬ ‫مثل‬ ‫عترـ و‪ b‬يـ‬ ‫اـاـفإلـ‬ ‫مثـل‬
‫يـ‬ ‫حـث‪h‬‬
‫ي‬ ‫‪Area=0.5*b*h‬‬
‫حة‬ ‫‪of programming‬لاـم اـسـ‬
‫‪Principles‬‬ ‫كون بطـاـعـة‬
‫ـ‪--‬‬ ‫هنـ ي‬
‫‪Prepared‬‬ ‫‪by:‬اـ‬
‫‪Hakeem‬اـمـج‪ Abdul‬وـ‬
‫رجات ‪ M.‬اـلبرنـ‬ ‫خرا ًيـ‪ Spring‬مـعـرفـة مـخ‬
‫ـ ‪Gujja‬‬ ‫أـ‬
‫‪2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة مثلث بمعلومية القاعدة واإلرتفاع‬

‫ثالثا ً تصميم الحل‪:‬‬


‫‪ -1‬كتابة الخوارزمية‬

‫البداية‪.‬‬ ‫‪.1‬‬
‫قراءة قيمة القاعدة ‪ b‬واإلرتفاع ‪.h‬‬ ‫‪.2‬‬
‫حساب المساحة ‪.Area= 0.5*b*h‬‬ ‫‪.3‬‬
‫طباعة المساحة ‪.Area‬‬ ‫‪.4‬‬
‫النهاية‪.‬‬ ‫‪.5‬‬

‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة مثلث بمعلومية ‪ 3‬أضالع‬
‫أوال ً معرفـة وفهـم المسـألة‪ :‬نقوم بفهـم المسـألة وهـي أن إيجاد‬
‫‪ ‬‬

‫مسـاحة المثلـث يتطلـب معرفـة قانون إيجاد مسـاحته وهو‬


‫كالتالي‪:‬‬

‫ثانيا ً تحليـل المسـألة‪ :‬وهوـ معرفـة المدخالت إليجاد المساحة‪.‬‬


‫المدخالت هـي طول أضالع المثلـث (‪ ،)a, b c‬كذلـك معرفة‬‫وهنا ُ‬
‫العمليات الحسـابية أوـ المنطقيـة التـي سـتجرى على هذه‬
‫المدخالت وفي هذه المسألة لدينا عمليتين حسابيتـين وهما‪:‬‬

‫أخيرا ً معرفـة مخرجات الـبرنامج وهناـ يكون طباعـة المساحة‬


‫‪.area‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة إيجاد مساحة مثلث بمعلومية ‪ 3‬أضالع‬

‫‪ ‬‬
‫ثالثا ً تصميم الحل‪:‬‬
‫‪ -1‬كتابة الخوارزمية‬

‫البداية‪.‬‬ ‫‪.1‬‬
‫قرـاءة قيم أضالع المثلث (‪.)a, b, c‬‬ ‫‪.2‬‬
‫حساب قيمة ‪:s‬‬ ‫‪.3‬‬
‫حساب المساحة‪:‬‬ ‫‪.4‬‬
‫طباعة المساحة ‪.area‬‬ ‫‪.5‬‬
‫النهاية‪.‬‬ ‫‪.6‬‬

‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة قراءة ‪ 100‬قيمة صحيحة وإيجاد وطباعة مجموعها‬
‫أوال ً معرفـة وفهـم المسـألة‪ :‬نقوم بفهـم المسـألة وهـي أن إيجاد‬
‫المجموع ألـي أعداد يكون بجمـع هذه األعداد‪ .‬ولكـن هانـ عددها‬
‫كـبير وهوـ ‪ 100‬عدد لذا سـنقوم أوال ً بوضـع ع ّداد ‪ c‬يبدأ بقيمة‬
‫تسـاوي ‪ 1‬وبعدـ قراءـة كـل قيمـة وإضافت اهـ للقيمـة السـابقة نضيف‬
‫إلـى الع ّداد ‪ 1‬لعدـ القيـم المدخلـة ونختـبر قيمتـه حتـى يصل الع ّداد‬
‫إلى القيمة ‪.101‬‬
‫ثانيا ً تحليـل المسـألة‪ :‬وهـو معرفة نوع المدخالت إليجاد المجموع‬
‫وهنـ قراءـة ‪ x‬كـبيانات ُمدخلـة صـحيحة‪ ،‬كذلـك معرفة العمليات‬ ‫ا‬
‫الحسـابية التـي سـتجرى علـى هذه المدخالت وهي‪:‬‬
‫‪ sum=sum+x‬و ‪ c=c+1‬ثـم العمليـة المنطقيـة وهـي إذا كانت‬
‫‪ c<=100‬فاسـتمر فـي قراءـة قيمـة ‪ x‬وإضافتها للمجموع وإال‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة قراءة ‪ 100‬قيمة وإيجاد وطباعة مجموعها‬
‫ثالثا ً تصميم الحل‪:‬‬
‫‪ -1‬كتابة الخوارزمية‬

‫البداية‬ ‫‪.1‬‬
‫ضع ‪sum=0 , c=1‬‬ ‫‪.2‬‬
‫قراءة ‪x‬‬ ‫‪.3‬‬
‫حساب المجموع بوضع ‪.sum=sum+x‬‬ ‫‪.4‬‬
‫وضع ‪.c=c+1‬‬ ‫‪.5‬‬
‫إذا كانت قيمة ‪ c<=100‬فاذهب إلى الخطوة ‪.3‬‬ ‫‪.6‬‬
‫طباعة المجموع ‪.sum‬‬ ‫‪.7‬‬
‫النهاية‪.‬‬ ‫‪.8‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة قراءة ‪ n‬من األعداد وإيجاد وطباعة مجموعها‬
‫أوال ً معرفـة وفهـم المسـألة‪ :‬نقوم بفهـم المسـألة وهـي أن إيجاد‬
‫المجموع ألـي أعداد يكون بجمـع هذه األعداد‪ .‬ولكـن هانـ عددها‬
‫مجهول وهوـ ‪ n‬لذا سـنقوم بقراءـة ‪ n‬أوال ً ثـم وضـع ع ّداد ‪ c‬وذلـك لعد‬
‫القيم المدخلة حتى نقرأ ‪ n‬من القيم وجمعها‪.‬‬
‫ثانيا ً تحليـل المسـألة‪ :‬وهوـ معرفـة المدخالت إليجاد المجموع وهنا‬
‫إدخال ‪ n‬كعدد األعداد المراد قراءت اهـ ثـم قراءـة ‪ x‬كـبيانات ُمدخلة‪،‬‬
‫كذلـك معفرــة العمليات الحسـابية التـي سـتجرى على هذه‬
‫المدخالت وهـي‪ sum=sum+x :‬و ‪ c=c+1‬ثـم العمليـة المنطقية‬
‫وهـي إذا كانـت ‪ c<=n‬فاسـتمر فـي قراءـة قيمـة ‪ x‬وإضافتها‬
‫للمجموع وإال فطباعـة المجموع أخيرا ً معرفـة مخرجات البرنامج‬
‫وهو طباعة مجموع األعداد (‪.)sum‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫صياغة حل مسألة قراءة ‪ n‬من األعداد وإيجاد وطباعة مجموعها‬
‫ثالثا ً تصميم الحل‪:‬‬
‫‪ -1‬كتابة الخوارزمية‬
‫‪ .1‬البداية‬
‫‪ .2‬قراءة قيمة ‪.n‬‬
‫‪ .3‬ضع ‪sum=0 , c=1‬‬
‫‪ .4‬قراءة ‪x‬‬
‫‪ .5‬حساب المجموع بوضع ‪.sum=sum+x‬‬
‫‪ .6‬وضع ‪.c=c+1‬‬
‫‪ .7‬إذا كانت قيمة ‪ c<=n‬فاذهب إلى الخطوة ‪.4‬‬
‫‪ .8‬طباعة المجموع ‪.sum‬‬
‫‪ .9‬النهاية‪.‬‬
‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬
‫البرمجية‬
‫ّ‬ ‫المسائل‬ ‫حل‬ ‫خطوات‬
‫تمارين‬
‫تكلم عن خطوات حل المسائل التالية‪:‬‬
‫‪ .1‬إيجاد مساحة مستطيل‪.‬‬

‫‪ .2‬إيجاد مساحة مربع‪.‬‬

‫‪ .3‬إيجاد محيط دائرة‪.‬‬

‫‪ .4‬إيجاد مساحة إسطوانة‪.‬‬

‫‪ .5‬إيجاد جيب وجيب تمام أيزاوية‪.‬‬


‫‪Principles of programming‬‬ ‫‪-- Prepared by: Abdul Hakeem M. Gujja‬‬ ‫‪Spring 2019‬‬

You might also like