الدورة E - الحلقات 2 - الحلقات المتداخلة ولوحات النتائج

يقدم هذا الدرس مثالًا أساسيًا على التكرار والتكرار.

  • Computer science
  • looping
Print lesson
  • الأعمار 9+
  • 65+ دقائق
  • MakeCode Editor

مقدمة

يقدم هذا الدرس مثالًا أساسيًا على التكرار والتكرار. من المستحسن أن الدرس الأول في هذه السلسلة من الحلقات، '"الحلقات والرسوم المتحركة"'، وتكتمل قبل محاولة هذا الدرس. إذا كان المتعلمون مثابرون يعرض هذا الدرس أولاً.

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

في هذا الدرس ، نحاول عمل لوحة النتائج. لدينا لوحة النتائج سوف تظهر النتيجة عن طريق إضاءة المصابيح. لذلك ، إذا تم إضاءة مصابيح LED 4 ، تكون النتيجة 4.

قد يرغب المدربون في التفكير في ما يلي من خلال هذا الدرس الصعب في الحلقات المتداخلة:

  1. اطلب من الطلاب تتبع القيمة أو التكرار الموجود في الحلقة الخارجية وكذلك ما تفعله الحلقة الداخلية يمكنهم استخدام ورقة وقلم رصاص أو أزرار أو أي شيء كما يمشي المعلم من خلال التعليمات البرمجية. ضع في اعتبارك أن القيمة الأولية للحلقات هي صفر ، مما لا شك فيه أن هذا سيجعل الأمور مربكة قليلاً للطلاب في البداية.
  2. هناك العديد من الطرق لشرح الحلقات المتداخلة. قد تكون إحدى الأفكار المتقاربة هي مكان العشرة في الرياضيات مكان 10s سيكون الحلقة الخارجية والمكان سيكون حلقة الداخلية إذا كنت تستخدم هذا المثال الرياضيات سيكون هناك عشرة منها لكل تكرار للحلقة الخارجية انظر للمثال if needed:
  3. 
    basic.forever(() => {
        for (let Tens = 0; Tens <= 9; Tens++) {
            for (let Ones = 0; Ones <= 9; Ones++) {
                if (Ones + 1 < 10) {
                    basic.showNumber(Ones + 1)
                }
            }
            basic.clearScreen()
            basic.pause(500)
            basic.showNumber(Tens + 1)
            basic.showString(" Tens")
        }
    })
          
  4. حاول شرح استخدام أمثلة من الحياة الواقعية أيضًا ، مثل تنظيف أسنانك بالفرشاة ينظف معظم الناس أسنانهم ثلاث مرات في اليوم. ستكون الحلقة الخارجية أيامًا ، وتكون الحلقة الداخلية في كل مرة تقوم فيها بتنظيف أسنانك في يوم معين. الحلقة الخارجية سوف تمر 7 مرات والداخلي يمر 3 مرات.
  5. ستوجه التحديات وأسئلة الاختبار الطلاب للعثور على إجابات لاتجاه واحد فقط. على سبيل المثال ، قد يقول سؤال إظهار النتيجة مع LEDs على الجانب الأيمن ومع ذلك ، إذا تجاهلت هذه الحقيقة ، فهناك طريقتان على الأقل للوصول إلى نتيجة مناسبة في لوحة النتائج المناطق اليسرى والعليا هي أكثر الاتجاهات وضوحا حيث قد تظهر النتيجة. قد ترغب في تحدي الطلاب للعثور على طرق أخرى للحصول على النتيجة المطلوبة عن طريق تغيير المواقع التي يجب أن تظهر النتيجة فيها. هذا ما تطلب منه الممارسة المستقلة القيام بذلك ، وقد يكون من المفيد جعلهم مستعدين لذلك. الهدف العام هو تمكين الطلاب من تجربة كيفية تفاعل هذه الحلقات مع بعضهم البعض. ما أفضل طريقة للقيام بذلك من خلال الحصول على إجابات متعددة لنفس السؤال؟
  6. قد ترغب في الوصول إلى الموضوع من خلال عرض صور للأشياء التي ستسجلها. قم بإجراء منافسة حقيقية واجعل الطلاب يصنعون نتائجهم الخاصة لمنافسيهم. ثم يمكنهم ابتكار قصة لمعرفة ما حدث في المسابقة أو اللعبة التي يسجلونها.

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

خلفية

يُشجع الطلاب أولاً و بشكل كبير على إكمال التالي:

المعلم يشجع الطلاب بشكل كبير على إكمال التالي:

دليل المعلم

افتح افتح teacher resources

نشاط

ما ستحتاج إليه

  • ١- مايكروبيت (micro:bit)
  • ١- سلك USB
  • ١-AAA مجموعة بطاريات (اختياري)
  • ٢-AAA بطاريات (اختياري)

التوضيحات

for (let index = 0; index <= 4; index++) {}

طالما

قم بتشغيل جزء من البرنامج عدد المرات التي تقولها.

basic.forever(() => {})

الى الابد

Keep running part of a program in the background.


let item =0
item=0
            

setltem

استخدام علامة يساوي لعمل مخزن متغيرات للأرقام أو سلسلة أرقام تذكرها.

led.plot(0, 0)

plot

Turn on the LED light you say on the LED screen.

4 خطوات

الممارسة الموجهه

سنقوم بتوفير الإرشادات أو البرمجة أون لاين للمايكرو:بت (micro:bit). بعد ذلك، انتقل إلى https://makecode.microbit.org

let Column = 0
let Row = 0
Row = 1
Column = 4
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})

هذه التعليمة البرمجية تضم اثنين من الحلقات

وتظهر اثنين من الحلقات الحلقات المتداخلة. وهذا يعني أن هناك حلقة وداخل أن حلقة أخرى.

الحلقة الخارجية تمثل صف المصابيح. في حالته الراهنة ، سوف يمر الرمز مرتين (0-1)

أخيرا هناك حلقة داخلية تمثل عمود المصابيح. في حالته الراهنة ، سيضيء الرمز 5 مؤشرات LED في كل صف (0-4)

مهمتنا هي تسجيل شيء ما. You choose the theme and what we score! يمكن أن يكون أي مسابقة واختيار موضوع سيحبه طلابك بالتأكيد سيكون النشاط أكثر متعة. بعض الأفكار هي مسابقة الأمواج ، لعبة البيسبول ، مسابقة الكلاب ، أو حتى مسابقة الخبز. The micro:bit will be the scoreboard. Each score will be shown by the number of LEDs that are lit up.

The finished code is available here.

التحديات

التحدي رقم ١

Change the score to 9 points. Try to show your score as close to the left side of the micro:bit as you can.

عرض التعليمات البرمجية

let Column = 0
let Row = 0
Row = 2
Column = 2
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

The finished code is available here.

التحدي رقم ٢

Change the score to 15 points. Try to show your score as close to the left of the micro:bit as you can.

عرض التعليمات البرمجية

let Column = 0
let Row = 0
Row = 4
Column = 2
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

The finished code is available here.

التحدي رقم ٣

Change the score to 16 points.

عرض التعليمات البرمجية

let Column = 0
let Row = 0
Row = 3
Column = 3
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

التعليمة البرمجية النهائية هنا

Challenge 4

إظهار درجة الكمال من 25! يجب أن تكون جميع المصابيح مضاءة! محاولة لإظهار درجاتك أقرب إلى يسار المايكروبيت (micro:bit) كما يمكنك

عرض التعليمات البرمجية

let Column = 0
let Row = 0
Row = 4
Column = 4
basic.forever(() => {
    for (let RowCounter = 0; RowCounter <= Row; RowCounter++) {
        for (let ColumnCounter = 0; ColumnCounter <= Column; ColumnCounter++) {
            led.plot(ColumnCounter, RowCounter)
        }
    }
})
          

رمز الانتهاء متاح هنا ..

التطبيق الفردي

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

اختبار قصير

السؤال ١

ما هي حالة الحياة الحقيقية التي تناسب حلقة متداخلة؟

اظهر الاجابة

الأجوبة ستختلف. مثال واحد هو أغنية. الآيات هي الحلقة الخارجية والجوقة هي الحلقة الداخلية. غنى الآية ثم كرر

السؤال ٢

هل من السهل إظهار رقم فردي؟

اظهر الاجابة

نعم فعلا. هناك عدة طرق. قد يكون أحد فقط إظهار الصف الأول أو العمود الأول فقط. من شأنه أن يكون 5.

السؤال ٣

لماذا يتم استخدام الحلقات؟

اظهر الاجابة

يتم استخدام الحلقات لتكرار التعليمات البرمجية في نقطة محددة واحدة من البرنامج

Selecting this opens external content from our support system, which adheres to their privacy policy.