› كل الدروس
الدرس 1 من 12 24 دقيقة

إزاي الكمبيوتر بيفكّر

قبل ما تكتب سطر، افهم إنت بتكلّم مين

الفكرة باختصار

الكمبيوتر سريع جدًا وغبي جدًا — بينفّذ أوامرك بالحرف، واحدة ورا التانية، من غير ما يفهم قصدك.

بعد الدرس ده هتعرف

  • تفهم يعني إيه «program» وليه بنكتبه
  • تعرف الثلاث خطوات اللي أي program بيعدّي منها
  • تكتب أول program ليك وتشغّله
  • تستخدم print بكل أشكالها
  • تقرا رسالة error وتعرف تصلّحها من غير ما تتوتر
1

شوف الفكرة الأول

قبل أي code — افهم بيحصل إيه

2

الشرح

فكرة واحدة في كل خطوة

1

الكمبيوتر بيسأل سؤال واحد بس

تخيّل إن جوّه الكمبيوتر فيه حد بيسأل طول الوقت: «أعمل إيه دلوقتي؟»

مش بيسأل «ليه؟» ولا «إنت متأكد؟» ولا «قصدك إيه؟». بيسأل «أعمل إيه دلوقتي؟» وخلاص. وإنت وظيفتك إنك تجاوب على السؤال ده — سطر ورا سطر — لحد ما الشغل يخلص.

عشان كده program هو ببساطة: قايمة أوامر مرتّبة، الكمبيوتر بينفّذها بالترتيب.

وده أهم فرق بينه وبينك: لو قلت لصاحبك «هات لي كوباية مية»، هو هيفهم إنه يروح المطبخ، يفتح الدولاب، ياخد كوباية، يفتح الحنفية... الكمبيوتر لأ. لازم تقوله كل خطوة.

2

لغة Python هي الوسيط

الكمبيوتر أصلًا بيفهم أصفار وواحدات بس. وإنت مش هتقعد تكتب أصفار وواحدات.

Python هي لغة في النص: قريبة من كلامنا الطبيعي كفاية إنك تفهمها، ومظبوطة كفاية إن الكمبيوتر يترجمها. إنت بتكتب Python، وفيه program اسمه المفسِّر (interpreter) بيترجم كلامك للكمبيوتر وينفّذه سطر سطر.

ليه Python بالذات؟ لأنها أقرب لغة للإنجليزي العادي. قارن:

في لغة تانية (C++): std::cout << "hello" << std::endl;
في Python: print("hello")

نفس الشغل — بس واحدة منهم هتخليك تكره البرمجة في أول يوم.

3

أول أمر: اطبع

أبسط أمر في Python هو print — معناه «اعرض الحاجة دي على الشاشة».

شوف السطر ده. الكلمة print هي الأمر، والأقواس جواها الحاجة اللي عايزها تتعرض. علامات التنصيص " " معناها إن اللي جواها string — يعني كلام، مش أمر.

فكّر فيها كده: الأقواس () معناها «نفّذ»، وعلامات التنصيص "" معناها «ده كلام مش أمر».

Python
1print("Hello IT class")
الناتج
Hello IT class
4

الترتيب مهم جدًا

الكمبيوتر بينفّذ من فوق لتحت. سطر سطر. مفيش قفز ومفيش توقّع.

جرّب تبدّل ترتيب السطور في المحاكاة تحت وشوف الناتج بيتقلب إزاي. الدرس هنا: ترتيبك هو program.

ده بيبان أكتر في حاجات زي «افتح file ← اقرا منه». لو عكست الترتيب، هتحاول تقرا من file لسه مفتوحش.

Python
1print("1. Turn on the computer")
2print("2. Open an editor")
3print("3. Write code")
الناتج
1. Turn on the computer
2. Open an editor
3. Write code
5

print بتاخد أكتر من حاجة

مش لازم print تاخد حاجة واحدة. تقدر تحط كذا حاجة والفاصلة بينهم، و Python هتطبعهم في سطر واحد وتحط مسافة بينهم تلقائيًا.

وتقدر تخلط strings وأرقام من غير مشاكل — دي الحتة الحلوة في الفاصلة.

Python
1print("Student", "Mona", "age", 20)
2print("Result:", 5 + 3)
الناتج
Student Mona age 20
Result: 8
6

تحكّم في شكل الطباعة

الفاصلة بتحط مسافة بين الحاجات. لو عايز حاجة تانية، استخدم sep.

و print بتنزل سطر جديد في الآخر تلقائيًا. لو مش عايز كده، استخدم end.

ليه ده مهم؟ لما تيجي تطبع تقرير أو جدول، هتحتاج تتحكّم في الشكل بالظبط.

Python
1print("2026", "10", "01", sep="-")
2print("Loading", end="")
3print("...", end="")
4print(" done +")
الناتج
2026-10-01
Loading... done +
7

التعليقات — كلام للبني آدمين

أي حاجة بعد علامة # Python بتتجاهلها تمامًا. دي تعليقات — بتكتبها عشان إنت أو حد تاني يفهم code بعدين.

متى تكتب تعليق؟ مش عشان تشرح *إيه* بيحصل (code بيقول ده)، لكن عشان تشرح ليه.

تعليق وحش: x = x + 1 # add 1 to x ← واضح من code
تعليق كويس: x = x + 1 # count this student as passed ← ده اللي code مبيقولهوش

Python
1# a comment — Python ignores it completely
2price = 45 # unit price in EGP
3print(price)
4# print("this line never runs")
الناتج
45
8

كل program = مدخلات ← معالجة ← مخرجات

مهما كبر program، هو في الآخر بيعمل ٣ حاجات:

1. مدخلات (Input) — بياخد بيانات. من المستخدم، من file، من الإنترنت.
2. معالجة (Process) — يعمل في البيانات دي حاجة. حساب، ترتيب، فلترة.
3. مخرجات (Output) — يطلّع النتيجة. على الشاشة، في file، على موقع.

إنستجرام، الآلة الحاسبة، لعبة الموبايل — كلهم نفس الثلاث خطوات دي، بس بأحجام مختلفة.

جرّب تحلّل أي تطبيق بتستخدمه: إيه المدخلات؟ إيه المعالجة؟ إيه المخرجات؟

Python
1degrees = 38 # <- input
2status = "fever" # <- process
3print(status) # <- output
الناتج
fever
9

error مش فشل — ده أول درس حقيقي

هتغلط. كتير. ده مش عيب فيك، ده شكل الشغل.

لما Python تلاقي حاجة مش مظبوطة، بتقولك بالظبط فين المشكلة. الرسالة بتقولك error type ورقم السطر. دي مش عقاب، دي مساعدة.

القاعدة الذهبية: اقرا آخر سطر في رسالة error الأول — فيه الخلاصة. بعدين بُص على رقم السطر. بعدين صلّح.

جرّب code الغلط ده في المحاكاة وشوف Python هتقولك إيه.

Python
1print("this line is fine")
2print(student_name)
10

أشهر 3 errors هتقابلها النهارده

SyntaxError — شكل code نفسه غلط. قوس ناقص، أو علامة تنصيص مش مقفولة. Python ما قدرتش تقرا السطر أصلاً.

NameError — استخدمت اسم مش موجود. يا إما اتكتب غلط، يا إما لسه ما اتعرّفش.

TypeError — عملت عملية بين types ما ينفعش تتجمع. زي ما تجمع string مع رقم.

الثلاثة دول هيمثّلوا 90% من أخطائك في أول شهر. اعرفهم كويس.

Python
1print("Age: " + 20)
3

وده كمان شوفه متحرك

الفكرة دي أسهل ما تتشاف من ما تتقرا

4

أمثلة محلولة

شوف إزاي بنفكّر قبل ما نكتب

مثال 1

بطاقة تعريف

المطلوب: اطبع بطاقة فيها اسمك وقسمك وسنتك، كل واحدة في سطر.

نفكّر إزاي؟

  1. 1كل سطر = أمر print لوحده
  2. 2كل جملة string، يبقى بين علامات تنصيص
  3. 3الترتيب اللي أكتبه هو اللي هيظهر
مثال 2

خط فاصل

المطلوب: اطبع عنوان، وتحته خط من 20 شرطة، وتحته الكلام.

نفكّر إزاي؟

  1. 1مش هنكتب 20 شرطة بإيدنا
  2. 2في Python "-" * 20 بتكرّر string 20 مرة
  3. 3string × رقم = تكرار — دي حيلة هتستخدمها كتير
مثال 3

فاتورة بسيطة

المطلوب: عندك صنف سعره 45 والكمية 3. اطبع الإجمالي في جملة مفهومة.

نفكّر إزاي؟

  1. 1محتاج أحسب 45 × 3
  2. 2Python بتحسب جوّه print عادي
  3. 3الفاصلة بتخليني أخلط كلام مع رقم من غير مشاكل
مثال 4

جدول صغير

المطلوب: اطبع جدول فيه 3 طلاب ودرجاتهم، بشكل مرتّب.

نفكّر إزاي؟

  1. 1كل row = print فيه الاسم والدرجة
  2. 2عايز العمود الثاني يبدأ من نفس المكان
  3. 3نستخدم sep عشان نتحكم في الفاصل
مثال 5

عدّاد تنازلي في سطر واحد

المطلوب: اطبع 3 2 1 انطلق — كلهم في سطر واحد.

نفكّر إزاي؟

  1. 1print بتنزل سطر جديد كل مرة
  2. 2عايز أمنع ده → end=""
  3. 3آخر واحدة بس هي اللي تنزل سطر
مثال 6

امسك error بنفسك

المطلوب: السطر ده فيه غلط. إيه هو؟ print("Hello)

نفكّر إزاي؟

  1. 1علامة التنصيص اتفتحت قبل «أهلاً»
  2. 2بس ما اتقفلتش بعدها
  3. 3Python فضلت تدوّر على القفلة لحد آخر السطر
5

ورقة مراجعة

ارجعلها وإنت بتحل — مش محتاج تحفظها

كل حاجة في الدرس ده
الحاجةمعناهامثالالناتج
print(x)يعرض x على الشاشة وينزل سطرprint("hi")hi
print(a, b)يعرض الاتنين وبينهم مسافةprint("x", 5)x 5
sep=يغيّر الفاصل بين الحاجاتprint(1, 2, sep="-")1-2
end=يغيّر اللي يتحط في الآخرprint("a", end="!")a!
#تعليق — Python بتتجاهله# ملحوظة(مفيش)
" "string (كلام)print("5")5
*تكرار لو مع stringprint("ab" * 2)abab
\nنزول سطر جوّه stringprint("a\nb")a ثم b
6

program بتاعك الأول وهو بيشتغل

شوفه بيشتغل سطر سطر

شغّل code خطوة خطوة

دوس «خطوة» وشوف الكمبيوتر بينفّذ سطر سطر. لاحظ الذاكرة على الشمال وهي بتتملّى.

1name = "Borg El Arab"◂
2year = 1
3dept = "IT"
4print("Welcome to", name)
5print("Year", year, "-", dept)
6print("-" * 25)
7print("Lets go")
الذاكرة
name'Borg El Arab'
الناتج على الشاشة
لسه ما اتطبعش حاجة…
1

حطّينا 'Borg El Arab' جوّه name

خطوة 18 خطوات
Python الحقيقيCPython 3.14

المحاكاة فوق بتشرحلك خطوة خطوة. دوس هنا عشان تشغّل نفس code على Python حقيقي وتتأكد بنفسك.
أول مرة هيحمّل ~11 ميجا — بعد كده بيبقى فوري.

7

غلطات بتحصل كتير

شوفها هنا بدل ما تضيّع ساعة فيها

غلط
Print("hi")
صح
print("hi")

Python بتفرّق بين الحرف الكبير والصغير. Print مش print.

غلط
print(Hello)
صح
print("Hello")

من غير علامات تنصيص، Python بتفتكر إن أهلاً اسم variable وبتدوّر عليه ومتلاقيهوش.

غلط
print("hi"
صح
print("hi")

نسيت تقفل القوس. أي قوس بتفتحه لازم تقفله.

غلط
print("Hello')
صح
print("Hello")

فتحت بعلامة مزدوجة " وقفلت بفردة '. لازم نفس type في الأول والآخر.

غلط
print("Age: " + 20)
صح
print("Age:", 20)

علامة + مينفعش بين string ورقم. الفاصلة بتحل المشكلة وبتحط مسافة كمان.

غلط
    print("hi")
صح
print("hi")

مسافة زيادة في أول السطر بتطلّع IndentationError. المسافات في Python ليها معنى.

8

مسائل سريعة

فكّر الأول — بعدين اكشف

1

إيه اللي هيظهر؟

1print("A")
2print("B")
2

إيه اللي هيظهر؟

1print("A", end="")
2print("B")
3

إيه ناتج السطر ده؟

1print("=" * 5)
4

كام سطر هيظهر؟

1# print("one")
2print("two")
5

إيه ناتج ده؟

1print(3, 4, sep="")
6

فين الغلط؟

1Print("Hello")
7

إيه ناتج ده؟

1print("Result:", 10 - 4)
8

ليه ده بيطلّع error؟

1print("Age: " + 20)
9

جرّب بنفسك

اكتب code — ده الجزء اللي بيعلّم فعلاً

جرّب بنفسك

اكتب program يطبع 3 سطور: اسمك، قسمك، وسنة دراستك. كل واحد في سطر لوحده.

شغّل code خطوة خطوة
1print("Name: ")◂
2
الذاكرة

لسه مفيش variables

الناتج على الشاشة
Name:
1

طبعنا على الشاشة: Name:

خطوة 1خطوتين
Python الحقيقيCPython 3.14

المحاكاة فوق بتشرحلك خطوة خطوة. دوس هنا عشان تشغّل نفس code على Python حقيقي وتتأكد بنفسك.
أول مرة هيحمّل ~11 ميجا — بعد كده بيبقى فوري.

تمرين إضافي 2
جرّب بنفسك

اطبع عنوان «قائمة الطعام»، وتحته خط من 15 نجمة، وتحته صنفين بأسعارهم.

شغّل code خطوة خطوة
1print("Menu")◂
2# continue from here
3
الذاكرة

لسه مفيش variables

الناتج على الشاشة
Menu
1

طبعنا على الشاشة: Menu

خطوة 1خطوتين
Python الحقيقيCPython 3.14

المحاكاة فوق بتشرحلك خطوة خطوة. دوس هنا عشان تشغّل نفس code على Python حقيقي وتتأكد بنفسك.
أول مرة هيحمّل ~11 ميجا — بعد كده بيبقى فوري.

تمرين إضافي 3
جرّب بنفسك

اطبع التاريخ بالشكل ده بالظبط: 2026/10/01 — من غير ما تكتبه كـ string واحد. استخدم sep.

شغّل code خطوة خطوة
1print(2026, 10, 1)◂
2
الذاكرة

لسه مفيش variables

الناتج على الشاشة
2026 10 1
1

طبعنا على الشاشة: 2026 10 1

خطوة 1خطوتين
Python الحقيقيCPython 3.14

المحاكاة فوق بتشرحلك خطوة خطوة. دوس هنا عشان تشغّل نفس code على Python حقيقي وتتأكد بنفسك.
أول مرة هيحمّل ~11 ميجا — بعد كده بيبقى فوري.

تمرين إضافي 4
جرّب بنفسك

اكتب program يحسب مساحة مستطيل طوله 8 وعرضه 5، ويطبعها في جملة مفهومة.

شغّل code خطوة خطوة
1# length 8 and width 5◂
2
الذاكرة

لسه مفيش variables

الناتج على الشاشة
لسه ما اتطبعش حاجة…

program خلص

خطوة 1خطوة واحدة
Python الحقيقيCPython 3.14

المحاكاة فوق بتشرحلك خطوة خطوة. دوس هنا عشان تشغّل نفس code على Python حقيقي وتتأكد بنفسك.
أول مرة هيحمّل ~11 ميجا — بعد كده بيبقى فوري.

10

اختبر نفسك

كل إجابة معاها السبب

1

إيه اللي هيظهر على الشاشة؟

1print("A")
2print("B")
2

إيه الغلط في السطر ده؟

1print(hello)
3

أي program بيعدّي من 3 مراحل. إيه هي بالترتيب؟

4

إيه ناتج السطر ده؟

1print("ab" * 3)
5

إيه اللي هيظهر؟

1print("x", "y", sep="")
6

code ده هيطبع كام سطر؟

1# print("one")
2print("two")
3# print("three")
7

ليه بنكتب تعليقات في code؟

8

إيه error type في print("hi" ؟

خلصت الدرس؟

علّم عليه عشان تعرف إنت وصلت لفين لما ترجع تاني.

الدرس اللي بعده: Variables والعمليات ←