الفرق بين المراجعتين لصفحة: «برمجة سي ++»

تم حذف المحتوى تمت إضافة المحتوى
ط تدقيق إملائي، الأخطاء المصححة: إستخدام ← استخدام (2)، ايجاد ← إيجاد باستخدام أوب (0)
لا ملخص تعديل
وسم: مسترجع
سطر 1:
إن لغة البرمجة سي++ (++C) هي واحدة من أكثر لغات البرمجة استخدامًا و أوسعها إنتشارًا بالإضافة إلى جدتها، لغة سي (C). تعتبر لغة سي++ من لغات البرمجة الكائنية التوجه (Object-Oriented programming)، وإن كان من الممكن استخدامها بشكل بنيوي (Structural) أو كمزيج من الإثنين.
__NOTOC__
<small>[[لغات البرمجة الحاسوبية|<< لغات البرمجة الحاسوبية]]</small>
<div style="display:block; padding:0.3em; background-color:#99CCFF; border:1px solid #aaa; -moz-border-radius-topright:0.4em; -moz-border-radius-topleft:0.4em; text-align:right; font-size:75%;"><br />
<div style="font-size:250%;text-align:center;">'''برمجة: سي + +'''</div><br /></div>
<br />
{{ويكيبيديا|سي بلس بلس}}
 
إن لغة البرمجة سي++ (++C) هي واحدة من أكثر لغات البرمجة استخدامًا و أوسعها إنتشارًا بالإضافة إلى جدتها، لغة [[w:ar:سي (......مجة)|سي]] (C). تعتبر لغة سي++ من لغات [[w:ar:برمجة كائنية التوجه|البرمجة الكائنية التوجه]] (Object-Oriented programming)، وإن كان من الممكن استخدامها بشكل بنيوي (Structural) أو كمزيج من الإثنين.
 
جزء كبير من لغة سي++ تعتبر من لغات البرمجة عالية المستوى. ولغات البرمجة عالية المستوى هي اللغات التي ظهرت لتسريع عملية البرمجة حيث أن تعليماتها أقرب ماتكون إلى لغة الإنسان وهذا ما يجعل عملية البرمجة أكثر سرعةً وسهولةً. تسهّل لغة سي++ الأسلوب المهيكل والمنهجي لعملية تصميم البرامج، حيث تتألّف برامج هذه اللغة من مكونات تسمّى الأصناف (classes) والدوال (functions) وبالتالي يمكن تقسيم عمليّة تعلّم لغة سي++ إلى قسمين: يعتمد الأول منها على تعلّم لغة سي++ نفسها، في حين يسمح الثاني بتعلّم كيفية استخدام الأصناف الملحقة بهذه اللّغة واستخدام التوابع الموجودة ضمن المكتبة المعياريّة ANSI C.
 
== ماذا تحتاج للبدء ؟ ==
* تحتاج [[w:ar:لمصرف (برمجة)|مصرّف]] (compiler) (مترجم يقوم بتحويل ما تكتبه إلى لغة الآلة التي يفهمها المعالج)، ورابط (linker)، ومحرر نصوص. بعض بيئات التحرير توفر هذه الثلاث. لاختيار أحد بيئات التطوير المتكاملة، يمكنك رؤية المقارنة بينها على [http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B هذه الصفحة] في ويكيبيديا الإنجليزية. وفي ما يلي بعض الإقتراحات :
* فيجوال سي ++ (++Visual C)، من شركة ميكروسوفت، وهو مغلق المصدر وغير مجاني.
* برنامج (Intel® C++ Compiler 9.1)، مغلق المصدر ومجاني لمدّة معينة. [http://www.intel-inside.tm/cd/software/products/asmo-na/eng/compilers/cwin/eval/index.htm للتحميل]
* بيئة (Quincy 2005) الذي يأتي مع مصرّف gcc وأدوات أخرى حرّة. [http://www.codecutter.net/tools/quincy/ للتحميل]
* استخدام برامج حزمة [http://www.mingw.org/ مينجوي]،مينجوي، تعمل من سطر أوامر دوس (DOS) بشكل عام وتستخدم مصرّف (gcc) وأدوات أخرى مرافقة. [http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite للتحميل]
* استخدام بيئة '''[[w:ar:إكليبس|إكليبس]]''' (Eclipse CDT)، و هي مجانية ومفتوحة المصدر. [http://www.eclipse.org/downloads/ للتحميل].
* برنامج Dev C++ ، وهو مجاني ومفتوح المصدر.
* برنامج Code Blocks ، وهو مجاني ومفتوح المصدر.[http://www.codeblocks.org/downloads/ للتحميل].
قائمة الموضوعات و الدروس
 
Exquisite-kwrite.png
== قائمة الموضوعات و الدروس ==
ملاحظة: يحتوي كل موضوع على شرح مبسط لفكرة و هدف الدرس، الغرض من هذا الشرح هو تنظيم كتابة الدروس و المحافظة على تسلسلها بشكل منطقي. من الممكن - بعد الانتهاء من الكتاب - اختصار هذه الشروح الصغيرة بشكل أكبر بحيث لا تزيد عن خمس كلمات.
 
{{مثال|ملاحظة: يحتوي كل موضوع على شرح مبسط لفكرة و هدف الدرس، الغرض من هذا الشرح هو تنظيم كتابة الدروس و المحافظة على تسلسلها بشكل منطقي.
من الممكن - بعد الانتهاء من الكتاب - اختصار هذه الشروح الصغيرة بشكل أكبر بحيث لا تزيد عن خمس كلمات.}}
 
* '''[[برمجة:سي ++/ مقدمة في البرمجة|مقدمة في البرمجة]]'''
** التفكير في كيفية عمل الأشياء، إيجاد حلول للمشاكل، الخ
* '''[[برمجة:سي ++/ الدرس الأول|الدرس الأول]]'''
** البرنامج الأول(الفارغ)، شرح مفاهيم أساسية: نقطة الدخول إلى البرنامج، نقطة الخروج، لماذا الـ main؟ فكرة عامة عن تقسيم البرامج الكبيرة إلى أجزاء صغيرة (برامج جزئية).
* '''[[برمجة:سي ++/الدرس الثاني|الدرس الثاني]]'''
** الكتابة على الشاشة، العمليات الأساسية، الجمع و الطرح، المتغيرات، الثوابت (litteral constants).
* '''[[برمجة:سي ++/الدرس الثالث|الدرس الثالث]]
** القراءة من المستخدم، تابع العمليات الرياضية و الاشارات في اللغة
* '''[[برمجة:سي ++/الدرس الرابع|الدرس الرابع]]
** السير المنطقي للبرنامج، الأوامر الشرطية، الاشارات الشرطية، و منطقها
* '''[[برمجة:سي ++/الدرس الخامس|الدرس الخامس]]
** تمارين، حل مشكلات بسيطة، أمثلة للتفكير البرمجي، التركيز على عقلية التحليل .. الخ.
* '''[[برمجة:سي ++/الدرس السادس|الدرس السادس]]'''
** الدوال (functions)، تقسيم البرنامج إلى برامج جزئية (حسب المهام)، إرسال الإعدادات (parameters) الخ.
* '''[[برمجة:سي ++/الدرس السابع|الدرس السابع]]'''
** تابع الدوال (functions)، مفهوم الـ expression و الـ return value، استخدام الدوال (functions) كعمليات حسابية، نطاق المتغيرات scope الخ.
* '''[[برمجة:سي ++/الدرس الثامن|الدرس الثامن]]'''
** استخدام الدوال (functions) لتحسين بنية و تركيب البرامج، تحسين برامجنا السابقة.
* '''[[برمجة:سي ++/الدرس التاسع|الدرس التاسع]]'''
** تطبيقات و تمارين، مزيد من المشاكل و حلولها
* '''[[برمجة:سي ++/الدرس العاشر|الدرس العاشر]]'''
** المصفوفات (arrays)، مفهوم الـ initialization بشكل عام، و تطبيقه على المصفوفات و بيان حالاته الاستثنائية.
* '''[[برمجة:سي ++/الدرس الحادي عشر|الدرس الحادي عشر]]'''
** مفاهيم عامة عن الذاكرة، طبيعة المصفوفات في الذاكرة، مقدمة عن المؤشرات.
* '''[[برمجة:سي ++/الدرس الثاني عشر|الدرس الثاني عشر]]'''
** استخدام المصفوفات في البرامج، التفكير في استخدامها، فوائدها، تطبيقات، الخ.
* '''[[برمجة:سي ++/الدرس الثالث عشر|الدرس الثالث عشر]]'''
** مقدمة عن المؤشرات: مفهوم الـ statically allocated و الـ dynamically allocated بالنسبة للمتغيرات، الكومبايلر و أسماء المتغيرات و عناوينها في الذاكرة، استخدام المؤشرات للوصول إلى المتغيرات اللتي تم حجزها ديناميكيا.
* '''[[برمجة:سي ++/الدرس الرابع عشر|الدرس الرابع عشر]]'''
** تطبيق على المؤشرات: إرسال عناوين المتغيرات إلى الدوال (functions)، مع تركيز على شرح الستاك و توضيح عدم جواز إرجاع مؤشر لمتغير داخلي في فنكشن، مع مقدمة عن الرفرنس في السي بلص بلص.
* '''[[برمجة:سي ++/الدرس الخامس عشر|الدرس الخامس عشر]]'''
** الـ struct، تجميع معلومات متعلقة ببعضها، تمثيل حالة كائنات حقيقية، الخ.
* '''[[برمجة:سي ++/الدرس السادس عشر|الدرس السادس عشر]]'''
** تطبيقات عملية على الـ struct
* '''[[برمجة:سي ++/الدرس السابع عشر|الدرس السابع عشر]]'''
** استخدام الـ struct و المؤشرات لعمل linked list. نقاط القوة الضعف في الـ linked list و متى يمكن استخدامها، مع تطبيق بسيط.
* '''[[برمجة:سي ++/الدرس الثامن عشر|الدرس الثامن عشر]]'''
** الأقسام (class)، توضيح عام من ناحية لغوية، الـ syntax الخاص بالأقسام الخ.
* '''[[برمجة:سي ++/الدرس التاسع عشر|الدرس التاسع عشر]]'''
** البرمجة الشيئية / الكانئية، الكائنات objects، مفاهيم متعمقة .. تحليل المشكلة إلى أشياء وكائنات، الخصائص والتصرفات، attrbutes and behaviour .. الخ.
* '''[[برمجة:سي ++/الدرس العشرون|الدرس العشرون]]'''
** تابع مفاهيم متعمقة عن البرمحة الشيئية.. تصميم الحلول باستخدام الكائنات، ذكر بسيط لقضايا الـ cohesion and coupling، مع تطبيقات عملية، و لو بسيطة.
* '''[[برمجة:سي ++/الدرس الحادي و العشرون|الدرس الحادي و العشرون]]'''
** مناقشة مواضيع الـ cohesion، coupling،1235 association: التفكير جيدا في تصميم الفئات بشكل جيد ومتماسك، فصل المهام الزائدة عن الـ class إلى فئات classes أخرى، الربط بين الكائنات، تقليل التداخل coupling.
* '''[[برمجة:سي ++/الدرس الثاني و العشرون|الدرس الثاني و العشرون]]'''
** الوراثة (inheritance)، مع تطبيقات.
* '''[[برمجة:سي ++/الدرس الثالث و العشرون|الدرس الثالث و العشرون]]'''
** الـ (polymorphism).
* '''[[برمجة:سي ++/الدرس الرابع و العشرون|الدرس الرابع و العشرون]]'''
** تطبيقات عملية تستخدم المفاهيم اللتي تمت مناقشتها، مع التقديم لبعض الـ (design patterns)، كالـ (singleton) مثلا.
{{تصنيف كومنز|C++}}
 
مقدمة في البرمجة
[[تصنيف:معلوماتية]]
التفكير في كيفية عمل الأشياء، إيجاد حلول للمشاكل، الخ
[[تصنيف:سي ++]]
الدرس الأول
البرنامج الأول(الفارغ)، شرح مفاهيم أساسية: نقطة الدخول إلى البرنامج، نقطة الخروج، لماذا الـ main؟ فكرة عامة عن تقسيم البرامج الكبيرة إلى أجزاء صغيرة (برامج جزئية).
الدرس الثاني
الكتابة على الشاشة، العمليات الأساسية، الجمع و الطرح، المتغيرات، الثوابت (litteral constants).
الدرس الثالث
القراءة من المستخدم، تابع العمليات الرياضية و الاشارات في اللغة
الدرس الرابع
السير المنطقي للبرنامج، الأوامر الشرطية، الاشارات الشرطية، و منطقها
الدرس الخامس
تمارين، حل مشكلات بسيطة، أمثلة للتفكير البرمجي، التركيز على عقلية التحليل .. الخ.
الدرس السادس
الدوال (functions)، تقسيم البرنامج إلى برامج جزئية (حسب المهام)، إرسال الإعدادات (parameters) الخ.
الدرس السابع
تابع الدوال (functions)، مفهوم الـ expression و الـ return value، استخدام الدوال (functions) كعمليات حسابية، نطاق المتغيرات scope الخ.
الدرس الثامن
استخدام الدوال (functions) لتحسين بنية و تركيب البرامج، تحسين برامجنا السابقة.
الدرس التاسع
تطبيقات و تمارين، مزيد من المشاكل و حلولها
الدرس العاشر
المصفوفات (arrays)، مفهوم الـ initialization بشكل عام، و تطبيقه على المصفوفات و بيان حالاته الاستثنائية.
الدرس الحادي عشر
مفاهيم عامة عن الذاكرة، طبيعة المصفوفات في الذاكرة، مقدمة عن المؤشرات.
الدرس الثاني عشر
استخدام المصفوفات في البرامج، التفكير في استخدامها، فوائدها، تطبيقات، الخ.
الدرس الثالث عشر
مقدمة عن المؤشرات: مفهوم الـ statically allocated و الـ dynamically allocated بالنسبة للمتغيرات، الكومبايلر و أسماء المتغيرات و عناوينها في الذاكرة، استخدام المؤشرات للوصول إلى المتغيرات اللتي تم حجزها ديناميكيا.
الدرس الرابع عشر
تطبيق على المؤشرات: إرسال عناوين المتغيرات إلى الدوال (functions)، مع تركيز على شرح الستاك و توضيح عدم جواز إرجاع مؤشر لمتغير داخلي في فنكشن، مع مقدمة عن الرفرنس في السي بلص بلص.
الدرس الخامس عشر
الـ struct، تجميع معلومات متعلقة ببعضها، تمثيل حالة كائنات حقيقية، الخ.
الدرس السادس عشر
تطبيقات عملية على الـ struct
الدرس السابع عشر
استخدام الـ struct و المؤشرات لعمل linked list. نقاط القوة الضعف في الـ linked list و متى يمكن استخدامها، مع تطبيق بسيط.
الدرس الثامن عشر
الأقسام (class)، توضيح عام من ناحية لغوية، الـ syntax الخاص بالأقسام الخ.
الدرس التاسع عشر
البرمجة الشيئية / الكانئية، الكائنات objects، مفاهيم متعمقة .. تحليل المشكلة إلى أشياء وكائنات، الخصائص والتصرفات، attrbutes and behaviour .. الخ.
الدرس العشرون
تابع مفاهيم متعمقة عن البرمحة الشيئية.. تصميم الحلول باستخدام الكائنات، ذكر بسيط لقضايا الـ cohesion and coupling، مع تطبيقات عملية، و لو بسيطة.
الدرس الحادي و العشرون
مناقشة مواضيع الـ cohesion، coupling،1235 association: التفكير جيدا في تصميم الفئات بشكل جيد ومتماسك، فصل المهام الزائدة عن الـ class إلى فئات classes أخرى، الربط بين الكائنات، تقليل التداخل coupling.
الدرس الثاني و العشرون
الوراثة (inheritance)، مع تطبيقات.
الدرس الثالث و العشرون
الـ (polymorphism).
الدرس الرابع و العشرون
تطبيقات عملية تستخدم المفاهيم اللتي تمت مناقشتها، مع التقديم لبعض الـ (design patterns)، كالـ (singleton) مثلا.
Wikimedia Commons هناك ملفات عن C++ في ويكيميديا كومنز.
تصنيفان:
معلوماتيةسي ++
قائمة التصفح
غير مسجل للدخول
نقاش
مساهمات
إنشاء حساب
دخول
الصفحةنقاش
اقرأعدِّلتاريخ
بحث
ابحث في ويكي_الكتب
الصفحة الرئيسية
مساعدة
تصفح
كتاب الطبخ
ويكي الأطفال
كتب مختارة
أحدث التغييرات
تبرع
صفحة عشوائية
استخدام ويكي الكتب
صفحات تنظيمية
الميدان
بوابة المجتمع
الأحداث الجارية
الصيانة
السياسات والتعليمات
تواصل معنا
أدوات
ماذا يصل هنا
تغييرات ذات علاقة
الصفحات الخاصة
وصلة دائمة
معلومات عن هذه الصفحة
استشهد بهذه الصفحة
عنصر ويكي بيانات
طباعة/تصدير'''<ref></ref>'''''''
إنشاء كتاب
تحميل بصيغة PDF
نسخة للطباعة
في مشاريع أخرى
ويكيميديا كومنز
ويكيبيديا
 
بلغات أخرى
[[de:C++-Programmierung]]
Deutsch
[[en:C++]]
English
[[es:Programación en C++]]
Español
[[fr:Programmation C++]]
Français
[[it:Dal C al C++]]
日本語
[[ja:More C++ Idioms]]
Português
[[pl:C++]]
Русский
[[pt:Programar em C++]]
தமிழ்
[[ru:Си++]]
中文
بقية الوصلات: 16
عدل الوصلات
آخر تعديل لهذه الصفحة كان يوم 16 نوفمبر 2020، الساعة 17:48.
النصوص مُرخّصة برخصة المُشاع الإبداعي: النسبة-الترخيص