GithubHelp home page GithubHelp logo

abdobouamama / learn-to-program-with-c_ar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hamza5/learn-to-program-with-c_ar

0.0 0.0 0.0 15.84 MB

ترجمة لدرس تعلّم البرمجة بلغة السي الخاص بموقع OpenClassrooms

TeX 100.00%

learn-to-program-with-c_ar's Introduction

تعلّم البرمجة بلغة 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.

learn-to-program-with-c_ar's People

Contributors

hamza5 avatar safaalfulaij avatar edenbelouadah avatar hazemnoor avatar bossbux avatar yucefsourani avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.