بـعـيـدآ عـن سـيـلـك رود [ هذا القسم مخصص لمختلف المواضيع البعيدة كليا عن مجال الألعاب ] |
|
أدوات الموضوع | انواع عرض الموضوع |
08-09-2010, 03:58 PM | #1 | ||||||||||
|
بسم الله الرحمن الرحيم .. الحمد لله رب العالمين والصلاة والسلام على أشرف الأنبياء والمرسلين .. نبينا محمدٍ صلى الله عليه وسلم .. ثم أما بعد .. بعد نقاشات ومحاورات ومداولات .. سيتم بإذن الله تقديم دورة في أساسيات البرمجة بواسطة لغة C++ السي بلس بلس .. وستوضع الدورة على هيئة دروس .. ما أريد قوله قبل بداية الدورة.. : • أن هذه دورة تعليمية .. سأتعمد شرحها بالإسلوب العامي ، وسأبتعد عن الأسلوب الرسمي .. بمعنى أن من يقول : أنا لا أعرف أي شيء وليس عندي خلفية عن البرمجة .. سيتعلم فعلاً بإذن الله أساسيات البرمجة إذا كانت لديه فعلاً رغبة بالتعلم .. • باب الأسئلة مفتوح على مصرعيه خلال الدورة .. أي أنه إذا تعسر عليك فهم أي نقطة في الدرس .. أنا على استعداد على إعادة شرحها وتوضيحها أكثر وأكثر .. ولكن يجب أن تكون لدينا إرادة وتصميم على التعلم .. • قد تُفاجأ بعد نهاية الدورة أنك لم تحصل على شيء !! أو أن ما تعلمته = لا شيء ، هذا بظنك ، ولكنك ستكون بإذن الله قد امتلكت أساسيات لغة البرمجة اللتي تؤهلك لمراحل أخرى .. وحتى لو أردت تعلم لغة أخرى غير لغة السي بلس بلس .. فستسهل عليك الدورة فهم الفكرة العامة للبرمجة . • قاعدة : البرمجة = تشغيل مخ لا يظن أحد أن البرمجة عبارة عن أوامر نحفظها ثم ننسخها ثم نلصقها .. كلا .. البرمجة لعبة عقول .. • عملية التعلم أكيد تحتاج إلى صبر !!! ـــــــــــــــــــ أنا عارف إن أنا طولت عليكم .. بس دية نقاط أساسية حبيت أنبه عليها .. قبل بداية الدرس الأول .. أضع بين أيديكم تمهيد مبسط أرى ضرورة قراءته .. تمهيد .. لغات البرمجة .. ببساطة عبارة عن لغة يفهمها الطرفان ( الحاسب & المستخدم ) هناك عدة لغات برمجة .. بعضها أقدم بكثير من C++ ، مثل لغة البيسك ، وبعضها أكثر تطوراً مثل السي شارب والفيجوال بيسك والسي بلس بلس دوت نت ( C++.Net ) ... ولكل لغة مميزاتها وقدراتها وإمكانياتها من البديهي أن يسأل أحدهم : إذا لماذا لا نتعلم اللغات الحديثة ؟ سؤال ممتاز .. إجابته نقطتان : الأولى : إن أنا ما أفهم كثير في اللغات المتطورة !! الثانية : وهي الأهم .. تعتمد معظم اللغات الحديثة على جرافيك أو واجهة رسومية .. بحيث لا يقوم المبرمج بكتابة أكواد البرمجة إلا بنسبة قليلة جداً .. وبالتالي فهو غير ناجح برمجياً .. لأن تطوير وتنقيح البرامج كلها تعتمد على كتابة الأكواد . وبإذن الله إذا وجدنا تفاعل وحب التعلم لدى الأعضاء سنفعل مثل تلك المواضيع ما سنأخذه في هذه الدورة سيتم تنفيذه في بيئة الدوس ، وليس بواجهة رسومية ، ولذلك سيصعب استخدام اللغة العربية أثناء عمل البرامج . وجزاكم الله خيراً .. الدرس الأول في البداية قد يتسائل البعض عن البرنامج اللذي سنقوم بكتابة وتنفيذ البرامج فيه .. وهو برنامج Microsoft Visual C++ وهو يأتي دائما مع حزمةMicrosoft Visual studio صعب تحميله من النت لكبر حجمه .. ولكنه منتشر بكثرة وخاصةً عند طلبة علوم الحاسب هذه واجهة البرنامج كيفية فتح صفحة جديدة .. من قائمة File نختار New ثم ننفذ كما في الصورة التالية لاحظ : اخترنا C++ source file .. بذلك أصبحت صفحتنا جاهزة لبدأ كتابة البرنامج .. هيا بنا إذا نبدأ بتعلم لغة البرمجة .. GO حسناً .. نتناول الآن هيكل البرنامج .. أو كيف يتكون البرنامج .. هيكل أي برنامج * نفتح الملفات اللتي سنحتاج أدواتها خلال كتابة البرنامج # include < ??? . h > حيث علامات الإستفهام عبارة عن إسم الملف ، وسنتعرض خلال دورتنا إلى عدة ملفات وأدوات كل ملف . * بعد ذلك نكتب العبارة void main ( void ) * بعد ذلك نضع قوس بداية أسطر البرنامج { … حيث يجب أن تكون أسطر البرنامج داخل الأقواس . * ثم بعد ذلك نكتب أوامر وأسطر البرنامج اللتي نريد تنفيذها ، مع ضرورة وضع علامة ; الفاصلة المنقوطة بعد أي سطر نكتبه إلا بعض الحالات الشاذة .. واللتي سوف نتعرض لبعضها إن شاء الله . * وأخيراً نغلق قوس البرنامج …… } * نفعل بناء للبرنامج كي يبحث عن الأخطاء في برنامجنا إذا وجدت ، ويخبرنا بها لنقوم بتصليحها . وبذلك قمنا بعمل برنامج !! فعلاً .. هذه هي طريقة كتابة برنامج بواسطة لغة السي بلس بلس . ما رأيك .. هل الأمر صعب ؟ إذا لم تفهم الجزء السابق .. فأعد قرائته وحاول فهمه وأنا جاهز إذا فيه أسئلة .. أما إذا فهمته .. فهيا بنا لنتعمق قليلاً .. هيا لنبرمج ــ المتغيرات والتعريف بها .. بفرض أننا أردنا عمل برنامج يقوم بحساب مساحة المستطيل .. قانون حساب مساحة المستطيل : 2 × ( الطول + العرض ) إذا البرنامج سيطلب من المستخدم إنه يدخل مرة قيمة الطول ، وبعدين قيمة العرض وبعيدن يحسبهم ويخرج الناتج . عند عمل هذا البرنامج علي أن أحجز مكان في ذاكرة الكمبيوتر حتى يتمكن المستخدم من إدخال قيمتي الطول والعرض .. هنا جائت الحاجة إلى المتغيرات والتعريف بها .. عند عمل هذا البرنامج سأسمي الطول بالمتغير x والعرض بالمتغير y .. وبذلك أوجدنا المتغيرين .. ولكن البرنامج لن يفهم المتغيرين إلا إذا أعلنا عنها في بداية البرنامج .. كيف نعلن عن المتغير ؟ بإستخدام أحد تلك المصطلحات : int : وتستخدم لقيم صحيحة – غير كسرية – مثل x = 5 float : وتستخدم لقيم كسرية ذات خانات قليلة مثل x= 5.08 double : وتستخدم لقيم كسرية ذات خانات كثيرة مثل x = 5.973685376 char : وتستخدم للكاركتر ..- وسنأخذ الكاركتر في الدروس القادمة إن شاء الله - . لاحظ : من الممكن استخدام float في المكان اللذي نستخدم فيه int وذلك لأنه واضح أن float بإمكانها أخذ قيم أكبر . حتى نفهم أكثر .. نعود لمثال برنامج المستطيل .. في بداية البرنامج سأفتح مكان في الذاكرة وأعلن عن المتغيرين اللذان يمثلان الطول والعرض كود PHP:
ومن الممكن كتابته بتلك الطريقة : كود PHP:
لاحظ أيضاً أن خطوة التعريف هذه ليس لها تأثير على الشاشة .. أي أنه أثناء تنفيذ البرنامج .. عندما يقرأ الكمبيوتر هذا السطر لن يظهر شيء على الشاشة .. ولكن الكمبيوتر سيفهم منه أنه مطلوب فتح مكانان في الذاكرة . دعونا نعود لبرنامج المستطيل .. ماذا لو كان طول ضلع المستطيل 5,25 خمسة وربع سم .. والعرض 7 سم . لن تكون نتيجة البرنامج دقيقة ، وذلك لأننا أعلنا عن المتغير x والذي يمثل قيمة الطول أعلنا عنه بـ int وكما قلنا أن int تستخدمم لقيم صحيحة ، وليس قيم عشرية . لذلك حينها سنستخدم المصطلح float لكي تكون النتيجة دقيقة . أتمنى أن يكون كل شيئ حتى الآن واضحاً .. إذا وُ جد أي شيء غير واضح .. أنا جاهز للأسئلة . ملاحظة : المصطلحات اللتي ذكرتها هنا ليس كل المصطلحات الموجودة في لغة السي بلس بلس ، ولكن ذكرت ما سنحتاجه في دورتنا . ـــــــ ======= ــــــ أدوات الإدخال والإخراج .. تنطق سي آوِت ، وتستخدم في الإخراج .. بمعنى أصح .. أي شيء سيظهر أمامك على الشاشة أثناء تنفيذ البرنامج .. سنستخدم فيه لاحظ : كود PHP:
السطر الأول .. يقوم البرنامج بوضع قيمة 5 في المكان المفتوح في الذاكرة والمسمى X . السطر الثاني .. يقوم البرنامج بطباعة قيمة الـ X واللتي تساوي 5 . حسنا ً .. ماذا لو أردنا طباعة عبارة على الشاشة .. نفترض تلك العبارة هي " Pleas do not forgt ALLAH " " لا تنسى الله " سنطبعها بالشكل التالي : كود PHP:
لاحظ : عندما نريد أن نطبع أي عبارة يجب وضعها بين علامات التنصيص " ...... " ربما يسألني البعض لماذا لم نضع علامات التنصيص عندما قمنا بطباعة قيمة X في المثال بالأعلى ؟! والجواب : أننا لم نكن نريد من البرنامج طباعة حرف X وإنما أردنا طباعة محتوى X أو قيمتها .. وعند ذلك لا نضع علامات التنصيص . لو عدنا إلى مثال المستطيل .. من الممكن أن يكون آخر سطر في البرنامج بالشكل التالي : كود PHP:
وحيث أن الـ x و y هما قيمتي الطول والعرض .. عندما ينفذ البرنامج السطرين الأخيرين سيكون شكل الشاشة كالتالي : كود PHP:
لاحظ أيضاً .. السطرين السابقين .. كود PHP:
من الممكن جمعها في سطر واحد على النحو التالي .. ومن الخطأ الشائع الذي يقع فيه كثير من المبرمجين المبتدئين ، وأنا كنت أقع فيه .. نضع فاصلة , بدلاً من العلامة << .. فمثلاً .. لو أردنا طباعة قيمة المتغيرات التالية x , y and z البعض يكتبها هكذا .. كود PHP:
وهذا خطأ فادح .. فمن المفروض كتابته هكذا .. كود PHP:
لمحة : يستخدم الأمر end l أو الشكل التالي " \n " لكي ينزل البرنامج سطر للأسفل .. يعني كأنك تضغط مفتاح انتر Enter .. مثال : افترض x = 3 y = 4 نريد طباعة قيمة اكس في سطر وقيمة y في سطر .. على النحو التالي : كود PHP:
عندها سيكون شكل الشاشة بعد تنفيذ البرنامج كود PHP:
ونفس السطر السابق .. يمكن كتابته على الشكل التالي : كود PHP:
بدلاً من end l وضعنا الرمز "\n" . أتمنى أن يكون كل شيء حتى الآن واضح . بذلك نكون قد تعرفنا جيداً على أداة الإخراج cout << … ولكن .. دعونا أيضاً نعود إلى برنامجنا السابق بطل درسنا هذا .. برنامج حساب مساحة المستطيل .. ذكرنا .. أن هذا البرنامج من المفترض أن يطلب من المستخدم إدخال قيمتي الطول والعرض .. هنا .. حان الوقت لنتعرف على أداة الإدخال .. cin >> ….. وتنطق " سي إن " . إن عمل cin >> لا أثر له على الشاشة ولكنه يعطي الإذن للمستخدم بإدخال قيم في المتغيرات اللتي أعلنا عنها في بداية البرنامج .. أي أن البرنامج يتوقف وينتظر أن يدخل المستخدم القيمة المطلوبة . فمثلاً .. في برنامج حساب مساحة المستطيل واللذي يتطلب إدخال قيم الطول والعرض .. نلاحظ السطرين التاليين : كود PHP:
هذا السطر سيعطي الإذن بإدخال قيمة الطول . كود PHP:
وهذا السطر سيعطي الإذن بإدخال قيمة العرض . ونفس ما ذكر في الـ cout << ينطبق على السي إن .. أي أنه من الممكن كتابة السطرين السابقاً في سطر واحد على الشكل التالي : كود PHP:
وهذا كل ما يتعلق بأدوات الإدخال والإخراج .. ولكن بقية نقطة هامة جداًَ جداً جداً .. ذكرنا في بداية الدرس النقطة التالية : ــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــ ــ إذا هيكل أي برنامج * نفتح الملفات اللتي سنحتاج أدواتها خلال كتابة البرنامج # include < ??? . h > حيث علامات الإستفهام عبارة عن إسم الملف ، وسنتعرض خلال دورتنا إلى عدة ملفات وأدوات كل ملف . ــــــــــــــــــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــ ـ إن أداتي cin>> و cout<< موجودة داخل ملف اسمه iostream ، إذا أي برنامج يجب فيه فتح هذا الملف في البداية . حسناً .. قمنا في هذا الدرس بتناول عدة نقاط أهما المتغيرات وكيفية الإعلان عنها وأدوات الإدخال والإخراج .. لاحظوا .. أننا قمنا بعمل برنامج أثناء شرح الدرس .. نعم قمنا بعمل برنامج يحسب مساحة المستطيل .. ولكنه كان مجزئ حسب النقاط اللتي شرحناها .. الآن نقوم بكتابة البرنامج كاملاً كتطبيق عملي على هذا الدرس .. كود PHP:
وبذلك انتهينا من كتابة البرنامج نقوم بعمل بناء للبرنامج بالضغط على F 7 سيخرج لنا مدى صحة البرنامج .. وهل به أخطاء أم لا .. كما في الصورة .. ثم .. نقوم بتنفيذ البرنامج بالضغط على Ctrl + F 5 هذه صورة البرنامج بعد التنفيذ .. أتمنى تكونوا استمتعتم بالدرس .. وانتظروا الدرس الثاني .. بس لما أشوف تفاعل أول شيء من الأعضاء آه صحيح .. كنت هنسى أديكم واجب .. تحلوه وتجيبوه المرة الجاية .. << قاعدين في مدرسة !! هاها ها .. لا بجد .. ده واجب بسيط .. لو فهمت الدرس كويس .. طبق ونفذ الواجب ده وابعته لي على الخاص .. وإذا واجهتك فيه مشاكل برضه ابعت لي على الخاص .. وللمرة العشرين .. لو فيه أي اسئلة .. محدش يكسف .. الدورة دي في الأول والآخر منكم وليكوا .. أتمنى إنكوا تنجحوها .. الواجب : اكتب برنامج بلغة السي بلس بلس يطلب من المستخدم إدخال 4 أعداد ثم يقوم بإخراج ناتج جمعهم في سطر ، وناتج طرحهم في سطر آخر . أظن واجب مفيش أسهل منه .. يلا .. نشوفكم على خير .. تحياتي لكم .. ========= نهاية الدرس الأول ========= الموضوع منقول من منتديات معالى كتابع العضو مسلم مساعد وان شاء الله سيتم اضافه الدرس الثانى بس لما نشوف التفاعل من الاعضاء والمشرفين اعدو بالعافيه |
||||||||||
التعديل الأخير تم بواسطة iMido ; 08-09-2010 الساعة 05:52 PM
|
08-09-2010, 04:27 PM | #2 | ||||||||||
|
والله معلم |
||||||||||
|
08-09-2010, 05:08 PM | #3 | ||||||||||
|
شكراا |
||||||||||
|
08-09-2010, 05:53 PM | #4 | ||||||||||
|
شكرا على الردود |
||||||||||
|
22-03-2011, 04:31 AM | #5 | ||||||||||
|
مرةة روعة الدرسة معلم مشاء اللله عليك بس كيف اسجل في الدورة السؤال واجب بسيطة |
||||||||||
|
22-03-2011, 07:46 AM | #6 | ||||||||||
|
شكـرا ** |
||||||||||
|
22-03-2011, 10:04 AM | #7 | ||||||||||
|
تسلم يا برنس |
||||||||||
|
22-03-2011, 10:48 AM | #8 | ||||||||||
|
تسلم يا برنس انا كنت بدور على الدروس اللى زى دى من زمان بس للاسف انا #c |
||||||||||
|
22-03-2011, 08:14 PM | #9 | ||||||||||
|
انا عندي سؤال يا برنس هو لة الc+ و c++ و c# عشان تبرمج بيهم بيبقا لكل واحد برنامج ولا هو برنامج واحد اللي انت قولت عليه في الموضوع بيستخدم في كل اللغات ؟؟ وياريت تجبلنا درس عمل متصفح زي FireFox وكده ارجو الرد في اسرع وقت |
||||||||||
|
22-03-2011, 10:24 PM | #10 | ||||||||||
|
يارب تنجح |
||||||||||
|
23-03-2011, 01:07 AM | #11 | ||||||||||
|
تسلم ايدك |
||||||||||
|
يتصفح الموضوع حالياً : 1 (0 عضو و 1 زائر) | |
|
|