كتيب سلحفاتك

# كتيب سلحفاتك

Cies Breijs `<cies AT kde DOT nl>`

Anne-Marie Mahfouf `<annma AT kde DOT org>`

Mauricio Piacentini `<piacentini AT kde DOT org>`

Translation to Arabic: Taha Zerrouki
Revision تطبيقات 20.12 (2021-01-20)

Copyright © 2004, 2009 Cies Breijs

Copyright © 2004, 2007 Anne-Marie Mahfouf

Copyright © 2007 Mauricio Piacentini

Legal Notice

سلحفاتك KTurtle بيئة برمجة تعليمية تهدف إلى تسهيل تعلم البرمجة، وخصوصا للأطفال الصغار. لتحقيق هذا KTurtle تجعل جميع أدوات البرمجة متاحة من واجهة المستخدم. لغة البرمجة المستخدمة هي TurtleScript والتي تسمح بترجمة أوامرها.

List of Tables

4.1. أنواع الأسئلة
5.1. أنواع مختلفة من التعليمات البرمجية ولونها المميز
5.2. تركيبات ح.خ.ز شائعة

Chapter 1. مقدمة
مقدمة

# Chapter 1. مقدمة

KTurtle هي بيئة برمجة تعليمية تستخدم TurtleScript ، وهي لغة برمجة مقتبسة من Logo. تهدف KTurtle هو تبسيط البرمجة قدر الإمكان. هذا ما يجعل KTurtle. مناسبة لتعليم الأطفال أساسيات الرياضيات والهندسة و ... البرمجة.من أهمّ سمات TurtleScript هي القدرة على ترجمة أوامرها إلى اللغة التي يتحدث بها المبرمج.

KTurtle سميت باسم “ السلحفاة ” التي لها دور مركزيٌ في بيئة البرمجة. إذ يستخدم الطالب أوامر TurtleScript عادة ليعلّم السلحفاة الرسم على الرقعة.

## ماهي TurtleScript؟

TurtleScript لغة البرمجة في KTurtle، مستوحاة من عائلة لغات البرمجة Logo. أول لغة Logo صممها Seymour Papert من مختبر الذكاء الاصطناعي في معهد ماساتشوستس للتكنولوجيا في عام 1967 كفرع من لغة البرمجة LISP. منذ ذلك الحين ظهرت إصدارات أخرى Logo. بحلول عام 1980 اكتسبت اللغة زخما، مع إصدارات لأنظمة MSX و Commodore و Atari و Apple II و IBM PC. كانت هذه الإصدارات بشكل أساسي للأغراض التعليمية. لا يزال معهد ماساتشوستس للتكنولوجيا يحتفظ بـ موقع ويب للغة Logo فيه عدد من تصميمات شائعة للغة.

TurtleScript يتميز كغيره من إصدارات الأخرى لـ Logo: بالقدرة على ترجمة الأوامر لتناسب اللغة الأم للطالب. تسهل هذه الميزة البدء على من لا يجيد اللغة الإنجليزية البدء. إلى جانب هذه الميزة KTurtle لها ميزات أخرى تهدف إلى تسهيل تجربة الطلاب الأولى مع البرمجة.

مزايا KTurtle
مزايا KTurtle

## مزايا KTurtle

KTurtle فيها ميزات رائعة تجعل بدء البرمجة أمرًا سهلاً. سترى هنا بعض الميزات المميزة:

- بيئة برمجة متكاملة فيها مفسّر TurtleScript و محررو رقعة وأدوات، كلها في تطبيق واحد (بلا متطلبات خارجية ).

- إمكانية ترجمة أوامر TurtleScript باستعمال بيئة ترجمة KDE.

- TurtleScript تدعم تعريف المستخدمين لوظائفهم (دوال)، مبدأ العودية (التراجعية) والتغيير التفاعلي للأنواع.

- يمكن إبطاء التنفيذ أو إيقافه مؤقتًا أو إيقافه في أي وقت.

- محرر قوي يتميز بإبراز بناء الجملة البديهي وترقيم الأسطر وعلامات الخطأ والتنفيذ المرئي والمزيد.

- الرقعة، حيث ترسم السلحفاة، تُطبع أو تٌحفظ في صورة (PNG) أو في رسم متجهي (SVG).

- مساعدة سياقية: المساعدة حيث تحتاج إليها. اضغط فقط على F2 (أو اطلع على [مساعدة → مساعدة عن: ...]) احصل على المساعدة بشأن الأمر أسفل المؤشر.

- مربع حوار خطأ يربط رسائل الخطأ بالأخطاء في البرنامج ويميزها باللون الأحمر.

- مصطلحات برمجية مبسّطة.

- أمثلة برامج متكاملة لتسهيل البدء. تُترجم هذه الأمثلة باستخدام بيئة الترجمة KDE.

Chapter 2. استعمال سلحفاتك
استعمال سلحفاتك

# Chapter 2. استعمال سلحفاتك

النافذة الرئيسية لسلحفاتك فيها ثلاثة أجزاء رئيسية: المحرر (1) على اليسار تُكتب أوامر سكربت السلحفاة و الرقعة (2) على اليمين حيث ترسم عليه السلحفاة رسمك ، و المفتش (3) الذي يعطيك المعلومات عند تنفيذ البرنامج. ينفذ البرنامج.تجد أيضًا شريط القوائم (5) حيث تصل إلى جميع الإجراءات، و شريط الأدوات (4) الذي يسمح لك بالوصول إلى الإجراءات الشائعة، و مربع إدخال الطرفية: لتستخدمه لإدخال أمر في سطر واحد لاختباره، و شريط الحالة (على طول الجزء السفلي من النافذة) حيث ستجد معلومات عن حالة سلحفاتك.

## المحرر

في المحرر تكتب أوامر سكربت السلحفاة. يمكن العثور على معظم وظائف المحرر في قائمتَي ملف و تحرير . يمكن إرساء المحرر على حدود النافذة الرئيسية أو يمكن فصله ووضعه في أي مكان على سطح المكتب.

لديك عدة طرق للحصول على بعض الشفرات البرمجية في المحرر. أسهل طريقة هي أن تجلب الأمثلة:استخدم مثالاً: اختر من القائمة [ملف → أمثلة ] ثم اختر مثالا. سيفتح ملف المثال الذي اخترته في المحرر ، بعد ذلك استخدم من القائمة [ شغّل → شغّل ] (الاختصار: Alt+F2) أو شغّل من شريط الأدوات لتشغيل البرنامج إذا أردت.

يمكنك فتح ملفات سكربت السلحفاة من القائمة [ملف → افتح...].

الطريقة الثالثة هي كتابة التعليمات البرمجية مباشرةً في المحرر أو نسخ / لصق بعض التعليمات البرمجية.

الرقعة
الرقعة

## الرقعة

الرقعة مجالُ السلحفاة، ترسم عليها حسب الأوامر المعطاة. عند إدخال بعض التعليمات في المحرر وتنفيذها، يحدث ما يلي: إن كانت التعليمات صحيحة، تظهر نتائجها على الرقعة؛ أمّا إن وُجدت أخطاء، سيظهر تبويب الأخطاء فيه شرح لما ارتكبته من أخطاء.

يمكن تكبير الرقعة أو تصغيرها بعجلة الفأرة.

المفتش
المفتش

## المفتش

يُعلِمك المفتّش عن المتغيرات والدوّال، ويظهر شجرة الشيفرة أثناء تنفيذ البرنامج.

يرسو المفتش على أيّ من حدود النافذة الرئيسية أو ينفصل ويوضع في أي مكان على سطح مكتبك.

شريط الأدوات
شريط الأدوات

## شريط الأدوات

هنا يمكنك الوصول بسرعة إلى الإجراءات الأكثر استخدامًا. في شريط الأدوات أيضًا مربع الإدخال طرفية: ، حيث يمكنك استدعاء الأوامر بسرعة، مما يفيدك إن رغبتَ في اختبار أمر دون تعديل محتوى المحرر .

يمكنك ضبط شريط الأدوات من [إعدادات → اضبط أشرطة الأدوات...] حسب ما تفضّل.

شريط القوائم
شريط القوائم

## شريط القوائم

في شريط القوائم، ستجد كل أوامر سلحفاتك. الأوامر مُنظمة في مجموعات: ملف، وتحرير، رقعة، وشغّل، أدوات، وإعدادات، و مساعدة. هذا القسم يشرحها.

### قائمة الملف

ملف → جديد (Ctrl+N)

  إنشاء ملف سكربت السلحفاة جديد فارغ.

ملف → افتح... (Ctrl+O)

  فتح ملف سكربت السلحفاة.

ملف → افتح حديثًا

  افتح ملفات سكربت السلحفاة التي فُتحت حديثًا.

ملف → أمثلة

  افتح أمثلة برامج سكربت السلحفاة. الأمثلة مكتوبة بلغتك المفضّلة التي تختارها من قائمة [إعدادات → لغة السكريبت].

ملف → اجلب أمثلة أكثر...

  افتح مربع حوار اجلب بيانات جديدة رائعة لتنزيل ملفات سكربت السلحفاة من النت.

ملف → احفظ (Ctrl+S)

  احفظ ملف سكربت السلحفاة المفتوح حاليًا.

ملف → احفظ باسم... (Ctrl+Shift+S)

  احفظ ملف سكربت السلحفاة المفتوح حاليًا في مكان محدد.

ملف → صدّر لصيغة HTML...

  صدّر محتوى المحرّر الحالي بصيغة ملف HTML بما في ذلك ألوان التمييز.

ملف → اطبع... (Ctrl+P)

  طباعة الكود في المحرر.

ملف → أنهِ (Ctrl+Q)

  إنهاء سلحفاتك.

### قائمة المحرّر

تحرير → تراجع (Ctrl+Z)

  تراجع عن آخر تعديل في الكود. تقدّم سلحفاتك تراجعات لا نهاية لها..

تحرير → أعد (Ctrl+Shift+Z)

  استرجع ما تراجعت عنه سابقًا في المحرر.

تحرير → قصّ (Ctrl+X)

  قُصّ النص المحدد من المحرر واحفظه في الحافظة.

تحرير → انسخ (Ctrl+C)

  انسخ النص المحدد من المحرر واحفظه في الحافظة.

تحرير → ألصق (Ctrl+V)

  ألصق النص من الحافظة إلى المحرر.

تحرير → حدّد الكل (Ctrl+A)

  حدّد كل النص من المحرّر.

تحرير → ابحث... (Ctrl+F)

  بهذا الأمر تبحث عن كلمات أو جمل في الكود.

تحرير → ابحث عن التالي (F3)

  استعمل هذا الأمر لإيجاد الحالة التالية لما تبحث عنه.

تحرير → ابحث عن السابق (Shift+F3)

  استعمل هذا الأمر لإيجاد الحالة السابقة لما تبحث عنه.

حرر → نمط الطمس (Ins)

  بدّل بين نمط "الإدراج" ونمط "الطمس".

### قائمة الرقعة

رقعة → Export to Image (PNG)...

  تصدير ما في الرقعة إلى صيغة صورة PNG (Portable Network Graphics).

رقعة → صدّر لصيغة رسم (SVG)...

  تصدير ما في الرقعة إلى صيغة رسم شعاعي SVG (Scalable Vector Graphics).

رقعة → اطبع الرقعة...

  طباعة ما في الـرقعة.

### قائمة شغّل

شغّل → شغّل (F5)

  يبدأ تشغيل الأوامر من المحرر.

شغّل → توقّف (F6)

  يوقف التنفيذ مؤقتًا. هذا الإجراء متاحٌ فقط أثناء تنفيذ الأوامر.

شغّل → ألغ (F7)

  أوقف التنفيذ نهائيا. هذا الإجراء متاحٌ فقط أثناء تنفيذ الأوامر.

شغّل → سرعة التشغيل

  تقدّم سرعات ممكنة للتشغيل، وهي:السرعة القصوى (لا تمييز أو تفتيش، السرعة القصوى، بطيء، وأبطأ، وبطيء جدًا و خطوة بخطوة. حين تضبط السرعة على السرعة القصوى (تلقائيا) فلن تستطيع متابعة شيء. هذا مفيد أحيانًا، لكن قد نحتاج أحيانًا لمتابعة ما يحدث بسرعات أقل.في هذه الحالة، نضبط السرعة على بطيء، أو أبطأ أو بطيء جدًا. عند اختيار وضعٍٍ بطيءٍ، سيظهر موضع المنفّذ الحالي في المحرر. خيار خطوة بخطوة سينفّذ أمرًا واحدا في كل مرّة..

### قائمة أدوات

أدوات → محدّد الاتجاه...

  هذا الأمر يفتح نافذة محدد الاتجاه.

أدوات → محدد الألوان...

  هذا الأمر يُظهر نافذة محدد الألوان.

### قائمة الإعدادات

الإعدادات → لغة السكريبت

  اختيار لغة الشيفرة.

إعدادات → أظهر المحرر (Ctrl+E)

  إظهار أو إخفاء المحرر.

إعدادات → أظهر المفتش (Ctrl+I)

  إظهار أو إخفاء المفتش .

إعدادات → أظهر الأخطاء

  إظهار أو إخفاء تبويب الأخطاء بقائمة الأخطاءالناتجة عن تشغيل الكود. إذا كان هذا الخيار مُمكّنًا، انقر على الرقعة لرؤية السلحفاة مرة أخرى.

إعدادات → أظهر أرقام الأسطر (F11)

  هذا الأمر يعرض الأسطر مرقّمة في المحرر. هذا مفيد في إيجاد الأخطاء.

إعدادات → أظهر شريط الأدوات

  إظهار أو إخفاء شريط الأدوات الرئيس.

إعدادات → أظهر شريط الحالة

  إظهار أو إخفاء شريط الحالة.

إعدادات → اضبط الاختصارات...

  حوار كيدي الرئيسي لضبط اختصارات لوحة المفاتيح.

إعدادات → اضبط أشرطة الأدوات...

  حوار كيدي الرئيسي لضبط أشرطة الأدوات.

### قائمة المساعدة

لـسلحفاتك قائمة مساعدة مساعدة افتراضية من كيدي كما هو موضّح في أساسيات كيدي مع مدخل إضافي:

مساعدة → مساعدة عن: ... (F2)

  هذه خدمة مفيدة للغاية: فهي توفر المساعدة في الشفرة حيثما يكون المؤشر في المحرر. فعلى سبيل المثال، إذا استخدمت الأمر `اطبع` في برنامجك، وتريد أن تتعلّم هذا الأمر أو تريد تفاصيل عنه، ما عليك سوى تحريك المؤشر بحيث يكون في الأمر `اطبع` واضغط على F2. سيعرض كُتيّب المساعدة بعد ذلك جميع المعلومات الموجودة عن الأمر `اطبع`.

  هذه الوظيفة مفيدة أثناء تعلم سكربت السلحفاة.

شريط الحالة
شريط الحالة

## شريط الحالة

في شريط الحالة ، تحصل على ملاحظات عن حالة سلحفاتك. على الجانب الأيسر تظهر التعليقات على الإجراء الأخير. على الجانب الأيمن تجد الموقع الحالي للمؤشر (أرقام الأسطر والأعمدة). في منتصف شريط الحالة يشار إلى اللغة الحالية المستخدمة للأوامر.

Chapter 3. ابدأ البرمجة
ابدأ البرمجة

# Chapter 3. ابدأ البرمجة

حين تشغل سلحفاتك سيبدو لك مثل:

في دليل الخطوات الأولى هذا افترض أن لغة أوامر برمجة سكربت السلحفاة هي اللغة العربية. يمكنك تغيير هذه اللغة من خلال القائمة الفرعية [ الإعدادات → لغة البرمجة ]. انتبه إلى أن اللغة التي عيّنتها هنا لسلحفاتك هي ما تستخدمه لكتابة أوامر سكربت السلحفاة، وليس لغة واجهة كيدي لنظامك والتي تستخدم لعرض واجهة برنامج سلحفاتك.

## خطواتك الأولى مع سكربت السلحفاة: قابل السلحفاة!

لا بد أنك لاحظت وجود السلحفاة في منتصف الرقعة: أنت على وشك تعلم كيفية التحكم فيها باستخدام الأوامر الموجودة في المحرر.

### حركات السلحفاة

دعونا نبدأ بتحريك السلحفاة. يمكن لسلاحفنا أن تفعل 3 أنواع من الحركات، (1) للأمام وللخلف ، (2) الدوران لليسار واليمين و (3) القفز مباشرة إلى موضع على الشاشة. جرب هذا على سبيل المثال:

    تقدم 100
    در_يسار 90

اكتب الشيفرة أو انسخها وألصقها في المحرر، ثم نفّذها (باستعمال [شغّل → شغّل]) لرؤية النتيجة.

إذا كتبت ونفذت الأوامر كما هو مذكور أعلاه في المحرر، ربما لاحظت ما لي:

1. أنّ - بعد تنفيذ الأوامر - تتحرك السلحفاة لأعلى وترسم خطاً ثم تدور ربع دورة إلى اليسار. هذا لأنك استخدمت الأمرين `تقّدم` و `در_يسار` .

2. أنّ لون الشيفرة قد تغيّر أثناء كتابته: تسمى هذه الميزة تمييز بديهي - يُميّز كل نوع من الأوامر تمييزًا مختلفًا. مما يسهلّ قراءة الكتل الكبيرة من التعليمات البرمجية.

3. أن السلحفاة ترسم خطاً أسود رفيعاً.

4. ربما تلقيت رسالة خطأ. قد يعني أمرين: ربما ارتكبت خطأ أثناء نسخ الأوامر، أو نسيت تعيين اللغة الصحيحة لأوامر سكربت السلحفاة (يمكنك تعديلها باختيار القائمة الفرعية [الإعدادات → لغة البرمجة ]).

افهم أن `تقدم 100`يأمر السلحفاة بالتحرك للأمام راسمةً خطاً، وأن `در_يسار 90` يأمر السلحفاة بالدوران 90 درجة إلى اليسار.

يرجى الاطلاع على الروابط الدليل المرجعي لشرح الأوامر الجديدة شرحًا وافيًا: `تقدم` و `وراء` و `در_يسار` و `در_يمين`.

### أمثلة أكثر

كان المثال الأول بسيطًا جدًا ، فلنواصل!

    جدد

    حجم_الرقعة 200،200
    لون_الرقعة 0،0،0
    لون_القلم 255،0،0
    عرض_القلم 5

    اذهب 20،20
    اتجاه 135

    تقدم 200
    در_يسار 135
    تقدم 100
    در_يسار 135
    تقدم 141
    در_يسار 135
    تقدم 100
    در_يسار 45

    اذهب 40،100

ثانية، اكتب المثال أو انسخ المحرر، أو افتح مثال `arrow` من قائمة الأمثلة وشغّله (باستعمال [شغّل → شغّل]) لرؤية النتائج. في الأمثلة التالية ، من المتوقع أنك تعرف الخطوات.

ربما لاحظت أن هذا المثال الثاني يستخدم أوامر أكثر. لقد رأيت أيضًا أوامر جديدة. سنشرحها بإيجاز:

بعد أمر `جدد` سيبدو كأنك شغّلت سلحفاتك للتوّ حيث تكون الرقعة فارغة.

يضبط الأمر `حجم_الرقعة 200،200` عرض الرقعة وارتفاعها إلى 200 بكسل. وبما أن العرض والارتفاع متساويان فالرقعة ستكون مربعة الشكل .

يجعل الأمر `لون_الرقعة 0،0،0` الرقعة سوداء اللون. `0،0،0` هي تركيبة ح.خ.ز كل قيمها `0`، فتنتج اللون الأسود.

يضبط الأمر `لون_القلم 255،0،0` لون القلم إلى الأحمر. `255،0،0` هي تركيبة ح.خ.ز قيمة أحمرها `255` (تامّ) ولوناها الآخران (الأخضر والأزرق) معدومان أي `0` (غائب). مما ينتج لونًا أحمر قانٍ.

إن لم تفهم قيم اللون اقرأ في المسرد تركيبة خ.ح.ز.

يحدد الأمر `عرض_القلم 5` عرض القلم (حجمه) إلى `5` بكسل. ابتداءً من الآن، سترسم السلحفاة خطًا سمكه `5`، حتى يتغيّر `عرض_قلم` إلى قيمة جديدة.

ينقل الأمر `اذهب 20،20` السلحفاة إلى مكان ما في الرقعة. بالحساب من الركن الأيسر العلوي، هذا المكان هو 20بكسل من اليسار، و 20 بكسل من أعلى الرقعة. لاحظ أنّ مع الأمر `اذهب` لا ترسم السلحفاة خطّا.

`اتجاه 135` يضبط اتجاه السلحفاة. الأمران `در_يسار` و `در_يمين` يغيران زاوية السلحفاة من اتجاهها الحالي. أمّا أمر `اتجاه` فيضبط زاوية السلحفاة انطلاقا من الصفر، وليس بالنسبة إلى موضعها الحالي.

بعد الأمر `اتجاه` تتابع أوامر كثيرة من `تقدم` و `در_يسار`. هذه الأوامر تنجز الرسم الحالي.

أخيرًا، استخدم أمر `اذهب` لتحريك السلحفاة إلى الجانب.

تأكد من اتباع الروابط إلى المرجع. يشرح المرجع كل أمر شرحًا شاملًا.

Chapter 4. مرجع سكربت السلحفاة البرمجي
مرجع سكربت السلحفاة البرمجي

# Chapter 4. مرجع سكربت السلحفاة البرمجي

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

## قواعد كتابة سكربت السلحفاة

كما هو الحال في أي لغة، سكربت السلحفاة فيها أنواع مختلفة من الكلمات والرموز.في اللغة العربية، نميز الأفعال (مثل "مشى يمشي" أو "أكل يأكل") والأسماء (مثل "أخت" أو "منزل")، وتستخدم استخدامها لأغراض مختلفة.سكربت السلحفاة هي لغة برمجة ، تُستخدم لتعليم سلحفاتك ما يجب القيام به.

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

### تعليقات

في البرنامج تعليمات للتنفيذ عند تشغيل البرنامج، أمّا التعليقاتُ فلا تُنفّذ، بل تتجاهلها سلحفاتك التعليقات مفيدة كي يفهم الآخرون برنامج فهمًا أفضل.كلّ ما يأتي بعد علامة `#` يُعدّ تعليقا في سكربت السلحفاة. مثلا، هذا البرنامج الصغير، لا يفعل شيئًا:

    #هذا البرنامج الصغير لا يفعل شيئا، هو تعليق فقط!

يبدو بلا فائدة، لكنه يشرح الفكرة جيّدًا.

تصبح التعليقات مفيدة للغاية عندما يصبح البرنامج أكثر تعقيدًا. قد تساعد في تقديم نصائح للمبرمجين الآخرين. في البرنامج التالي، نستخدم تعليقات الاستخدام مع الأمر اطبع

    #هذا برنامج من  تصميم أحمد.
    اطبع "هذا النص سيطبع على الرقعة"
    #السطر السابق ليس تعليقا، لكن السطر الموالي تعليق:
    #اطبع "هذا النص سيطبع على الرقعة"

السطر الأول يعرّف بالبرنامج. السطر الثاني تنفّذه سلحفاتك لطباعة `هذا النص سيطبع على الرقعة` على الرقعة. السطر الثالث تعليقٌ. أما السطر الرابع، فهو تعليق فيه تعليمات سكربت السلحفاة، فإذا حذفنا العلامة `#` ستنفذ تعليمة الطباعة من سلحفاتك. يقول المبرمجو أن تعليمة الطباعة في السطر الرابعة "مُعلّقة".

الأسطر المعلقة ملوّنة بالرمادي الفاتح في المحرر.

### أوامر

استعمال الأوامر، يأمر السلحفاة أن تعمل شيئا ما.بعض الأوامر تحتاج إلى مدخلات.

    # الأمر تقدّم  يحتاج إلى مدخل، في هذه الحالة العدد  100:
    تقدم 100

السطر الأول تعليق السطر الثاني فيه الأمر . `تقدم` و العدد `100`. العدد ليس جزءًا من الأمر، بل يُعدّ "مدخلا" للأمر.

بعض الأوامر مثل `اذهب` تحتاج إلى أكثر من مدخل واحد. تُفصل المداخل المتعددة بفاصلة `،`.

لتفاصيل أكثر عن كل أوامر طالع هنا . الأوامر الجاهزة تُميّز بلون أزرق غامق.

### أعداد

لابد أنّك تعرف الأعداد. طريقة استخدام الأعداد في سلحفاتك لا يختلف كثيرًا عن اللغة المنطوقة أو الرياضيات.

لدينا الأعداد الطبيعية: `0`، `1`، `2`، `3`، `4`، `5`، إلى أخره والأعداد السالبة : `-1`، `-2`، `-3`، إلى أخره والأعداد العشرية مثل: `0.1`، `3.14`، `33.3333`، `-5.05`، `-1.0`. الفاصلة `.` تفصل بين الجزء الصحيح والجزء العشري.

تستعمل الأعداد في العمليات الحسابية و عمليات المقارنة. وتُحفظ في متغيرات. الأعداد تُميّز بالأحمر الغامق.

### سلاسل

سنبدأ بمثال:

    اطبع "سلام، أنا سلسلة حروف."

في هذا المثال الأمر`اطبع` يطبع سلسلة حروف `"سلام، أنا سلسلة حروف."`. تبدأ السلاسل وتنتهي بعلامة اقتباس`"`، تعتبر سلحفاتك ما بين علامتي اقتباس سلسلة حروف.

تُحفظ السلاسل فيمتغيرات، مثل ، الأعداد. Yet، لكن على عكس الأعداد، السلاسل لا تستعمل في العمليات الحسابية أو عمليات المقارنة . السلاسل تُميّز بالأحمر.

### قيم منطقية (صح، غلط)

لدينا قيمتان منطقيتان هما: `صح` و `غلط`. قد تسمى هاتان القيمتان: “`صواب`” و “`خطأ`”، “`نعم`” و “`لا`”، “`واحد`” و “`صفر`”. لكن في سكربت السلحفاة سندعوها، `صح` و `غلط`. طالع هذا المثال سكربت السلحفاة:

    $س = صح

إذا نظرت إلى المفتش سترى أن قيمة المتغير `$س` تساوي `صح`، ونوعها منطقي.

عادة القيم المنطقية ناتجة عن عمليات مقارنة، كما في المثال الآتي سكربت السلحفاة:

    $جواب = 10 > 3

قيمة المتغير `$جواب` هي `صح` لأنّ `10` أكبر من `3`.

القيم المنطقية، `صح` و `غلط` تُميّز بالأحمر الغامق.

عوامل رياضية ومنطقية ومقارنة
عوامل رياضية ومنطقية ومقارنة

## عوامل رياضية ومنطقية ومقارنة

قد يبدو عنوان هذا القسم صعبًا للغاية، إلا أنه ليس بالصعوبة التي يبدو عليها.

### عوامل رياضية

علامات العمليات الحسابية هي:: الجمع (`+`)، الطرح (`-`)، الضرب (`*`)، القسمة (`/`) والقوة (الأس) (`^`).

هذه أمثلة عن العمليات الحسابية في سكربت السلحفاة:

    $مجموع      = 1 + 1
    $فرق = 20 - 5
    $جداء = 15 * 2
    $حاصل   = 30 / 30
    $أس    = 2 ^ 2

القيم الناتجة عن العمليات تُسند إلى متغيرات. باستعمال المفتّش يمكنك رؤية قيم المتغيرات.

إن رغبت في إجراء عملية حسابية بسيطة، اصنع مثل هذا:

    اطبع 2010-12

والآن إليك مثالًا عن الأقواس:

    اطبع ((20 - 5) * 2/30) + 1

سيُحسب ما داخل الأقواس أولاً. في هذا المثال ، ستُحسب 20-5 ، ثم يضرب الناتج في 2 ، ثم يُقسم على 30 ، ثم يضاف 1 (والنتيجة 2). تُستخدم الأقواس في حالات أخرى.

في سلحفاتك دوّال رياضية متقدمة. اطّلع على الأوامر الآتية، ولكن انتبه أنها وظائف متقدمّة: تقريب، عشوائي، جذر ، pi طا، sin جا، cos جتا، tan ظا، arcsin قوس_جا، arccos قوس_جتا، arctan قوس_ظا.

### عمليات منطقية (صح، غلط)

العمليات الحسابية للأعداد، أمّا العمليات المنطقية فتخصّالقيم المنطقية (`صح` و `غلط`). العمليات المنطقية ثلاثة هي: `و`، `أو`، `ليس`. إليك بعض الأمثلة:

    $وصل_1_1 = صح و صح    # -> صح
    $وصل_1_0 = صح و غلط   # -> غلط
    $وصل_0_1 = غلط و صح   # -> غلط
    $وصل_0_0 = غلط و غلط  # -> غلط

    $فصل_1_1 = صح أو صح    # -> صح
    $أو_1_0 = صح أو غلط   # -> صح
    $أو_0_1 = غلط أو صح   # -> صح
    $أو_0_0 = غلط أو غلط  # -> غلط

    $نفي_1 = ليس صح   # -> غلط
    $نفي_0 = ليس غلط  # -> صح

باستعمال المفتش ترى قيم كل المتغيرات، كما أننا وضعنا تعليقات صغيرة في نهاية كل سطر توضح النتيجة.. `و` تنتج `صح` فقط إن كان الطرفان `صح`. `أو` تنتج `صح` إن كان أحد الطرفين `صح`. و `ليس` تجعل `صح` `غلطا` و `غلط` `صح`.

العمليات المنطقية تميّز بالوردي.

#### أمثلة إضافية متقدمة

إليك هذا المثال عن الوصل `و`:

    $ج = 1
    $ب = 5
    إذا (($ج < 10) و ($ب == 5)) و ($ج < $ب) {
     اطبع "تمام"
    }

في هذا البرنامج الصغير، نتيجة عمليات المقارنة تربط بعمليات وصل `و`. مما سيعطي “صح” فيؤدي إلى طباعة “تمام”.

هذا مثال للفصل بـ `أو`:

    $ع = 1
    إذا ($ع < 10) أو ($ع == 2) {
      اطبع "تمام"
    }

في هذا المثال، الطرف الأيمن قبل `أو` يعطي “صح”، الطرف الأيسر يعطي “غلط”. وبما أنّ أحد طرفي العملية `أو` “صح”، فالناتج “صح”. مما يعني أن “تمام” ستُطبع.

وأخيرًا هذا مثال عن النفي بـ`ليس` التي تغيّر “صح” إلى “غلط” و “غلط” إلى “صح”. انظر:

    $ع = 1
    إذا ليس ($ع == 3) {
      اطبع "تمام"
    } وإلا {
      اطبع "ليس تمام ;-)"
    }

### عوامل المقارنة

لتكن المقارنة الآتية:

    $جواب = 10 > 3

هنا `10` تقارن مع `3` بالعامل “أكبر من ”. نتيجة المقارنة هي قيمة منطقية `صح` تُحفظ في المتغيّر `$جواب`.

كل الأعداد و المتغيرات (التي تحوي أعدادًا) يُمكن مقارنتها بواسطة عمليات المقارنة.

هذه بعض المقارنات:

Table 4.1. أنواع الأسئلة

`$ج == $ب` | تساوي | الجواب هو “صح” إذا `$ج` يساوي `$ب`
`$ج != $ب` | لا تساوي | الجواب “صح” إذا `$ج` لا يساوي `$ب`
`$ج > $ب` | أكبر من | الجواب “صح” إذا `$ج` أكبر من `$ب`
`$ج < $ب` | أصغر من | الجواب “صح” إذا `$ج` أصغر من `$ب`
`$ج >= $ب` | أكبر من أو يساوي | الجواب “صح” إذا `$ج` أكبر من `$B` أو يساويه
`$ج <= $ب` | أصغر من أو يساوي | الجواب “صح” إذا `$ج` أصغر من `$ب` أو يساويه

رجاء، لاحظ أنّ `$ج` و `$ب` عددان أو متغيران يحويان أعداد.

أوامر
أوامر

## أوامر

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

### تحريك السلحفاة

توجد عدة أوامر لتحريك السلحفاة على الشاشة.

تقدم (أمام)

      تقدم س

  `تقدم` تحرّك السلحفاة إلى الأمام بعدد من البكسلات أو النقاط. إذا كان القلم منخفضا، تترك السلحفاة خطًا. يمكن كتابة `تقدم` بـ `أمام`.

وراء (خلف)

      وراء س

  `وراء` حرّك السلحفاة إلى الوراء بعدد من البكسلات أو النقاط. إذا كان القلم منخفضا، تترك السلحفاة خطًا. يمكن كتابة `وراء` بـ `خلف`.

در_يسار (يسار)

      در_يسار س

  `در_يسار` تأمر السلحفاة بالدوران نحو اليسار بعدد من الدرجات. `در_يسار` تختصر إلى`يسار`.

در_يمين (يمين)

      در_يمين س

  `در_يمين` تأمر السلحفاة بالدوران نحو اليمين بعدد من الدرجات. `در_يمين` تختصر إلى`يمين`.

اتجاه (جهة)

      اتجاه س

  `اتجاه` اضبط اتجاه السلحفاة على مقدار درجات انطلاقا من الصفر، أي لا تتعلق الزاوية باتجاه السلحفاة السابق. `اتجاه` تختصر إلى `جهة`.

هات_اتجاه

      هات_اتجاه

  يعرض `هات-اتجاه` زاوية اتجاه السلحفاة بالدرجات انطلاقا من الصفر، حيث الزاوية صفر هي اتجاه السلحفاة حين تشير إلى الأعلى.

وسط

      وسط

  `وسط` يحرك السلحفاة إلى المركز على الرقعة.

اذهب

      اذهب س، ع

  يأمر `اذهب` السلحفاة بالذهاب إلى مكان معين على الرقعة. يقع هذا المكان على بعد عدد س بسكل من يسار اللوحة، و عدد ص بكسل من أعلى اللوحة.

اذهب_س

      اذهب_س س

  `اذهب_س` باستخدام هذا الأمر ، ستنتقل السلحفاة إلى عدد س بكسل من يسار الرقعة، لكن تبقى على نفس الارتفاع. يختصر `اذهب_س` إلى `سين`.

اذهب_ص

      اذهب_ص

  `اذهب_ص` باستخدام هذا الأمر ، ستنتقل السلحفاة إلى عدد ص بكسل من أعلى الرقعة، لكن تبقى على نفس البعد عن اليسار. يختصر `اذهب_ص` إلى `صاد`.

### Note

عند استعمال الأوامر `اذهب`، `اذهب_س` و `اذهب_ص` و `وسط`لن ترسم السلحفاة خطًا، سواءً كان القلم مرفوعا أو منخفضا.

### أين السلحفاة؟

هناك أمران يعطيان موضع السلحفاة على الشاشة.

هات_س

  `هات_س` تُرجع عدد وحدات البكسل من يسار الرقعة إلى الموضع الحالي للسلحفاة.

هات_ص

  `هات_ص` تُرجع عدد وحدات البكسل من أعلى الرقعة إلى الموضع الحالي للسلحفاة.

### للسلحفاة قلم

للسلحفاة قلمٌ يرسم خطاً عندما تتحرك. في هذا القسم نشرح الأوامر التي تتحكّم في القلم.

رفع_القلم (رفع)

      رفع_القلم

  `رفع_قلم` ترفع القلم عن الرقعة. حين “يُرفع” القلم عن الرقعة، لا يرسم خطًا عندما تتحرك السلحفاة. طالع أيضًا `ضع_قلم`. يختصر الأمر `رفع_قلم` إلى `رفع`.

ضع_القلم (ضع)

      ضع_القلم

  `ضع_قلم` يضع القلم على الرقعة. حين “يُوضع” القلم على الرقعة، يرسم خطًا عندما تتحرك السلحفاة. طالع أيضًا `رفع_قلم`. يختصر الأمر `ضع_قلم` إلى `ضع`.

عرض_قلم (عرض)

      عرض_قلم س

  `عرض_قلم` يضبط عرض القلم أو الخط إلى عدد من النقاط أو البكسلات. يُختصر `عرض_قلم` إلى `عرض`.

لون_القلم (لون)

      لون_القلم ح،خ،ز

  `لون_القلم` تضبط لون القلم وتأخذ قيمة لونية. RGB ح.خ.ز في المدخل. `لون_القلم` تختصر إلى `لون`.

### أوامر للتحكم في الرقعة

توجد أوامر عديدة للتحكم في الرقعة.

حجم_الرقعة (حجم)

      حجم_الرقعة س،ص

  بالأمر `حجم_الرقعة` يمكنك ضبط حجم الرقعة، يأخذ الأمر مدخلات عددية س و ص. حيث س عرض الرقعةبالبكسل، وص ارتفاعها بـ البكسل. `حجم_الرقعة` يختصر إلى `حجم`.

لون_الرقعة (خلفية)

      لون_الرقعة ح،خ،ز

  `لون_الرقعة` تضبط لون الرقعة وتأخذ قيمة لونية . RGB ح.خ.ز في المدخل. `لون_الرقعة` تختصر إلى `خلفية`.

### أوامر المسح

هناك أمران لتنظيف الرقعة بعد إحداث فوضى.

امسح (مسح)

      امسح

  باستخدام الأمر `مسح` يمكنك مسح ما رُسم على الرقعة. تبقى كل الأشياء الأخرى: موضع السلحفاة وزاويتها وإمكانية رؤيتها ولون الرقعة، وحجمها.

جدد

      جدد

  الأمر `جدد` يمسح أكثر من الأمر`مسح`. بعد الأمر `جدد` كل شيء يبدو وكأنك شغّلت سلحفاتك مجددًا. تعود السلحفاة إلى وسط الشاشة، ويعود لون الرقعة أبيض. ويرجع لون القلم أسود، وحجم الرقعة يعود إلى 400×400 بكسل.

### السلحفاة جنيّة

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

بعد ذلك ستجد نظرة عامة وافية عن أوامر العمل مع النقوش المتحركة.

### Note

في هذا الإصدار من سلحفاتك لا يمكن تغيير النقش من سلحفاة إلى شيء آخر. الإصدارات المستقبلية من سلحفاتك سوف تسمح لك باستبدال السلحفاة بصورة من تصميمك.

أظهر (إظهار)

      أظهر

  `أظهر` تجعل السلحفاة ظاهرة مرة أخرى إن كانت مخفية. `أظهر` تكتب أيضا `إظهار`.

أخف (إخفاء)

      أخف

  `أخف` تجعل السلحفاة مخفية مرة أخرى إن كانت ظاهرة. `أخف` تكتب أيضا `إخفاء`.

### هل تقدر السلحفاة أن تكتب؟

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

اطبع

      اطبع س

  يُستخدم `اطبع` لأمر السلحفاة بكتابة شيء ما على الرقعة. تأخذ `اطبع` الأرقام والسلاسل كمدخلات. `اطبع` أرقامًا وسلاسل مختلفة باستخدام الرمز “+”. إليك هذا المثال:

      $سنة = 2003
      $كاتب = "أحمد"
      اطبع $كاتب + " بدأ مشروعه في سنة " + $سنة + " وما زال يعمل عليه مستمتعًا!"

حجم_الخط

      حجم_الخط س

  `حجم_الخط` يضبط حجم الخط الذي سيطبع بالأمر `اطبع`. `حجم_الخط` يأخذ مدخلا عدديا يعبر عن الحجم المرغوب. بـ البكسل.

### عوامل رياضية

الأوامر التالية هي أوامر رياضية أكثر تقدمًا.

تقريب

      تقريب(س)

  `تقريب` يقرّب لأقرب عدد صحيح.

      اطبع تقريب(10.8)
      تقدم 20
      اطبع تقريب(10.3)

  هذا المثال يطبع الأعداد 11 و 10.

عشوائي (عشو)

      عشوائي س،ع

  الأمر `عشوائي` يأخذ مدخلين ويعطي مخرجًا واحدًا. المدخلان يعرفان مجال الأعداد العشوائية التي نريدها، فالمدخل الأول للحد الأدنى والثاني للحد الأقصى. والناتج عدد عشوائي في مجال المدخلات. هنا مثال صغير:

      كرر 500 {
        $س = عشوائي 1،20
        تقدم $س
        در_يسار 10 - $س
      }

  باستعمال الأمر`عشوائي` تضيف لمسة فوضوية لبرنامجك.

باقي

      باقي س،ع

  يعرض `باقي` ما تبقى من قسمة العدد الأول على العدد الثاني.

جذر

      جذر س

  يستخدم الأمر `جذر` للحصول على الجذر التربيعي للعدد المعطى.

طا

      طا

  يعطي هذا الأمر الثابت طا (Pi)، `3.14159`.

جا، جتا، ظا

      جا س
      جتا س
      ظا س

  هذه الأوامر تعبّر عن الدوال المثلثية`sin جا`، `cos جتا` و `tan ظا`. مدخل هذه الأوامر عدد.

arcsin قوس جيب الزاوية، arccos قوس جيب التمام، arctan قوس ظل الزاوية

      قوس_جا س
      قوس_جتا س
      قوس_ظا س

  هذه الأوامر هي الدوال العكسية للدوال المثلثية sin جا، cos جتا و tan ظا. مدخل هذه الأوامر عدد.

### المدخلات وردود الفعل من خلال الحواري

الحواري أو مربع الحوار هو نافذة منبثقة صغيرة، تظهر بعض ردود الأفعال أو تطلب مدخلات ما.. سلحفاتك لها أمران للحواري: `رسالة` و `اسأل`

رسالة

      رسالة س

  الأمر `رسالة` يحتاج إلى مدخل من نوع سلسلة نصية . فتعرض نافذة منبثقة فيها نص السلسلة.

      رسالة "انطلق مشروع سلحفاتك في 2003 ومازال يعمل مستمتعًا!"

اسأل

      اسأل س

  الأمر `اسأل` يحتاج إلى مدخل من نوع سلسلة . يعرض نافذة منبثقة مثل الأمر رسالة)، مع حقل إدخال. عندما يدخل المستخدم عددًا أو سلسلة فيه، فالنتيجة تحفظ في متغيّر أو تمرّر كمعامل لـأمر ما. مثلا:

      $دخل = ask "ما عام مولدك؟"
      $خرج = 2003 - $دخل
      اطبع "في 2003 كان عمرك " + $خرج + " سنة  في وقت ما."

  إذا ألغى المستخدم حوار الإدخال، أو لم يدخل شيئا على الإطلاق، فإن المتغيّر يبقى فارغا.

إسناد المتغيرات
إسناد المتغيرات

## إسناد المتغيرات

أولاً ، سنلقي نظرة على المتغيرات، ثم إسناد القيم لتلك المتغيرات.

المتغيرات هي الكلمات التي تبدأ بـ “ $ ”، في المحرر وهي مميّزة باللون الأرجواني.

المتغيرات قد تحوي عددًا أو سلسلة أو قيمة منطقية. باستعمال الإسناد `=`، يعطي المتغير مُحتواه. سيحتفظ المتغيّر بهذا المحتوى حتى ينتهي البرنامج من التنفيذ أو بعاد إسناد قيمة أخرى للمتغير.

يمكنك استخدام المتغيرات، بمجرد تعيينها، كما لو كانت تساوي محتواها.مثلا في الكود الموالي:

    $س = 10
    $س = $س / 3
    اطبع $س

أولا المتغير `$س` أسندت إليه القيمة `10`. ثم أعيد تعيين `$س` إلى نفسه مقسومًا على `3` - هذا يعني أنّ `$س` قد أسند إليه `10 / 3`. أخيرا يطبع`$س`. في السطرين الثاني والثالث نلاحظ أننا استعملنا `$س` وكأنه يساوي محتواه.

يجب تعيين المتغيرات لاستخدامها. على سبيل المثال:

    اطبع $ع

سينتج عنه رسالة خطأ.

نفرض الكود الآتي:

    $ج = 2004
    $ب = 25

    # الأمر الموالي يطبع "2029"
    اطبع $ج + $ب
    وراء 30
    # الأمر الموالي يطبع "2004 زائد 25 يساوي 2029"
    اطبع $ج + " زائد " + $ب + " يساوي " + ($ج + $ب)

في السطرين الأول والثاني، أسند المتغيران `$ج` و `$ب` إلى 2004 و25. ثم ثم تجد أمرين للطباعة `اطبع` وأمر للعودة إلى الوراء `وراء 30`. التعليقات قبل الطباعة لشرح ما سينتج. استعملنا الأمر `وراء 30` لجعل الكتابة تظهر على سطر جديد. كما قد تلاحظ فالمتغيرات تستخدم في مواضع مختلفة، وتعامل معاملة محتواها. يمكن التعامل معها بـالعمليات أو كمداخل أو معاملات لـأوامر ما.

مثال آخر:

    $اسم = اسأل "ما اسمك؟"
    اطبع "أهلا يا " + $اسم + "! بالتوفيق في تعلّم فنّ البرمجة..."

يبدو جليّا أنّ المتغير`$اسم`، يُعامل على أنه سلسلة نصية.

عند استخدام المتغيرات، يكون المفتش مفيدًا جدًا. يعرض لك محتويات جميع المتغيرات قيد الاستخدام حاليًا.

التحكم في التنفيذ
التحكم في التنفيذ

## التحكم في التنفيذ

أوامر التحكم في التنفيذ تساعدك على التحكم في سيرورة البرنامج.

أوامر التحكم في التنفيذ مميّزة بخط سميك أخضر داكن اللون. تُستخدم الأقواس الحاضنة في الغالب مع أدوات التحكم في التنفيذ و تميّز بالأسود.

### اجعل السلحفاة تنتظر

إذا برمجت قليلا في سلحفاتك ربما قد لاحظت أن السلحفاة قد تكون سريعة في الرسم. هذا الأمر سيجعل السلحفاة تنتظر فترة زمنية معينة.

انتظر

      انتظر س

  الأمر `انتظر` يجعل السلحفاة تنتظر لعدد معين من الثواني.

      كرر 36 {
        تقدم 5
        يمين 10
        انتظر 0.5
      }

  يرسم هذا الكود دائرة، لكن السلحفاة ستنتظر نصف ثانية بعد كل خطوة. مما يعطي انطباعًا أنّ سلحفاة بطيئة.

### تنفيذ “إذا”

إذا

      إذا شرط منطقي { ... }

  ستنفذ التعليمات التي بين حاضنتين في حالة`إذا` تحقّق الشرط المنطقي أي “صح”.

      $س = 6
      إذا $س > 5 {
        اطبع "$س أكبر من خمسة!"
      }

  في السطر الأول `$س` يساوي 5. في السطر الثاني نقارن `$س > 5`. فإذا تحقق هذا الشرط، لدينا 6 أكبر من 5، فيسمح أمر التحكّم `إذا` بتنفيذ التعليمات التي ما بين حاضنتين.

### إذا ليس، أو بعبارة أخرى: “وإلّا”

وإلا

      إذا شرط منطقي { ... } وإلا { ... }

  الأمر `وإلّا` قد يستعمل مع أمر التحكم `إذا`. التعليمات التي ما بين حاضنتين بعد `وإلا` ستنفّذ إذا كان الشرط المنطقي غير محقق أي “غلطا”.

      جدد
      $س = 4
      إذا $س > 5 {
        اطبع "$س أكبر من خمسة!"
      } وإلا {
        اطبع "$س أصغر من 6!"
      }

  عملية المقارنة تحسب العبارة `$س > 5`. بما أنّ 4 ليست أكبر من 5، فالعبارة “غلط”. هذا يعني أن ما بين حاضنتي`وإلّا` ستنفّذ.

### حلقة “مادام”

مادام

      مادام شرط منطقي { ... }

  أمر التحكّم `مادام` يشبه كثيرا الأمر `إذا`. الفرق بينهما أنّ `مادام` تكرر التعليمات التي بين حاضنتين حتى يصبح الشرط المنطقي “غلطا”.

      $س = 1
      مادام $س < 5 {
        تقدم 10
        انتظر 1
        $س = $س + 1
      }

  في السطر الأول `$س` قيمته 1. في السطر الثاني تحسب العبارة`$س < 5`. والنتيجة “صج” يبدأ أمر التحكم `مادام` في تنفيذ التعليمات ما بين حاضنتين حتى تصبح قيمة العبارة `$س < 5` “غلط”. في هذه الحالة، ينفّذ ما بين حاضنتين 4 مرات لأنه كلما نفذنا السطر الخامس زاد `$س` بـ 1.

### حلقة التكرار “كرّر”

كرر

      كرر عدد { ... }

  أمر التحكم `كرر` يشبه كثيرا الأمر `مادام`. الفرق أنّ `كرر` تكرر التعليمات التي ما بين حاضنتين عدة مرات حسب العدد المحدد.

### حلقة التكرار المعدود “لكل”

لـكل

      لكل متغير = عدد إلى عدد { ... }

  حلقة `لكل` هي “حلقة تكرار معدود”، أي أنها كالعدّاد. العدد الأول يضبط بداية متغيّر العدّاد. في كل دورة يزيد العداد حتى يصل إلى العدد الثاني الذي يمثل النهاية.

      لكل $س = 1 إلى 10 {
        اطبع $س * 7
        تقدم 15
      }

  في كل مرة تُنفّذ التعليمات ما بين حاضنتين، ويزيد`$س` بـ1، حتى يصل `$س` إلى 10. ما بين حاضنتين، تطبع `$س` مضروبا في 7. وفي نهاية تنفيذ البرنامج، نحصل على جدول ضرب 7 على الرقعة.

  مقدار الخطوة الافتراضي للحلقة هو 1، يمكنك استخدام قيمة أخرى له

      لكل متغير = عدد إلى عدد خطوة عدد { ... }

### مغادرة حلقة تكرار

اكسر

      اكسر

  يُنهي الحلقة الحالية على الفور وينتقل إلى تنفيذ إلى التعليمة التي تلي هذه الحلقة مباشرة.

### إيقاف تنفيذ البرنامج

اخرج

      اخرج

  إنهاء تنفيذ البرنامج.

### التحقق من التأكيدات في أثناء التشغيل

تأكيد

      تحقق شرط منطقي

  يمكن استخدامها للتحقق من البرنامج أو صحة الإدخال.

      $دخل = اسأل "ما سنة مولدك؟"
      # السنة يجب أن تكون موجبة
      تحقق $in
      > 0

اصنع أوامرك الخاصة بالأمر “تعلم”
اصنع أوامرك الخاصة بالأمر “تعلم”

## اصنع أوامرك الخاصة بالأمر “تعلم”

الأمر `تعلم` أمر مميّز لأنه يستعمل لإنشاء أوامر جديدة. الأوامر الجديدة التي تنشئها تحتاج إلى مداخل وترجع مخرجًا. انظر للأمر المُنشَأ:

    تعلم دائرة $س {
      كرر 36 {
        تقدم $س
        در_يسار 10
      }
    }

الأمر الجديد `دائرة`. `دائرة` يحتاج إلى مدخل لضبط قطر الدائرة. الأمر `دائرة` لا يرجع مخرجًا. الآن، يمكن استعمال الأمر `دائرة` مثل أي أمر آخر، في ما تلاه من الكود. إليك هذا المثال:

    تعلم دائرة $س {
      كرر 36 {
        تقدم $س
        در_يسار 10
      }
    }

    اذهب 200،200
    دائرة 20

    اذهب 300،200
    دائرة 40

في المثال الموالي، سننشئ أمرًا . قيمة

    تعلم مضروب $س {
      $ض = 1
      لكل $ي = 1 إلى $س {
        $ض = $ض * $ي
      }
      أرجع $ض
    }

    اطبع مضروب 5

في هذا المثال، أنشأنا أمرًا جديدا أسميناه `مضروب`. إذا كان مدخله العدد `5` حصلنا على نتيجة `5*4*3*2*1`. باستعمال الأمر`أرجع` قيمة المخرج ترجع أثناء التنفيذ.

بعض الأوامر قد تحتاج إلى أكثر من مدخل. في المثال الآتي، نصنع أمرًا لرسم مستطيل:

    تعلم صندوق $س، $ع {
      تقدم $ع
      يمين 90
      تقدم $س
      يمين 90
      تقدم $ع
      يمين 90
      تقدم $س
      يمين 90
    }

يمكنك الآن تنفيذ `صندوق 50، 100` وسترسم السلحفاة مستطيلا على الشاشة.

Chapter 5. مسرد
مسرد

# Chapter 5. مسرد

ستجد في هذا الفصل شرحًا لكلمات “غير مألوفة” في الكتيب.

درجات

  الدرجات هي قياس الزوايا أو الدوران. دورة كاملة فيها 360 درجة، نصف دورة 180 درجة، وربع دورة 90 درجة.`در_يسار`، `در_يسار` و`اتجاه` تحتاج إلى مدخل بالدرجات.

مدخلات مخرجات الأوامر

  تأخذ بعض الأوامر مدخلات ، وبعض الأوامر تعطي مخرجات، وتأخذ بعض الأوامر مدخلات و تعطي مخرجات وبعض الأوامر لا تأخذ مدخلات ولا تعطي مخرجات.

  مثال عن الأوامر التي لها مدخلات فقط:

      تقدم 50
      لون_القلم 255،0،0
      اطبع "سلام!"

  الأمر `تقدم` يأخذ في المدخل`50`. يحتاج `تقدم` ليعرف بكمبيكسل يمشي للأمام. `لون_القلم` يحتاج إلى مدخل اسم اللون. أما `اطبع` فتأخذ سلسلة حروف (نص). يرجى ملاحظة أن الإدخال يمكن أن يكون أيضًا حاوية. المثال التالي يوضح هذا:

      $س = 50
      اطبع $x
      تقدم 50
      $سل = "سلام!"
      اطبع $سل

  إليك أمثلة عن أوامر تعطي مخارج:

      $س = اسأل "رجاء أدخل شيئا ما ثم اضغط موافق... شكرًا!"
      $ع = عشوائي 1،100

  الأمر `اسأل` يأخذ مدخلا سلسلة حروف، ويخرج عددا أو سلسلة يكتبها المستخدم. كما ترى مخرج `اسأل` يُحفظ في حاوية `س`. الأمر `عشوائي` يعطي مخرجا، في هذه الحالة، يعطي عددا ما بين 1 و 100. يحفظ ناتج الأمر في حاوية تسمى `ع`. لاحظ أنّ المتغيرين `س`و `ع` لم يستعملا في الشفرة السابقة.

  هناك أيضًا أوامر لا تحتاج إلى إدخال أو إخراج. وهنا بعض الأمثلة:

      مسح
      رفع_القلم

تمييز بديهي

  هذه سمة من سمات سلحفاتك تجعل البرمجة أسهل. مع التمييز البديهي للشيفرة التي تكتبها ستحصل على لون يشير إلى نوع الشيفرة. في القائمة التالية ستجد أنواع الشيفرات لون كل منها في المحرر.

  Table 5.1. أنواع مختلفة من التعليمات البرمجية ولونها المميز

  أوامر عادية | أزرق غامق | وصف الأوامر العادية هنا.
  أوامر التحكم في التنفيذ | أسود (سميك) | أوامر التحكم، للمزيد عنها اقرأ هنا.
  تعليقات | رمادي | تبدأ الأسطر التي تم التعليق عليها بأحرف تعليق (#). ويتجاهلها تنفيذ التعليمات البرمجية. تسمح التعليقات للمبرمج بشرح تعليماته البرمجية أويستخدمها لمنع تنفيذ جزء معين من التعليمات البرمجية مؤقتًا.
  أقواس منحنية حاضنات {، } | أخضر داكن (سميك) | تستخدم الأقواس الحاضنة لتجميع أجزاء من التعليمات البرمجية. غالبًا ما يتم استخدام الحاضنات معا مع متحكمات التنفيذ.
  الأمر تعلم | أخضر فاتح (سميك) | يستعمل الأمر تعلم لإنشاء أوامر جديدة.
  سلسلة حروف | أحمر | لا يوجد الكثير ليقال عن السلاسل (النصية) أيضًا، باستثناء أنها تبدأ دائمًا وتنتهي بعلامات الاقتباس المزدوجة (").
  أعداد | أحمر داكن | الأعداد، حسناً لا يوجد الكثير ليقال عنها.
  قيم منطقية | أحمر داكن | في المنطق قيمتان هما : صح و غلط.
  متغيرات | بنفسجي | يبدأ بـعلامة دولار '$' ويحوي قيما عددية أو منطقية أو سلاسل.
  عوامل رياضية | رمادي | العوامل الرياضية هي `+` ، `-` ، `*` ، `/` ، `^`.
  عوامل مقارنة | أزرق فاتح (سميك) | عوامل المقارنة هي: `==` ، `!=` ، `<` ، `>` ، `<=` ، `>=`.
  عوامل منطقية | وردي (سميك) | العوامل المنطقية هي: `و` ، `أو` ، `ليس`.
  نص عادي | أسود |

بيكسل: نقطة صورية

  البكسل هو نقطة على الشاشة. إذا نظرت عن قُرب، فسترى أن شاشتك فيها بكسلات. جميع الصور على الشاشة مرسومة بهذه البكسلات. البكسل هو أصغر شيء يمكن رسمه على الشاشة.

  تحتاج الكثير من الأوامر إلى عدد من البكسلات في المدخلات. هذه الأوامر هي: `تقدم` ، `وراء` ، `اذهب` و `اذهب_س` و `اذهب_ص` و `حجم_الرقعة` و `عرض_قلم`.

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

تركيبات ترميز الألوان (ح.خ.ز RGB)

  تستعمل تركيبات (ح.خ.ز) لوصف الألوان، فيرمز “الحاء”للـ “أحمر” و “الخاء” للـ “أخضر” و“الزاي” للـ “أزرق”. مثال عن تركيب (ح.خ.ز) `255،0،0`: فالقيمة الأولى تعني أنّ (“الأحمر”) 255 واللونان الباقيان معدومات، يعطينا لونًا أحمر قانٍ. كل قيمة لتوليفة ح.خ. في ما بين 0 إلى 255. وهذه قائمة صغيرة لألوان شائعة:

  Table 5.2. تركيبات ح.خ.ز شائعة

  `0،0،0` | أسود
  `255،255،255` | أبيض
  `255،0،0` | أحمر
  `150،0،0` | أحمر داكن
  `0،255،0` | أخضر
  `0،0،255` | أزرق
  `0،255،255` | أزرق فاتح
  `255،0،255` | وردي
  `255،255،0` | أصفر

  يستخدم الأمران المواليان تركيبات ح.خ.ز : `لون_الرقعة` و `لون_القلم`.

نقش متحرك أو صورة صغيرة

  النقش المتحرك هي صورة صغيرة تتحرك على الشاشة. سلحفاتنا نقش.

  ### Note

  في هذا الإصدار من سلحفاتك لا يمكن تغيير النقش من سلحفاة إلى شيء آخر. الإصدارات المستقبلية من سلحفاتك سوف تسمح بذلك.

Chapter 6. دليل مترجم سلحفاتك
دليل مترجم سلحفاتك

# Chapter 6. دليل مترجم سلحفاتك

كما تعلمون بالفعل لغة برمجة سلحفاتك يمكن ترجمتها. هذا يزيل حاجزًا أمام البعض، خاصة الطلاب الأصغر سنًا في جهودهم لفهم أساسيات البرمجة.

عند ترجمة سلحفاتك . إلى لغة جديدة ستجد، بالإضافة إلى الواجهة الرسومية سلاسل وأوامر برمجة وأمثلة ورسائل الخطأ في ملفات `. pot` القياسية المستخدمة للترجمة في كيدي. يُترجم كل شيء بالطريقة المعتادة لكيدي ومع ذلك يُنصح بشدة بالطلاع على كيفية ترجمة هذا الكتيّب (اقرأ أيضًا تعليقات المترجم).

اطّلع على https://edu.kde.org/kturtle/translation.php لمزيد من المعلومات حول عملية الترجمة. شكرًا جزيلاً على عملك! سلحفاتك يعتمد بشكل كبير على ترجماته.

Chapter 7. ترخيص وإشادات
ترخيص وإشادات

# Chapter 7. ترخيص وإشادات

سلحفاتك

حقوق البرنامج محفوظة لـ 2003-2007 Cies Breijs `(cies AT kde DOT nl)`

حقوق التوثيق محفوظة 2004, 2007, 2009

- Cies Breijs `(cies AT kde DOT nl)`

- Anne-Marie Mahfouf `(annma AT kde.org)`

- بعض تصحيحات من Philip Rodrigues `(phil AT kde.org)`

- تصحيحات وتحديثات Andrew Coles `(andrew_coles AT yahoo DOT co DOT uk)`

Zayed Al-Saidi many correction to Arabic Translation`(zayed.alsaidi AT gmail.com)`

This documentation is licensed under the terms of the GNU Free Documentation License.

This program is licensed under the terms of the GNU General Public License.

فهرس الأوامر
فهرس الأوامر

# فهرس الأوامر

### Symbols

أخف (إخفاء), السلحفاة جنيّة
أظهر (إظهار), السلحفاة جنيّة
أو, عمليات منطقية (صح، غلط)
إذا, تنفيذ “إذا”
إلى, حلقة التكرار المعدود “لكل”
اتجاه (جهة), تحريك السلحفاة
اخرج, إيقاف تنفيذ البرنامج
اذهب, تحريك السلحفاة
اذهب_س (سين), تحريك السلحفاة
اذهب_ص (صاد), تحريك السلحفاة
اسأل, المدخلات وردود الفعل من خلال الحواري
اطبع, هل تقدر السلحفاة أن تكتب؟
اكسر, مغادرة حلقة تكرار
امسح (مسح), أوامر المسح
انتظر, اجعل السلحفاة تنتظر
باقي, عوامل رياضية
تأكيد, التحقق من التأكيدات في أثناء التشغيل
تعلم, اصنع أوامرك الخاصة بالأمر “تعلم”
تقدم (أمام), تحريك السلحفاة
تقريب, عوامل رياضية
جا, عوامل رياضية
جتا, عوامل رياضية
جدد, أوامر المسح
جذر, عوامل رياضية
حجم_الخط, هل تقدر السلحفاة أن تكتب؟
حجم_الرقعة (حجم), أوامر للتحكم في الرقعة
خطوة, حلقة التكرار المعدود “لكل”
در_يسار (يسار), تحريك السلحفاة
در_يمين (يمين), تحريك السلحفاة
رسالة, المدخلات وردود الفعل من خلال الحواري
رفع_القلم (رفع), للسلحفاة قلم
صح, قيم منطقية (صح، غلط)
ضع_القلم (ضع), للسلحفاة قلم
طا, عوامل رياضية
ظا, عوامل رياضية
عرض_قلم (عرض), للسلحفاة قلم
عشوائي (عشو), عوامل رياضية
غلط, قيم منطقية (صح، غلط)
قوس_ظل, عوامل رياضية
كرر, حلقة التكرار “كرّر”
لـكل, حلقة التكرار المعدود “لكل”
لون_الرقعة (خلفية), أوامر للتحكم في الرقعة
لون_القلم (لون), للسلحفاة قلم
ليس, عمليات منطقية (صح، غلط)
مادام, حلقة “مادام”
هات_اتجاه, تحريك السلحفاة
هات_س, أين السلحفاة؟
هات_ص, أين السلحفاة؟
و, عمليات منطقية (صح، غلط)
وإلا, إذا ليس، أو بعبارة أخرى: “وإلّا”
وراء (خلف), تحريك السلحفاة
وسط, تحريك السلحفاة
يرجع, اصنع أوامرك الخاصة بالأمر “تعلم”

### A

arccos قوس_جتا, عوامل رياضية
arcsin قوس_جا, عوامل رياضية