التوثيق
مثال البرامج
نظرة عامة
الأوامر الأساسية
هيكل البرمجة
مثال البرمجة
- أكتب اسمك
- أوجد البقعة
- اتبع المسار
- مسار المتاهة
التعليم

أمثلة برمجية

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

مثال 1: اكتب اسمك

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

توجد في خريطة الروبوت منطقة مفتوحة لاظهار مواهبك بخلق قطع فنية جميلة.جرب استخدام (جهاز التحكم للتنفيذ) ليقوم الروبوت بالتلوين.

أنظر أيضا: الأوامر الأساسية لون, تحرك

write 'A'

#الحرف ،A،
لون بالابيض()

امام(2)
يمين()
امام(1)
يمين()
امام(2)
خلف(1)
يمين()
امام(1)


اوقف التلوين()

مثال 2: أوجد البقعة البيضاء

في findSpot1.map ستجد خريطة أصلية يوجد عليها في زاوية ما بقعة بيضاء.افترض أنك لا تعرف مكانها،الروبوت يستطيع تحديد مكانها..كيف؟سيتحرك على طول الجدار حتى يصل اليها ويمكنك عد خطواته بنفسك ولكن هناك طريقة أفضل.

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

أنظر أيضا: الأوامر الأساسية:تحرك, انظر, هيكل البرمجة: التكرار, هيكل - اذا الشرطية, انهاء

find spot
كرر(){
    اذا (يسارك ابيض){
        # يوجد بقعة في يسارك
        يسار()
        امام(1)
        انهاء
    }
    والا{
        # لا يوجد بقعة
        امام(1)
    }
}
طريقة أخرى تظهر نفس النتيجة السابقة في السكربت التالي.هنا الروبوت يكرر التقدم للامام حتى ينتهي من الجدار (وهنا يتوجب تفقد البقعة لأنه قريب منها ).ثم يستدير الروبوت متقدما للامام ليصل البقعة.

كرر طالما(يسارك عقبة()){
    امام(1)
}


يسار()
امام(1)
            

 

مثال 3: اتبع المسار

يوجد في الخريطة الأصلية خط أبيض من جهة الشرق،هذا الخط هو مسار الوبوت في بيئة البرنامج.كيف تجعل الروبوت يتتبع هذا المسار؟

الحل مشابه للبرنامج السابق.وبعد احضار الروبوت إلى بداية المسار يحدد هو ماذا يعمل خطوة بخطوة.

أنظر أيضا: الأوامر الأساسية: تحرك, أنظر, هيكل البرمجة التكرار, الاجراءات, هيكل - اذا الشرطية, انهاء

line follower
# اذهب إلى بداية الخط
يمين()
امام()


# ابقى في المسار خطوة بخطوة
كرر()
{
    اذا(امام ابيض()){	
        امام(1)
    }
    والا اذا(يمينك ابيض()){
        يمين()
    }
    والا اذا (يسارك ابيض()){
        يسار()
    }
    والا اذا(امامك عقبة()){
        انهاء
    }
}

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

# اذهب إلى بداية الخط
يمين()
امام(8)


# ابدأ المسار
تابع()


# توضيح خط المسار
اجراء المتابعة{
    اذا(امامك ابيض()){	
        امام(1)
        تابع()
    }
    والا اذا(يمينك ابيض()){
        يمين()
        تابع()
    }
    والا اذا(يسارك ابيض()){
        يسار()
        تابع()
    }
    والا اذا(امامك عقبة()){
        # نهاية نداء الاجراء الحالي
        # (لأن لا أمر بعدها 
        # انتهت جميع النداءات
        # لنهاية البرنامج)
        ارجع
    }
}

مثال 4: مسار المتاهة

كيف تخرج من المتاهة بشكل عام؟ يبدو هذا السؤال صعب ولكنه سهل الحل،بمحاذاة الجدار دائما من الجهة اليمنى (أو من الجهة اليسرى) ستجد بالتأكيد مخرج.

السكربت التالي يمكن الروبوت من ايجاد الفنار في هذه الخريطة مثلا: maze1.map.

أنظر أيضا: الأوامر الأساسية: تحرك, أنظر, هيكل البرمجة: التكرار, هيكل - اذا الشرطية, انهاء

كرر(){	
    اذا(يمينك عقبة()){
        اذا)امام سالك()){
            امام(1)
        }
        والا{
            يسار()
        }
    }
    والا{
        يمين()
        امام(1)
    }

    اذا)امامك فنار()){	
        خذ()
        انهاء
    }
}

ترجمة أ.سلطانة الفهد RoboMind - Copyright © 2005 - 2016 - Research Kitchen