أهم أساسيات لغات البرمجه وكيفية تعلمها بسهوله

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


أهم أساسيات لغات البرمجه وكيفية تعلمها بسهوله




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

أهم أساسيات لغات البرمجه وكيفية تعلمها بسهوله


ضروريات اساسيه لابد من معرفتها قبل البدء بتعلم البرمجه

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


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


مفاهيم خاطئه عن البرمجه

بداية قبل الدخول للموضوع ، أود لفت الانتباه لمسأله مهمه ، عند الرغبه او البدء فعلياً بتعلم اى لغة برمجه خصوصاً المبتدئين ، لا ينبغى ان ندع مصطلحات مثل لغة برمجه قديمه ، لغة برمجه جديده ، لغة برمجه قويه ، لغة برمجه ضعيفه ، افضل لغة برمجه ، تؤثر فى الاهتمام بتعلم واتقان اللغه ، وهذه المصطلحات متداوله بكثره على السوشيال ميديا وبعض المنتديات وبعض قنوات اليوتيوب ويرددها البعض ممن لهم جمهور ومتابعين كثر للأسف ، وتلك المصطلحات خاطئه ومن يرددها لا يعرف حتى معنى كلمة برمجه ، والأرجح انه لايعرف عن البرمجه سوى  طباعة عبارة hello_world ممن يلهثون وراء الشهره وزيادة اعداد المتابعين والمشاهدات فقط ، والصحيح ان يقال افضل لغة برمجه لمجال او تنفيذ مهمة كذا ، وتكون الافضليه هنا على اساس تأدية المهمه المطلوبه من حيث الكفاءه مع سهولة برمجة المطلوب ، على سبيل المثال يمكننا برمجة موقع ويب باستخدام لغة C ،ويمكننا ايضا فعل ذلك باستخدام لغة بايثون ، والافضليه هنا ستكون لبايثون من حيث السهوله والسرعه والمكتبات الكثيره المتوفره لبرمجة مواقع الويب باستخدام بايثون ، وكمثال آخر نريد برمجة برنامج للتحكم بجهاز  او آله معينه وكان المطلوب اولاً والأهم هو سرعة  البرنامج ، نستطيع فعل ذلك بلغة بايثون او C او غيرهما ، ولكن لو تمت المفاضله هنا بين استخدام بايثون او C ستكون الأفضليه هنا للغة C من حيث سرعة اداء البرنامج وتحكمه بالجهاز او الآله وكفائته  ، ايضا نفترض اننا نريد برمجة تطبيق هاتف  وكان امامنا خيارنا اما نستخدم بايثون او ++C وهنا اللغتان يصلحان لتلك المهمه ، لكنا الأفضل هنا هو استخدام ++C لأننا لو استخدمنا هنا بايثون مهما كان حجم التطبيق بسيط ومهمته بسيطه سيكون حجمه كبير لأننا سنضطر لأرفاق مفسر بايثون معه وغيره من الامور الآخرى التى تجعل الأفضليه هنا لـ ++C ، هذا بغض النظر عن كفاءة المبرمج الذى صنع البرنامج او التطبيق ومعرفته واتقانه لأساليب البرمجه المختلفه ، كذلك عند الرغبه بعمل مالوير او فيروس الخيار الأفضل هنا سيكون لغة الإسمبلى لما توفره من امكانيات كبيره وسرعه للتحكم بالاجهزه وعتادها ، وكأمثله على برامج نستعملها على ذلك المفهوم ، نجد مثلاً برنامج التحميل الشهير  انترنت دونلود مانجر وهو مصنوع بلغة ++C ولذلك نجد حجمه صغير وادائه سريع ، وهناك برنامج اخر للتحميل به نفس مميزات انترنت دونلود مانجر اسمه اكستريم دونلود مانجر لكنه مصنوع بلغة جافا لذلك نجد حجمه كبير ( اكبر من حجم انترنت دونلود مانجر بكثيراكثر من 5 اضعافه) على الرغم من انه يقوم بنفس المهمه كما ان البعض يجده بطيىء عنه ، لذلك نجد انه يفضل استخدام لغة البرمجه ++C فى برمجة تطبيقات سطح المكتب لأنه يمكن من خلالها برمجة برامج حجمها صغير وادائها اسرع ، وهكذا نجد هذا الامر يتكرر مع برامج وتطبيقات كثيره ، وللعلم معظم لغات البرمجه يمكن استخدامها فى كل المجالات ، لكنها بذات الوقت لاتتمتع بنفس الأفضليه والمميزات فى كل المجالات ، وبشكلاً عام أى لغة برمجه يكون ادائها افضل فى المجال الذى صنعت من أجله سواء كان لبرمجة مواقع الانترنت ، أو للتحكم بالاجهزه أو للذكاء الصناعى..الخ ،وعموماً تعلم اى لغه برمجيه خصوصاً أول مره يفيد جداً ، حيث يفهم المبتدىء كيفية ومبادىء البرمجه وفكرتها وكيفية عمل الكمبيوتر وتفاعله مع الكود ، ومن ثم يمكنه الانتقال فيما بعد لتعلم واستخدام اى لغه آخرى يرغب بها خلال مده وجيزه وبسهوله ، وللعلم هناك انقسام فى الرأى حول أى لغه يبدأ بدراستها المبتدىء بتعلم البرمجه ، حيث نجد بعض  المختصين يفضلون البدء بتعلم لغه سهله وبسيطه ومختصره  مثل البايثون ، وهناك من يفضل البدء بلغه اكثر تفصيلاً مثل C  او ++C ،وذكر المؤلف فى بداية الكتاب انه يتقن الكثير من لغات البرمجه ، وذكر انه خلال تعلمه اول لغة برمجه فى حياته استغرق ذلك مده طويله وصلت لشهور عديده ومع تقدم معرفته بأساسيات ومفاهيم البرمجه التى تعلمها لأول مره من خلال اللغه الاولى التى درسها، صار يستغرق وقت قليل جداً عند رغبته بتعلم لغه آخرى جديده ، حيث كان يستغرق على الاكثر اسبوعين ، وللعلم جميع خبراء البرمجه وكبار المبرمجين على مستوى العالم مروا بذلك ويعرفونه جيداً، حيث تكون الصعوبه واستغراق الوقت فى التعلم خلال المره الآولى فقط لكن بمجرد اتقان المفاهيم والاساسيات الخاصه بالبرمجه من خلال استخدام اى لغه ، يكون الانتقال للغه آخرى وتعلمها اسهل ويستغرق وقت اقل بكثير من المره الآولى ، حيث مع اتقان المفاهيم والاساسيات الخاصه بالبرمجه ، يمكن تطبيقها باستخدام اى لغة برمجه ، لذلك يقول اكبر خبراء البرمجه والمبرمجين على مستوى العالم الصحيح ان يتم تعلم ومعرفة كيف يعمل البرنامج وليس كيف يكتب البرنامج ، ايضا من المفاهيم الخاطئه السائده عن البرمجه وتعلمها والتى تجعل كثير من الطلاب وغيرهما يبتعدون عنها ويخافون منها ،ما يشاع ويقال عنها انها تحتاج لذكاء خارق وعقليه جباره ، وفى الحقيقه هذا ليس صحيح ، والبرمجه فى رأيى من ابسط واسهل العلوم ، وتتميز عن باقى العلوم الآخرى بأن اى شخص مهما كان عمره صغير او كبير او مستواه المعرفى والعلمى ،مازال طفل او متقاعد ، يمكن أن يتعلمها بدون اى مشاكل ، ولما لا فهى عباره عن طريقه او اسلوب لمخاطبة الآله سواء كانت كمبيوتر او هاتف او غيرهما مثلاً موتور او أى آله آخرى تم توصيل جهاز راسبيرى مثلاً للتحكم بها/به وتشغيلها ولمن لايعرف ماهو الراسبيرى هو عباره عن جهاز كمبيوتر كامل بحجم كف اليد به وصلات يمكن توصليها بأى جهاز او آله للتحكم بها ، ويوجد جهاز آخر مشابه له فى فكرته وحجمه لكنه مختلف عنه تماماً اسمه أردينو... وهكذا ، لكن المخاطبه تكون بأسلوب وقواعد معينه ، وتكون مرتبه ومتسلسله تسلسل منطقى من أجل حل مشكله او تنفيذ مهمه معينه ، تماماً مثل قيامنا بأمور معايشتنا المعتاده ، مثلاً عند رغبتنا بعمل كوب من الشاى نقوم بالترتيب باختيار كوب مناسب ثم نضع فيه مقدار محدد من السكر والشاى ثم نضع الماء فى الغلايه ثم عند وصول الماء لدرجه حراره معينه ، مستوى الغليان نقوم بصبه فى الكوب ثم نقوم بتقليبه ، والتزمنا هنا بالتسلسل المنطقى المطلوب لتنفيذ المهمه ، بمعنى لم نقم مثلاً بتقليب الكوب وهو فارغ او صببنا الماء قبل الغليان وهكذا راعينا الترتيب المنطقى ، وهو نفس الأمر الذى نقوم به عند البرمجه ، فما العبقريه والصعوبه فى ذلك ، مثلاً نريد برمجة برنامج لجمع عددين اذا اولاً نطلب من المستخدم ادخال الرقم الاول ثم ادخال الرقم الثانى ثم يقوم بتخزينهما ثم يجمعهما ثم يعرض النتيجه ، ويكون ذلك من خلال الكتابه باسلوب وقواعد اللغه التى نستعملها ، ونفس الامر نريد مثلاً عمل برنامج او تطبيق يقوم بقطع الانترنت عند وصول المستخدم لحد معين 1جيجا مثلاً،نقوم اولاً بتعريف المستخدمين من خلال رقم كارت الشبكه الخاص (الماك ادريس) بجهاز كلاً منهما ثم يحسب البرنامج استهلاك كل جهاز منهما وفى حالة وصوله لحد استخدام 1 جيجا يقوم البرنامج بقطع الاتصال عن جهازه ، ونستخدم هنا الكلمات والاوامر الخاصه باللغه التى نستخدمها لكتابة البرنامج من اجل تنفيذ تلك المهام بشكل صحيح بدون اى اخطاء ، وهكذا فما الصعوبه او المشكله فى هذا التى تتطلب عبقريه خارقه .

معنى كلمة برمجه

البرمجه هى طريقة مخاطبة الكمبيوتر او الجهاز من آجل تنفيذ مهمه معينه، ولغة البرمجه التى نستخدمها هى التى توفر لنا ذلك ، مثلاً انت تريد ان تتحدث لشخص معين لتطلب منه شيىء معين فلابد من استخدام اللغه التى يفهمها سواء كانت لغته الاساسيه او لغه ثانيه يتقنها هو وانت الإنجليزيه مثلاً، لكنا الاجهزه لا تفهم تلك اللغات البشريه ولا لغات البرمجه المعتاده بالشكل الذى نعرفه ، انما تفهم فقط لغة الـ 0 والـ 1، ولغات البرمجه التى نعرفها نقوم بكتابة مانريد بها ثم يتم ترجمتها للغة الآله الـ 0 والـ 1،ليفهمها الجهاز ، ويمكننا كتابة اى برنامج او تطبيق لأداء مهمه معينه بأكثر من لغه لكنه فى النهايه سيترجم للغه الآله الـ 0 والـ 1، واختيار اللغه المناسبه يتوقف على عدة عوامل هى التى ستحدد اختيار اللغه المناسبه ، وتلك العوامل هى سرعة تنفيذ البرنامج المطلوبه والمناسبه للمستخدم ، ونوعية الجهاز الذى سيعمل عليه هل هو جهاز كمبيوتر له مواصفات معينه او جهاز هاتف او تليفزيون او روبوت الخ ، الآمان والحمايه ، حجم البرنامج وطبيعة مهمته ، ما هو النظام الذى سيعمل عليه مثلاً هل هو مخصص لأنظمة ويندوز او لينكس او اندوريد او ماك او مطلوب ان يعمل على جميع الانظمه ، اذا معنى لغة برمجه programming language
هى عباره عن مجموعه اوامر يتم كتابتها ونتعامل من خلالها مع الكمبيوتر .

أنواع لغات البرمجه

صنف العلماء لغات البرمجه بعدة طرق واشهرها التى تم تصنيفها لنوعين، وهى اللغات منخفضة المستوى التى تتعامل مع الآله مباشرة لغة الـ 0 والـ 1 النبضات الكهربيه، ثم يليها لغة الإسمبلى التى تقوم بالتعامل مع العتاد مباشرة مثل المعالج باستخدام بعض الكلمات الانجليزيه البسيطه مثل MOV و ADD وما شابه ، ثم يتم تحويلها بعد ذلك للغة الآله، وتستخدم هذه اللغات عند الرغبه مع التعامل مع الاجهزه بشكل مباشر ، وحجم البرامج المصنوعه مباشرة بها يكون حجمها صغير جداً ، لكن استخدام تلك اللغات والبرمجه بها مسأله بالغة الصعوبه والتعقيد وتستغرق مده طويله، وقد يؤدى اى خطأ بها لتدمير واتلاف الجهاز او آحد مكوناته ، والنوع الثانى من لغات البرمجه يسمى اللغات مرتفعة المستوى ، لأنها لغات قريبه من لغة الانسان ويمكن للبشر قرائتها وفهمها والتعامل معها بشيىء من السهوله ، من خلال فهم قواعدها ، وكمثال على تلك اللغات لغة البايثون والجافا والسى شارب والدلفى والـ C والـ++C وغيرهما من اللغات التى نعرفها ونسمع بها ، وهناك تصنيف آخر للغات البرمجه وهى اللغات المكتوبه مباشرة بلغة الآله، وهناك اللغات المترجمه التى يتم كتابة البرنامج بها فى ملف ثم تتم ترجمته بواسطة مترجم  compiler ومن ثم يتم ربط الملف المترجم بواسطة linker فيصبح ملف تنفيذى جاهز للعمل ، وهذا النوع من اللغات هو الذى يستخدم فى البرمجيات الكبيره ومعظم البرمجيات عموماً، مثل برامج التصميم وتعديل الصور المتصفحات برامج الاتصال، انظمة التحكم وبرامج الحمايه ، والنوع الآخر يسمى لغات البرمجه التفسيريه وهى عباره عن لغات برمجه يكون البرنامج او التطبيق المصنوع بها فى ملف يتم تفسيره عن طريق برنامج مفسر ولايعمل البرنامج بدون وجود هذا البرنامج المفسر على الجهاز مثل لغة البايثون والبيرل وphp، ايضا لغات الويب الوصفيه التى لاتعتبر لغات برمجه مثل html و css مشابهه للغات التفسيريه لكن ليس بها شروط او ادوات حفظ او تكرار فقط وصفيه ، والسبب انى شبهتها بلغات البرمجه المفسره، لأننا يمكننا أن نعتبر مفسرها هو برنامج المتصفح الذى يعرضها على شكل صفحات الانترنت التى نتصفحها من حيث الشكل والالوان والنصوص الخ ، لكنها ليست لغات برمجه .

قواعد ومكونات لغات البرمجه

قواعد ومكونات لغات البرمجه التى نقصدها هنا هى اللغات عالية المستوى التى يعرفها او يدرسها ويتعلمها بعضنا، مثل لغة الـ C والـ ++C والجافا والبايثون والدلفى والسى شارب ولغة GO وغيرهما ، ولتعلم اى لغه من تلك النوعيه لابد اولاً من معرفة قواعد ومكونات اللغه التى سنتعلمها مثل: طريقة كتابة وصياغة الجمل فى اللغه وشكلها ، معرفة الكلمات المحجوزه للغه ، كيفية كتابة التعليقات وشكلها ، الجمل والاوامر الشرطيه ، جمل واوامر التكرار ، الدوال والإجراءات ، طرق ادخال البيانات واخراجها ، المكتبات الخاصه باللغه من حيث نوعها ومهمتها وكيفية التعامل معها ، التراكيب والانواع ، ما هى مميزات اللغه وما هى اكثر وافضل المجالات التى تستخدم فيها .

طريقة كتابة الكود فى لغات البرمجه

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

جملة التعيين فى لغة البرمجه

او ما تعرف بالمتغيرات ، وهى عباره عن جمله تقوم بتعيين قيمه معينه لعنصر معين فى الذاكره ، بمعنى آخر هى مكان فى الذاكره نقوم فيه بتخزين معلومات او معطيات لأسم معين من اختيارنا ، لكى نقوم بطلبه واستخدامه عند الحاجه اليه وغالباً ما يكون على شكل اسم او حرف وبعده يوجد علامة = تشير للقيمه المطلوبه
مثال على ذلك فى لغة البرمجه بايثون
X=1
'Y='ahamed
هنا المتغير الاول اسمه X وقيمته تساوى 1 ونوعه متغير عددى لأنه رقم ، والمتغير الثانى اسمه Y ويساوى ahamed ونوعه متغير نصى لأنه عباره عن اسم وموضوع بين علامتى ' ' وهذا احد قواعد لغة بايثون التى تشير لأن هذا المتغير عباره عن نص ، وعندما نطلب من الجهاز استدعاء المتغير X فأنه سيظهر لنا قيمته وهى 1 ولو طلبنا منه مثلاً X+X فانه سيجمعها ويظهر لنا الناتج وهو 2 ، وكتابة المتغيرات فى لغات البرمجه لها قواعد معينه لابد من الالتزام بها وهى متشابهه فى معظم اللغات منها مثلاً عدم استخدام كلمه من الكلمات المحجوزه للغه ، كذلك الاحرف الكبيره والصغيره فمثلاً هنا X الكابيتال متغير آخر مختلف عن المتغير x سمول مثلاً Ahamed قيمه ومعنى مختلف عن ahamed ، وغيرها من القواعد الخاصه بكل لغة برمجه .

التعبير المنطقى فى لغة البرمجه

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

التعبير الحسابى فى لغات البرمجه

وهى تعابير عمليات الجمع والطرح والقسمه والأس والضرب وهى تتكون من العمليه نفسها وتكون  غالباً بعد اشارة المساواه ، والرموز المستخدمه هى + ، - ، * ، / ، % ،^ وكمثال على ذلك فى لغة البايثون
x=3
y=2
print(x+y)
سيظهر الناتج 5
وعند
print(x*y)
سيظهر الناتج 6
بالمناسبه العمليات الحسابيه فى لغات البرمجه يكون لها اولويات تنفيذ بمعنى مثلاً بغض النظر عن الترتيب يتم اولاً تنفيذ العمليه الحسابيه بالترتيب التالى اولاً الأس ثم الضرب ثم القسمه ثم باقى القسمه ثم الطرح والجمع ، وكمثال على ذلك فى لغة البرمجه بايثون
العمليه التاليه ستكون نتيجتها 1 بسبب أولوية التنفيذ كما ذكرنا
10-2*8+7

جمل التعليقات فى لغات البرمجه

 وهى جمله يتم كتابتها داخل البرنامج لتشير الى شيىء معين او لشرح او توضيح لأجزاء الكود ووظيفتها ، وهى لاتنفذ اى لأتؤثر على طريقة سير البرنامج، وجمل التعليقات تلك يكون لها شكل معين فى كل لغه مثلاً فى البايثون تأخذ الشكل التالى
comment#
او لو كان التعليق اكثر من سطر يتم كتابته بين 
""" comment """
او بين 
''' comment'''

الجمل الشرطيه فى لغات البرمجه

وهى عباره عن جمله يكون لها شكل معين فى كل لغة برمجه مهمتها اداء فعل معين فى حال تحقق شرط معين، وغالباً ما تستخدم كلمة if  او switch او select، مثلاً نقوم بكتابة برنامج مهمته قطع اتصال الانترنت عند وصول الاستهلاك الى 1 جيجا ، اذا سنستخدم جملة الشرط فى لغة البرمجه التى نكتب بها بحيث عندما يتحقق الشرط بوصول الاستهلاك لحد 1 جيجا يقوم البرنامج بقطع الاتصال وهكذا ، وغالباً ماتكون عبارة الشرط فى لغات البرمجه على الشكل التالى 
<كلمة الشرط الخاصه بلغة البرمجه> الشرط
{
الاوامر التى تنفذ عند تحقق الشرط
}
لذلك يجب معرفة كلمات الشرط المحجوزه فى اللغه وكيفية كتابة جملتها وصياغتها ، وكذلك الشرط وهو يكون تعبير منطقى مثلاً اصغر من اكبر من يساوى ، ويتم كتابة الاوامر التى تنفذ حال تحقق الشرط فى بلوك يلى الشرط ، ثم كتابة الاوامر التى نرغب بتنفيذها عند عدم تحقق الشرط.

انواع ادوات الشرط

أولا اسلوب الشرط باستخدام if وهو متوافر فى اغلب لغات البرمجه التى نعرفها ، ومن الضرورى جداً عند تعلم أى لغه برمجه معرفة طريقة كتابة جمل الشرط بها باستخدام if ، وهذا اشهر انواع الشرط حيث معظم البرمجيات الكبيره تعتمد على استخدام اسلوب الشرط if بكثره ، ونوع الشرط الثانى هو باستخدام كلمات switch او select ، ويستخدم هذا الشرط فى بعض لغات البرمجه عندما يكون هناك حاجه لتحقيق اكثر من شرط فى وقتا واحد ، لتنفيذ اوامر الشرط ، حيث أن هذا الاسلوب يستخدم فى انشاء المفسرات والبرامج المبنيه على الاحتمالات ، ويكون شكل الصيغه لعبارة الشرط switch احياناً بالشكل التالى
(الشرط)switch
{
نتيجه1:
اوامر
نتيجه2:
اوامر نتيجه3:
اوامر
وهكذا
   }
ويوفر اسلوب الشرط هذا الكثير من الوقت ويقلل من عدد سطور البرنامج فى حالة الاحتمالات الكثيره.

طريقة كتابة الشرط فى لغات البرمجه

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

جمل التكرار فى لغات البرمجه

التكرار هو احد أهم الامور التى يستخدمها المبرمج وعلى الرغم من سهولتها الا انك لا تعتبر مبرمج دون ان تتقن على الاقل احد اساليب التكرار، والتكرار هو وسيله تستخدم لأختصار وقت البرمجه ذات الاكواد الطويله، وذلك بكتابة الاكواد التى يراد تكرارها، ويمكننا تشبيه عمليات التكرار بعملية الضرب فى الحساب ، حيث مثلاً بدلاً من أن نجمع الرقم 2 اثنى عشر مره نقوم بضربه مره واحد فى 12 لنحصل على نفس الناتج ، والتكرار هو تكرار العمليه المراد تنفيذها حتى نصل للنتيجه التى نريدها ، لكن باستخدام عدد قليل من الاكواد البرمجيه ، مثلاً نريد صنع برنامج يطبع الاعداد من 1 الى مليون وبالتالى سنحتاج لكتابة مليون سطر لتنفيذ ذلك ، لكن باستخدام التكرار يمكننا فعل ذلك بعدد قليل جداً من السطور، وهذا توضيح لذلك بلغة بايثون
مثلاً بدون استخدام التكرار
print(1)
print(2)
print(3)
print(4)
print(5)
print(6)
print(7)

وهكذا وصولاً لمليون
اما هنا الكود الذى كتبناه باستخدام التكرار لطباعة الاعداد من 1 حتى مليون
i=1
:while i<1000001
        print(i)          
        i=i+1          
ومن انواع التكرار التكرار باستخدام while مثل المثال السابق والذى قمنا بتطبيقه بواسطة لغة البرمجه بايثون، وفى بعض اللغات الآخرى يكون بالشكل التالى
}while(logical expression)
 {  
وايضا التكرار باستخدام Do حيث تستخدم للدورات التى تحتوى شرطين والشكل العام لها يكون احيانا كالتالى
(logical expression)Do
}
statment
while{
وفى بعض اللغات تستخدم Do للتكرار اللانهائى ، ومن انواع التكرار ايضا التكرار باستخدام until وهذا النوع عكس while حيث يحدث التكرار اذا لم يتحقق الشرط الشكل العام مثل while  ، ولكن مع استبدال while بـ until ، وايضا التكرار باستخدام for وهو يستخدم من اجل التكرار بعد معين  ويكون احيانا بالشكل التالى
for(ctr,expression,int)
{  
}
واجمالاً يختلف الشكل العام من لغة برمجه لآخرى.

الدوال والاجراءات فى لغات البرمجه

هى عباره طريقه يتم من خلالها تنظيم الكود او مجموعه من الاكواد داخلها ، من خلال حصر الأكواد المطلوبه تحت أمر معين يتم استدعاءه عند الحاجه اليه ليتم تنفيذ اوامر تلك الاكواد ، مما يسمح للمبرمج باستدعاء هذه الاوامر بمجرد كتابة اسم الامر الذى اختاره لتسميتها ، ويمكن ان يعود هذا المتغير بنتيجه ، ويمكننا تشبيه الدوال هنا بالدوال فى الرياضيات ، وكمثال
ق(س)=س+2-10+3*س-10
فعندما يتم تعويض القيمه ق(1) فأن الناتج سيكون
(1)+2-10+3(1)-10 ، والمقصود بالداله هى عباره عن مجموعه من الأوامر تستطيع تمرير قيمه لها وتعود بقيمه آخرى بعد اجراء عدة عمليات عليها ، وهدفها اختصار الوقت ، والشكل العام للداله فى لغات البرمجه يكون كالتالى
اسم الداله(القيمه الممرره اليها)
{
الاوامر
return
}
وأما الاجراء فهو نفس الداله ولكننا لانقوم باعادة قيمه من الداله فقط مجموعة اوامر داخل بلوك معرفه بأسم تستدعى عند استدعاء الداله، والدوال فى لغات البرمجه نوعين النوع الاول تكون تابعه للغه ذاتها وموجود تلقائياً بها ، كمثال دالة ( )print فى لغة البرمجه بايثون ، فعند الرغبه باستعمالها من طباعة اى شيىء على الشاشه نقوم باستدعائها وتمرير الامر الذى نرغب به اليها بالشكل التالى ، مثلاً نريد طباعة عبارة hello world 
print('hello world')
بينما النوع الثانى من الدوال نقوم نحن بصنعه حسب رغبتنا لتأدية مهمه معينه نحتاجها ويسمىuser defined functions ، وكمثال على هذا النوع من الدوال فى لغة البايثون المثال التالى ، وهو عباره عن داله لجمع عددين قمنا بتسميته add ويمكننا تسميتها بأى اسم نريد
:def add(number1,number2)
result=num1+num2       
return result       
وعند الرغبه باستدعاء الداله لتنفيذها لجمع عددين نقوم باستدعائها وتمرير المعطيات لها كالتالى
x=add(10,20)
print(x)
او
print(add(10,20)
وسيعرض لنا ناتج جمع العددين ، وهذا مجرد مثال بسيط للتوضيح ، حيث يمكننا عمل داله للقيام بأى فعل معين عند استدعائها وهكذا.

طرق ادخال واخراج البيانات فى لغات البرمجه

لكى نتمكن من استخدام أى لغة برمجه لابد أن نعرف طرق ادخال واخراج البيانات بواسطة تلك اللغه ، ونقصد بالادخال هنا الطريقه التى تستخدمها اللغه للحصول على البيانات واما الاخراج فهى طريقة عرض المخرجات للمستخدم بعد المعالجه ، وفى معظم لغات البرمجه تستخدم الكلمه input وهى كلمه محجوزه فى معظم لغات البرمجه لذلك الغرض ، او scanf كما تستخدم print وprintf لطباعة المخرجات على الشاشه، ومن الممكن أن يكون الادخال من زر او مربع نصى أو أى كائن من كائنات البرمجه الموجهه، وكمثال على دالة الادخال فى لغة البرمجه بايثون الداله تكون ()input ،أما دالة الاخراج فهى ()printكماهو معروف ،فمثلاً عندما نرغب بعمل برنامج يطلب من المستخدم ادخال اسمه ، ثم ادخال رقم تليفونه ثم اخراجهما على الشاشه بلغة بايثون نقوم بكتابة الكود التالى:
UserName=input("write your name :")
PhoneNumber=input('write your phonenumber:')
print(UserName)
print(PhoneNumber)
وأود  لفت انتباهكم هنا إلى اننا عند تعلمنا البرمجه لأول مره مع اى لغة برمجه نتعلم الادخال من خلال اوامر بسيطه ومجرد كلمات يدخلها المستخدم للبرنامج كمثال لكلمة سر او اسم ..الخ ، وهذا شيىء يعتبره البعض ممل وغير مفيد ، لكن لاحقاً ستتعلم أن الادخال ليس كتابة نصوص أو ارقام فقط ، انما قد يكون بصمه اصبع من جهاز قارىء البصمات أو صورة وجه  يتم ادخالها والتعرف عليها من خلال الكاميرا وبرامج وادوات معينه تثبت على الكمبيوتر، او حتى ميكروفون يتم ادخال الصوت من خلاله ومن ثم يتعرف عليه جهاز الكمبيوتر... وهكذا ، اما المخرجات  فى بداية تعلمنا تكون طباعة عبارة hello world على الشاشه السوداء او فتح صفحة انترنت عاديه ، لكنها لاحقاً قد تكون فتح بوابه مثلاً او تشغيل جهاز بطريقه محدده مثلاً او اطفائه او صرف مبلغ معين من النقود او اصدار انذار ــــ الخ .


الدوال المكتبيه فى لغات البرمجه

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

التراكيب والانواع فى لغات البرمجه

باختصار شديد هى طريقه تستخدم لحفظ البيانات بشكل منظم ، حيث الفكره تكون بتركيب المتغيرات ذات الصله فى موضوع واحد ، تحت مسمى واحد لتنظيم اختصار الوقت ، وهذه هى الطريقه التى تستخدم فى أنواع الملفات ، فالصوره عباره عن تركيب يتكون من عدد من المتغيرات ، حيث متغير يحدد موقع الطول للنقطه ومتغير آخر يحدد اللون ومتغير آخر يحدد العرض ، لنفرض مثلاً اننا نريد   صنع برنامج ، لأدخال بيانات عن الموظفين ،مثل عمر الموظف واسمه وعنوان منزله ورقم هويته ، فلتسهيل الأمر تكون 4 متغيرات وتقوم بأنشاء متغير جديد من التركيب لكل موظف ، فتخيل الوقت الذى وفرته ، حيث بدلاً من أن تنشىء 400 متغير لـ 100 موظف مثلاً فأنك تنشىء 100 فقط .

الكلمات المحجوزه reserved keywords فى لغات البرمجه

أى لغة برمجه يكون محجوز ومخصص لها عدد من الكلمات ، تشير تلك الكلمات لأمر او معنى للمترجم او المفسر الخاص باللغه ، وهذه الكلمات تكون من أصل اللغه ، بمعنى انها كلمات مهمتها تنفيذ أمر معين باللغه ، وتلك الكلمات لا يمكن ان تستخدم لأغراض آخرى اى انه لايمكن استعمالها لتسمية المتغيرات او الدوال التى ننشئها ، لذلك من الضرورى عند تعلم اى لغة برمجه معرفة الكلمات المحجوزه او الـreserved keywords الخاصه بها ومعرفة وظيفة ومهمة تلك الكلمات واين توضوع ومتى تستخدم وهكذا ، وعند التمكن من من معرفة ذلك    يكون بالتالى دارس اللغه البرمجيه قطع شوطاً كبيراً فى تعلم اللغه ، ومن أهم الكلمات التى تكون محجوزه فى اى لغه برمجيه ، الكلمات الخاصه بانشاء الاجراءات ، والكلمات الخاصه بأوامر الشرط والتكرار ، وكلمات الادخال والاخراج ، وكلمات استدعاء المكتبات وهكذا ، وكمثال على الكلمات المحجوزه  فى لغات البرمجه تلك بعض الكلمات المحجوزه فى لغة البرمجه بايثون:
while , for , if , import , def , in , exec , class
حيث كل كلمه من تلك الكلمات لها مهمه ووظيفه معينه ، ولاحظ ايضا حالة الاحرف خلال كتابة هذه الكلمات فمثلاً for ليست For وليست foR وهكذا ، حيث اغلب لغات البرمجه حساسه لحالة الحروف السمول والكابيتال كما ذكرنا سابقاً .
اخيراً نحن كبشر لسنا منزهين عن الخطأ والسهو ، وفى حال ما لاحظتم أى خطأ فى الدرس الرجاء الاشاره اليه وتوضيحه فى التعليقات لنقوم بتصحيحه .

أهم المراجع:
  • كتاب الطريق لتعلم أى لغة برمجه بسهوله
  • كتاب مختصر دليل لغات البرمجه

اتمنى أن أكون قد وفقت فى نقل معلومه مفيده لكم، وإن أحسنت فمن الله ، وإن أسأت أو أخطأت فمن نفسى والشيطان

مقالات مهمه للمبتدئين فى البرمجه  :





تعليقات

‏قال غير معرف…
مقال محترم ومجهود مرضى لمن يريد تعلم البرمجة