300000
English | Français | فارسی | 中文 | Українська | Azerbaijani | ខ្មែរ | Tiếng Việt | Bahasa Melayu | Deutsch | O'zbek | РусскийTurtle Walk
G'alabalarning umumiy soni: 131979
Blockly nima?
Blockly - bu bloklar bilan kodni yaratishning vizual usuli. Bu kodlashni o'rganish va yaxshi kod yaratishning ajoyib usuli. Siz bu haqda ko'proq ma'lumotga ega bo'lishingiz mumkin shu yerda. Siz ham sinab ko'rishingiz mumkin Blockly o'yinlari bolalar uchun bu yerda.
Qanday o'ynaysiz?
Bu erda siz toshbaqani suv havzasiga ko'chirish uchun kod yaratasiz. Buning uchun siz o'rtadagi kulrang qutidan bloklarni sudrab olish uchun sichqonchadan foydalanasiz va ularni boshlang'ich blokga ulanasiz. "Run" tugmasini bosganingizda, u Start bloki ostida qilgan kodni ishlatadi. Jumboqning mumkin bo'lgan echimlaridan birini ko'rish uchun Echim tugmasini bosing, eng qisqasi emas.
Qanday qilib g'alaba qozonasiz?
Sizning kodingiz toshbaqani suv havzasiga ko'chirganda g'alaba qozonasiz. Buni cheklangan miqdordagi bloklar bilan qilishingiz kerak bo'lsa, o'yin qiyinroq.
Yangi boshlanuvchilar uchun
Kod nima?
"Kod" qattiq, qo'rqinchli yoki sirli ko'rinishi mumkin, ammo u emas.
Aslida, siz har doim koddan foydalanishingiz xavfsiz garov! Agar siz hech qachon ilovadan foydalangan bo'lsangiz, ekranda o'yin o'ynagan bo'lsangiz, tugmani bosgan bo'lsangiz, unda siz koddan foydalangansiz. Kod - bu qurilmangiz (telefon, planshet, kompyuter, konsol) o'qish va unga rioya qilishni biladigan ko'rsatmalar ro'yxati.
Blockly sizga kod yaratish va o'zgaruvchilar, funktsiyalar, loops va boshqalar kabi kodlash printsiplari bilan o'ynashga imkon beradi. Bular kompyuter dasturchilari va ilova / o'yin ishlab chiquvchilari har kuni o'z ishlarida foydalanadigan g'oyalar.
"Yaxshi" kodi nima?
Birinchidan, kod nima qilishi kerak bo'lsa, yaxshi! Bu "to'g'ri" degan ma'noni anglatadi. Ushbu o'yinda, kaplumbağa suv havzasiga etib borganda sizning kodingiz "to'g'ri". Biroq, buni amalga oshirishning bir nechta "to'g'ri" usuli mavjud. Aytaylik, toshbaqa hovuzga borish uchun tekis chiziqda borishi kerak.
Bu erda bitta to'g'ri kod:
Boshlash:
⇧ oldinga borish ⇧
⇧ oldinga borish ⇧
⇧ oldinga borish ⇧
⇧ oldinga borish ⇧
⇧ oldinga borish ⇧
Ushbu kod to'g'rimi?
Ha, kaplumbaz hovuzga tushadi, shuning uchun bu to'g'ri.
Bu vazifa uchun eng yaxshi kodmi?
Yo'q. Yaxshi kod ham samarali bo'lishi kerak: vazifani iloji boricha kamroq kodda (eng kam bloklarda) bajarishi kerak. Kaplumbaz, shuningdek, eng to'g'ri yo'nalishni tanlashi kerak. Albatta, hozirda faqat bitta yo'l mavjud, ammo keyingi misolda ko'rib turganimizdek, ba'zan bir nechta qisqa javob mavjud.
Xuddi shu vazifani kamroq bloklar bilan qanday bajarish mumkin?
Loop bloki siz ichiga qo'ygan narsalaringizni xohlagancha takrorlaydi.
Xuddi shu narsani qilish uchun loopdan qanday foydalanishingiz mumkin?
Yaxshiroq kod quyidagicha ko'rinadi:
Boshlash:
5 #x21BA takrorlash #x21BA&
⇧ oldinga borish ⇧
Ushbu kod boshqa jihatdan yaxshiroq. Qanday qilib ko'ryapsizmi? Aytaylik, suv havzasi 10 qadam narida bo'lish o'rniga, 100 qadam uzoqlikda.
Kaplumbazni 10 o'rniga 10 qadam ko'chirish uchun nimani o'zgartirish kerak?
"Oldinga borish" blokini 90 marta qo'shish o'rniga, siz faqat bitta narsani o'zgartirishingiz kerak: loop blokidagi raqam. Ushbu kod yaxshi, chunki u to'g'ri, samaraliroq va uni tuzatish / o'zgartirish oson.
Boshlash:
100 #x21BA marta takrorlash ↺
⇧ oldinga borish ⇧
Qanday turdagi loop bloki "takrorlash" loop blokidan ham osonroq kattalashadi?
"Qilguncha bajaring" sikl bloki. Bu takroriy blokdan ko'ra osonroq o'sadi, chunki 5 qadam oldinga yoki 100 qadam oldinga yoki hatto 1000 qadam oldinga, kod bir xil bo'ladi:
Boshlash:
↺ hovuzgacha ↺
⇧ oldinga borish ⇧
Yana bir misol: Ushbu kodni yaxshiroq qila olasizmi?
Bu erda kaplumbaz suv havzasiga borish uchun "zinapoya" ga ko'tarilishi kerak. Quyida uni u erga olib borish uchun ba'zi kodlar mavjud. Bu to'g'ri, lekin juda yaxshi emas. Siz uni yaxshiroq qila olasizmi? Esingizda bo'lsin, yaxshi kod to'g'ri, samarali va tuzatish / o'zgartirish oson bo'lishi kerak.
Boshlash:
⇧ oldinga borish ⇧
← chapga buriling ←
⇧ oldinga borish ⇧
→ o'ngga buriling →
⇧ oldinga borish ⇧
← chapga buriling ←
⇧ oldinga borish ⇧
→ o'ngga buriling →
⇧ oldinga borish ⇧
← chapga buriling ←
⇧ oldinga borish ⇧
Javob berish
Kodda "oldinga borish + o'ngga burilish + oldinga borish + chapga burilish" bloklarini qayta-qayta takrorlaymiz. Agar biz ushbu bloklarni bir loop ichiga qo'ysak, kod qisqaroq va samarali bo'ladi.
Boshlash:
↺ hovuzgacha ↺
⇧ oldinga borish ⇧
← chapga buriling ←
⇧ oldinga borish ⇧
→ o'ngga buriling →
Ushbu kodni qanday moslashtirishingiz mumkin?
Mana bir oz boshqacha zinapoya. Bu erda ishlatish uchun kodingizni qanday o'zgartirishingiz mumkin?
Javob berish
Eski kodingizni saqlab qolishingiz mumkin: u xuddi shu narsani qiladi va kaplumbaz hali ham hovuzga tushadi. Bu holatda, kaplumbaz yuqoriga ko'tarilib, devorga uriladi, so'ngra harakatni davom ettiradi. Ammo kaplumbağa ko'proq aylanma yo'lni bosib o'tadi va qodir bo'lmaganda yuqoriga ko'tarilishga harakat qiladi. Buning o'rniga, quyida ko'rsatilganidek, loop ichida ikki marta "oldinga borish" ni qo'shishingiz mumkin. Ko'rib turganingizdek, ushbu versiyada eng qisqa ish kodiga ega bo'lish, eng yaxshi echim emas, chunki kaplumbaz suv havzasiga borish uchun ko'proq vaqt talab etadi.
Boshlash:
↺ hovuzgacha ↺
⇧ oldinga borish ⇧
⇧ oldinga borish ⇧
← chapga buriling ←
⇧ oldinga borish ⇧
⇧ oldinga borish ⇧
→ o'ngga buriling →
Xulosa
Blockly bilan kod yaratishdan zavqlaning! To'g'ri, samarali va o'zgartirish yoki tuzatish oson bo'lgan yaxshi kod yaratishga harakat qiling.
Umumiy strategiya
Yo'lni faqat oddiy yo'nalishli qadamlar bilan dasturlashni boshlang (masalan, oldinga borish, burilish).
Keyin, looplarga qo'yilishi mumkin bo'lgan takroriy ketma-ketliklarni tekshiring. Agar ketma-ketliklar o'xshash bo'lsa, lekin bir xil bo'lmasa, qadamlarni devorga urish kabi hech qanday ta'sirsiz qisqaroq ketma-ketlikka qo'shish mumkinligini tekshiring, shunda bu endi teng ketma-ketliklar kerak bo'lganda ko'p marta bajariladigan bir xil tsikl bilan almashtirilishi mumkin.
Funksiyalar
Turtle Walk-da 2 turdagi pastadir bloklari mavjud.
[X] tay(lar) takrorlash
Loop uni bajarishda nima sodir bo'lishidan qat'i nazar, belgilangan sonli marta bajariladi.
Suv havzasigacha ...
Kaplumbağa hovuzga etib borguncha loop amalga oshiriladi.
Ichiga joylash
Siz halqalarni boshqa halqalar ichiga joylashtirishingiz mumkin, hattoki If...Then...(Else) shartini tsikl ichida joylashtirishingiz mumkin.
Kamroq bloklarga muhtoj bo'lish uchun fokuslar
Yaxshiroq, qisqa kodni yaratish uchun quyidagilarni sinab ko'ring (Misollar uchun bosing):
Agar harakatlar takrorlansa, ularni loop ichiga qo'ying.
3-yurishda kamroq bloklarni ishlatish uchun qanday qilib loopdan foydalanishingiz mumkin?
"Oldinga + chapga + oldinga + o'ngga buriling" amallarini takrorlash uchun tsikldan foydalaning.
Spirallarda harakat qiling
8-yurishni faqat 4 blok bilan hal qilish mumkin. Qanday qilib?
Hovuzga borish uchun toshbaqa faqat oldinga borishi va to'g'ri burilish qilishi kerak va bu harakatlarni takrorlanuvchi halqalar ichiga joylashtirish mumkin. Toshbaqa o'ngga burilib, birinchi marta devorga yugurishga harakat qiladimi, muhim emas: keyingi marta u o'ngga burilsa, u oldinga siljishi mumkin bo'ladi. Biz bu harakatni faqat bir yo‘nalishda (o‘ngga yoki chapga) burilish va oldinga siljish kabi spiral sifatida tasavvur qilishimiz mumkin.
Zinapoyalarda harakat qiling
9-yurish faqat 5 blok bilan hal qilinishi mumkin. Qanday qilib?
Kaplumbaz pastki o'ng burchakdan yuqori chap burchagiga o'tishi kerak. U diagonal ravishda to'g'ridan-to'g'ri harakatlana olmaydi, shuning uchun zinapoya shakliga amal qilishi kerak (bu holda chap, yuqori, chap, yuqoriga). O'tish yo'li mukammal zinapoya bo'lmasa ham, bu ishlaydi. Shunga qaramay, kaplumbağa yo'l davomida devorlarga urilsa muhim emas.
Spirallar va zinapoyalarni birlashtiring
12-yurishni faqat 9 blok bilan hal qilish mumkin. Qanday qilib?
Birinchidan, "Spiral" namunasiga amal qiling. Ya'ni, loop ichida bir yo'nalishga (o'ngga) burilib, iloji boricha oldinga harakat qiling (yuqori raqamni tanlang, bu erda 5 ishlaydi - yana, devorga urish kaplumbağaga zarar bermaydi).
Endi toshbaqa, hovuzga boradigan yo'l mukammal zinapoya shaklidagi yo'l bo'lmasa ham, "zinapoya" naqshiga amal qilishi mumkin. Hovuzga erishish uchun chapga va yuqoriga qayta-qayta harakatlaning.
"Agar yo'l" bloklaridan foydalaning.
5-yurishni faqat 4 blok bilan hal qilish mumkin. Qanday qilib?
"Suv havzasigacha qiling" blokini "agar yo'l to'g'ri bo'lsa" bloki bilan birlashtiring, shunda kaplumbağa imkon berganda o'ngga buriladi, aks holda oldinga siljishda davom etadi.
Turli xil qiyinchiliklar
Iltimos, bizning keng ko'lamli yurishlarimizdan qiyinchiliklarni sinab ko'ring. Ularning ba'zilari faqat bitta yo'lakka ega, boshqalari esa filiallanadi. Ba'zilarida tuzoqlar va bog'langan eshiklar, eshiklarni ochish uchun kalitlar, to'siqlar bilan ochiq joylar yoki o'tish uchun labirentlar mavjud.
Ba'zi toshbaqa yurishlari labirentga o'xshaydi
Masalan, 36, 44, 48-yurishlar juda oddiy labirentdir.
Tasavvur qiling-a, siz atrofingizdagi devorlar ko'zingizni to'sib qo'yadigan labirentga tashlanganingizni tasavvur qiling - siz qo'llashingiz mumkin bo'lgan qochish strategiyasi nima?
Oddiy strategiya o'ng yoki chap devorga amal qilishdir.
Bunday strategiyani qanday dasturlash mumkin?
Maslahat: Faqat 6 blok kerak, biz buni tushunishga imkon beramiz.
Ba'zi yurishlar uchun, bir devorga ergashish toshbaqani tuzoqqa olib keladi, ikkinchisi esa uni suv havzasiga olib boradi, masalan. 44 yurish.
Bu strategiya qachon butunlay muvaffaqiyatsizlikka uchraydi?
Misol - Walk 10. Kaplumbağa chap yoki o'ng devorga ergashadimi, u hech qachon hovuzga etib bormaydi.
Matematik masala nima?
Bu usul yopiq pastadir mavjud bo'lganda va kaplumbaz pastadir ichida va hovuz tashqarisida yoki aksincha. Har ikki holatda ham, kaplumbaz bir devorga ergashganda hech qachon hovuzga etib bormaydi.
Ushbu strategiya muvaffaqiyatsiz bo'lganda nima qilishingiz mumkin?
Bunday holatlarda, devorga borishdan oldin boshqa qadamlarni bajarishga yoki devorlarni almashtirishga yoki bir muncha vaqt devorga ergashib, keyin suv havzasiga erishish uchun boshqa qadamlarni bajarishingiz mumkin.
Shu tarzda dasturlashtirilishi mumkin bo'lgan yurishlarni ko'ryapsizmi?
Follow or subscribe for updates: