Traffic light एउटा state machine हो
केही tick सम्म traffic light चलाउनुहोस्। एउटा loop ले यसलाई रातोबाट हरियो, हरियोबाट पहेँलो र फेरि रातोमा लैजान्छ, state का लागि एउटा variable र फेरि घुम्न % प्रयोग गरेर। हरेक रङ कति पटक आयो गन्नुहोस् र कुनै पनि tick मा कुन बत्ती बल्छ अनुमान गर्नुहोस्।
मूल अवधारणा
State machine सधैँ केही state मध्ये एउटामा हुन्छ र नियमअनुसार अर्को state मा सर्छ; traffic light ले आफ्नो state एउटा variable मा राख्छ र (state + 1) % 3 ले रातो, हरियो, पहेँलो हुँदै घुम्छ
पाठ: कम्प्युटेसनल सोच
Traffic light ले सधैँ एउटा रङ देखाइरहेको हुन्छ: यो एउटा state मा हुन्छ। समय सकिएपछि यो निश्चित नियमले अर्को state मा सर्छ: रातो, अनि हरियो, अनि पहेँलो, अनि फेरि रातो। यस्ता मेसिनलाई state machine भनिन्छ, र lift, washing machine र game पनि यसरी नै बनेका हुन्छन्। प्रोग्रामले state लाई एउटा Variable: नाम दिइएको बाकस, जसमा Program ले पढ्न र बदल्न सक्ने मान राखिन्छ। सबै मुख्य शब्द मा राख्न सक्छ: रातोका लागि 0, हरियोका लागि 1 र पहेँलोका लागि 2। हरेक tick मा IF ले यो state मा के देखाउने छान्छ, अनि state ← (state + 1) % 3 ले state अगाडि सार्छ। % 3 भनेको 3 ले भाग गर्दा बाँकी रहने शेष हो, त्यसैले 2 पछि state 3 नभई फेरि 0 हुन्छ।
के सिक्नुहुनेछ
- State भनेको के हो र state machine एउटा state बाट अर्कोमा कसरी सर्छ, व्याख्या गर्नुहोस्।
- State राख्न variable र त्यसअनुसार काम गर्न IF प्रयोग गर्नुहोस्।
- State हरूलाई चक्रमा घुमाउन % प्रयोग गर्नुहोस्।
- केही tick पछिको state अनुमान गर्नुहोस्।
सुरु गर्नुअघि
- FOR loop कसरी दोहोरिन्छ र IF / ELSE ले कसरी छान्छ, थाहा हुनुपर्छ।
सामग्री
- रङ लेख्न कापी
उपकरण
- केही पनि चाहिँदैन
विधि
- 6 tick सम्म बत्ती चलाएर हरेक रङ गन्नुहोस्।
- 3 tick सम्म Step गर्दै state बदलिएको हेर्नुहोस्।
- 12 tick सम्म चलाउनुहोस्।
- अभ्यासका challenge हरूको उत्तर दिनुहोस्।