السبت، 1 أبريل، 2017

الهدف من تعلم صياغة المسائل



الهدف من تعلم صياغة المسائل  
1- القدرة علي كتابة برامج للحاسب 
2- التخطيط لحياتك اليومية 
3- القدرة على التفكير لحل المشكلات  
* برمجة الحاسب الآلي : 
تزويد الحاسب الآلي بالتوجيهات و الأوامر ليقوم بالعمليات الحسابية و المقارنة . 
* خطوات حل المسائل و خطوات كتابة البرنامج : 
خطوات حل المسائل 
 
و خطوات كتابة البرنامج 
خطوات حل المسائل

خطوات كتابة البرنامج

1- تحليل عناصر المسألة

2- كتابة الخوار زم 

3- رسم مخططات الانسياب 

4- كتابة البرنامج بواسطة إحدى لغات البرمجة 

5- ترجمة البرنامج إلى لغة الآلة 

6- اختبار البرنامج و إصلاح الأخطاء

*تحليل عناصر المسألة :

أ- تحديد مخرجات البرنامج: و هي النتائج و المعلومات المراد التوصل إليها .

ب- تحديد مدخلات البرنامج: البيانات اللازم الحصول عليها لمعرفة النتائج .

جـ - تحديد عمليات المعالجة: العمليات الحسابية و الخطوات المنطقية التي نجريها على المدخلات                للحصول على المخرجات .


*كتابة الخطوات الخوارزمية :

هي مجموعة من القواعد و العمليات المعرفة جيدا لحل المشكلة في عدد محدد من الخطوات .

* خواص الخوارزمية السليمة : 

1- كل خطوة يجب أن تكون معرفة جيدا دون أي غموض و محددة بعبارات دقيقة . 

2- أن تتوقف العمليات بعد عدد محدد من الخطوات

3- أن تؤدي العمليات بمجملها إلى حل المسألة الحل الصحيح

المقصود بتحليل عناصر حل المسألة 

هي أن نعرف بالضبط ماذا نريد من البرنامج

*رسم مخططات الانسياب :

هي تمثيل بياني أو رسمي للخطوات الخوارزمية . 

*فوائد رسم المخططات : 

1- توضيح الطريقة التي يمر بها البرنامج من المدخلات ثم المعالجة ثم المخرجات .

2- توثيق منطق البرنامج للرجوع إليه لإجراء التعديلات و اكتشاف الأخطاء 

*بعض الرموز المستخدمة في بناء مخططات الانسياب :

الرمز

الاسم

المعنى

بداية/نهاية

يمثل بداية أو نهاية البرنامج

إدخال/إخراج

يمثل إدخال البيانات أثناء البرنامج أو إخراجها 

عملية

يمثل عملية معالجة البيانات

قرار

يمثل اتخاذ القرار أو تعبير منطقي يحتاج إلى جواب

خط انسياب

يمثل اتجاه الانسياب المنطقي للبرنامج

مثال 1 

قم بصياغة حل المسألة ( قم بتحليل عناصر المسألة ثم كتابة الخطوات الخوارزمية ثم رسم مخطط الانسياب ) لحساب مساحة المستطيل بمعلومية الطول و العرض ، إذا علمت أن مساحة المستطيل = الطول العرض ؟

أولا : 

  تحليل عناصر المسألة: 

1- مخرجات  البرنامج و هي مساحة المستطيل(م)

2- مدخلات  البرنامج و هي الطول(ط) و العرض(ع)

3- عمليات  المعالجة و هي قانون مساحة  المستطيل

                        و هو مساحة المستطيل(م) = الطول(ط) * العرض(ع)

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- أدخل  الطول (ط)  و العرض(ع)

2- أحسب  مساحة المستطيل(م) = ط * ع

4- النهاية 

3- أطبع  المساحة(م) 

ثالثا : 

رسم مخطط الانسياب : 

بداية

نهاية

أدخل (ط) و (ع) 

المساحة (م)= ط * ع

اطبع المساحة(م)

مثال 2

قم بصياغة حل المسألة لإيجاد متوسط عددين ؟ 

أولا : 

  تحليل عناصر المسألة: 

1- مخرجات البرنامج و هي متوسط العددين المدخلين  م 

2- مدخلات البرنامج و هي عددين مدخلين أ ، ب 

3- عمليات المعالجة و هي قانون متوسط العددين

                                            و هو متوسط عددين = ( العدد الأول + العدد الثاني )  2

                                                                            أو بمعنى م = ( أ + ب )  2 

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- أدخل  العددين  أ ، ب 

2- اجعل  م = ( أ + ب ) * 2 

4- النهاية 

3- أطبع  م

ثالثا : 

رسم مخطط الانسياب : 

بداية

نهاية

أدخل العددين  أ ، ب 

  اجعل  م = ( أ + ب ) * 2 

اطبع  قيمة م

* مثال 3 

قم بصياغة حل المسألة لإيجاد زكاة المال و ذلك بمعلومية المال المدخر ، إذا علمت أن زكاة المال = 0.025 ×  المال المدخر، بشرط حساب الزكاة للمال إذا تجاوز 1000 ريال ؟

أولا : 

تحليل عناصر المسألة: 

1- مخرجات البرنامج و هي زكاة المال ( ك )

2- مدخلات البرنامج و هي مبلغ المال ( م )

3- عمليات المعالجة و هي عمليتين أو قانونين هما : 

قانون زكاة المال = المال × 0.025   بمعنى   ك = 0.025 × م

شرط زكاة المال : المال يتجاوز 1000 ريال   بمعنى   م  < 1000

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- أدخل مبلغ المال  م 

2- إذا كان المبلغ ( م ) أصغر أو يساوي 1000 توقف ، و إلا  استمر 

3- اجعل الزكاة ( ك ) = 0.025 × م

4- اطبع الزكاة ( ك ) 

5- نهاية البرنامج

ثالثا : 

رسم مخطط الانسياب : 

بداية

نهاية

أدخل المبلغ ( م ) 

اجعل  الزكاة ( ك ) = 0,025 × م 

اطبع  الزكاة ( ك )

المبلغ(م) <= 1000

نعم 

لا

مثال4 :

قم بصياغة حل لطباعة الأعداد الفردية من 1 إلى 50 ؟ 

أولا:

تحليل عناصر المسألة:

1- مخرجات البرنامج و هي طباعة الأعداد الفردية 1 إلى 50

2- مدخلات البرنامج : لاتوجد مدخلات.

3- عمليات المعالجة:

الانتقال من عدد فردي إلى عدد فردي اخر

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- اجعل ع = 1

2- اطبع ع

3- اجعل ع = ع + 2

4- اذا ع    50 < توقف وإلا اذا اذهب إلى الخطوة رقم (2)

ثالثا : 

رسم مخطط الانسياب : 

بداية

نهاية

اجعل ع = 1

اطبع ع

اجعل ع = ع + 2

ع 50 <

لا

نعم

* مثال 3 / 

قم بصياغة حل المسألة لإيجاد نوع العدد المدخل 

أولا : 

تحليل عناصر المسألة بتحديد: 

1- مخرجات البرنامج و هي نوع العدد المدخل

2- مدخلات البرنامج و هي العدد المدخل (ع)

3- عمليات المعالجة 

إذا كان العدد > الصفر نطبع "موجب" 

  إذا كان العدد < الصفر نطبع "سالب"

  إذا كان العدد = الصفر نطبع "مساو للصفر"

ثانيا : 

  كتابة الخطوات الخوارزمية : 

1- أدخل العدد (ع)

2- إذا كان  ع > 0   اطبع "موجب"  ،  و إلا استمر 

3- إذا كان ع <  0  اطبع "سالب"  ،  و إلا استمر 

4- إذا كان ع = 0  اطبع "مساو للصفر"

5- النهاية

ثالثا : 

رسم مخطط الإنسياب : 

بداية

  أدخل العدد(ع) 

ع > 0 

ع <  0 

  ع = 0

  اطبع "موجب" 

  اطبع "سالب" 

  اطبع "مساو للصفر" 

نهاية

نعم

نعم

نعم

لا

لا

لا

أولا : 

تحليل عناصر المسألة بتحديد: 

1- مخرجات البرنامج و هي نتيجة الطالب أي ناجح أم راسب

2- مدخلات البرنامج و هي  درجة الطالب في مادة الحاسب

3- عمليات المعالجة و هي إذا كانت الدرجة >= 50 نطبع "ناجح"  و إلا نطبع "راسب"

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- أدخل درجة الطالب(د)

2- إذا كانت الدرجة  د >= 50 اطبع "ناجح"  ،  و إلا اطبع "سالب"

3- النهاية 

ثالثا : 

رسم مخطط الإنسياب : 

بداية

نهاية

أدخل الدرجة(د)

  اطبع "راسب" 

  د >= 50 

  اطبع "ناجح"

قم بصياغة حل لتحديد نتيجة الطالب حيث يقوم بطباعة ناجح اذا كانت الدرجة 50 اواكثر وراسب اذا

كانت النتيجة اقل من 50؟

أولا : 

تحليل عناصر المسألة بتحديد: 

1- مخرجات البرنامج و هي الأعداد الزوجية من 2 الى 50 

2- مدخلات البرنامج و هي غير مطلوبة في هذا البرنامج 

3- عمليات المعالجة و هي إذا كان العداد I = 50 توقف

    و إلا زد العداد بمقدار 2

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- ضع العداد(ع) = 0

2- اجعل العداد(ع) = ع + 2

3- اطبع قيمة العداد(ع)

4- إذا كان العداد ع =50 توقف ، و إلا اذهب إلى الخطوة ( 2 ) 

5- النهاية 

ثالثا : 

رسم مخطط الإنسياب : 

بداية

  اجعل ع = ع + 2

  اجعل ع = 0

  اطبع (ع)

ع = 50 

نهاية

نعم

لا

* مثال 4 / 

قم بصياغة حل المسألة لإيجاد متوسط درجات طلاب فصل ما في مادة الحاسب الآلي، إذا علمت أن عددهم 10؟

أولا : 

تحليل عناصر المسألة بتحديد: 

1- مخرجات البرنامج و هي متوسط الدرجات ( م )

2- مدخلات البرنامج و هي درجات 10 طلاب ( د )

3- عمليات المعالجة و هي عمل عداد ( ع ) لعد الطلاب حتى آخر طالب

الطريقة : إذا كان العداد = 10 استمر و إلا  زد العداد

  عمل مخزن لجمع درجات الطلاب ( ج ) 

الطريقة : ج (الجديدة) = ج (القديمة) + د 

قانون إيجاد المتوسط لعشرة أعداد   أي   م = ج ÷ 10

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- ضع المجموع   ( ع) = 0

2- اجعل العداد   ( ج ) = 0 

3- اجعل  العداد   ع = ع + 1 

4- ادخل درجة الطالب رقم ( ع ) و خزنها في ( د ) 

5- اجعل المجموع   ج = ج + د 

6- إذا كان العداد   ع = 10   استمر ، و إلا اذهب إلى الخطوة (3)

7- اجعل المتوسط   م = ج ÷ 10 

8- اطبع المتوسط   م 

9- نهاية البرنامج

بداية

ثالثا : 

كتابة الخطوات الخوارزمية : 

  اجعل  ع = 0

  اجعل   ج = 0 

اجعل   ع = ع + 1

  اجعل  م = ج ÷ 10

اجعل   ج = ج + د 

  اطبع   م 

ادخل درجة الطالب ( د )

  ع = 10

نهاية

العداد(ع)

المجموع(ج)

الدرجة(د)

المتوسط(م)

الدرجات

50

30

10

60

40

س/تتبع مخطط سير الانسياب التالي لإدخال الدرجات التالية ؟

نعم

لا

مثال  5:

قم بصياغة حل لإيجاد أصغر عدد من مجموعة من الأعداد المدخلة ؟

أولا:

تحليل عناصر المسألة:

1- مخرجات البرنامج :أصغر عدد من مجموعة من الأعداد المدخلة وليكن (ص).

2- مدخلات البرنامج : مجموعة من الأعداد المدخلة ولنضعها في متغير (د)

3- عمليات المعالجة:

المقارنة بين كل عدد مدخل مع العدد الذي قبله مع افتراض أن العدد الصغير هو العدد المدخل أولا

ثانيا : 

كتابة الخطوات الخوارزمية : 

1- أدخل العدد الاول(د)

2- اجعل ع = 1

3- اجعل ص = العدد الاول(د)

4- أدخل العدد التالي(د)

5- اجعل ع = ع + 1

6- إذا كان العدد التالي(د) < ص اجعل ص = العدد التالي(د) وإلا استمر

7- إذا كان ع < 10 اذهب إلى الخطوة رقم (4) وإلا استمر

8- اطبع ص

ثالثا : 

رسم مخطط الانسياب : 

بداية

أدخل العدد الأول

اجعل ع = 1

اجعل ص = العدد الأول

أدخل العدد التالي

اجعل ع = ع + 1

العدد التالي < ص

اجعل ص = العدد التالي

ع < 10

اطبع ص

نهاية

لا

نعم

نعم

لا

بداية

أدخل العدد الأول

اجعل ع = 1

اجعل ص = العدد الأول

أدخل العدد التالي

اجعل ع = ع + 1

العدد التالي < ص

اجعل ص = العدد التالي

ع < 10

اطبع ص

نهاية

لا

نعم

نعم

لا

س/تتبع مخطط سير الانسياب التالي لإيجاد اصغر عدد من مجموعة اعداد مدخلة ؟

الدرجة(د)


العداد(ع)


اصغر عدد(ص)

50

30

10

60

40

الأعداد

التعامل مع البيانات و أوامر لغة البيسك الأساسية

* برنامج الحاسب : 

مجموعة من التعليمات و الأوامر التي تعطى للحاسب الآلي للقيام بمهام مرتبة و محددة .

لغات البرمجة

اللغات البسيطة 

اللغات العالية 

1- لغة الآلة

2- لغة التجميع ( الرمزية ) 

1- لغة البرمجة الإجرائية 

2- لغة البرمجة المرئية

اللغات البسيطة

1 -  لغة الآلة

هي اللغة الوحيدة التي يفهمها الحاسب لأنها مكونة من رقمين هما ( الصفر و الواحد ) 

مثال

لكتابة حرف L نكتب الرموز ( 01011000 ) كشفرة للدلالة على الحرف  L   و هكذا بقية الحروف و الأرقام و الرموز .

مميزات لغة الآلة

تتميز لغة الآلة بسرعة تنفيذها على الحاسب لأن أوامرها تكتب بالنظام الثنائي (1,0) الذي يتعامل به الحاسب ويفهمه مباشرة

عيوب لغة الآلة

1 – لغة الآله مرتبطة بالحاسب الذي صممت من أجله 

2 - تحتاج إلى معرفة تامة بالإمكانيات والمكونات الداخلية للحاسب الذي صممت من أجله لغة الآله

3 – لغة الآله يتم كتابة أوامرها بالنظام الثنائي

1 -  لغة التجميع

هي اللغة التي تستخدم بعض الرموز الخاصة و التي يمثل كل منها تعليمة أو أمر له غرض في البرنامج .

مميزات لغة التجميع

1 – أسهل من لغة الآلة في التعامل معها

2 – مفيدة في برامج التحكم في الجهاز ومكوناتة

عيوب لغة التجميع

1- تنفيذ برنامج لغة التجميع على الحاسب يأخذ وقت أطول من لغة الآله

وذلك لان الحاسب لايستطيع أن يفهمها مباشرة بل تحتاج إلى برنامج مترجم يسمى(المجمع) وذلك لترجمتها إلى لغة الآلة التي يفهمها الحاسب

2- لغة التجميع مرتبطة مرتبطة بمكونات الحاسب الداخلية أي أن لغة التجميع مرتبطة بالحاسب الذي صممت من أجله

3- رغم سهولة لغة التجميع عن لغة الآلة إلا أن لغة التجميع تعتبر صعبة التعلم وصعبة الكتابة والقراءة والفهم واكتشاف الأخطاء

4- صعبة التنفيذ نظرا لأنها تعتمد على رموز

من هم مستخدمي لغة التجميع

يستخدمها مهندسي الحاسب والمتخصصين

فيما تستخدم لغة التجميع

تستخدم لغة التجميع في كتابة برامج التحكم بالجهاز ومكوناته

اللغات العالية 

هي اللغات القريبة من لغة الإنسان و يتم تحويل برامجها إلى لغة الآلة بواسطة مترجم خاص ( Compiler ) حتى يتسنى للحاسب فهمها .

مميزات لغات البرمجة عالية المستوى :

1 – سهلة الاستخدام لقربها الشديد من لغة الإنسان

2 – سهلة التعلم والفهم والكتابة والقراءة , وسهلة في اكتشاف الأخطاء وتصحيحها

3 – لا يحتاج المبرمج بهذه اللغات إلى معلومات موسعة عن الحاسب

4- توفر الوقت والجهد اللازمين لكتابة البرنامج

5- البرامج المكتوبة بإحدى لغات البرمجة عالية المستوى يتم نقلها بسهولة من جهاز الى اخر

عيوب لغات البرمجة عالية المستوى :

1- تحتاج ألى مترجم لترجمتها إلى لغة الآلة

2- تنفيذ البرامج المكتوبة بإحدى لغات البرمجة عالية المستوى يأخذ وقت أطول من وقت تنفيذ البرامج المكتوبة بلغة الآلة

1- لغة البرمجة الإجرائية 

اللغات العالية 

هي اللغات القريبة من لغة الإنسان و يتم تحويل برامجها إلى لغة الآلة بواسطة مترجم خاص ( Compiler ) حتى يتسنى للحاسب فهمها .