19-05-2024, 07:32 AM
رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++
https://www.youtube.com/playlist?list=PL...qaKxmAKHrq
# الفصل 0 : تمهيد
- 0.1 تعلم البرمجة من خلال التطبيق: بناء أكواد جميلة وفعالة
- 0.2 صقل مهاراتك في البرمجة: التمارين والاختبارات والمشاريع المشتركة
- 0.3 بعد هذه السلسلة: رحلتك نحو إتقان البرمجة
- 0.4 رحلتك في البرمجة: نصائح وتشجيع
- 1.0 مقدمة الفصل 1 : مرحبا بالعالم !
- 1.1 البرامج - Programs
- 1.2 تشغيل و Compile برنامج C++ الأول الخاص بك على نظام التشغيل Windows
- G00d Premium F0nt 4 c0ding M0n0L1sa
- How to instalԼ EmꞴarcadero ЯAD StuĐio 12.1 AtԨens ArꞆhitect V€rsion 29.0.51961.7529 U
- TutoЯial Ԩow instalԼ and activaԷe CLioЍ
- 1.3 ما هو ال preprocess ؟ وما هو ال assemble ؟ وما هو ال compile ؟ وما هو ال linking؟
- 1.4 البرنامج C++ الأول الكلاسيكي - تفسير دقيق بناء ركيزه البرمجه
- 1.5 التجميع - Compilation - فهم التعامل مع Compiler
- 1.6 استكشاف الlinking من الداخل بشكل عميق مع النوعين static و dynamic
- 1.7 مراجعة وتمارين الفصل الأول
- 2.1 الإدخال- input
- 2.2 المتغيرات - variables
- 2.3 المدخلات والنوع - Input and type
- 2.4 العمليات Operations والمشغلات operators
- 2.5 الAssignment والInitialization
- 2.6 تمرين عملي - اكتشاف الكلمات المتكررة
- 2.7 العمليات المركبة للoperators
- إنشاء برامج x86 أو x64 باستخدام MinGW وCLion
- 2.8 أسماء في C++ - Names
أسماء في C++.
نسمّي متغيّراتنا حتى نتمكن من تذكرها والإشارة إليها من أجزاء أخرى من البرنامج.
ما الذي يمكن أن يكون اسماً في C++؟
في برنامج C++، يبدأ الاسم بحرف ويحتوي فقط على حروف، أرقام، وتسطير أسفل.
على سبيل المثال:
x
number_of_elements
Fourier_transform
z2
Polygon
التاليون ليسوا أسماء:
2x // يجب أن يبدأ الاسم بحرف
time@to@market // @ ليس حرفاً، رقماً، أو تسطير أسفل
Start menu // المسافة ليست حرفاً، رقماً، أو تسطير أسفل
عندما نقول "ليست أسماء"، نعني أن مترجم C++ لن يقبلها كأسماء.
إذا قرأت كود النظام أو الكود المُنشأ بواسطة الآلة، قد ترى أسماء تبدأ بتسطير أسفل، مثل foo.
لا تكتب هذه الأسماء بنفسك؛ هذه الأسماء محجوزة للكيانات التنفيذية والنظامية.
بتجنب استخدام التسطير الأسفل في البداية، لن تجد أسماءك تتعارض مع أي اسم أنشأه التنفيذ.
الأسماء حساسة لحالة الأحرف؛ أي أن الأحرف الكبيرة والصغيرة متميزة، لذا x و X هما اسمان مختلفان.
هذا البرنامج الصغير يحتوي على أربعة أخطاء على الأقل:
import std;
int Main()
{
STRING s = "Goodbye , cruel world! ";
cOut << S << '\n';
}
عادةً ما يكون من غير الجيد تعريف أسماء تختلف فقط في حالة الحرف، مثل one و One؛ ذلك لن يربك المترجم، لكنه قد يربك المبرمج بسهولة.
جرب هذا
قم بتجميع برنامج "Goodbye, cruel world!" وفحص رسائل الخطأ.
هل وجد المترجم جميع الأخطاء؟ ما الذي اقترحه كمشاكل؟ هل ارتبك المترجم وشخص أكثر من أربعة أخطاء؟ قم بإزالة الأخطاء واحدًا تلو الآخر، بدءًا من أول خطأ لغوي، وانظر كيف تتغير (وتتحسن) رسائل الخطأ.
لغة C++ تحتفظ بالعديد من الأسماء كمفاتيح، مثل if، else، class، int، و module. يمكنك العثور على قوائم كاملة على الويب (مثل cppreference.com). لا يمكنك استخدام هذه الأسماء لتسمية متغيراتك، أنواعك، دوالك، إلخ.
على سبيل المثال:
int if = 7; // خطأ: if هي كلمة محجوزة
يمكنك استخدام أسماء المرافق في مكتبة المعايير، مثل string لمتغيراتك الخاصة، لكن لا ينبغي لك ذلك. إعادة استخدام مثل هذا الاسم الشائع سيسبب مشكلة إذا أردت يومًا ما استخدام مكتبة المعايير.
int string = 7; // هذا سيسبب مشاكل
عند اختيار أسماء لمتغيراتك، دوالك، أنواعك، إلخ، اختر أسماء ذات معنى؛ أي، اختر أسماء تساعد الأشخاص على فهم برنامجك.
حتى أنت ستواجه صعوبة في فهم ما يجب على برنامجك فعله إذا ملأته بمتغيرات بأسماء "سهلة الكتابة" مثل x1، x2، s3، و p7. يمكن للاختصارات والأحرف الأولى من الكلمات أن تربك الناس، لذا استخدمها بحذر.
كانت هذه الاختصارات واضحة لنا عندما كتبناها، ولكننا نتوقع أن تواجه صعوبة في فهم واحدة على الأقل:
mtbf TLA myw NBV
نتوقع أنه بعد بضعة أشهر، سنواجه نحن أيضًا صعوبة في فهم واحدة على الأقل.
الأسماء القصيرة، مثل x و i، تكون ذات معنى عند استخدامها بشكل تقليدي؛ أي، يجب أن يكون x متغيرًا محليًا أو وسيطًا ويجب أن يكون i مؤشرًا في حلقة.
لا تستخدم أسماء طويلة جدًا؛ فهي صعبة الكتابة، تجعل السطور طويلة بحيث لا تتناسب مع الشاشة، وصعبة القراءة بسرعة. هذه الأسماء ربما تكون جيدة:
partial_sum element_count stable_partition
هذه الأسماء ربما تكون طويلة جدًا:
the_number_of_elements remaining_free_slots_in_symbol_table
أسلوبنا هو استخدام التسطير السفلي لفصل الكلمات في المعرف، مثل element_count، بدلاً من البدائل مثل elementCount و ElementCount.
نحن لا نستخدم الأسماء بالحروف الكبيرة بالكامل، مثل ALL_CAPITAL_LETTERS، لأن ذلك مخصص تقليديًا للتعاريف، والتي نتجنبها.
نستخدم حرفًا كبيرًا في البداية للأنواع التي نعرفها، مثل Square و Graph.
لغة C++ ومكتبة المعايير لا تستخدم أسلوب الحرف الكبير في البداية، لذا هو int بدلاً من Int و string بدلاً من String.
وبالتالي، فإن أسلوبنا يساعد في تقليل الارتباك بين أنواعنا وتلك القياسية.
تجنب الأسماء التي يسهل كتابتها بشكل خاطئ، أو قراءتها بشكل خاطئ، أو الخلط بينها. على سبيل المثال:
Name names nameS foo f00 fl f1 fI fi
الأحرف 0 (صفر)، o (حرف O صغير)، O (حرف O كبير)، 1 (واحد)، I (حرف i كبير)، و l (حرف L صغير) من المحتمل أن تسبب مشاكل بشكل خاص.