fighters

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

    شاطر
    avatar
    fighter
    الـمـديـرالـعـام
    الـمـديـرالـعـام

    عدد الرسائل : 226
    العمر : 28
    مزاجى :
    تاريخ التسجيل : 16/04/2008

    03 الجزء الثالث من المحاضرة الأولى لتعليم (فيجوا بيسك 6)

    مُساهمة من طرف fighter في الخميس مايو 01, 2008 7:27 pm




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

    اليوم نتطرق الي موضوع لذيذ و سهل جدا و اسمه خرائط تدفق البرمجة الهيكلية
    - يادي المصيبة ده حيشرحلنا خرائط التدفق ايه العنوان المعقد ده لا يا عم انا ماشي
    - بس استني متبقاش عصبي والله الكلام سهل جدا خليك ورا المبرمج لحد ال CPU
    - بس ..
    - مبسش ولا حاجة بعد انتهاء المحاضرة ستضحك من تفاهة ما كنت تعتقده صعب و معقد
    - حسنا


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

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

    (1) المنطق التسلسلي Sequence
    __________________________

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

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

    ماشي تعالي نفكر انا و انت عشان ننسخ ملف بالعقل لازم نعمل ايه؟
    (1) نشوف حجم الملف و نشوف المساحة الفارغة في المكان المراد النسخ اليه حتي نتأكد من امكانية النسخ و سوف نسمي هذه العملية {A}
    (2) نقوم بنسخ الملف من مكانه الحالي الي المكان الجديد، و سوف نسمي هذه العملية {B}

    طيب أرسم الخريطة ازاي؟
    هي قمة في السهولة، نرسمها كالاتي:




    طبعا ممكن واحد يستظرف و يقول طيب الملف اتنسخ و خلاص فين المخرجات بقه، حغيظه و أقوله رسالة أد كده بتقول Mission Accomplished

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



    (2) المنطق الاختياري Selection
    ______________________

    و ينقسم هذا النوع الي نوعين فرعيين :

    * النوع الأول: البديل المفرد (Single Alternative)
    =================================

    و فيه اذا تحقق شرط معين يتم تنفيذ العملية و اذا لم يتحقق لا يتم تنفيذها
    و يستخدم هذا النوع العبارة الشرطية if ….. then
    ايه ؟ .. بتقول الجزء الاخير صعب؟
    طيب ليه
    - انا مش عارف يعني ايه if… then دي
    - دي معناها لو حدث شيء اذا ننفذ أمر ما
    - ممكن تشرح أكثر؟
    - من عينيا

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

    و لنتابع معا كيف يمكن تمثيل تلك الخوارزمية بخريطة تدفق أو flow chart





    أظن الان أنك متشوق لمعرفة النوع الثاني و الذي يعطيك تحكم أكبر في اتخاذ القرارات


    * النوع الثاني : البديل المزدوج Double Alternative
    =================================


    في هذا النوع يكون عندنا شرط اذا تحقق يتم تنفيذ عملية و اذا لم يتحقق يتم تنفيذ عملية أخري
    مثال :
    ===

    في المثال السابق لو أننا عندنا نفس الملف و نريد نسخه و أثناء تقييم
    الشرط الخاص بالتأكد من وجود مساحة كافية لنسخ الملف، نقوم مثلا بالغاء
    ملفات غير ضرورية لكي تتسع المساحة للملف الحالي.
    و هذه بالضبط المنطق
    الذي يعمل عليه البديل المزدوج فهو يعتمد علي شرط، اذا تحقق هذا الشرط يتم
    تنفيذ عملية ما بعينها و اذا لم يتحقق يتم تنفيذ عملية مختلفة تماما
    و يستخدم هذا النوع العبارة الشرطية if … then…. Else
    بمعني
    لو = if ----------< تحقق الشرط
    • افعل شيء ما
    لو لم يتحقق الشرط = else
    افعل شيء اخر

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

    و لادراكنا أهمية ذلك تعالي بنا نري كيف نرسم خريطة التدفق هذه




    الان
    خذ قسطا من الراحة
    و سوف أنتظر تعليقاتك علي الدرس الأخير مع ملاحظة أن
    البقية اتية و ان شاء الله نبدأ في العملي لذا قم بتنصيب ( set up )
    الفيجوال بيسك الاصدار السادس من الان، و تذكر .... البرمجة فكرة





    _________________

      الوقت/التاريخ الآن هو الأربعاء أكتوبر 18, 2017 8:31 am