السبت، 17 مايو 2014

الـــســــيـــرة الــــذاتــــيــــة

السيرة الذاتية



الاسم           :    إبراهيم فراس الحجازي

الشعبة          :    2

العمر           :    16 سنة

محل الاقامة   :   الرياض

رقم الكشف    :    20

المادة المفضلة  :    الحاسب 

الهواية         :    بلوت

عرض بور بوينت مخططات الانسياب

ا


الخوارزميات:
1-   المدخلات
2- العمليات
3- المخرجات 

خواص الخوارزميات السليمة       —1- أن تكون كل خطوة معرفة جيدا                                        2  - أن تتوقف العملية بعد عدد محدد من الخطوات
  3-    أن تؤدي العمليات افي مجملها الى حل المسائلة


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



صوره على المخطط الانسيابي
   

 فوائد مخططات الانسياب
1 توضيح الطرق التي  يمر به البرنامج ابتداء من
 المدخلات او البينات ومن ثم المعالجة واخيرا المخرجات 

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




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





فـــكــر
ماذا تستخدم المخططات الانسيابية دون الاكتفاء بالخوارزميات 

لانها تمثل دور مهم في الخوارزميات 





• عمل الطالب       :  إبراهيم الحجازي
•   الشعبة            :      2   
•  إشراف الأستاذ   :    علي الأبيض 






الجمعة، 16 مايو 2014

مقالة علــمية

مقالة علمية




يقول احد علماء السلف اذا راينا في الصبي نباهة القينا عليه شباكنا فلا نخرجه الا عالما


فاين العلماء؟

واين شباكهم ؟







بحث عن مخططات الانسياب

Programming Principles


المحتوي الداخلي                    
الفقرة
رقم الصفحة
المقدمة
3
تركيب الخوارزميات مع الامثلة
3

المخطط الانسيابي مع الامثلة

4

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

4
الشفرة المزيفة
8
المراجع التي تشير الى المصطلحات المستخدمة في شبه الترميز
9
العلاقة بين المخططات التدفقية و شبة الترميز
10
المخططات الهيكلية مع المثلة
10




















مقدمة :
إن عملية كتابة برنامج ناجح تتطلب أولا القيام بتحليل و تصميم ناجح للبرنامج
عملية التحليل تسبق كتابة البرنامج و بالتالي يجب أن يتم التعبير عنها بلغة عامة أي التعبير عن الخوارزمية وكما نعلم فان الخوارزمية هي مجموعة الخطوات العامة لحل مسالة معينة و بالتالي يجب أن يتم التعبير عنها بلغة عامة مستقلة عن لغة البرمجة.
يوجد العديد من أساليب التعبير عن الخوارزمية منها المخططات التدفقية و المخططات الهيكلية و شبه التشفير وكل من هذه الطرق يوضح عمل البرنامج بطريقة مختلفة.
تبدأ عملية تكوين الخوارزمية بتعريف المسألة ثم يليها عملية التحليل لوضع و تأسيس قواعد عامة للمسألة و تحويلها إلى إجراءات بسيطة لحل المسألة ،لكي تكون الخوارزمية ناجحة يجب أن تتمتع بخصائص معينة:المحدودية و التماسك و الوثوقية .
تركيب الخوارزميات:
هناك ثلاث تراكيب لبناء البرامج و كتابة الخوارزميات. الفكرة تكمن في أن أي برنامج أو خوارزمية يجب أن تتكون من هذه التراكيب الثلاثة فقط: التسلسل (sequence) ، الاختيار (selection),التكرار (repetition).
1-   التسلسل: تكون الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة,هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين.
مثال خوارزمية جمع عدديين.
2-   الاختيار : بعض المشاكل لا يمكن حلها بتسلسل بسيط للتعليمات ، و قد تحتاج إلى اختبار بعض الشروط و تنظر إلى نتيجة الاختبار, إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة,و إذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات.هذه الطريقة هي ماتسمى اتخاذ القرار أو الاختيار .
مثال خوارزمية قسمة عددين و تختبر كون المقام يساوي الصفر.
3-   التكرار : عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. و هذا ما يطلق عليه التكرار

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




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

مخططات سير العمليات التتابعية (Sequential 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
6-    end
يمكن أن نجد بعض المراجع تشير إلى المصطلحات المستخدمة في شبه الترميز مثل :
·       Input: READ, OBTAIN, GET
·       Output: PRINT, DISPLAY, SHOW
·       Compute: COMPUTE, CALCULATE, DETERMINE
·       Initialize: SET, INIT
إن الطرق السابقة تعجز عن تمثيل البرامج ذات التقنيات الحديثة مثل البرامج التي تكون موجهة بالأحداث نظرا لتعدد طرق تشغيل البرنامج كما أن هذه الطرق عاجزة عن تمثيل البرامج التي تعتمد المسارات المتعددة و البرامج التي تكون موزعة و البرامج التي تتعامل مع قواعد البيانات و هنا نذكر مجموعة جديدة من الطرق مثل مخططات الكيان ارتباط من اجل تمثيل قواعد البيانات العلاقاتية ومخططات UML التي تستخدم في تحليل النظام و توصيف كامل مكوناته.


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


المخطط أعلاه يبين مخطط هيكلي لبرنامج حساب الرواتب بما في ذلك من مهام مثل حساب الضرائب و التحقق من المبلغ والوحدات الخاصة بتحديث معلومات الموظف ون لاحظ في المخطط أعلاه مثلا انه لا يشرح آلية حساب الضريبة و لكنه يشرح مداخل و مخارج هذه العملية.
مثال اخر عن المخططات الهيكلية:

مخطط برنامج عملية القسمة:




والسلام عليكم ورحمة الله وبركاته.