cb
codebamin
الفصل 4 · حلقات التكرار (For Loops)

مصطلحات برمجية أساسية في التكرار

إليك بعض المصطلحات التي تحتاج إلى معرفتها:

التعبير (Expression) هو جزء من الكود له قيمة. مثلًا، في هذا السطر:

__no_auto_translate__ sentence = 'Hello ' + name

توجد ثلاثة تعبيرات:

  1. 'Hello '
  2. name
  3. 'Hello ' + name

أما السطر الكامل sentence = ... فهو تعليمة (Statement). التعليمة أمر يخبر الحاسوب أن ينفذ إجراءً، ولا تكون لها قيمة خاصة بها. ولهذا، مثلًا، لا يمكنك جمع تعليمات معًا. الكود التالي غير صالح:

(word = 'Hello') + (name = 'Bob')

وبصورة أدق، التعليمة من الشكل sentence = ... التي تُعطى فيها قيمة إلى متغير تسمى إسنادًا (Assignment)؛ أي إن القيمة تُسنَد إلى المتغير.

البرنامج هو قائمة من التعليمات تُنفذ بالترتيب. حلقة for هي تعليمة مركبة (Compound statement)، أي أن لها جسمًا خاصًا بها يحتوي على تعليمات أخرى. معظم التعليمات تحتوي أيضًا على تعبيرات، ويمكن أن تحتوي التعبيرات على تعبيرات أصغر منها، لكن التعبيرات لا يمكن أن تحتوي على تعليمات.

تسمى عملية حساب قيمة تعبير التقييم (Evaluation). لاحظ قرب الكلمة الإنجليزية من كلمة value. فالحاسوب يقيّم التعبير 1 + 2 ليحصل على القيمة 3.

وتسمى عملية تنفيذ الحلقة التكرار (Iteration). الكود مثل for char in 'Hello': يقوم بالتكرار على النص 'Hello'. وإمكان فعل ذلك يعني أن النصوص قابلة للتكرار عليها (Iterable). أما الأعداد فليست قابلة للتكرار عليها، وهذا بالضبط ما سيخبرك به بايثون إذا جربت for char in 3:. كل مرور واحد عبر جسم الحلقة يسمى دورة تكرار واحدة (One iteration)، ولذلك توجد في هذا المثال 5 دورات تكرار.

هناك مجموعة مصطلحات أساسية يجب أن تعرفها:

التعبير (expression) هو جزء من الكود له قيمة. في السطر:

__no_auto_translate__ sentence = 'Hello ' + name

لدينا ثلاثة تعبيرات:

  1. 'Hello '
  2. name
  3. 'Hello ' + name

أما السطر الكامل sentence = ... فهو تعليمة (statement)؛ أي أمر يطلب من الحاسوب تنفيذ فعل معين، ولا تكون له قيمة مستقلة يمكن استخدامها كتعبير. لهذا لا يمكنك مثلًا جمع تعليمتي إسناد، والكود التالي غير صالح:

(word = 'Hello') + (name = 'Bob')

وتسمى التعليمة من نوع sentence = ...، التي نعطي فيها قيمة لمتغير، إسنادًا (assignment)؛ أي إن القيمة تُسنَد إلى المتغير.

البرنامج عبارة عن مجموعة تعليمات تُنفذ بالترتيب. وحلقة for مثال على تعليمة مركبة (compound statement) لأنها تملك جسمًا يحتوي تعليمات أخرى. غالبًا تحتوي التعليمات على تعبيرات، وقد تحتوي التعبيرات على تعبيرات أصغر، لكن التعبير لا يمكن أن يحتوي تعليمة إسناد على هذا النحو.

عملية حساب قيمة تعبير تسمى التقييم (evaluation). فالحاسوب يقيّم التعبير 1 + 2 ليحصل على القيمة 3.

أما تنفيذ الحلقة فيسمى التكرار (iteration). عندما نكتب for char in 'Hello': فنحن نمر تكراريًا على النص 'Hello'. إمكان فعل ذلك يعني أن النص قابل للتكرار (iterable). الأعداد العادية ليست قابلة للتكرار، وهذا ما سيخبرك به بايثون إذا حاولت مثلًا for char in 3:. وكل مرور واحد داخل الحلقة يسمى دورة تكرار واحدة (iteration)، ولذلك يمر المثال الذي يستخدم 'Hello' بخمس دورات.

solution.py
1
2
3
4
5
6
7
8
9
10
الطرفية (shell)
>>>