انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

البرمجة المهيكلة I مقدمة عن الخوارزميات والمخططات الانسيابية والبرنامج باللغة العربية

الكلية كلية تكنولوجيا المعلومات     القسم قسم البرامجيات     المرحلة 1
أستاذ المادة سرى زكي ناجي علوان       4/17/2011 9:37:14 AM

مقدمة :

 

إن عملية كتابة برنامج ناجح تتطلب أولا القيام بتحليل و تصميم ناجح للبرنامج

 

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

 

يوجد العديد من أساليب التعبير عن الخوارزمية منها المخططات التدفقية و المخططات الهيكلية و شبه التشفير وكل من هذه الطرق يوضح عمل البرنامج بطريقة مختلفة.

 

تبدأ عملية تكوين الخوارزمية بتعريف المسألة ثم يليها عملية التحليل لوضع و تأسيس قواعد عامة للمسألة و تحويلها إلى إجراءات بسيطة لحل المسألة ،لكي تكون الخوارزمية ناجحة يجب أن تتمتع بخصائص معينة:المحدودية و التماسك و الوثوقية .

 

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

 

هناك ثلاث تراكيب لبناء البرامج و كتابة الخوارزميات. الفكرة تكمن في أن أي برنامج أو خوارزمية يجب أن تتكون من هذه التراكيب الثلاثة فقط: التسلسل (sequence) ، الاختيار (selection),التكرار (repetition).

 

1-   التسلسل: تكون الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة,هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين.

 

مثال خوارزمية جمع عدديين.

 

2-   الاختيار : بعض المشاكل لا يمكن حلها بتسلسل بسيط للتعليمات ، و قد تحتاج إلى اختبار بعض الشروط و تنظر إلى نتيجة الاختبار, إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة,و إذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات.هذه الطريقة هي ماتسمى اتخاذ القرار أو الاختيار .

 

مثال خوارزمية قسمة عددين و تختبر كون المقام يساوي الصفر.

 

3-   التكرار : عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. و هذا ما يطلق عليه التكرار

 

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

 

المخطط الانسيابي (Flowchart) :

 

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

 

أهم الرموز في المخططات التدفقية:

 

و يمكن تصنيفها إلى أصناف ثلاثة هي:

 

·       مخططات سير العمليات التتابعية (Sequential Flowcharts).

 

·       مخططات سير العمليات ذات التفرع (Branched Flowcharts).

·       مخططات سير العمليات ذات التكرار والدوران (Loop Flowcharts).

 

وهي تستخدم  من اجل تمثيل عمل البرامج ذات التدفق المعلوم و التي يمكن فيها التنبؤ بالخطوة التالية للبرنامج و بالتالي فان البرامج المقادة بالأحداث يصعب التعبير عنها باستخدام المخططات التدفقية بسبب تعدد الأحداث التي تغير في مسار عمل البرنامج.  

 

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

 

 

الشفرة المزيفة (pseudo code) :

 

تمثيل الخوارزمية بلغات البشر كالانجليزية أو الفرنسية أو العربية أو بلغات البرمجة كالباسكال (Pascal).البعض يستخدم الكثير من التفاصيل و البعض الآخر يستخدم القليل ... فلا قاعدة معينة لكتابة هذا النوع من الشفرات.

 

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

 

·       العمليات التتابعية (Sequential Flowcharts).

 

1-   Start

 

2-   Enter first num

 

3-   Enter second num

 

4-   Calc the sum

 

5-   Print the result

 

6-   end

 

·       العمليات ذات التفرع (Branched Flowcharts).

 

1-    Start

 

2-    Enter first number

 

3-    Enter second number

 

4-    If second number=0 then

 

a.     Print error

 

b.     Goto 6

 

5-    Else

 

a.     Calculate division

 

b.     Print the result

 

6-       end

 

·       العمليات ذات التكرار والدوران (Loop Flowcharts).

 

1-    Start

 

2-    Set the counter

 

3-    Set the result to 1

 

4-    While the counter less than target number

 

a.    Multiply the counter with current result

 

b.    Set the multiplication to the new result

 

5-    Print the result

 

end
المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .