{"id":15048930,"url":"https://github.com/hamza5/learn-to-program-with-c_ar","last_synced_at":"2025-07-06T21:06:49.023Z","repository":{"id":79084821,"uuid":"62666655","full_name":"Hamza5/Learn-to-program-with-C_AR","owner":"Hamza5","description":"ترجمة لدرس تعلّم البرمجة بلغة السي الخاص بموقع OpenClassrooms","archived":false,"fork":false,"pushed_at":"2018-09-22T15:36:26.000Z","size":16224,"stargazers_count":65,"open_issues_count":2,"forks_count":19,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-24T03:12:01.473Z","etag":null,"topics":["arabic","book","c-language","latex","openclassrooms","tex","translation","tutorial","xelatex","xetex"],"latest_commit_sha":null,"homepage":null,"language":"TeX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hamza5.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-05T20:15:04.000Z","updated_at":"2025-03-17T09:44:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"8bbd1e5c-327f-40ff-84e5-511a6a4a5a5a","html_url":"https://github.com/Hamza5/Learn-to-program-with-C_AR","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza5%2FLearn-to-program-with-C_AR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza5%2FLearn-to-program-with-C_AR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza5%2FLearn-to-program-with-C_AR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hamza5%2FLearn-to-program-with-C_AR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hamza5","download_url":"https://codeload.github.com/Hamza5/Learn-to-program-with-C_AR/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248140915,"owners_count":21054368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arabic","book","c-language","latex","openclassrooms","tex","translation","tutorial","xelatex","xetex"],"created_at":"2024-09-24T21:17:12.891Z","updated_at":"2025-04-10T01:34:15.917Z","avatar_url":"https://github.com/Hamza5.png","language":"TeX","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cdiv dir='rtl'\u003eتعلّم البرمجة بلغة C\u003c/div\u003e\n\n![الغلاف الأمامي](Pictures/FrontCover.jpg)\n\n## \u003cdiv dir='rtl'\u003eالتنزيل\u003c/div\u003e\n\n\u003cdiv dir='rtl'\u003e\n\nيمكنكم تنزيل آخر نسخة من هذا الكتاب بصيغة PDF من \u003ca href=\"https://github.com/Hamza5/Learn-to-program-with-C_AR/releases/latest\"\u003eصفحة الإصدارات\u003c/a\u003e.\n\n\u003c/div\u003e\n\n## \u003cdiv dir='rtl'\u003eعن المشروع\u003c/div\u003e\n\n\n\u003cdiv dir='rtl'\u003e\n\u003cdiv\u003e\nهذا الكتاب هو ترجمة لـ\u003ca href='https://openclassrooms.com/courses/apprenez-a-programmer-en-c'\u003eدرس تعلّم البرمجة بلغة C\u003c/a\u003e\nالخاص بموقع OpenClassrooms من الفرنسيّة إلى العربية. يمتاز هذا الدرس بكونه سهل الفهم على المبتدئين في مجال البرمجة، إذ أنّه لا يفترض وجود أيّة مكتسبات قبليّة في هذا المجال لدى القارئ.\n\u003c/div\u003e\n\n\u003cdiv\u003e\nيحتوي الكتاب على معلومات مفصّلة بخصوص البرمجة بشكل عام ولغة C بشكل خاص، مدعّمة بكثير من المخطّطات التوضيحيّة، والأمثلة والتمارين المصحّحة.\n\u003c/div\u003e\n\n\u003cdiv\u003e\nيتكوّن الكتاب من 31 فصلا موزّعة على 4 أجزاء. فصول الجزء الأوّل تحوّل القارئ من شخص لا علاقة له بالبرمجة إلى مبرمج مبتدئ قادر على استخدام أدوات البرمجة ومستوعب للمفاهيم الأساسيّة كأنواع البيانات، والمتغيّرات، والشروط، والحلقات التكراريّة والدوال. في الجزء الثاني، يتعلّم القارئ مفاهيم أكثر تقدّما في البرمجة، كالمؤشّرات، والجداول، والسلاسل المحرفيّة والهياكل بالإضافة إلى الحجز الحيّ للذاكرة والتعامل مع الملفّات. بعد ذلك، يتناول الجزء الثالث مبدأ استخدام المكتبات البرمجيّة مركّزا على استغلال مكتبة SDL لإنشاء النوافذ والرسم فيها ومكتبة FMOD لتشغيل الصوت واستعمالهما لإنشاء برامج وألعاب حقيقيّة. في الأخير، فصول الجزء الرابع تتناول مواضيع مكمّلة في لغة C تتمثّل في تقنيّات شائعة الاستخدام لتخزين البيانات، كالقوائم المتسلسلة، وجداول التجزئة، والمكدّسات والطوابير.\n\u003c/div\u003e\n\n\u003cdiv\u003e\nلقد حرصنا على نقل كلّ الأفكار التي قدّمها الكاتب في الدرس الأصلي من بدايته إلى نهايته. كما بذلنا جهدنا في أن يكون النص بسيطا قدر الإمكان ومفهوما للقارئ العربي العادي.\n\u003c/div\u003e\n\n\u003cdiv\u003e\nو في النهاية، لا يسعنا سوى أن نتطلّع بلهفة إلى تجريب برنامجك الخارق الّذي ستنئشئه بعد ختامك لهذا الكتاب!\n\u003c/div\u003e\n\u003c/div\u003e\n\n\n#### \u003cdiv dir='rtl'\u003eفصول الكتاب\u003c/div\u003e\n\n\u003cdiv dir='rtl'\u003e\n\u003cul \u003e\n\u003cli\u003eتقديم\u003c/li\u003e\n\u003cli\u003eمقدمة\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eأساسيّات البرمحة بلغة C\n\u003cul\u003e\n\u003cli\u003eقلت برمجة؟\u003c/li\u003e\n\u003cli\u003eالحصول على الأدوات اللازمة\u003c/li\u003e\n\u003cli\u003eبرنامجك الأوّل\u003c/li\u003e\n\u003cli\u003eعالم المتغيّرات\u003c/li\u003e\n\u003cli\u003eحسابات سهلة\u003c/li\u003e\n\u003cli\u003eالشروط\u003c/li\u003e\n\u003cli\u003eالحلقات التكراريّة\u003c/li\u003e\n\u003cli\u003eعمل تطبيقي: \"أكثر أو أقل\"، لعبتك الأولى\u003c/li\u003e\n\u003cli\u003eالدوال\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eتقنيات متقدّمة في لغة C\n\u003cul\u003e\n\u003cli\u003eالبرمجة المجزأة\u003c/li\u003e\n\u003cli\u003eالمؤشّرات\u003c/li\u003e\n\u003cli\u003eالجداول\u003c/li\u003e\n\u003cli\u003eالسلاسل المحرفيّة\u003c/li\u003e\n\u003cli\u003eالمعالج القبلي\u003c/li\u003e\n\u003cli\u003eأنشئ أنواع متغيّرات خاصة بك\u003c/li\u003e\n\u003cli\u003eقراءة الملفّات وكتابتها\u003c/li\u003e\n\u003cli\u003eالحجز الحيّ للذاكرة\u003c/li\u003e\n\u003cli\u003eعمل تطبيقي: لعبة Pendu\u003c/li\u003e\n\u003cli\u003eإدخال نص بشكل أكثر أمانا\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eإنشاء الألعاب ثنائية الأبعاد باستخدام SDL\n\u003cul\u003e\n\u003cli\u003eتثبيت SDL\u003c/li\u003e\n\u003cli\u003eإنشاء نافذة ومساحات\u003c/li\u003e\n\u003cli\u003eإظهار صور\u003c/li\u003e\n\u003cli\u003eمعالجة الأحداث\u003c/li\u003e\n\u003cli\u003eعمل تطبيقي: Mario Sokoban\u003c/li\u003e\n\u003cli\u003eتحكّم في الوقت\u003c/li\u003e\n\u003cli\u003eكتابة نصوص باستخدام SDL_ttf\u003c/li\u003e\n\u003cli\u003eتشغيل الصوت بـFMOD\u003c/li\u003e\n\u003cli\u003eعمل تطبيقي: الإظهار الطيفيّ للصوت\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eهياكل البيانات\n\u003cul\u003e\n\u003cli\u003eالقوائم المتسلسلة\u003c/li\u003e\n\u003cli\u003eالمكدّسات والطوابير\u003c/li\u003e\n\u003cli\u003eجداول التجزئة\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eالخاتمة\u003c/li\u003e\n\u003c/ul\u003e\n\n\n\u003c/div\u003e\n\n## \u003cdiv dir='rtl'\u003eالترخيص\u003c/div\u003e\n\n\u003cdiv dir='rtl'\u003e\nنظرا لأن محتوى الدرس الأصلي مرخّص تحت\n\u003ca href='https://creativecommons.org/licenses/by-nc-sa/2.0/'\u003eترخيص المشاع الإبداعي، نسب المصنف - غير تجاري - الترخيص بالمثل، النسخة الثانية (CC-BY-NC-SA 2.0)\u003c/a\u003e\nفإن المحتوى المترجم مرخّص بذات الرخصة.\n\u003c/div\u003e\n\n## \u003cdiv dir='rtl'\u003eالبناء\u003c/div\u003e\n\n\u003cdiv dir='rtl'\u003e\nالملفات المصدرية في هذا المشروع مكتوبة بلغة LaTeX، لكن يجب ترجمتها بمترجم XeLaTex أو LuaLaTex لأنها تحتوي على محارف Unicode (هذا لأنها مكتوبة بالعربيّة)، ويفترض أنّ هذين المترجمين يكونان مرفقين في أي توزيعة TexLive أو MikTex.\n\u003cbr\u003e\nنحن نترجمها بالأمر التالي باستخدام مترجم XeLaTex:\n\u003c/div\u003e\n\n    xelatex book.tex\n\n\u003cdiv dir='rtl'\u003e\nينتج عن هذا الأمر ملف book.pdf يمثّل الكتاب، أما بقيّة الملفات فغير ضرورية ويمكن التخلّص منها.\n\u003c/div\u003e\n\n#### \u003cdiv dir='rtl'\u003eالاعتماديّات\u003c/div\u003e\n\n\u003cdiv dir='rtl'\u003eيجب أن تكون الحزم التالية متوفرة في توزيعتك لكي تتم عملية الترجمة بنجاح:\u003c/div\u003e\n\n* fontspec\n* tcolorbox\n* graphicx\n* hyperref\n* fancyhdr\n* polyglossia\n* geometry\n* listings\n* bidi\n* float\n* xcolor\n* tabu\n* booktabs\n* pdfpages\n\n## \u003cdiv dir='rtl'\u003eالمساهمة\u003c/div\u003e\n\n\u003cdiv dir='rtl'\u003e\nإذا عثرت على أية أخطاء في هذا الكتاب، علمية كانت أو لغوية، أو أيّا كان نوعها، فيسرنا أن تقوم بإبلاغنا بها عن طريق فتح بلاغ علة/issue أو دمجها بطلب/pull request.\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamza5%2Flearn-to-program-with-c_ar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhamza5%2Flearn-to-program-with-c_ar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhamza5%2Flearn-to-program-with-c_ar/lists"}