Skip to content
هذا المقال لأغراض تعليمية. نشجعك على التحقق من المصادر الرسمية.

انت بتذاكر معايا النهاردة حاجة مهمة جداً في عالمنا الحالي: كيف نتحكم في الكمبيوتر عشان يعمل اللي عاوزينه؟ لغة بايثون هي واحدة من أسهل اللغات اللي ممكن تتعلمها عشان تبدأ في البرمجة. تخيل مثلاً لو عاوز تحسب سعر الفول المدمس اللي بتاكله كل يوم في شارع المعز، أو سعر تذاكر الأتوبيس من حلوان للسادس من أكتوبر. بايثون هتساعدك تعمل ده في ثواني! في اختبار النهاردة، هنتدرب على أساسيات بايثون باستخدام أمثلة حقيقية من مصر. هل أنت مستعد؟ هبدأ بسؤال سهل عشان نفتح الشهية...

Total : 25 pts Réussite : 15 pts

1. س: إذا كتبت الكود التالي في بايثون: print("مرحبا يا مصر") فما هو الناتج المتوقع؟

easy1 ptالأساسيات

Indice : انتبه إلى علامات التنصيص والاختلاف بين الحروف العربية والإنجليزية

  • A. مرحبا يا مصر
  • B. مرحبا يا مصر"
  • C. مرحبا يا مصر
  • D. مرحبا يا مصر
الإجابة

الإجابة : A — الكود print() يطبع النص الموجود داخل الأقواس، وعلامات التنصيص تُحدد بداية ونهاية النص، لكنOutput يظهر بدون علامات التنصيص.

لماذا ليس B : لأن بايثون تُترجم الحروف العربية إلى رموز

لماذا ليس C : لأن الكود غير صحيح من الأساس

لماذا ليس D : لأن النص يجب أن يكون بين قوسين مربعين []

remember

2. س: كم عدد المرات التي ستطبع فيها الكود التالي؟ for i in range(3): print(i)

easy1 ptالحلقات

Indice : تذكر أن range(3) تُولد الأرقام من 0 إلى 2

  • A. 3 مرات
  • B. مرتين
  • C. 4 مرات
  • D. مرة واحدة
الإجابة

الإجابة : A — range(3) تُعطينا الأرقام 0، 1، 2، لذا ستطبع 3 قيم.

لماذا ليس B : لأن range(3) تُعطينا 0، 1، 2، 3 (4 أرقام)

لماذا ليس C : لأن print() لا تطبع شيئاً في المرة الأولى

لماذا ليس D : لأن الحلقة تتوقف عند 2 ولا تصل إلى 3

i{0,1,2}

understand

3. س: إذا كان سعر كيلو البطاطس في سوق العباسية 8 جنيهات، فما هو سعر 5 كيلوغرامات؟

easy1 ptالحساب

Indice : استخدم عملية الضرب البسيطة لحساب السعر الإجمالي

  • A. 40 جنيه
  • B. 35 جنيه
  • C. 45 جنيه
  • D. 50 جنيه
الإجابة

الإجابة : A — السعر الإجمالي = 8 × 5 = 40 جنيه، لأن سعر الكيلو ثابت.

لماذا ليس B : لأنك قمت بضرب 8 في 4 = 32 (خطأ في عدد الكيلوغرامات)

لماذا ليس C : لأنك قمت بجمع 8 + 8 + 8 + 8 + 8 = 40 (طريقة صحيحة لكن بطيئة)

لماذا ليس D : لأنك قمت بطرح 5 من 8 = 3 ثم ضربت في 5 (خطأ في العملية)

S=8×5

apply

4. س: ما هو ناتج تنفيذ الكود التالي: print(7 + 3 * 2)؟

medium2 ptsالعمليات الحسابية

Indice : تذكر أولويات العمليات الحسابية: الضرب قبل الجمع

  • A. 13
  • B. 20
  • C. 10
  • D. 16
الإجابة

الإجابة : A — عملية الضرب * لها أولوية أعلى من الجمع +، لذا 3*2=6 ثم 7+6=13.

لماذا ليس B : لأنك قمت بضرب 7*2=14 ثم أضفت 3 = 17 (خطأ في الأولويات)

لماذا ليس C : لأنك قمت بطرح 3 من 7 ثم ضربت في 2 = 8 (خطأ في العملية)

لماذا ليس D : لأنك قمت بجمع 7+3+2=12 (خطأ في فهم أولويات العمليات)

7+3×2=7+6=13

apply

5. س: إذا كان لديك المتغير التالي: x = 10.5 فما هو نوع البيانات لهذا المتغير في بايثون؟

easy1 ptالمتغيرات

Indice : انتبه إلى أن 10.5 يحتوي على علامة عشرية

  • A. float (عدد عشري)
  • B. int (عدد صحيح)
  • C. str (نص)
  • D. list (قائمة)
الإجابة

الإجابة : A — الأرقام التي تحتوي على علامة عشرية تُعتبر من نوع float في بايثون.

لماذا ليس B : لأن بايثون تُحول الأرقام إلى نصوص تلقائياً

لماذا ليس C : لأنك قمت بتحديده كقائمة باستخدام []

لماذا ليس D : لأن الرقم 10.5 لا يمكن أن يكون من نوع float

remember

6. س: كم عدد العناصر في القائمة التالية: mylist = ["تفاح", "موز", "برتقال", "عنب"]؟

easy1 ptالقوائم

Indice : استخدم الدالة len() لحساب عدد العناصر

  • A. 4 عناصر
  • B. 3 عناصر
  • C. 5 عناصر
  • D. عنصرين
الإجابة

الإجابة : A — القائمة تحتوي على 4 عناصر: تفاح، موز، برتقال، عنب.

لماذا ليس B : لأنك قمت بإضافة عنصر فارغ في البداية

لماذا ليس C : لأنك قمت بحساب عدد الأحرف في الكلمة الأخيرة فقط

لماذا ليس D : لأنك قمت بدمج بعض العناصر معاً

len(mylist)=4

understand

7. س: إذا قمت بكتابة الكود التالي: for i in range(2, 6): print(i) فما هو النطاق الذي ستعمل عليه الحلقة؟

medium2 ptsالحلقات

Indice : range(a, b) تبدأ من a وتنتهي عند b-1

  • A. من 2 إلى 5
  • B. من 2 إلى 6
  • C. من 1 إلى 5
  • D. من 0 إلى 6
الإجابة

الإجابة : A — range(2, 6) تُولد الأرقام 2، 3، 4، 5 (تنتهي عند 6-1=5).

لماذا ليس B : لأن الحلقة تبدأ من 1 بدلاً من 2

لماذا ليس C : لأن range(2, 6) تُعطينا 2، 3، 4، 5، 6 (5 أرقام)

لماذا ليس D : لأن الحلقة تبدأ من 0 دائماً

range(2,6)={2,3,4,5}

understand

8. س: إذا كان سعر كيلو اللحمة 250 جنيه في سوقFriday، فما هو سعر 1.5 كيلوغرام؟

medium2 ptsالحساب العملي

Indice : استخدم عملية الضرب مع مراعاة الكسور العشرية

  • A. 375 جنيه
  • B. 350 جنيه
  • C. 400 جنيه
  • D. 300 جنيه
الإجابة

الإجابة : A — السعر الإجمالي = 250 × 1.5 = 375 جنيه، لأن 1.5 = 3/2.

لماذا ليس B : لأنك قمت بضرب 250 في 2 = 500 ثم قسمته على 2 (طريقة صحيحة لكن معقدة)

لماذا ليس C : لأنك قمت بطرح 50 جنيه من 250 = 200 ثم ضربت في 1.5 (خطأ في العملية)

لماذا ليس D : لأنك قمت بضرب 250 في 1 = 250 فقط (نسيت الكسر)

S=250×1.5=375

apply

9. س: ما هو الخطأ في الكود التالي: for i in range(5) print(i)

easy1 ptالخطأ البرمجي

Indice : انتبه إلى وجود النقطتين بعد for

  • A. ناقص النقطتين بعد for
  • B. النص العربي لا يعمل في بايثون
  • C. range(5) يجب أن تكون range(0,5)
  • D. print(i) يجب أن تكون print i
الإجابة

الإجابة : A — الكود يحتاج إلى نقطتين بعد for وبعد range(5) لإنهاء الجملة البرمجية.

لماذا ليس B : لأن range(5) وrange(0,5) لهما نفس المعنى في بايثون

لماذا ليس C : لأن print(i) يجب أن تُكتب بدون قوسين

لماذا ليس D : لأن الحلقة يجب أن تنتهي بعلامة ;

evaluate

10. س: إذا قمت بتعريف المتغيرين التاليين: x = 5 y = 10 فما هو ناتج الكود: print(x + y)?

easy1 ptالمتغيرات

Indice : المتغيرات x وy تحتويان على قيم عددية

  • A. 15
  • B. 510
  • C. x + y
  • D. 105
الإجابة

الإجابة : A — بايثون تجمع القيم العددية للمتغيرات، لذا 5 + 10 = 15.

لماذا ليس B : لأن المتغيرات لا يمكن جمعها معاً

لماذا ليس C : لأن print() لا تطبع سوى المتغير الأخير

لماذا ليس D : لأن بايثون تُعيد ترتيب الأرقام حسب الحجم

x+y=5+10=15

apply

11. س: كم عدد المرات التي ستطبع فيها الكود التالي: for i in range(1, 4): print("مرحبا")

medium2 ptsالحلقات

Indice : range(1, 4) تُعطينا 1، 2، 3

  • A. 3 مرات
  • B. 4 مرات
  • C. مرتين
  • D. مرة واحدة
الإجابة

الإجابة : A — الحلقة ستعمل 3 مرات (لـ 1، 2، 3) وستطبع "مرحبا" في كل مرة.

لماذا ليس B : لأن الحلقة تتوقف عند 2 فقط

لماذا ليس C : لأن print() لا تطبع سوى مرة واحدة

لماذا ليس D : لأنك قمت بإضافة شرط if بدون داعٍ

range(1,4)={1,2,3}

understand

12. س: إذا كان سعر تذكرة الأتوبيس من حلوان إلى التجمع الخامس 12 جنيه، فما هو سعر 4 تذاكر؟

easy1 ptالحساب العملي

Indice : استخدم عملية الضرب لحساب السعر الإجمالي

  • A. 48 جنيه
  • B. 36 جنيه
  • C. 60 جنيه
  • D. 24 جنيه
الإجابة

الإجابة : A — السعر الإجمالي = 12 × 4 = 48 جنيه، لأن كل تذكرة 12 جنيه.

لماذا ليس B : لأنك قمت بضرب 12 في 3 = 36 (خطأ في عدد التذاكر)

لماذا ليس C : لأنك قمت بطرح 4 من 12 = 8 ثم ضربت في 4 = 32 (خطأ في العملية)

لماذا ليس D : لأنك قمت بجمع 12 + 12 + 12 + 12 = 48 (طريقة صحيحة لكن بطيئة)

S=12×4=48

apply

13. س: ما هو ناتج الكود التالي: print(15 // 4)?

medium2 ptsالعمليات الحسابية

Indice : // هي عملية القسمة الصحيحة (بدون باقي)

  • A. 3
  • B. 3.75
  • C. 4
  • D. 1
الإجابة

الإجابة : A — // تُعيد ناتج القسمة بدون الكسر العشري، لذا 15 ÷ 4 = 3 والباقي 3.

لماذا ليس B : لأن // تُعيد أكبر عدد صحيح أقل من الناتج (4)

لماذا ليس C : لأن العملية تُعيد الباقي فقط (3)

لماذا ليس D : لأن بايثون تُعيد 0 لأن 4 لا تقسم 15 بالتساوي

15//4=3

understand

14. س: إذا قمت بتعريف القائمة: fruits = ["تفاح", "موز", "برتقال"] فما هو الكود الصحيح لإضافة "عنب" إلى القائمة؟

medium2 ptsالقوائم

Indice : استخدم الطريقة append() لإضافة عنصر إلى نهاية القائمة

  • A. fruits.append("عنب")
  • B. fruits.add("عنب")
  • C. fruits.insert("عنب")
  • D. append fruits("عنب")
الإجابة

الإجابة : A — طريقة append() هي الطريقة الصحيحة لإضافة عنصر إلى نهاية القائمة في بايثون.

لماذا ليس B : لأن insert() تحتاج إلى مؤشر لإضافة العنصر في مكان معين

لماذا ليس C : لأن ترتيب الكلمات في الكود خطأ

لماذا ليس D : لأن بايثون لا تدعم إضافة عناصر إلى القوائم

fruits.append("عنب")

apply

15. س: كم عدد الأحرف في الكلمة "هرم"؟

easy1 ptالنصوص

Indice : استخدم الدالة len() لحساب عدد الأحرف في الكلمة

  • A. 3 أحرف
  • B. 2 أحرف
  • C. 4 أحرف
  • D. حرف واحد
الإجابة

الإجابة : A — الكلمة "هرم" تحتوي على 3 أحرف: ه، ر، م.

لماذا ليس B : لأنك قمت بإضافة حرف الألف في البداية

لماذا ليس C : لأنك قمت بدمج الحرفين الأخيرين معاً

لماذا ليس D : لأن بايثون تُعيد عدد الكلمات وليس الأحرف

len("هرم")=3

remember

16. س: إذا كان سعر كيلو الأرز 18 جنيه في سوبر ماركت في الزمالك، فما هو سعر 2.5 كيلوغرام؟

medium2 ptsالحساب العملي

Indice : استخدم عملية الضرب مع مراعاة الكسور العشرية

  • A. 45 جنيه
  • B. 40 جنيه
  • C. 50 جنيه
  • D. 36 جنيه
الإجابة

الإجابة : A — السعر الإجمالي = 18 × 2.5 = 45 جنيه، لأن 2.5 = 5/2.

لماذا ليس B : لأنك قمت بضرب 18 في 2 = 36 ثم أضفت 9 = 45 (طريقة صحيحة)

لماذا ليس C : لأنك قمت بضرب 18 في 3 = 54 ثم طرحت 9 = 45 (طريقة صحيحة)

لماذا ليس D : لأنك قمت بجمع 18 + 2.5 = 20.5 (خطأ في العملية)

S=18×2.5=45

apply

17. س: ما هو الخطأ في الكود التالي: x = 10 y = 5 if x > y: print("x أكبر") else print("y أكبر")

easy1 ptالشروط

Indice : انتبه إلى وجود النقطتين بعد if وelse

  • A. ناقص النقطتين بعد if وelse
  • B. الكود صحيح ولا يوجد خطأ
  • C. يجب كتابة print داخل قوسين
  • D. يجب أن تكون المقارنة x >= y بدلاً من x > y
الإجابة

الإجابة : A — الكود يحتاج إلى نقطتين بعد if وبعد else لإنهاء الجملة البرمجية.

لماذا ليس B : لأن print يجب أن تُكتب بدون قوسين

لماذا ليس C : لأن المقارنة x > y صحيحة ولا تحتاج إلى تعديل

لماذا ليس D : لأن else يجب أن تأتي في سطر جديد

evaluate

18. س: إذا قمت بتعريف الدالة التالية: def greet(name): return "مرحبا " + name فما هو ناتج استدعاء الدالة greet("أحمد")؟

medium2 ptsالدوال

Indice : الدالة تُعيد نصاً يحتوي على "مرحبا " متبوعاً بالاسم

  • A. مرحبا أحمد
  • B. أهلا أحمد
  • C. مرحبا"أحمد"
  • D. مرحبا + أحمد
الإجابة

الإجابة : A — الدالة تجمع النص "مرحبا " مع المتغير name الذي يحتوي على "أحمد"، لذا الناتج هو "مرحبا أحمد".

لماذا ليس B : لأن الدالة تُعيد "أهلا" بدلاً من "مرحبا"

لماذا ليس C : لأن + تُستخدم للجمع العددي وليس للنصوص

لماذا ليس D : لأن الدالة تُعيد المتغير name فقط

greet("أحمد")="مرحبا"+"أحمد"="مرحباأحمد"

apply

19. س: كم عدد الكيلوغرامات في 5000 جرام؟

easy1 ptالتحويلات

Indice : 1 كيلوغرام = 1000 جرام

  • A. 5 كيلوغرامات
  • B. 0.5 كيلوغرام
  • C. 50 كيلوغرام
  • D. 500 كيلوغرام
الإجابة

الإجابة : A — لأن 5000 جرام ÷ 1000 = 5 كيلوغرامات.

لماذا ليس B : لأنك قمت بضرب 5000 في 1000 = 5,000,000 (خطأ في العملية)

لماذا ليس C : لأنك قمت بطرح 5000 - 1000 = 4000 ثم قسمته على 1000 = 4 (خطأ في العملية)

لماذا ليس D : لأنك قمت بقلب العملية وقمت بضرب 5000 في 0.001 = 5 (طريقة صحيحة)

5000 جرام=5 كيلوغرام

apply

المصادر

  1. en.wikipedia.org
  2. web.archive.org
  3. www.jstor.org
  4. doi.org
  5. search.worldcat.org
  6. archive.org
  7. lccn.loc.gov
  8. books.google.com
  9. stltoday.newspapers.com