-->

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

ماهي البرمجة و ماهي لغات البرمجة و مالفائدة من تعلم البرمجة :

هذه الأسئلة نستطيع أن نقول أنها أكثر الأسئلة الذي يسئلها كل مبتدئ و كل شخص سيبدأ بالأساسيات , فلكي نفهم أساسيات البرمجة لابد لنا من فهم ماهي البرمجة و ماذا سأستفاد من البرمجة و ماذا يعني لغة برمجة ؟؟!!!

دعنا من التعاريف الأكاديمية الذي يتحدثون عنها بأنها هي عملية كتابة تعليمات وتوجيه أوامر لجهاز الحاسوب أو أي جهاز آخر , فهذا تعريف لا يعني شيئ تعريف جاف , البرمجة هي أساس لحل مشاكل الحياة !! دعك من إشارات التعجب و إشارات الأستفهام الذي خرجت لك سأطرح لك مثالاً لأوضح لك ماقصدت :

المثال الأول : 

لديك مشكلة معنية و تريد حل هذه المشكلة تقوم بدراسة المشكلة وبعد ذلك ستقرر أن تحل هذه المشكلة بواسطة الآلة وهذه الآلة لا تقتضي أن تكون فقط كمبيوتر , حاسوب , حاسب آلي , هاتف , بل يمكن أن تكون إشارة مرور أو أي آلة أخرى...
أنت أنسان و الآلة جماد كيف ستفهم هذا الآلة أنها ستحل مشكلتك لا بد لك أن تتعلم لغتها لكي تفهمها أنك بحاجتها , لغة الآلة الذي ستحادثها اسمها لغاة الآلة أو الأسم الدقيق لغات البرمجة .

المثال الثاني : 

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

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

اللغة الأنجليزية و أهميتها في البرمجة : 

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

فأنت عندما تريد أن تكتب أكوادك على برنامج بالطبع ستكون واجهة البرنامج باللغة الإنجليزية فلن تستطيع فتح ملف جديد إلا إذا كنت تعرف معنى Project new وعلى هذا المسار يتبين لك أنك تحتاج للغة و بشدة , فلذلك عزيزي القارئ يجب عليك أن تحفظ و تتعلم المصطلحات التقنية و البرمجية  . 
ملاحظة : ستلاحظ أن هناك بعض المصطلحات البرمجية عندما تستخدمها في غير مكان سيكون لها معنى آخر مثال : Mathod ترجمتها طريقة وفي البرمجة يتغير معناها كلياً.

 الرياضيات و أهميتها في البرمجة : 

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

عندما كنا في المدرسة كنا نأخذ x , y , z فإذا كانت x = 5  و y = 5 و عندنا العلاقة الرياضية x + y = z فأوجد ماهي z بكل تاكيد أنها تساوي عشرة ولو غيرنا قيمة x و y ستتغير قيمة z وهذا مايسمى برمجياً بالمتغيرات .

فعندما نقول أن x تساوي 5 فإن هناك قيمة تم حفظها في ذاكرة الحاسوب و قيمتها 5 وكذلك ال y فهناك متغير اسمه واي y قيمتة 5 . 
 فعندما نقول له أوجد قيمة z فسيذهب الى الذاكرة و سيأخذ قيمة المتغيرات المخزنة في الذاكرة طبقاً للعلاقة الرياضية و يجمعها فسيخرج الناتج وهو 10 وهذا مايقال عنه المنطق الرياضي .

و أيضاً هناك شيئ مهم جداً في عالم الأكواد ألا وهو العمليات الرياضية أو العمليات الحسابية الأساسية سواء كانت : 
  •  الجمع ويرمز له ب +
  • الطرح ويرمز له ب - 
  • الضرب ويرمز له ب * 
  • القسمة ويرمز لها ب / 
  • الأس ويرمز له ب ^
  • باقي القسمة ويرمز له ب % 
غلى آخره من هذه العمليات فهي موحدة في كل لغات البرمجة ويرمز لها بنفس الرموز . 
بعد ذلك عندنا العمليات المنطقية وأيضاً يرمز لها ب : 
  • أكبر من < 
  • أصغر من > 
  • يساوي = =
  • أو || 
  • و & 
ملاحظة : علامة يساوي واحدة = هي عملية اسناد فقط ولا تعني التساوي في البرمجة و لكي يكون الطرف اليمين يساوي الطرف اليسار أو القيمة اليمنى تساوي القيمة اليسرى فيجب عليك كتابة دبل يساوي بهذا الشكل == 

المصفوفات في الرياضيات و أهميتها في البرمجة : 

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

مصفوفة (رياضيات) - ويكيبيديا

المسميات البرمجية للمبرمج | ماذا يطلق على المبرمج : 

نلاحظ كثيراً عن أكثرالأسماء الذي ينادون بها المبرمج سواء باللغة العربية أو الأنجليزية هناك ثلاث أسماء مشهورة : 
  • Coder هو الشخص العادي في بداية تعلمة للبرمجة يستطيع كتابة الأكواد يسمى بالعربي كاتب أكواد أو كودر 
  • Developer هو الشخص الذي يمكنه تطوير البرنامج بالكامل وهو الأكثر انتشاراً ويسمى بالعربي المطور ديڤلبر . 
  • Programmer هو الأوسع هو قادر على إيجاد الحلول للمشاكل بغض النظر عن كتابة الحل أو البرنامج وهو الأكثر الحرفية فمثلاً المطور كتب 50 كود يأتي المبرمج ويختصر ال50 كود الى أربع أو 5 , أكواد هناك تسمية له مهندس البرمجيات أو المبرمج البروچرامر . 

انظمة التشغيل Operations systems : 

كأساس من أساسياتا لبرمجة لابد لك من التعرف على أنظمة التشغيل الأكثر إنتشاراً , و يقسم أنظمة التشغيل إلى قسمين أنظمة تشغيل خاصة للكمبيوتر و أنظمة تشغيل خاصة بالهواتف : 

أنظمة تشغيل خاصة للكمبيوتر : 

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

أنظمة تشغيل خاصة بالهواتف :

لن نتحدث كثيراُ عن أنظمة الهاتف نستطيع أن نقول أن هناك نظامين محتلين الهواتف نظام الأندرويد و نظام الأي أو أس , الأندرويد أو الأكثر أستخداماً و أكثر إنتشارا والأرخص سعراً تم تطويرة من قبل شركة جوجل و هو نظام مفتوح المصدر الآن أصبح أغلب الشركات المصنعة للهواتف تستخدم نظام الأندرويد , أما بالنسبة لنظام أي أو أس فهو نظام إحتكاري طبعاً لشركة أبل و أيضاً له عدد كبير من المستخدمين .

مصطلحات تقنية وبرمجية مهمة جدا :

هنا سأذكر لكم أهم المصطلحات البرمجية للإطلاع فقط كي إذا ذَكِر إحدى هذه المصلحات أمامك تعرف عن ماذا يتحدث وأغلب هذه المصطلحات سيكون على شكل إختصارات شهيرة في عالم البرمجيات : 
Compiler ويلفظ ب كومبايلار هو اسم تقني وبرمجي متواجد بكثرة في بداية تعلم البرمجة وهو بإختصار المترجم الذي يحول الأكواد الذي كتبتها بلغات البرمجة يحولها الى لغة الآلة وهي لغة الصفر و الواحد 0 , 1 , و حديثاً استبدل ب .
 IDE بيئة تطوير متكاملة أو ماتسمى بمنصة التطوير وهو برنامج لكتابة البرنامج الخاص بك ومعاينة و تطويرة مثل فيجوال أستديو و أندرويد استديو.
GUL واجهات المستخدم الرسومية وهي الواجهة الذي تتفاعل معها طبعاً في البرمجة هناك جزئين من الشاشات التي نتعامل معا إما أن تكون شاشة سوداء أو شاشة المستخدم .
API واجهة برمجية التطبيقات أظن أنك لن تفهما بشكل صحيح بسبب أنك مبتدأ من جديد , فهذه خاصة للمبرمج وخاصة به ولاعلاقة للمستخدم بها .
OOP وهي البرمجة الكائنية التوجة أو مايقال عنها أنها البرمجة الشيئية معناها أنني سأقسم الكود الى عدة كلاسات أو مجموعات تربط بينها علاقات خاصة كي لا أكتب الكود في صفحة واحدة  .

اللغات المنصات المستخدمة في تطوير برامج الكمبيوتر :

سنستعرض المنصات و اللغات الأكثر إنتشاراً والأكثر استخداماً في تطوير برامج الكمبيوتر , هناك 5 لغات مسيطرة على هذا المجال تقريباً C++ و لغة C# و لغة VB و لغة JAVA و لغة PAYTHON و لغة MATLAB  لكتابة الأكواد من هذه اللغات تحتاج إلى منصة عمل فأشهر منصات العمل لهذه اللغات : Visual Studio , Intellij IDEA , Ecliose ,matlab فكل من هؤلاء البرامج لدية نسخة المجانية و النسخة المدفوعة .

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

سنستعرض المنصات و اللغات الأكثر إنتشاراً و الأكثر استخداماً في تطوير برامج الهاتف الذكي , وسنقسمها حسب نظام التشغيل , فنظام تشغيل الأندرويد هناك 3 لغات C# ولغة JAVA  ولغة KOTLIN  , و بالنسبة لأي أو أس تستطيع عن طريقة لغة C# و لغة Swift و بالنسبة لمنصات العمل فلدينا Visual Studio , Intellij IDEA و Android Studio . 

اللغات والمنصات المستخدمة في تطوير صفحات الانترنت :

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

التصميم أو Front End : 

ويستخدم لتصميم الصفحة اللغات التالية : HTML و CSS و JAVASCRIPT و بالنسبة لمنصات العمل فلدينا Visual Studio , Intellij IDEA و Android Studio .

الكود Back End : 

ويستخدم لكتابة الصفحة اللغات التالية : PHP  و ASP.NET و  PAYTHON و بالنسبة لمنصات العمل فلدينا Visual Studio , Intellij IDEA و Android Studio .

ماهي الخوارزميات واهمية تعلمها : 

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

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

يعني بأمكانك بعد تعلم الخوارزميات يمكنك ببدأ بأي لغة برمجية بعتبار أن تعلمت أساس البرمجة ( الخوارزميات ) وبعد هذه المقدمة القصيرة دعنا نبدأ بتعريف : 

ماهي الخوارزميات :

 الخورارزمية ببساطة هي مسار طريق لحل المشكلة , يعني يكون لديك مشكلة وحلها مرتبة على شكل مجموعة من النقاط من خلال هذه النقاط   يمكنك كتابة هذا الكود . 

يمكنك كتابة الخوارزمية على شكل هندسي أو مايقال عنه بالشجرة ويكون بهذا الشكل : 

Data Architecture Icons - Download Free Vector Icons | Noun Project

أو يمكن كتابة الخوارزمية عن طريق أسطر برمجية كاذبة و تسمى بالأكواد الكاذبة وتكون بهذا الشكل : 

خوارزمية بلمان-فورد - المبرمج العربي

مثال عن الخوارزمية و خوارزمية حساب مساحة المربع : 

عندما نريد أن نحسب مساحة مربع ما لابد من معرفة الطول أو العرض لأن جميع أطوال أضلاع المربع متساوية , و بالإضافة إلى ذلك لا بد لنا من استخدام قانون حساب مساحة المربع ألا وهو : المساحة = طول الضلع الأفقي × طول الضلع العامودي و بإختصار يساوي الطول * العرض . 

نقول أن الطول و العرض هم متغيرات يستطيع المستخدم إدخال الكثير من القيم المختلفة ,  بعد ذلك أنت أتجهت الى عملية حساب أن المساحة تساوي الطول * العرض وبعد حساب الطول * العرض تخرج للمستخدم شاشة فيها المساحة و أيضا تعتبر المساحة متغير لأن المساحة تتغير بتغير الطول والعرض . 

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

أولاً سنرمز للطول ب X و العرض ب Y و المساحة ب Z : 

  1. ابدأ 
  2. أدخل طول المربع
  3. أدخل عرض المربع 
  4. خذ الطول  و العرض وطبق القاعدة التالية : Z = (X*Y)
  5. أخرج شاشة للمستخدم مكتوب عليها Z أي المساحة . 
  6. انتهى / اخرج 
هذا الذي تراه في الأعلى هي الخوارزمية و يمكن كتابتها بطريتك الخاصة .

اساسيات في كتابة الكود الكاذب :

في البداية دعنا نتفق على مجموعة من الكلمات يجب حفظها و أظن أن الجميع يحفظها أو الأغلب , لأن هذه الكلمات ستتكرر معنا كثيراً في كتابة الكود الكاذب احفظها الكلمات هي :
  1. Start للبداية في البرنامج 
  2. End للخروج من البرنامج 
  3. ( )Read لقراءة البيانات من المستخدم 
  4. ( ) Write لطبع البيانات للمستخدم 
  5. االترقيم 1./2./3./... بهذا الشكل 

الخوارزميات | المتغيرات Variables

سنتحدث عن ماهي المتغيرات , ماهي أنواع المتغيرات , كيففية تعريف المتغيرات سنبدأ في تعريف :

ماهو تعريف المتغير :

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

الآن نحن في حياتنا و كمنطق اسمك هو متغير نصي عمرك هو متغير رقمي و 3.14 متغير رقمي , تستغرب عندما أقول لك متغير نصي أو متغير رقمي أليس كذلك ؟؟! لا تقلق أقول لك هذا فقط لأبين لك أن للمتغيرات أنواع يختلف المتغير النصي  عن المتغير الحرفي عن المتغير الرقمي .

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

أنواع المتغيرات : 

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


0تعليقات

المقال السابق هذا اقدم مقال