Skip to content

Commit

Permalink
حذف الفراغ بعد واو العطف في الجزء الأول من الكتاب
Browse files Browse the repository at this point in the history
  • Loading branch information
Hamza5 committed Aug 26, 2018
1 parent 415b60a commit 2baeb72
Show file tree
Hide file tree
Showing 12 changed files with 400 additions and 411 deletions.
16 changes: 7 additions & 9 deletions Chapter_I-1.tex
Expand Up @@ -72,7 +72,7 @@ \section{قليل من المفردات}
\item \textenglish{Java}
\item \textenglish{Visual Basic}
\item \textenglish{Delphi}
\item و العديد غيرها.
\item والعديد غيرها.
\end{itemize}

كما تلاحظ، لم أرتبها حسب مستوياتها، لذلك لا تعتقد أن اللغة الأولى في القائمة هي الأسهل أو العكس. عموما، لائحة اللغات الموجودة طويلة جدا لدرجة أنه لا يمكنني كتابتها كلها هنا.
Expand Down Expand Up @@ -100,10 +100,9 @@ \section{قليل من المفردات}
بعض اللغات مثل
\textenglish{C}
تملك العديد من المترجمات، فمنها من هو مكتوب من طرف
\textenglish{Microsoft}
، و منها من
\textenglish{GNU}
، إلخ \dots سوف نتعرّف على كل هذا في الفصل القادم.
\textenglish{Microsoft}، ومنها من
\textenglish{GNU}،
إلخ\dots سوف نتعرّف على كل هذا في الفصل القادم.
لحسن الحظ، هذه المترجمات متطابقة تقريبا (رغم وجود اختلافات طفيفة بينها سوف نتعرف عليها لاحقا).
\end{information}

Expand Down Expand Up @@ -134,11 +133,11 @@ \section{قليل من المفردات}
على أية حال يجب علينا أن نختار بأي لغة سنبدأ البرمجة عاجلا أم آجلا، وبالتالي لديك الخيار في البدء بـ:

\begin{itemize}
\item \textbf{لغة ذات مستوى عالي جدّا} :
\item \textbf{لغة ذات مستوى عالي جدّا}:
وتكون سهلة جدّا أوعامة، نذكر من بينها
\textenglish{Python}، \textenglish{Ruby}، \textenglish{Visual Basic}،
وغيرها. هذه اللغات تسمح بكتابة برامج بشكل أسرع. عامّة تحتاج لأن تُرفق معها ملفات مُسَاعِدة لكي تعمل (كَمُفَسِّرٍ مثلا).
\item \textbf{لغة ذات مستوى منخفض قليلا} :
\item \textbf{لغة ذات مستوى منخفض قليلا}:
هي أكثر صعوبة نوعا ما، ولكن مع لغة مثل
\textenglish{C}
سوف تتعلم كثيرا عن البرمجة وحول طريقة عمل حاسوبك. ستكون بعد ذلك قادرًا على تعلّم لغة برمجة أخرى إن أردت وبكل يُسْرٍ.
Expand All @@ -165,8 +164,7 @@ \section{قليل من المفردات}
ما هو الفرق بين
\textenglish{C}
و
\textenglish{C++}
؟
\textenglish{C++}؟
\end{question}

هاتان اللغتان قريبتان جدّا من بعضهما، وكلاهما مستخدمتان بكثرة. ولكي تعرف كيف نشأتا يجب عليك أن تدرس التاريخ قليلا:
Expand Down
84 changes: 42 additions & 42 deletions Chapter_I-2.tex

Large diffs are not rendered by default.

31 changes: 15 additions & 16 deletions Chapter_I-3.tex
Expand Up @@ -146,7 +146,7 @@ \subsection{أطلب من البيئة التطويرية الخاصة بك تز

أخيرا، قم بحفظ عملك في المشروع. أعلم أننا لم نقم بشيء حتّى الآن لكن من الجيّد التعوّد على الحفظ في كلّ مرّة.

\subsection{تحليل أسطر الشفرة المصدرية السابقة}
\subsection{تحليل سطور الشفرة المصدرية السابقة}
قد تبدو لك الشفرة المصدرية السابقة أنّها كاللغة الصينيّة، أنا أتخيّل ذلك! في الواقع هي تسمح بإنشاء برنامج كونسول يعرض نصّا على الشاشة. يجب تعلّم كيفيّة قراءة كلّ هذا.

فلنبدأ بأوّل سطرين:
Expand Down Expand Up @@ -230,11 +230,11 @@ \subsection{تحليل أسطر الشفرة المصدرية السابقة}

كما قلت لك، بتجميع ذكيّ للتعليمات في الدالّة يمكننا إنشاء أجزاء برنامج جاهزة للاستخدام. باستخدام التعليمات المناسبة يمكننا إنشاء دالّة
\InlineCode{open\_file}
كما شرحت لك قبل قليل، و أيضا دالّة
كما شرحت لك قبل قليل، وأيضا دالّة
\InlineCode{move\_character}
في لعبة فيديو، على سبيل المثال.

البرنامج في الواقع ما هو إلّا تتابع لتعليمات: إفعل هذا و إفعل ذاك. أنت تعطي أوامر للحاسوب و هو يقوم بتنفيذها.
البرنامج في الواقع ما هو إلّا تتابع لتعليمات: إفعل هذا وإفعل ذاك. أنت تعطي أوامر للحاسوب وهو يقوم بتنفيذها.

\begin{critical}
هامّ جدّا: لا بدّ أن تنتهي كلّ تعليمة بفاصلة منقوطة
Expand All @@ -250,22 +250,22 @@ \subsection{تحليل أسطر الشفرة المصدرية السابقة}

التعليمة التالية هي
\InlineCode{return 0;}
و هي تخبرنا أنّ الدالّة
وهي تخبرنا أنّ الدالّة
\InlineCode{main}
قد انتهت و تطلب منه إعادة 0.
قد انتهت وتطلب منه إعادة 0.

\begin{question}
لماذا يقوم برنامجي بإعادة العدد 0؟
\end{question}

في الواقع، كلّ برنامج عندما ينتهي يُرجع قيمة معينة. على سبيل المثال، ليقول أنّ كلّ شيء سار على ما يرام. عمليّا، 0 يعني أنّ كلّ شيء سار على ما يرام، و كلّ قيمة أخرى تدلّ على حدوث خطأ. في أغلب الأحيان هذه القيمة لا تُستخدم ، لكن يجب رغم ذلك استعمالها.\\
في الواقع، كلّ برنامج عندما ينتهي يُرجع قيمة معينة. على سبيل المثال، ليقول أنّ كلّ شيء سار على ما يرام. عمليّا، 0 يعني أنّ كلّ شيء سار على ما يرام، وكلّ قيمة أخرى تدلّ على حدوث خطأ. في أغلب الأحيان هذه القيمة لا تُستخدم ، لكن يجب رغم ذلك استعمالها.\\
كان يمكن أن يعمل برنامجك بدون
\InlineCode{return 0}
، لكن يمكننا القول أن وضعها يعتبر أمرًا أكثر نظافة و أكثر جدّية.
، لكن يمكننا القول أن وضعها يعتبر أمرًا أكثر نظافة وأكثر جدّية.

إلى هنا نكون قد فصّلنا قليلا في عمل هذه الشفرة المصدرية.

طبعا، نحن لم ندرس كلّ شيء بعمق، و قد تكون لديك بعض الأسئلة عالقة في ذهنك. كن على يقين بأنك ستجد لها أجوبة شيئا فشيئا مع تقدّمنا في الكتاب. لا يمكنني أن أطلعك على كلّ شيء من البداية، لأنّ هناك كثيرًا من الأشياء لاستيعابها.
طبعا، نحن لم ندرس كلّ شيء بعمق، وقد تكون لديك بعض الأسئلة عالقة في ذهنك. كن على يقين بأنك ستجد لها أجوبة شيئا فشيئا مع تقدّمنا في الكتاب. لا يمكنني أن أطلعك على كلّ شيء من البداية، لأنّ هناك كثيرًا من الأشياء لاستيعابها.

إليك ما يلي: بما أنني في حال جيّدة، سأقوم بوضع مخطّط يضمّ المصطلحات الّتي تعلّمناها في هذا الفصل.

Expand All @@ -283,13 +283,13 @@ \subsection{لنجرّب برنامجنا}
سيطلب منك حفظ مشروعك إذا لم تقم بذلك من قبل.

\begin{critical}
إن لم تنجح الترجمة و ظهر لك خطأ مثل:\\
إن لم تنجح الترجمة وظهر لك خطأ مثل:\\
\InlineCode{"My-program - Release" uses an invalid compiler. Skipping...}\\\InlineCode{Nothing to be done...}
فهذا يعني أنّك نزلت نسخة
\textenglish{Code::Blocks}
دون
\textenglish{mingw}
(المترجم)، عد و نزّل النسخة التي تحتوي على
(المترجم)، عد ونزّل النسخة التي تحتوي على
\textenglish{mingw}.
\end{critical}

Expand Down Expand Up @@ -319,8 +319,7 @@ \section{كتابة رسالة على الشاشة}
كيف يمكنني اختيار النص الّذي سيظهر على الشاشة؟
\end{question}

الأمر بسيط جدا، إذا بدأت من الشفرة التي رأيناها سابقًا، فسيكون عليك استبدال
"\textenglish{Hello world!}"
الأمر بسيط جدا، إذا بدأت من الشفرة التي رأيناها سابقًا، فسيكون عليك استبدالـ"\textenglish{Hello world!}"
بـ"\textenglish{Bonjour}"
في السطر الذي يستدعي
\InlineCode{printf}.
Expand All @@ -346,12 +345,12 @@ \section{كتابة رسالة على الشاشة}
\end{Csource}

قلت لك من قبل أنهما يمكنان البرنامج من إضافة مكتبات. المكتبات في الحقيقة هي ملفّات تحوي أطنانا من الدوال جاهزة للإستخدام. هذه الملفات
(\InlineCode{stdio.h} و \InlineCode{stdlib.h})
(\InlineCode{stdio.h} و\InlineCode{stdlib.h})
تحوي أغلب الدوال الأساسية التي قد نحتاجها في برنامج ما.
\InlineCode{stdio.h}
بحد ذاته يحوي دوال تمكّن من عرض أشياء على الشاشة (مثل
\InlineCode{printf})
و أيضا الطلب من المستخدم إدخال شيء ما (هذه دوال سنتعرّف عليها لاحقا).
وأيضا الطلب من المستخدم إدخال شيء ما (هذه دوال سنتعرّف عليها لاحقا).

\subsection{لنقل مرحبا للسيّد}

Expand Down Expand Up @@ -499,7 +498,7 @@ \subsection{متلازمة \textenglish{Gérard}}
\textenglish{GNU/Linux}}
. هذا حلّ جذريّ بعض الشيء. أحتاج إلى درس كامل لأعلّمك كيف تعمل على
\textenglish{GNU/Linux}
. إذا لم يكن لديك المستوى، إنس هذا الخيار حاليّا.
. إذا لم يكن لديك المستوى، اِنس هذا الخيار حاليّا.
\item \textbf{لا تستخدم الحروف الّتي تحوي علامات النطق الصوتي}.
للأسف إنّه الحل الّذي قد يكون عليك اختياره. الكونسول الخاصة بـ\textenglish{Windows}
لها عيوبها. يجب عليك التعوّد على عدم كتابة مثل هذه الحروف. لكن مستقبلا قد تنشئ برامج بنوافذ ولن تعاني من هذا المشكل. لذلك أنصحك بالصبر على هذه المشكلة حاليّا، فبرامجك المستقبلية "الاحترافية" لن يكون فيها هذا المشكل.
Expand Down Expand Up @@ -613,7 +612,7 @@ \section{التعليقات، مهمّة جدا!}

\begin{center}
\itshape\Large
'إذا قرأت التعليقات الموجودة في برنامج و لم تفهم مبدأ عمله، قم برميه!'
'إذا قرأت التعليقات الموجودة في برنامج ولم تفهم مبدأ عمله، قم برميه!'
\end{center}

\section*{ملخّص}
Expand Down

0 comments on commit 2baeb72

Please sign in to comment.