pregnancy

بدايتك مع عالم البرمجة ، الخطوة الأولى هنا


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



البرمجة كتخصص هي عالم واسع الفارق فيه بين مبرمج وآخر ليس بعدد اللغات التي يتقنها و ما الى ذلك ،ولكن بطريقة تفكيره بالمنطق الذي يتبعه باسلوبه في التفاعل من المشاكل و طريقة طرحه لحلولها هنا فقط يمكن التمييز بين مبرمج و آخر.
اذا نصيحة مني للجميع ، انا لست بمحترف ولكن اعرف ان طريق الإحتراف لا يتطلب كترة اللغات بل يتطلب ان تتوفر على منطق برمجي و هذا ما ساحاول التركيز عليه في شروحاتي سادمج بين ما يسمى الألغوريتم  Algorithme والذي لايعتبر لغة وانما هو نوع من البرمجة التحليلية التي لا تتعدى ورقة الدفتر و ايضا ساتحدت عن بعض اساسيات لغة البرمجة C
اذا لكي لا اطيل بالكلام نمر الآن للتطبيق و طبعا كلما سنحت الفرصة سنتكلم بعض الشيء لأنه كما قلت لكم هنا يهمني ان تفهموا المبدأ و المنطق اما الأكواد بأي كتاب ستجدونها به
اذا على بركة الله
اليوم سأتطرق لأربع عمليات مهمة في هذه اللغة
تعريف المتغيرات ، طريقة اظهار شيء ما للمستعمل ، اخد معلومة ما من المستعمل ، و طريقة حفظ قيمة ما في متغير
قبل ان اشرح هذه العمليات،سأحاول ان اعطيكم لمحة عن هذه اللغة و طريقة اشتغالها 
كل ما تحتاج اليه هذه اللغة هو برنامج مترجم او بالفرنسية compilateur  هذا البرنامج دوره انه يحول لنا ملف العمل الى ملف .exe قابل للإستعمل ، وهذا الملف يتم فتحه على طريقة صفحة الأوامر الخاصة بالويندوز cmd يعني للإخوة اللذين ستكون هذه اول اطلالة لهم على هذه اللغة ، انسوا الأزرار و الصور و كل ما الى ذلك و استعدو للتعامل مع واجهات كهذه 

قد يتبادر الى ذهنكم الآن ، ما الغاية من تعلم شيء بشع كهذا ، في ظل تقنيات التصميم و ما الى ذلك ، سؤال بديهي و معقول
جوابي بسيط ، ما تشاهدونه الآن هو تفاعل بين معالج الحاسب و الذاكرة الحية ، اي اننا الآن نشتغل على مستوى ما قبل لغات البرمجة "الجميلة" ، و ساعيد و اكرر ما اتمنى ان تستوعبوه من كل هذا هو المنطق لا شيء آخر
اذا سابدأ بشرح عملية تعريف المتغيرات (declaration des variables) ، و بما اننا نركز على المنطق فعلينا ان نفهم ماهو المتغير و على اي مستوى يتواجد ، المتغير هو case mémoire  او خانة على مستوى الذاكرة الحية RAM ، و للإشارة فكل ما يخزن على مستوى الذاكرة الحية يخزن آنييا اي انه بمجرد اغلاق الحاسب و فتحه يفقد و نعطي متال بالأشياء التي نعمل لها نسخ ctrl + C  بمجرد ان يغلق الحاسب واعادة تشغيله ، اذا قمنا بعمل ctrl + V لانجد شيء.
نعود ، قلنا ان المتغير هو خانة على مستوى الذاكرة يقبل قيما حسب النوعية التي اخترناها له فمتلا اذا اردنا ان يكون عاما اتخدناه char  اي انه يقبل جميع المدخلات عبر لوحة المفاتيح او متلا float اذا اردنا الإشتغال بقيم عددية الخ
اضن انه اكترت عليكم من الكلام اذا فلنأخد بعض الأكواد 
كإشارة يمكنكم العمل ببرنامج Dev C++  كمترجم ، ويمكنكم تحميله عبر هذا الرابط

اجمالا جميع الملفات ستجدون فيها هذه الأكواد و ستكون النتيجة ايضا كما في الصورة

كما تلاحظون هنالك سطر لم اشرحه و ذلك لانه يمكن تعويضه باكواد اخرى وطبعا لن اتركه بدون شرح
الأصل في الكونسول console  اي الصفحة السوداء الخاصة بالتنفيد انه مباشرة عند تنفيد البرنامج كامل يتم اغلاقه تلقائيا و بالتالي لا نشاهد النتيجة ، ولهذا نضع هذا السطر لكي نقوم بعمل توقيف للبرنامج وبعدها عن الضغط على اي زر من لوحة المفاتيح يستمر و يتم اغلاقه.
بخصوص تعريف المتغيرات ، نكتب الكود على هذا الترتيب ، النوع الإسم ; / type nom ; / type name ;
متلا 

واليكم هذا الجدول بأهم الأنواع الخاصة بهذه اللغة (يوجد غيرها)

قد يأتيكم الآن تساؤل ، هل هذه اللغة تتعامل فقط بالأرقام ؟ اين الحروف و الرموز ؟ 
والجواب بسيط ، كما قلت سابقا الحاسب يتعامل فقط بالأعداد وبالتالي يتم ترجمة الأحرف و الرموز الى اعداد
كمتال ;  A= 65  ? = 63 الخ ، ويسمى رمز ASCII 
الآن انتهينا من تعريف المتغيرات و طبعا هذا المتغير الذي هو عبارة عن ذاكرة حجزناها لإستعمالها ، ولكي نستعملها يجب ان نعطيها قيمة ما وذلك على الشكل التالي اسم المتغير = القيمة ; /  nom_var = valeur ; / name_var = Value

الآن بعد كل هذا العمل بدون اي نتيجة على مستوى الشاشة سنمر للتفاعل بين البرنامج و المستخدم
متلا نريد عرض نص للمستخدم او قيمة متغير ما ، يوجد العديد من الدوال التي تقوم بهذا الدور و ساتطرق للأساسية وهي printf() ; 
هذه الدالة تكتب عموما على الشكل التالي   printf(" ") ;  و نضع بين "" النص الذي نريد عرضه متلا
اذا كتبنا هذا الكود printf("text 1"); ستكون النتيجة

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

كما تلاحظون انه عوض %i بقيمة المتغير الذي وضعنا بعد ", اذا نستنتج ان القيم المتغيرات ندرجها عبر %..  وذلك حسب نوع المتغير و بعدها نقوم بعمل فاصلة وندرج اسماء المتغيرات لكي يقوم بتعويضها (يمكن ادراج العدد الذي نريد من المتغيرات فقط وضع العلامة المناسبة لنوع المتغير بين "" و وضع الإسم بعد فاصلة)
بخصوص الأنواع فنجد
int -> %i & %d 
char -> %c
float-> %f
double -> %lf
long -> %ld
اذا بقي لنا الآن فقط طريقة اخد معلومة من المستخدم وتخزينها في متغير الأمر مشابه ل printf() ; هذه المرة سنشتغل بدالة اسمها scanf() ;
نفس مبدأ ال printf الكود على هذا الشكل  scanf(« %i »,&age) ;
الصورة للشرح  
الى هنا نكون قد انتهينا من اساسيات هذه اللغة ، واتمنى ان تأخدو شرحي هذا من باب شرح المنطق لأنه اذا فهمتم المنطق هنا اضمن لكم انه لن تجدوا صعوبة في فهم القادم ولكن ان انتم حفظتم الأسطر فقط هذه نكتبها لأن فلان وضعها فأعطتها كذا لا انصحكم بالمتابعة وتضييع وقتكم
اذا كانت هذه اول تجربة لي بعد مدة طويلة اتمنى ان اكون قد وفقت و افدتكم
الى هنا ينتهي كلامي فعلى ما يبدوا اكترت عليكم منه 
الى فرصة اخرى ان شاء الله
استودعكم الله
AbdelZinir The Philozof
شكرا لتعليقك