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

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

لكي تكون الخطوات الخوارزمية سليمة لابد من أن تحتوي خواص أساسية وهي :

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

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

3 ) أن تؤدي العمليات في مجملها إلى حل المسألة.

مثال

تأكد من أن المسألة التالية تتبع الخطوات الخوارزمية السليمة لحساب وزنك المثالي

1 ) أحسب الوزن المثالي  Y= X - 100

2 ) اطبع Y 

الخطوات الخوارزمية بمجملها لا تؤدي إلى حل المسألة.

من المفترض إضافة الخطوة التالية في البداية.

1 ) أدخل قيمة الطول  X بالسنتيمتر.

الحل

مثال

تأكد من أن المسألة التالية تتبع الخطوات الخوارزمية السليمة لعرض التخصصات الجامعية المناسبة لك بناء على تخصصك في المرحلة الثانوية (علمي – أدبي )

1 ) أدخل التخصص X

2 ) اطبع عبارة (علوم الحاسب والمعلومات – العمارة والتخطيط – علوم الأغذية والزراعة – علوم الهندسة – كليات الصحة ) ، ثم توقف.

3 ) اطبع عبارة ( الآداب – التربية – اللغة العربية – اللغات والترجمة – الحقوق – السياحة والآثار ) ، ثم توقف.

الخطوات الخوارزمية بمجملها لا تؤدي إلى حل المسألة.

من المفترض إضافة عبارة  ( إذا كان التخصص X = علمي ) في بداية الخطوة الثانية.

وإضافة عبارة ( إذا كان التخصص X = أدبي ) في بداية الخطوة الثالثة.

الحل

2

مخططات الانسياب

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

فائدة مخططات الانسياب

1 ) توضيح الطريق الذي يمر به البرنامج ابتداء من المدخلات أو البيانات ومن ثم المعالجة ، وأخيراً مخرجات البرنامج ونتائجه.

2 ) توثيق منطق البرنامج للرجوع إليه عند الحاجة ، وذلك بغرض إجراء أي تعديلات على البرنامج أو اكتشاف الأخطاء التي تقع عادة في البرامج وخاصة الأخطاء المنطقية.

اولاً : صياغة حل المسائل
الرمز                الاسم                 المعنى
                بداية / نهاية               يمثل بداية أو نهاية البرنامج
                إدخال / إخراج        يمثل إدخال البيانات أثناء البرنامج أو إخراجها
                عملية                يمثل عملية معالجة البيانات
                قرار   يمثل اتخاذ قرار أو تعبير منطقي يحتاج إلى جواب
                خط الانسياب            يمثل اتجاه الانسياب المنطقي للبرنامج
                توصيلة           لتوصيل الأجزاء المختلفة في المخطط


رموز تمثيل مخططات الانسياب

مثال

قم بإعداد مخطط الانسياب لإيجاد مجموع الأعداد من  1- 10 

بداية

S = 1 , M = 0

M = M + S

S = S + 1

S>10

اطبع M

نهاية

نعم

لا

الحل

مثال

قم بإعداد مخطط الانسياب لحل مسألة قراءة عدد وتحديد ما إذا كان سالباً أو موجباً. 

بداية

A < 0

اطبع العدد صفر

نهاية

نعم

لا

أدخل العدد A

A > 0

اطبع

العدد موجب

لا

اطبع

العدد سالب

نعم

الحل

مثال 1

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

أمثلة على صياغة حل المسائل

1

فهم المسألة وتحليل عناصرها 

1 ) المخرجات : متوسط  العددين المدخلين  M

2 ) المدخلات : عددان مدخلان X , Y

3 ) عمليات المعالجة : قانون متوسط عددين = ( X + Y ) / 2

2

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

1 ) أدخل العددين X , Y

2 ) اجعل   M = (X+Y) / 2

3 ) اطبع M

4 ) النهاية.

3

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

بداية

أدخل X , Y 

M = (X+Y)/2

اطبع M

النهاية

مثال 2

ما صياغة الحل لطباعة الأعداد الزوجية من 2 - 50

أمثلة على صياغة حل المسائل

1

فهم المسألة وتحليل عناصرها 

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

2 ) المدخلات : لا توجد

3 ) عمليات المعالجة : الانتقال من عدد زوجي إلى عدد زوجي آخر.

2

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

1 ) اجعل A=2

2 ) اطبع A

3 ) اجعل A=A+2

4 ) اذا كانت A>50 توقف وإلا اذهب إلى الخطوة 2 

3

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

بداية

A = 2

اطبع A

النهاية

A=A+2

A > 50

نعم

لا

مثال 3

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

1

فهم المسألة وتحليل عناصرها 

1 ) المخرجات : متوسط درجات الطلاب ( S )

2 ) المدخلات : درجات 10 طلاب ولنضعها في المتغير D

3 ) عمليات المعالجة : المتوسط = مجموع الدرجات M ÷ 10 

2

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

1 ) ضع المجموع  M = 0

2 ) اجعل العداد I = 0

3 ) اجعل  I = I + 1

4 ) أدخل درجة الطالب  رقم I وخزنها في D

5 ) اجعل M = M + D

6 ) اذا كانت I = 10 استمر وإلا اذهب إلى الخطوة 3

7 ) احسب المتوسط  S = M / 10

8 ) اطبع S

9 ) النهاية

3

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

I = 10

بداية

M = 0 , I = 0

النهاية

M = M + D

نعم

لا

I = I + 1

اطبع S

أدخل الدرجة D

S = M / 10

تدريبات على صياغة حل المسائل

( 1 )

حدد مخرجات المخطط الانسيابي التالي :
S             M           المخرجات
3             1             X
3             2             X
3             3             X
2             1             X
2             2             X
1             1             X


تتكرر طباعة علامة X 6 مرات

(2)

ما صياغة الحل لطباعة عدد الأعداد الفردية ما بين 1 – 100 ؟ 

1

فهم المسألة وتحليل عناصرها 

1 ) المخرجات : عدد الأعداد الفردية ما بين  1- 100

2 ) المدخلات : بدون

3 ) عمليات المعالجة : الانتقال من عدد فردي إلى آخر ( ف )

                           وعداد لحساب عدد  الأعداد الفردية ( ع )

2

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

1 ) اجعل ف = 1 ، ع = 1

2 ) اجعل ف = ف + 2

3 ) اجعل  ع = ع + 1

4 ) إذا كان ف > 100 اذهب إلى الخطوة 2

5 ) اطبع ع

6) النهاية

3

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

بداية

ف = 1 ، ع = 1

النهاية

ع = ع + 1

ف <100

نعم

لا

ف = ف + 2

اطبع ع

(3)

ما صياغة الحل لإيجاد وطباعة المبلغ الإجمالي لخمس سلع بقيم مختلفة وكميات مختلفة ، يتم قراءة كل سلعة وكميتها على حدة؟

1

فهم المسألة وتحليل عناصرها 

1 ) المخرجات : مجموع مبلغ السلع ( م )

2 ) المدخلات : سعر السلعة ( س )  ، كمية السلعة ( ك )

3 ) عمليات المعالجة : عداد يحسب عدد السلع المدخلة ( ع )

                           مجموع مبلغ السلع م = م + ( س X ك )

2

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

1 ) اجعل  ع = 0 ، م = 0

2 ) ع = ع + 1

3 ) أدخل س ، ك

4 ) م = م + ( س X ك )

5 ) إذا كانت ع = 5 اطبع م وإلا اذهب إلى الخطوة 2

6) النهاية

3

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

بداية

ع = 0 ، م = 0

النهاية

ع = 5

نعم

لا

ع = ع + 1

اطبع م

أدخل س ، ك

م = م + ( س X ك )

(4)

ما صياغة الحل لتحديد نجاح أو رسوب طالب في مادة ، علماً بأن الطالب يُعد ناجحاً إذا كان مجموع درجات أعمال السنة والامتحان النهائي أكبر من 50 ؟ 

1

فهم المسألة وتحليل عناصرها 

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

2 ) المدخلات : درجة أعمال السنة ( س ) ، درجة الامتحان النهائي ( ن )

3 ) عمليات المعالجة : مجموع الدرجات ( م ) = س + ن

2

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

1 ) أدخل س ، ن

2 ) اجعل م =  س + ن

3 ) إذا كان م< = 50 اطبع ناجح وإلا اطبع راسب

4) النهاية

3

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

بداية

النهاية

م <= 50

نعم

لا

اطبع ناجح

أدخل س ، ن

م = س + ن

اطبع راسب

(5)

قم بصياغة حل لإيجاد العدد الأصغر من بين 10 أعداد يتم إدخالها. 

1

فهم المسألة وتحليل عناصرها 

1 ) المخرجات : العدد الأصغر من 10 أعداد ( ص )

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

3 ) عمليات المعالجة : المقارنة بين كل عدد مدخل مع العدد الذي قبله.

                         عداد للتأكد من  عدد الأعداد هل  وصل إلى 10 أعداد. 

2

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

3

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

1 ) أدخل العدد الأول في د

2 ) اجعل ع = 1

3 ) اجعل ص = د

4 ) أدخل العدد التالي في د

5 ) اجعل ع = ع + 1

6 ) إذا كان د> ص اجعل ص = د

7 ) اذا كان ع > 10 اذهب إلى الخطوة رقم 4

8 ) اطبع ص

9 ) النهاية.

بداية

النهاية

د > ص

نعم

لا

أدخل د 

اجعل ع = 1

اطبع  ص

اجعل ص = د

أدخل د 

اجعل ع = ع + 1

اجعل ص = د

ع> 10

لا

نعم

(6)

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

1

فهم المسألة وتحليل عناصرها 

1 ) المخرجات : طباعة الأعداد الفردية من 1 - 50

2 ) المدخلات : بدون

3 ) عمليات المعالجة : الانتقال من عدد فردي إلى عدد فردي آخر.

2

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

1 ) اجعل ع = 1

2 ) اطبع ع

3 ) اجعل ع = ع + 2

4 ) اذا كان ع < 50 استمر وإلا اذهب إلى الخطوة 2

5 ) النهاية.

3

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

بداية

النهاية

ع  < 50

نعم

لا

اطبع ع

اجعل ع = 1

اجعل ع = ع + 2

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

1

تصميم الواجهات

2

ضبط خصائص الأدوات

3

كتابة أوامر البرمجة

تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثلاث خطوات ،