ترجمة لدرس تعلّم البرمجة بلغة السي الخاص بموقع OpenClassrooms
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Fonts إضافة مجلّد الخطوط المستعملة Aug 17, 2017
Pictures إضافة صورة الغلاف Sep 22, 2018
.gitignore إضافة مجلّد الخطوط المستعملة Aug 17, 2017
BackCover.pdf مراجعة حتى نهاية الفصل الأول. Feb 14, 2018
Chapter_I-1.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-2.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-3.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-4.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-5.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-6.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-7.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-8.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_I-9.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Chapter_II-1.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-10.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-2.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-3.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-4.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-5.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-6.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-7.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-8.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_II-9.tex حذف الفراغ بعد واو العطف في الجزء الثاني من الكتاب Aug 29, 2018
Chapter_III-1.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-2.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-3.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-4.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-5.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-6.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-7.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-8.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_III-9.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018
Chapter_IV-1.tex حذف الفراغ بعد واو العطف في الجزء الرابع من الكتاب Sep 1, 2018
Chapter_IV-2.tex حذف الفراغ بعد واو العطف في الجزء الرابع من الكتاب Sep 1, 2018
Chapter_IV-3.tex حذف الفراغ بعد واو العطف في الجزء الرابع من الكتاب Sep 1, 2018
Conclusion.tex Update Conclusion.tex Oct 14, 2017
FrontCover.pdf مراجعة حتى نهاية الفصل الأول. Feb 14, 2018
Introduction.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Introduction_original.tex حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب Aug 26, 2018
Project_page.tex مراجعة حتى نهاية الفصل الأول. Feb 14, 2018
README.md تصحيح مسار صورة الغلاف في README.md Sep 22, 2018
Title_page.tex إضافة عبارة الإصدار الثاني Sep 12, 2018
book.tex حذف الفراغ بعد واو العطف في الجزء الثالث من الكتاب Sep 1, 2018

README.md

تعلّم البرمجة بلغة C

الغلاف الأمامي

التنزيل

يمكنكم تنزيل آخر نسخة من هذا الكتاب بصيغة PDF من صفحة الإصدارات.

عن المشروع

هذا الكتاب هو ترجمة لـدرس تعلّم البرمجة بلغة C الخاص بموقع OpenClassrooms من الفرنسيّة إلى العربية. يمتاز هذا الدرس بكونه سهل الفهم على المبتدئين في مجال البرمجة، إذ أنّه لا يفترض وجود أيّة مكتسبات قبليّة في هذا المجال لدى القارئ.
يحتوي الكتاب على معلومات مفصّلة بخصوص البرمجة بشكل عام ولغة C بشكل خاص، مدعّمة بكثير من المخطّطات التوضيحيّة، والأمثلة والتمارين المصحّحة.
يتكوّن الكتاب من 31 فصلا موزّعة على 4 أجزاء. فصول الجزء الأوّل تحوّل القارئ من شخص لا علاقة له بالبرمجة إلى مبرمج مبتدئ قادر على استخدام أدوات البرمجة ومستوعب للمفاهيم الأساسيّة كأنواع البيانات، والمتغيّرات، والشروط، والحلقات التكراريّة والدوال. في الجزء الثاني، يتعلّم القارئ مفاهيم أكثر تقدّما في البرمجة، كالمؤشّرات، والجداول، والسلاسل المحرفيّة والهياكل بالإضافة إلى الحجز الحيّ للذاكرة والتعامل مع الملفّات. بعد ذلك، يتناول الجزء الثالث مبدأ استخدام المكتبات البرمجيّة مركّزا على استغلال مكتبة SDL لإنشاء النوافذ والرسم فيها ومكتبة FMOD لتشغيل الصوت واستعمالهما لإنشاء برامج وألعاب حقيقيّة. في الأخير، فصول الجزء الرابع تتناول مواضيع مكمّلة في لغة C تتمثّل في تقنيّات شائعة الاستخدام لتخزين البيانات، كالقوائم المتسلسلة، وجداول التجزئة، والمكدّسات والطوابير.
لقد حرصنا على نقل كلّ الأفكار التي قدّمها الكاتب في الدرس الأصلي من بدايته إلى نهايته. كما بذلنا جهدنا في أن يكون النص بسيطا قدر الإمكان ومفهوما للقارئ العربي العادي.
و في النهاية، لا يسعنا سوى أن نتطلّع بلهفة إلى تجريب برنامجك الخارق الّذي ستنئشئه بعد ختامك لهذا الكتاب!

فصول الكتاب

  • تقديم
  • مقدمة
  • أساسيّات البرمحة بلغة C
    • قلت برمجة؟
    • الحصول على الأدوات اللازمة
    • برنامجك الأوّل
    • عالم المتغيّرات
    • حسابات سهلة
    • الشروط
    • الحلقات التكراريّة
    • عمل تطبيقي: "أكثر أو أقل"، لعبتك الأولى
    • الدوال
  • تقنيات متقدّمة في لغة C
    • البرمجة المجزأة
    • المؤشّرات
    • الجداول
    • السلاسل المحرفيّة
    • المعالج القبلي
    • أنشئ أنواع متغيّرات خاصة بك
    • قراءة الملفّات وكتابتها
    • الحجز الحيّ للذاكرة
    • عمل تطبيقي: لعبة Pendu
    • إدخال نص بشكل أكثر أمانا
  • إنشاء الألعاب ثنائية الأبعاد باستخدام SDL
    • تثبيت SDL
    • إنشاء نافذة ومساحات
    • إظهار صور
    • معالجة الأحداث
    • عمل تطبيقي: Mario Sokoban
    • تحكّم في الوقت
    • كتابة نصوص باستخدام SDL_ttf
    • تشغيل الصوت بـFMOD
    • عمل تطبيقي: الإظهار الطيفيّ للصوت
  • هياكل البيانات
    • القوائم المتسلسلة
    • المكدّسات والطوابير
    • جداول التجزئة
  • الخاتمة

الترخيص

نظرا لأن محتوى الدرس الأصلي مرخّص تحت ترخيص المشاع الإبداعي، نسب المصنف - غير تجاري - الترخيص بالمثل، النسخة الثانية (CC-BY-NC-SA 2.0) فإن المحتوى المترجم مرخّص بذات الرخصة.

البناء

الملفات المصدرية في هذا المشروع مكتوبة بلغة LaTeX، لكن يجب ترجمتها بمترجم XeLaTex أو LuaLaTex لأنها تحتوي على محارف Unicode (هذا لأنها مكتوبة بالعربيّة)، ويفترض أنّ هذين المترجمين يكونان مرفقين في أي توزيعة TexLive أو MikTex.
نحن نترجمها بالأمر التالي باستخدام مترجم XeLaTex:
xelatex book.tex
ينتج عن هذا الأمر ملف book.pdf يمثّل الكتاب، أما بقيّة الملفات فغير ضرورية ويمكن التخلّص منها.

الاعتماديّات

يجب أن تكون الحزم التالية متوفرة في توزيعتك لكي تتم عملية الترجمة بنجاح:
  • fontspec
  • tcolorbox
  • graphicx
  • hyperref
  • fancyhdr
  • polyglossia
  • geometry
  • listings
  • bidi
  • float
  • xcolor
  • tabu
  • booktabs
  • pdfpages

المساهمة

إذا عثرت على أية أخطاء في هذا الكتاب، علمية كانت أو لغوية، أو أيّا كان نوعها، فيسرنا أن تقوم بإبلاغنا بها عن طريق فتح بلاغ علة/issue أو دمجها بطلب/pull request.