شرح درس الرسم باستخدام البرمجة اول متوسط الفصل الأول
مكتبة turtle تتيح الرسم بالبرمجة بتحريك سلحفاة تحمل قلمًا على الشاشة، وكل أمر نكتبه يحرّكها أو يدوّرها أو يغيّر قلمها.

أهداف الدرس
- يستورد مكتبة turtle ويستعمل أوامر الحركة والقلم.
- يتحكم بلون الرسم وسمكه وسرعته.
- يرسم مربعًا ومثلثًا باستعمال أوامر متتابعة.
- يستعمل الحلقة for مع range لتكرار الأوامر.
- يحسب زاوية الدوران لرسم مضلع منتظم.
المفهوم الأساسي
مكتبة turtle تتيح الرسم بالبرمجة بتحريك سلحفاة تحمل قلمًا على الشاشة، وكل أمر نكتبه يحرّكها أو يدوّرها أو يغيّر قلمها.
شرح الدرس
تخيّل سلحفاة صغيرة تمشي على ورقة وخلفها خط، فتقول لها «تقدّمي مئة خطوة ثم انعطفي». هذه فكرة الرسم بمكتبة turtle.
استيراد المكتبة وأول رسم
المكتبة جاهزة مع بايثون، ونستدعيها في أول البرنامج بـ import turtle.
import turtle
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.done()يرسم البرنامج خطًا مستقيمًا طوله ١٠٠ خطوة ثم تنعطف السلحفاة يمينًا زاوية ٩٠ درجة ويرسم خطًا ثانيًا، والأمر turtle.done() يُبقي نافذة الرسم مفتوحة.
أوامر الحركة والقلم
- turtle.forward(100): تقدّم ١٠٠ خطوة، و turtle.backward(50) تتراجع ٥٠ خطوة.
- turtle.left(90) و turtle.right(90): تدوير يسارًا أو يمينًا بالدرجات.
- turtle.penup(): رفع القلم فلا يُرسم أثر أثناء الحركة، و turtle.pendown() تنزيله.
- turtle.goto(x, y): ينقل السلحفاة إلى موقع على الشاشة.
- turtle.circle(50): رسم دائرة نصف قطرها ٥٠ خطوة.
- turtle.color("red"): لون الرسم، و turtle.pensize(3) سمك الخط، و turtle.speed(5) السرعة.
import turtle
turtle.color("green")
turtle.pensize(3)
turtle.circle(50)
turtle.penup()
turtle.goto(-150, 0)
turtle.pendown()
turtle.color("blue")
turtle.circle(30)
turtle.done()رسم مربع
المربع له أربعة أضلاع متساوية وأربع زوايا قائمة، فنكرر الأمرين forward و right أربع مرات:
import turtle
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.done()الحلقة for والتكرار
بدل تكرار الأوامر نكتب الحلقة for التي تكرر ما تحتها، و range(4) تعني التكرار أربع مرات. الأسطر المتأخرة بأربع مسافات هي التي تتكرر:
import turtle
for i in range(4):
turtle.forward(100)
turtle.right(90)
turtle.done()ويرسم المثلث المتساوي الأضلاع بثلاث مرات:
import turtle
for i in range(3):
turtle.forward(100)
turtle.right(120)
turtle.done()زاوية الدوران والمضلعات
لرسم مضلع منتظم عدد أضلاعه n ندوّر في كل زاوية بمقدار ٣٦٠ مقسومة على عدد الأضلاع:
- المثلث: ٣٦٠ ÷ ٣ = ١٢٠ درجة.
- المربع: ٣٦٠ ÷ ٤ = ٩٠ درجة.
- السداسي: ٣٦٠ ÷ ٦ = ٦٠ درجة.
import turtle
sides = 6
for i in range(sides):
turtle.forward(80)
turtle.right(360 / sides)
turtle.done()غيّر قيمة sides إلى 5 أو 8 وشاهد المضلع يتغير. أما النجمة الخماسية فنرسمها بتدوير ١٤٤ درجة في كل مرة:
import turtle
turtle.color("gold")
for i in range(5):
turtle.forward(150)
turtle.right(144)
turtle.done()ضع أمر turtle.done() في نهاية البرنامج وإلا أُغلقت النافذة بسرعة.
نشاط تعليمي
التطبيق الأول
ارسم مثلثًا بلون أحمر وسمك قلم 4 وحدات.
turtle.color("red") و turtle.pensize(4) ثم حلقة range(3) وزاوية ١٢٠ درجة.
أن يستعمل الطالب الألوان والحلقة.
الموقف الثاني
كم درجة يدوّر الطالب لرسم مضلع منتظم له ٨ أضلاع؟
٣٦٠ ÷ ٨ = ٤٥ درجة.
أن يحسب الطالب زاوية الدوران.
المسألة الثالثة
ارسم دائرتين منفصلتين دون خط يصل بينهما.
ارسم الأولى ثم turtle.penup() و turtle.goto(...) و turtle.pendown() ثم الثانية.
أن يرفع الطالب القلم وينقله.
ملاحظات مهمة
- 1نستورد المكتبة بـ import turtle أولًا.
- 2الزوايا بالدرجات والمسافات بالخطوات.
- 3المسافات البادئة داخل الحلقة مهمة.
- 4زاوية دوران المضلع المنتظم تساوي ٣٦٠ مقسومة على عدد أضلاعه.
أخطاء شائعة
- ✗ خطأنسيان import turtle فتظهر رسالة اسم غير معرّف.✓ الصواب: نبدأ بالاستيراد.
- ✗ خطأكتابة أوامر الحلقة دون مسافة بادئة.✓ الصواب: نزيحها أربع مسافات لتتبع الحلقة.
+عرض جميع الأخطاء (3) ←إخفاء الأخطاء الإضافية
- ✗ خطأتدوير ٣٦٠ درجة في مثلث بدل ١٢٠ درجة.✓ الصواب: نحسب الزاوية بقسمة ٣٦٠ على عدد الأضلاع.
ملخص الدرس
- turtle مكتبة رسم نستوردها بـ import turtle.
- أوامرها: forward و backward و left و right و penup و pendown و color و pensize و goto و circle و speed.
- الحلقة for مع range تكرر الأوامر.
- زاوية دوران المضلع المنتظم تساوي ٣٦٠ ÷ عدد الأضلاع.
هل أتقنت الدرس؟اختبر نفسك من خلال اختبار قصير من عدة أسئلة.