الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دورة كاملة في الفيجوال بيسك 6 سارع بالدخول

مغلقرائج
بدأه romantic_boy في 27 يونيو 2005 · 343 رد · 192,911 مشاهدة · في قسم الدروس والمواضيع الهامة
مشاركة: واتساب X فيسبوك تيليجرام
#26

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

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#27

منتظر الغد بفارق الصبر ..

جزاك الله الف خير

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#28

عارفك و شايفك و سامعك ياللي بتقول ايه الملل اللي احنا فيه ده انا شبعت مقدمات فين الشرح العملي للفيجوال بيسك

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

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

- يادي المصيبة ده حيشرحلنا خرائط التدفق ايه العنوان المعقد ده لا يا عم انا ماشي

- بس استني متبقاش عصبي والله الكلام سهل جدا خليك ورا المبرمج لحد ال CPU

- بس ..

- مبسش ولا حاجة بعد انتهاء المحاضرة ستضحك من تفاهة ما كنت تعتقده صعب و معقد

- حسنا

بسم الله

- طيب قبل ما تتكلم يعني ايه أصلا خريطة تدفق دي اللي بتتكلم عنها؟

- حقولك فاكر البرنامج اللي قولتلك انه عبارة عن عدة خطوات مرتبة تحت بعضها

- نعم البرنامج هو مجموعة من الاوامر المرتبة لتنفيذ ..... ها نسيت .. لأ لتنفيذ مهمة معينة

- طيب فاكر الخوارزمية عبارة عن ايه؟

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

تسألني و العصبية علي وجهك واضحة

أرد بهدوء قاتل يتمتع به مبرمجوا الجيل الرابع

- خريطة التدفق هي نفسها الخوارزمية لكن مرسومة لأجل أن تكون أوضح أكثر

- برضه مش فاهم

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

- الله دي سهلة

- لأ و لسه لما نطبق عملي سوف تصدم بالسهولة المفرطة

- هو البرمجة كلها كده سهلة و لا ايه؟

- ان شاء الله

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

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

__________________________

و يشير هذا المنطق الي التتابع الذي يتم به تنفيذ العمليات

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

- مش فاهم و عاوز مثال

- يا سلام انت تأمر و تتأمر

لنفرض أننا نريد أن نقوم ينسخ ملف و نريد أن نرسم خريطة التدفق لهذا البريمج الصغير

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

ماشي تعالي نفكر انا و انت عشان ننسخ ملف بالعقل لازم نعمل ايه؟

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

(2) نقوم بنسخ الملف من مكانه الحالي الي المكان الجديد، و سوف نسمي هذه العملية {B}

طيب أرسم الخريطة ازاي؟

هي قمة في السهولة، نرسمها كالاتي:

sequence%20a.JPG

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

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

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

______________________

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

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

=================================

و فيه اذا تحقق شرط معين يتم تنفيذ العملية و اذا لم يتحقق لا يتم تنفيذها

و يستخدم هذا النوع العبارة الشرطية if ….. then

ايه ؟ .. بتقول الجزء الاخير صعب؟

طيب ليه

- انا مش عارف يعني ايه if… then دي

- دي معناها لو حدث شيء اذا ننفذ أمر ما

- ممكن تشرح أكثر؟

- من عينيا

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

في حال أن المساحة تسع الملف يقوم البرنامج بالنسخ

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

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

selection_single%20alternative%20a.JPG

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

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

=================================

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

مثال :

===

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

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

و يستخدم هذا النوع العبارة الشرطية if … then…. Else

بمعني

لو = if ----------< تحقق الشرط

• افعل شيء ما

لو لم يتحقق الشرط = else

افعل شيء اخر

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

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

selective_double%20alternative%20a.JPG

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

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#29

ايه يا جماعة فين الناس؟

قبل ذلك كان التفاعل ضعيف

الان = صفر

أحس و كأنني أشرح لنفسي، لو أن الموضوع غير مهم بالنسبة لكم فكفي الله المؤمنين شر القتال

والله أعلم كم أتعب و أسهر لأقدم هذه الدروس، و المقابل وجه الله تعالي

أرجوا من المشرفين عمل اعلان أو رابط بسيط للدورة علي صفحة المنتدي الرئيسية أسوة بالأخ أنور في دورة ال PHP

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

و القرار الأخير لكم و هو خير ان شاء الله

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

أخوكم أحمد شلبي

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#30

عزيزي romantic_boy

الله يجزاك خير على كل كلمة كتبتها

وانا تحت امرك من ناحية رفع الصور ............... على موقع رسمي تابع لي ..........

والله يوفقك في شرح الدروس :D

وهذا ايميلي

support2u@hotmail.com

تم تعديل هذه المشاركة بواسطة support في 30 يونيو 2005 في 15:55

#31

اخي احمد امض قدما والله انه شرحك صح 100% وتعطي اساسيات يجهلها الكثيرين حتى المحترفين

ثم من قال لك انه لا احد مهتم بالموضوع يعني هي ما شاء الله تقريبا 400 زيارة للموضوع في اقل من 5 ايام

ولكن الاعضاء لا يكلفون نفسهم في كتابة كلمة شكر او تشجيع لك

انا انصحك في المتابعة حيث يمكنك بعد الانتهاء من الدورة ان تعمل كتاب pdf

والسلام

من دروسي :

درس مبسط لفهم ال VB6.... Resource File

تعلم تصميم اداة ال Active X خطوة بخطوة (الجزء الأول)

الطريقة المثلى للتعامل مع مسجل النظام( VB6..... (Registry

من برامجي :

Abo Sabreen Messenger v2.1 العملاق

--------------------------------------------------

مفكرة الإسلام؛ طالع أخبار العالم وأخبار المجاهدين بعيدا عن التعتيم الاعلامي.

#32

جزاك الله الف خير .. ممتــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــاز .. مشاء الله عليك .. الله يزيدك ويزيدنا فهما وعلما ان شاء الله .

كان الله في عونك اخي

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#33

بسم الله الرحمن الرحيم

الأخوة الأحباء

اعذروني فقد حزنت جدا من قلة المشاركة، و انا وضعت أسئلة في البداية لأري رد الفعل و مدي التفاعل، لا أريد تفاعل مدح و ثناء و الله أعلم بالنية و لكنني والله أريد أن أحس بكم معي، نناقش المواضيع التي تهمكم، و ما هي الأجزاء التي لم تفهموها في كل درس، ولذلك ان شاء الله سوف أضع بعد نهاية كل درس أسئلة (واجب) :) ، لكي يزيد التفاعل و كما قلت من قبل لا تترك الدرس و تقول أقرأه فيما بعد لأنك سوف تركم الدروس و لن تستفيد شيء كما ان الجديد مبني علي القديم.

شكرا للأخ ansi أكثر الأعضاء نشاطا معي في الدورة

و شكر خاص لكل من الأحباء

اقتباس
abu sabreen

ansi

support

professional  vb99 

أبو زيد

programme 

a7med_prof 

Semsem Basha

alyagoubaby

المركزي

albahrain 

khaled_helal

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

أحمد شلبي

تم تعديل هذه المشاركة بواسطة romantic_boy في 30 يونيو 2005 في 19:59

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#34

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

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

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#35

ممكن سؤال استاذ رومنسي .. في الخوارزميات وخرائط التدفق ؟؟

السؤال هو .. هل يجب عليا كمبرمج ان اضع لكل جزء في البرنامج خريطة تدفق للخوارزميات ..؟

مثال .. ان اعمل خريطة تدفق في عملية البحث عن اسم معين في البرنامج .. وان اعمل خريطة تدفق لبحث عن رقم معين في نفس البرنامج .. .. ارجو الرد على السؤال ..

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#36

بسم الله الرحمن الرحيم

عادة عندما تبرمج باحترلف سوف تجد أن الكود الذي تعمل عليه ينقسم لجزئين، جزء نمطي أو standard و هو يكون شبه مكرر

مثلا في قواعد البيانات عندما تعمل بمكتبة ال DAO سوف تجد أن الكود الخاص به تقريبا متشابه في جميع البرامج

dim db as database
dim rs as recordset

و بالتالي فمثل هذا الكود لا تحتاج له خريطة تدفق تماما

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

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

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

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#37

متشكر جدا .. وتسلم على سرعة الرد

وبالنسبه للخوارزميات وخرائط التدفق اصبحت سهله ولذيذه جدا بعد شرحك الاكثر من رائع وهذا ليس اطراء وانما حقيقه .. :) تقدر تقول حقيقه علميه:P .. سلام عليكم

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#38

السلام عليكم أخي أحمد شلبي إلى الأمام ونحن معك بإذن الله تعالى

أستمر يأخي فشرحك الذي تقوم به سيكون لي هو (الأساس) في لغة فيجول بيسك

.....أنا درست سي وسي++ ومتقنها جيدا بإذن الله

وأنا الحقيقه طالب ومن محبين( البرمجه)

شرحك ماشاء الله مشـــــــــــــــــوق جدا نحن بأنتظار الدروس القادمه

يسرني كثيرا كثيرا كثيرا يأخي من يقوم مثلك بالشرح لوجه الله

قبل سنه تقريبا في هذا المنتدى وجدت شخص يشرح لغة سي جزاه الله خيرا

وأنا إلى الأن أدعي له بالتوفيق

وتذكر أخي أنك لن تخسر بإذن الله تعالى

أستمر يأخي فربما دعوة من شخص (أستجيبت) تسعدك بإذن الله في الدنيا والأخره

أتمنى لك التوفيق في الدارين...

أخوك: علي المعمري

#39

يا استاذ احمد .. اليوم مافي درس والا ايه .... دي عاشر مره ادخل الانترنت وووووهب دايركت على الموضوع بتاعك . بس للاسف لا اجد اي درس جديد ..

:) شكلي ادمنت على دروسك يا عم . ;)

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#40

السلام عليكم

ياهوووو ياستاذ / عسى المانع خير ...............

نحنا في الانتظار .................

دروسك ..........................

#41

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

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

وأتمنى أن يصبر ويحتسب الاجر والله لن يضيع جهده و أكرر شكري

#42

السلام عليكم ورحمة الله وبركاته اهلا اخي العزيز والغالي romantic_boy في البداية اود ان اشكرك على تقديمك الدورة والتي ان شاء الله ستعم بالفائدة الى الجميع من المبتداين وابتدائهم انا الى المحترفين والخبراء الذين لا يسع ذكرهم واولهم انت وانا على احر من الجمر في انتظار باقي الدروس وشكرا شكرا جزيلا لك

مع تحياتي ajmawy

#43

بسم الله الرحمن الرحيم

أخوتي الأحباء ، بالفعل الانترنت تعطل عندي لعدة أيام لتعطل التليفون، و انا اسف لأنني تأخرت عليكم رغما عني الا أنه لم يكن بيدي و كنت كل شوية أقول يا تري زمانهم عاملين ايه دلوقتي زمانهم زعلانين، الدرس الجاي في ميعاده ان شاء الله و الناس تحضر نفسها عشان فيه واجب و من يريد أن يكلمني مباشرة عن أي موضوع mind_digital@yahoo.com

وفقنا الله جميعا

1

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#44

up

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#45

مشكور اخ رومانسي .. فعلا مشتاقيا لدروسك ... منتظرين الدروس الجاي ان شاء الله

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#46

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

(3) الحلقات Loops

_____________

و نطلق عليه المنطق التكراري و هو بكل بساطة مجموعة من الأوامر يقوم البرنامج بتكرارها لعدة مرات، و السؤال الذي أراه يعتصر ذهنك الان و لماذا يحتاج البرنامج لتكرار أمر ما عدة مرات؟، و هل هذا التكرار لا نهائي أم مقيد بشرط ما أم نحدد نحن عدد مرات هذا التكرار أم ماذا؟

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

تضع الدجاجة الاولي في الاناء ثم تنتظر حتي تنتهي العملية ( أي تمام الطهي)، ثم تضع الدجاجة الثانية و هكذا حتي يتم طهي الأربع دجاجات.

و لكن الواقع العملي في البرمجة أفضل كثيرا، فمثلا لو أن عندك 1000 طالب (1، 2، 3، ...... ، 1000 ) و تريد أن تضع تقديراتهم في مادة الرياضيات علي حسب الدرجات، تعالي بنا لنري كيف من الممكن أن يكتب هذا الكود

•	اقرأ درجة الطالب في المادة
•	لو درجة الطالب أقل من  10 يكون التقدير ضعيف
•	لو درجة الطالب 10- 13 يكون التقدير مقبول
•	لو درجة الطالب 13 – 16 يكون التقدير جيد
•	لو درجة الطالب 16- 18 يكون التقدير جيد جدا
•	لو درجة الطالب 18 – 20 يكون التقدير امتياز

و لكن مهلا يا للمصيبة .. يوجد 1000 طالب، هل سنكتب هذه الأكواد ألف مرة لكل طالب؟

- لو كان الأمر كذلك لفضل المبرمجون العمل في مقهي

- فما الحل

- الحل كما قلت لك قبلا أن نضع كل الاكواد داخل تكرار بعدد الطلاب

- فكيف يمكن أن يكون الكود في هذه الحالة؟

- بالضبط كالاتي

•	كرر من 1 الي 1000 
•	لو درجة الطالب أقل من  10 يكون التقدير ضعيف
•	لو درجة الطالب 10- 13 يكون التقدير مقبول
•	لو درجة الطالب 13 – 16 يكون التقدير جيد
•	لو درجة الطالب 16- 18 يكون التقدير جيد جدا
•	لو درجة الطالب 18 – 20 يكون التقدير امتياز
ارجع لبداية التكرار مرة أخري

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

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

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

(1) الشكل الاول: التكرار باستخدام (Do While)

--------------------------------------------------------

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

- لا أفهم وضح أبن أفصح بكسر الباء

- حسنا انظر معي لهذا التركيب

While (تحقق شرط معين) Do A

حيث A عملية ما أو مجموعة أوامر

وتعني--------- بينما الشرط متحقق نفذ A

لو أننا في المثال السابق أردنا التطبيق علي درجات الالف طالب و حساب تقديرات كل منهم كيف نفعل ذلك باستخدام Do While ؟

سنفعل ذلك كالاتي:

___________

•	طالما أن عدد الطلاب أقل من أو يساوي ألف نفذ
•	لو درجة الطالب أقل من  10 يكون التقدير ضعيف
•	لو درجة الطالب 10- 13 يكون التقدير مقبول
•	لو درجة الطالب 13 – 16 يكون التقدير جيد
•	لو درجة الطالب 16- 18 يكون التقدير جيد جدا
•	لو درجة الطالب 18 – 20 يكون التقدير امتياز
ارجع لبداية التكرار مرة أخرة

أو كالاتي

DO While S <= 1000
الاوامر
Loop

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

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

loops_do..while.JPG

(2) الشكل الثاني: التكرار باستخدام (Do Until)

------------------------------------------------

و هو عكس النوع السابق، حيث أن التكرار يظل يعمل طالما أن الشرط غير متحقق، حتي until اذا تحقق الشرط ينتهي التكرار

مثال

----

طالما ان تانك السيارة غير مملوء while ------

املاْه بالبنزين، حتي until اذا امتليء، توقف عن تموين العربية و ... و روح حاسب علي البنزين حالا :D

و تركيبها يكون كالاتي:

Do  (A) Until
   (تحقق الشرط)

لو أننا في المثال السابق أردنا التطبيق علي درجات الالف طالب و حساب تقديرات كل منهم كيف نفعل ذلك باستخدام Do Until ؟

سنفعل ذلك كالاتي:

___________

•  نفذ حتي يصبح عدد الطلاب 1000
•	لو درجة الطالب أقل من  10 يكون التقدير ضعيف
•	لو درجة الطالب 10- 13 يكون التقدير مقبول
•	لو درجة الطالب 13 – 16 يكون التقدير جيد
•	لو درجة الطالب 16- 18 يكون التقدير جيد جدا
•	لو درجة الطالب 18 – 20 يكون التقدير امتياز
ارجع لبداية التكرار مرة أخرة

أو كالاتي

DO Until  S <=1000
الأوامر
Loop

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

و يمكن تمثيل هذا الشكل من خرائط التدفق كالاتي:

loops_do..until.JPG

(3) الشكل الثالث و الأخير: التكرار باستخدام (For … Next)

----------------------------------------------------------------

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

و تركيبها كالاتي:

For I = Y to Z 
أوامر
Next I

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

أولا FOR I تعني أن I هي العداد الذي سوف يعد مرات التكرار لمعرف موقع الحلقة التكرارية من التكرار، أي هل البرنامج الان ينفذ التكرار الأول أم الثاني أم الثالث أم ماذا.

Y هي نقطة البداية للتكرار قد تكون صفر أو واحد أو 100 حتي حسب المبرمج و حس البرنامج

Z هي نقطة نهاية التكرار و هي النقطة التي يتوقف عندها البرنامج عن تنفيذ التكرار

Next I جزء من التركيب و هي تستدعي التكرار مرة أخري طالما لم نصل الي نقطة النهاية.

فمثلا لو قلنا

For I = 1 To 10
Print "ahmed"
Next I

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

مثال

----

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

سوف نقول للبرنامج

•	كرر الاتي 10 مرات فقط
•	اطبع ورقة عليها اسمي
•	ارجع لبداية التكرار مرة أخري

و في كل مرة عند بداية البرنامج يرجع مرة أخري للعداد I و يسأله هل قيمتك أصبحت مساوية لقيمة Z أي 10؟

فاذا كانت مساوية للعشرة يوقف التكرار ، و الا يعيد التكرار مرة أخري.

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

loops_for..next1.JPG

(4) النوع الرابع و الأخير: البرمجيات الفرعية (Sup Programming)

-------------------------------------------------------------------------

البرمجيات الفرعية هي عبارة عن تجميع لأجزاء من البرنامج مع بعضها و كل جزء يمثل مجموعة من التعليمات، و يشكل برنامجا فرعيا مستقلا يتم الرجوع اليه عند الحاجة لأداء مهمة معينة، و يكون لكل جزء من هذه الأجزاء اسم مميز، و يكون تركيب هذه النوع كالاتي:

GOSUB …. Return

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

انتهينا بحمد الله من المقدمة و الجزء النظري، الان لديك أساس قوي جدا عن البرمجة و مفاهيمها و أنت أكثر من جاهز للبدأ في الفيجوال بيسك 6، أقصد لكي تكون مبرمج فيجوال بيسك 6 ... و يا له من لقب

استعد

تم تعديل هذه المشاركة بواسطة romantic_boy في 7 يوليو 2005 في 02:22

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#47

اشكرك اخي رومانسي على الجهد الذي تقدمه لنا وووفقك الله لما تعمل بس في عندي ملاحظة قبل ما نبدا في العملي وهو انه برنامج الفيجوال اللي عندي اصدارة 5.0 :wacko: :s :o هل يصلح للعمل وننتظر باقي الدروس

مع تحياتي لك ajmawy :rolleyes: (h) ;)

#48

ان شاء الله، الاختلافات بينهما ليست في الأمور الأساسية و ان كنت أفضل أن تحصل علي الاصدار السادس (الدنيا كلها عندهاVB) :)

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#49

tnx man

#50

ما شاء الله تبارك الله دروس غاية في الروعة والترتيب والتنظيم والإبداع

بارك الله فيك أخي الكريم وجعل ذلك في موازين حسناتك

تحياتي لك

اخوك ناصر

تم تعديل هذه المشاركة بواسطة nasser50001 في 6 يوليو 2005 في 10:11

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…