ऑटोमेड चैलेंज - सी++
स्वचालित चुनौती
इस चुनौती में, आपको अपने रोबोट को इस तरह से प्रोग्राम करना होगा कि वह अस्पताल में घूमते हुए कई अलग-अलग कमरों में मरीजों को दवाइयां पहुंचा सके।
शिक्षक सुझाव
अस्पताल के बारे में एक पृष्ठभूमि कहानी बनाकर लोगों की रुचि बढ़ाएं! यह किस प्रकार का अस्पताल है और यह किस प्रकार के रोगियों का इलाज करता है?
चुनौती के नियम
-
रोबोट को स्टार्ट ज़ोन से शुरू होकर वहीं समाप्त होना चाहिए।
-
सभी रोबोट को फार्मेसी, लिफ्ट और रोगी कक्षों के अंदर होना चाहिए और कार्यों को पूरा करने के लिए निम्नलिखित समय तक प्रतीक्षा करनी चाहिए:
-
फार्मेसी: दवाइयां लेने से पहले कम से कम 5 सेकंड प्रतीक्षा करें।
-
लिफ्ट: दूसरी मंजिल पर पहुंचने के लिए कम से कम 5 सेकंड प्रतीक्षा करें।
-
रोगी कक्ष: दवाइयां जमा करने से पहले कम से कम 3 सेकंड प्रतीक्षा करें।
-
-
रोबोट को किसी भी दीवार के संपर्क में नहीं आना चाहिए और न ही उसे किसी दीवार के ऊपर से गुजरना चाहिए।
-
रोबोट को पहले फार्मेसी जाकर मरीजों के कमरों के लिए दवाइयां लेनी होंगी।
-
दवाइयां पहुंचाने के लिए रोबोट को प्रत्येक रोगी कक्ष में जाना होगा (किसी विशेष क्रम में नहीं)।
-
मज़े करो!
शिक्षक टूलबॉक्स
-
समाधान
छात्रों के मूल्यांकन के लिए एक प्रोग्रामिंग रूब्रिक यहाँ पाया जा सकता है (Google / .docx / .pdf )।
नीचे VEXcode V5 C++ का एक नमूना समाधान देखें:
int main() {
// रोबोट कॉन्फ़िगरेशन आरंभ करना। दूर नहीं करते!
vexcodeInit();
// प्रोजेक्ट कोड प्रारंभ करें
// फार्मेसी पर जाएं
Drivetrain.driveFor(forward, 900, mm);
Drivetrain.turnFor(left, 90, degrees);
Drivetrain.driveFor(forward, 1350, mm);
Drivetrain.turnFor(right, 90, degrees);
Drivetrain.driveFor(forward, 600, mm);
wait(6, seconds);
// कमरा 1 पर जाएं
Drivetrain.driveFor(reverse, 600, mm);
Drivetrain.turnFor(right, 90, degrees);
Drivetrain.driveFor(forward, 600, mm);
Drivetrain.turnFor(left, 90, degrees);
Drivetrain.driveFor(forward, 600, mm);
wait(5, seconds);
// लिफ्ट पर जाएं
ड्राइवट्रेन.ड्राइवफॉर(रिवर्स, 600, मिमी);
ड्राइवट्रेन.टर्नफॉर(दाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 600, मिमी);
ड्राइवट्रेन.टर्नफॉर(बाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 600, मिमी);
प्रतीक्षा करें(6, सेकंड);
// कमरा 2 पर जाएं
ड्राइवट्रेन.ड्राइवफॉर(रिवर्स, 800, मिमी);
ड्राइवट्रेन.टर्नफॉर(बाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 1000, मिमी);
ड्राइवट्रेन.टर्नफॉर(बाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(फॉरवर्ड, 800, मिमी);
प्रतीक्षा करें(5, सेकंड);
// कमरा 3 पर जाएं
ड्राइवट्रेन.ड्राइवफॉर(रिवर्स, 800, मिमी);
ड्राइवट्रेन.टर्नफॉर(बाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(आगे, 600, मिमी);
ड्राइवट्रेन.टर्नफॉर(दाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(आगे, 800, मिमी);
प्रतीक्षा(5, सेकंड);
// लिफ्ट पर जाएं
ड्राइवट्रेन.ड्राइवफॉर(उल्टा, 800, मिमी);
ड्राइवट्रेन.टर्नफॉर(बाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(आगे, 600, मिमी);
ड्राइवट्रेन.टर्नफॉर(दाएं, 90, डिग्री);
ड्राइवट्रेन.ड्राइवफॉर(आगे, 800, मिमी);
प्रतीक्षा(6, सेकंड);
// आरंभिक क्षेत्र में वापस जाएं
ड्राइवट्रेन.ड्राइवफॉर(आगे, 1500, मिमी);
}