|
السلام عليكم و رحمة الله و بركاته
انطلاقا من مبدأ مشاركة المعرفة المجرد من منافع مادية و شخصية، و الذي ينبع من أن ما تفعله من خير فان الله وحده هو الذي يجزيك عليه أحب أن أفتتح دورة الفيجوال بيسك
هذه الدورة لمن؟
--------------------
هذه الدورة للأشخاص المبتدئين أو من بدئوا و لا يعرفون كيف يكملون الطريق، أو من لديهم قدر قليل من المعلومات و يتمنوا أن يصبحوا مبرمجين حقييقين.
لماذا فيجوال بيسك 6؟
-------------------------
بعضهم يقول أن فيجوال بيسك انقرض (فيجوال بيسك 1 الي 6 ) أي ما قبل الدوت نت، و لكن هذا الكلام ليس صحيح تماما، نادرا ما يحدث أن تنقرض لغة سهلة و قوية خاصة اذا كانت في مثل شعبية الفيجوال بيسك و سوف تصدق كلامي اذا علمت أن عدد مبرمجي الفيجوال بيسك في العالم رقم و أمامه ستة أصفار، ليس بالسهل أبدا أن تنقرض لغة بهذا الحجم في يوم و لا أريد أن أربط بين ظهور الدوت نت و انقراض الفيجوال بيسك 6 لان مبرمج vb.net احتمال كبير انه كان مبرمج vb6 في يوم من الايام.
طبعا انا لا أقول هذا الكلام لأنني مبرمج vb6 و متحيز له لأنني و الحمد لله مبرمج vb.net وc# و الكثير من اللغات الأخري و كل منهم عندي له وظيفة و مجال يتفوق فيه.
البعض يقول و لكن بظهور الدوت نت قل علي ال vb6 يا رحمن يا رحيم .
أخي أنا لن أعلمك الفيجوال بيسك ففط و لكنني سوف أعلمك كيف تبرمج من منظور الفيجوال بيسك المهم هنا هو أن تتعلم كيف تبرمج و أن أضع لك أساس في ال vb6 سوف يعطيك نقطة تفوق غالية علي من بدأ ال vb.net بدون أن يكون لديه أدني فكرة عن ال VISUAL BASIC .
بالاضافة الي ذلك لم أسمع حتي الان عن شركة استغنت عن مبرمجيVb6 لديها و رغم ذلك أقول لك ادرس vb.net بكل قوة فهو المستقبل.
فيجوال بيسك 6 يتميز بالسلاسة و السهولة و الانتاجية الغزيرة فهو الأكثر انتاحية بين أقرانه من اللغات المرئية عالية المستوي.
و كشخص فكرته عن البرمجة بسيطة بدايتك مع الفيجوال بيسك 6 سوف تكون انطلاقة قوية لك ليس في فيجوال بيسك فقط و انما في جميع اللغات التي سوف تدرسها بعد ذلك ان شاء الله.
لماذا أقدم هذه الدورة؟
--------------------------
(1) يقول الرسول الكريم صلي الله عليه و علي اله و أصحابه و أتباعه و سلم
<اذا مات ابن ادم انقطع عمله الا من ثلاث، صدقة جارية أو علم ينتفع به أو ولد صالح يدعوا له>
صدق الرسول الكريم و ما ينطق عن الهوي
(2) ربما يدخلني الله الجنة بعمل كهذا لا أرجوا به سوي وجه الله
(3) أتمني أن نتفوق علي الغرب و لابد لنا من صحوة
(4) بعملي هذا أيضا أذاكر معكم و أتمرن و أدرب نفسي و فرصة لطرح الأفكار الجديدة فهذه الدورة تنتظر منك أن تشارك و تعدل علي الكاتب و تقول له ربما كان هذا الكود أفضل فلست من مؤيدي النظرية المتخلفة و الغبية التي تقول ان التلميذ لا يمكن ان يتفوق علي الأستاذ ( يمكنه و نص
أهدي هذا العمل للشباب العربي و المسلم و اليكم يا شباب ARAB2ALL
ما الذي تحتاج اليه لكي تبدأ دورة الفيجوال بيسك؟
---------------------------------------------------------------------
(1) عقل علي استعداد للتفكير و العمل.
(2) جهاز كمبيوتر مثبت عليه vb6 و يستحسن أن يكون Enterprise Eidition
(3) فولدر فارغ لكي تجمع به الدروس و البرامج.
(4) برنامج Microsoft Access أي اصدار.
وقبل أن نبدأ الدورة أتمني من الله أن يكون هذا العمل خالصا لوجه الكريم و أن يدعوا لي كل من رأي أنه استفاد من هذه الدورة و السلام عليكم و رحمة الله و بركاته
أخوكم و زميلكم زولديج:icon_lol:الحمد لله ان الناس بدأت تتفاعل و يارب ان شاء الله الشرح يستمر سهل الي النهاية، البرمجة غاية في السهولة كل ما تحتاج اليه هو ترتيب أفكارك و أعتقد أن أي منكم يقدر علي ذلك، أنت أفضل من المبرمج الهندي و الاسرائيلي و اللذان استحوذا علي نصيب كبير من صناعة البرمجيات فلم تركت لهم هذه الفرصة؟ .. و لم تترك لهم هذه الفرصة الان ، لابد لنا من السبق و انا معكم للنهاية ان شاء الله
للمرة الثانية أرجوا من الاخوة المشرفين الأعزاء عبد الله فتحي و الطيب و بروف مساعدتي في مشكلة الصور و تحميل الملفات، لأن الدروس هكذا سوف تتوقف، أو لو أن أي من الأعضاء لديه و لومساحة استضافة و لو 30 ميجا يجزيه الله كل الخير و الان نكمل الدرس.
الان سوف أكلمك عن موضوع لذيذ و سهل جدا و هو البناء الهيكلي للبرنامج
كلامي هنا ينطبق علي كل لغات البرمجة ، يعتقد البعض ان البرنامج مجرد عمليات تكويد فقط و لكن الحقيقة غير ذلك تماما فالبرمجة تحتوي عدة مراحل متكاملة و مرتبة يمكن أن نجملها في كلمة PRACTICE و التي يمثل كل حرف منها مرحلة معينة تعالوا بنا نأخذ جولة سريعة بهذه المراحل
(1) تحديد الهدف الأساسي من اعداد البرنامج (Pose)
__________________________________
• قبل أن نكتب أكواد و أوامر البرنامج يجب أولا أن نعرف ما المفروض أن يقوم به هذا البرنامج و هذا شيء طبيعي جدا الا اذا كنت تري شيء اخر.
• يجب معرفة ما هي المشكلة أو المشاكل التي علي البرنامج حلها ( ما الذي يتوقع من البرنامج كمخرجات أو معالجات و ما هي احتياجات العميل لأن احتياجاته هي الأهم و ليس افتكاساتك أنت)
(2) تحليل متطلبات البرنامج ( Resolve)
__________________________
بعد تحديد الهدف الأساسي من البرنامج يجب أن نحدد الوظائف التي يجب القيام بها من أجل حل المشكلة أي تعريف المتطلبات requirements definition حيث ينبغي وضع تصور كامل لهذه المتطلبات يعني طبعا مش ممكن ان انا أبدأ في التصميم من غير ما أعرف ما هو المطلوب مني بالضبط عمله و سوف نأخذ مثال جميل
مثال
----
لو جائني عميل و طلب مني عمل برنامج لشركته سأسأله و ماذا تريد من البرنامج أن يفعله لو قال لك مثلا أريده أن يقوم بعمل كشوف مرتبات الموظفين و مراقبة المخزون و حفظ بيانات العملاء فهذه هي وظائف برنامجك المطلوب منك برمجتها و في حالتنا هذه فان الوظائف الثلاثة السابقة هي الوظائف الرئيسية التي يمكن بعد ذلك تقسيم كل منها لوظائف فرعية و هو ما يقودنا الي النقطة الثالثة
(3) تقسيم البرنامج الي أجزاء (Allocate)
___________________________
بعد أن أعددنا المهام و الوظائف التي يجب علي البرنامج الوفاء بها يجب ان نقسم هذه الوظائف الي مقاطع برمجية يؤدي كل مقطع منها مهمة محددة هذه المهام في مجموعها تؤدي الوظيفة ... فهمت حاجة؟
يعني لو عاوزين ندفع مرتبات الموظفين هذا الشهر نعمل ايه
أولا نكتب مقطع برمجي يعد الموظفين و نشوف كل موظف حسابه كام
ثانيا نكتب مقطع برمجي يضيف مرتب الشهر الي حساب الموظف
ثالثا نكتب مقطع برمجي يخصم الضرائب و التأمينات و الخصومات
أظن المفهوم الان أسهل
(4)تحديد خطوات المعالجة (Consider)
__________________________
الان أصبح البرنامج مجموعة من البلوكات البرمجية مهم جدا جدا قبل أن تكتب الكود أن تشرح لنفسك أولا م الذي يجب علي البرنامج أن يفعله ثم تترجم هذا الكلام الي أكواد و هو ما سيكفل لك تنفيذ أفضل و أحسن طبعا لن أتطرق الي تفصيل الخوارزميات و قياس زمن الخوارزميات و السرعة مقابل الذاكرة لأنك لازلت مبتديء و أغلب الظن أنك شاب و لا أريدك أن تكره الدنيا من الان (أمزح فقط الموضوع سهل جدا والله)
و كمثال للخوارزمية
لو الطالب حصل علي أكثر من عشر درجات يزيد عدد الناجحين بمقدار واحد
أو بالانجليزية
CODEIf score ≥ 10 then
Add one to the succeded students' number
End if
اذا كان المقطع البرمجي كبير يستحسن تقسيمه الي مقاطع أصغر
(5) اختبار الأكواد و البرنامج بوجه عام (Test)
______________________________
اختبار البرنامج للتأكد من أنه يعمل بشكل صحيح البعض يقول أنه من الأفضل أن نقوم بعمل حسابات البرنامج يدويا و تشغيل نفس البيانات و نري ان كانت متطابقة أم لا، أو أن تتم هذه العملية علي برامج أخري تؤدي نفس الوظيف و مقارنة النتائج
عموما من الأفضل اختبار كل بلوك علي حدة للتأكد من أن كل مهمة يتم تأديتها بشكل سليم
(6) احداث تكامل بين عناصر البرنامج (Integrate)
_________________________________
العمل علي ربط الأجزاء و التأكد من ارتباط العمليات و الوظائف بالمهام بشكل صحيح و تشمل هذه المرحلة أيضا الفحص و التنقيح Debugging
(7) التأكد من ان البرنامج يحقق الغرض من تصميمه (Correlate)
____________________________________________
وفي هذه المرحلة نقوم بعمل اختبار الدقة أو ما يسمونه باختبار الثبات لنعرف اذا كان البرنامج يحقق الغرض الأساسي منه مع استخدام عدد من الأمثلة
(8) انهاء البرنامج و حفظه (End)
______________________
حفظ البرنامج باخر تعديلاته وكتابة الملاحظات التي قابلتك أثناء اعداد البرنامج و تدوين كل الخطوات و بهذا يكون لديك مستند كامل تستطيع العودة اليه عند الرغبة في التعديل و التطوير.
بسم الله
- طيب قبل ما تتكلم يعني ايه أصلا خريطة تدفق دي اللي بتتكلم عنها؟
- حقولك فاكر البرنامج اللي قولتلك انه عبارة عن عدة خطوات مرتبة تحت بعضها
- نعم البرنامج هو مجموعة من الاوامر المرتبة لتنفيذ ..... ها نسيت .. لأ لتنفيذ مهمة معينة
- طيب فاكر الخوارزمية عبارة عن ايه؟
- اه طبعا الخوارزمية هي توضيح لما سيفعله البرنامج في شكل خطوات مسلسلة و مرتبة ثم نحول هذه الخطوات المكتوبة بلغة عادية الي أكواد بلغة الكمبيوتر، بس ايه علاقة ده بخرائط التدفق ؟
تسألني و العصبية علي وجهك واضحة
أرد بهدوء قاتل يتمتع به مبرمجوا الجيل الرابع
- خريطة التدفق هي نفسها الخوارزمية لكن مرسومة لأجل أن تكون أوضح أكثر
- برضه مش فاهم
- يعني مش لما انت بتذاكر حاجة بتلاقي بجانبها أشكال توضيحية أهو خرائط التدفق أشكال توضيحية للخوارزميات
- الله دي سهلة
- لأ و لسه لما نطبق عملي سوف تصدم بالسهولة المفرطة
- هو البرمجة كلها كده سهلة و لا ايه؟
- ان شاء الله
تعالي نقرب أكثر من خرائط التدفق... يوجد أنماط مختلفة لتمثيل الخوارزميات عن طريق خرائط التدفق و سوف نتناول منهم 4 تعالي نتابع كل واحدة منهم بايجاز
(1) المنطق التسلسلي Sequence
__________________________
و يشير هذا المنطق الي التتابع الذي يتم به تنفيذ العمليات
حيث يتم تنفيذ العمليات حسب ترتيبها من أعلي الي أسفل و يعد الترتيب مهما أثناء التنفيذ بمعني أنه لا يمكن أن تسبق خطوة أخري
- مش فاهم و عاوز مثال
- يا سلام انت تأمر و تتأمر
لنفرض أننا نريد أن نقوم ينسخ ملف و نريد أن نرسم خريطة التدفق لهذا البريمج الصغير
أولا نحول البرنامج الي خوارزمية ( مش لازم تكتبها بالانجليزي اكتبها بالعربي عادي أنا شخصيا أفعل ذلك و أعتز بذلك لأن مخترع هذه الطريقة العظيمة في التفكير – الطريقة العلمية – و التي يدعي الغرب أنهم مبتكروها هو عالم عربي شهير ، الخوارزمي رحمه الله)
ماشي تعالي نفكر انا و انت عشان ننسخ ملف بالعقل لازم نعمل ايه؟
(1) نشوف حجم الملف و نشوف المساحة الفارغة في المكان المراد النسخ اليه حتي نتأكد من امكانية النسخ و سوف نسمي هذه العملية {A}
(2) نقوم بنسخ الملف من مكانه الحالي الي المكان الجديد، و سوف نسمي هذه العملية {B}
طيب أرسم الخريطة ازاي؟
هي قمة في السهولة، نرسمها كالاتي: 
مواضيع اخرى بواسطة MaestrO:
» كليب مي عز الدين و خالد ابو النجا - حبيبي نائماً DVD » صور رولا 2009 » صور نورهان 2009 » مشرفين المنتديات لشهر ديسمبر 2008 » اهداف مباراه النادي الاهلي و انبي 3/3 |