300000
English | Français | فارسی | 中文 | Українська | Azerbaijani | ខ្មែរ | Tiếng Việt | Bahasa Melayu | Deutsch | O'zbek | РусскийTurtle Walk
تعداد بردها: 131976
Blockly چیست؟
Blockly یک راه بصری برای ساخت کد با بلوکها است. این یک راه عالی برای یادگیری کد و ایجاد کد خوب است. شما میتوانید اطلاعات بیشتر در مورد ان را در اینجا بخوانید. شما همچنین میتوانید بازیهای Blockly را برای بچهها در اینجا امتحان کنید.
شما باید چه کار کنید ؟
در اینجا، شما کد برای حرکت لاکپشت به برکه خود را. برای انجام این کار، شما از ماوس خود برای کشیدن بلوکها از جعبه خاکستری در وسط استفاده میکنید و انها را به بلوک شروع متصل میکنید. هنگامی که \"Run\" را ضربه میکنید، کدی را که تحت بلوک Start ساخته اید اجرا میکند. با کلیک بر روی دکمه راه حل برای دیدن یکی از راه حل های ممکن برای پازل، نه لزوما کوتاه ترین.
شما چه موقع برنده میشوید ؟
شما وقتی برنده میشوید که کد شما لاکپشت را به برکه خود منتقل کند. بازی سختتر آن است که شما باید این کار را با تعداد محدودی از بلوکها انجام دهید.
برای مبتدیان
کد چیست؟
\"کد\" ممکن است سخت، ترسناک یا مرموز به نظر برسد، اما اینطور نیست.
در واقع، این یک شرط بندی امن است که شما از کد استفاده میکنید! اگر تا به حال از یک برنامه استفاده کرده اید، یک بازی را روی صفحه نمایش انجام داده اید، روی یک دکمه کلیک کرده اید، از کد استفاده کرده اید. کد فقط لیستی از دستورالعمل هایی است که دستگاه شما (تلفن، تبلت، کامپیوتر، کنسول) میداند چگونه بخواند و دنبال کند.
Blockly به شما اجازه میدهد کد را بسازید و با اصول برنامه نویسی مانند متغیرها، توابع، حلقهها و غیره بازی کنید. اینها همان ایدههایی هستند که برنامه نویسان کامپیوتر و توسعه دهندگان برنامه / بازی هر روز در شغل خود استفاده میکنند.
کد \"خوب\" چیست؟
اول، کد خوب است زمانی که انچه را که باید انجام دهد! این بدان معنی است که \"درست\" است. در این بازی، کد شما \"درست\" است زمانی که لاکپشت به برکه میرسد. با این حال، بیش از یک راه \"درست\" برای انجام این کار وجود دارد. بیایید بگوییم لاکپشت باید در یک خط مستقیم برای رسیدن به برکه برود.
در اینجا یک کد صحیح است:
شروع:
⇧ برو به جلو ⇧
⇧ برو به جلو ⇧
⇧ برو به جلو ⇧
⇧ برو به جلو ⇧
⇧ برو به جلو ⇧
آیا این کد درست است؟
بله، لاکپشت به برکه میرسد، بنابراین درست است.
آیا این بهترین کد برای این کار است؟
نه. کد خوب نیز باید کارآمد باشد: باید کار را در کمترین کد (کمترین بلوک) انجام دهد. لاکپشت همچنین باید مستقیمترین مسیر رو به جلو را انتخاب کند. البته در حال حاضر فقط یک مسیر وجود دارد، اما همانطور که در مثال بعدی خواهیم دید، گاهی اوقات بیش از یک پاسخ کوتاه وجود دارد.
چگونه میتوانید همان کار را با بلوکهای کمتر انجام دهید؟
بلوک حلقه آنچه را که در داخل ان قرار میدهید تکرار میکند، هر چند بار که میخواهید.
چگونه میتوانید از یک حلقه برای انجام همان کار استفاده کنید؟
کد بهتر به این شکل خواهد بود:
شروع:
↺ تکرار 5 بار و #x21BA
⇧ برو به جلو ⇧
این کد از جهات دیگر بهتر است. میبینی چطوری؟ بیایید بگوییم به جای اینکه برکه 10 قدم دورتر باشد، 100 قدم دورتر است.
چه چیزی را باید تغییر دهید تا لاکپشت را به جای 10 قدم 100 قدم حرکت دهید؟
به جای اضافه کردن 90 برابر بلوک \"برو به جلو\"، شما فقط باید یک چیز را تغییر دهید: شماره در بلوک حلقه. این کد خوب است زیرا درست و کارامدتر است و تعمیر / تغییر ان اسان است.
شروع :
↺ تکرار 100 بار و #x21BA
⇧ برو به جلو ⇧
چه نوع بلوک حلقه ای حتی اسان تر از بلوک حلقه \"تکرار\" است؟
بلوک حلقه ای \"انجام دهید تا\" این مقیاس اسان تر از بلوک تکرار میشود زیرا برای 5 قدم به جلو یا 100 قدم به جلو یا حتی 1000 قدم به جلو، کد یکسان خواهد بود:
شروع:
↺ تا برکه ↺
⇧ برو به جلو ⇧
مثال دیگر: آیا میتوانید این کد را بهتر کنید؟
در اینجا، لاکپشت باید از یک \"پله\" بالا برود تا به برکه برسد. در زیر برخی از کد به او وجود دارد. درست است، اما خیلی خوب نیست. میتونی بهترش کنی؟ به یاد داشته باشید، کد خوب باید درست، کارامد و اسان برای تعمیر / تغییر باشد.
شروع:
⇧ برو به جلو ⇧
← به چپ بپیچید ←
⇧ برو به جلو ⇧
→ بپیچ به راست →
⇧ برو به جلو ⇧
← به چپ بپیچید ←
⇧ برو بهجلو ⇧
→ بپیچ به راست →
⇧ برو به جلو ⇧
← به چپ بپیچید ←
⇧ برو به جلو ⇧
پاسخ
در کد، ما بلوکهای \"برو به جلو + چرخش راست + رفتن به جلو + چرخش چپ\" را بارها و بارها تکرار میکنیم. کد کوتاه تر و کارامدتر خواهد بود اگر ما این بلوکها را در یک حلقه قرار دهیم.
شروع:
↺ تا برکه ↺
⇧ برو به جلو ⇧
← به چپ بپیچید ←
⇧ برو به جلو ⇧
→ بپیچ به راست →
چگونه میتوانید این کد را تطبیق دهید؟
در اینجا یک راه پله کمی متفاوت است. چگونه میتوانید کد خود را برای استفاده از ان در اینجا تغییر دهید؟
پاسخ
شما میتوانید کد قدیمی خود را نگه دارید: همان کار را انجام میدهد و لاکپشت هنوز هم به برکه میرسد. در این مورد، لاکپشت سعی میکند حرکت کند و به دیوار برخورد کند و سپس حرکت کند. اما لاکپشت مسیر میدان بیشتری را میگیرد و سعی میکند زمانی که نمیتواند حرکت کند. در عوض، شما میتوانید \"برو به جلو\" را دو بار در داخل حلقه اضافه کنید، همانطور که در زیر نشان داده شده است. همانطور که میبینید، در این نسخه، داشتن کوتاه ترین کد کار لزوما بهترین راه حل نیست، زیرا لاکپشت برای رسیدن به برکه بیشتر طول میکشد.
شروع :
↺ تا برکه ↺
⇧ برو به جلو ⇧
⇧ برو به جلو ⇧
← به چپ بپیچید ←
⇧ برو به جلو ⇧
⇧ برو به جلو ⇧
→ بپیچ به راست →
خلاصه
لذت بردن از ساخت کد با Blockly! اطمینان حاصل کنید که سعی کنید کد خوبی بسازید که درست، کارامد و اسان برای تغییر یا رفع باشد.
استراتژی عمومی
با برنامهریزی مسیر تنها با مراحل جهت ساده شروع کنید (به عنوان مثال به جلو بروید، بچرخید).
سپس، دنباله حرکتهای تکراری را که میتوانند در حلقهها قرار گیرند، بررسی کنید. اگر دنباله حرکتها مشابه هستند اما یکسان نیستند، بررسی کنید که آیا مراحل را میتوان به دنباله کوتاهتر بدون هیچ تاثیری اضافه کرد، مانند کوبیدن به دیوار به طوری که این دنبالههای برابر را میتوان با همان حلقه جایگزین کرد، هر چند بار که لازم است اجرا شود.
حلقه
2 نوع بلوک حلقه در پیادهروی لاکپشت وجود دارد.
تکرار [X] زمان (ها)
حلقه چندین بار اجرا میشود، مهم نیست که در هنگام اجرای آن چه اتفاقی میافتد.
تا رسیدن به برکه ، انجام بده ...
تا وقتی کهلاکپشت به برکه برسد، حلقه اجرا میشود.
تو در تو
شما میتوانید حلقهها و حتی دستور شرطی اگر ... آنگاه... (وگرنه) را در داخل حلقههای دیگر قرار دهید.
ترفندهایی برای نیاز به بلوکهای کمتر
برای ایجاد کد بهتر و کوتاه تر، موارد زیر را امتحان کنید (برای مثال کلیک کنید) :
اگر حرکتها تکراری هستند ، آنها را در یک حلقه قرار دهید.
در کد پیادهروی شماره 3 ، برای استفاده از بلوکهای کمتر ، چگونه میتوانید از یک حلقه استفاده کنید؟
از یک حلقه برای تکرار اقدامات \"برو به جلو + چرخش چپ + رفتن به جلو + چرخش به راست\" استفاده کنید.
حرکت در اسپیرال
Walk 8 را میتوان تنها با 4 بلوک حل کرد. چگونه?
برای رسیدن به برکه ، لاکپشت فقط باید به جلو برود و به سمت راست بچرخد و این اقدامات را میتوان در حلقههای تکراری قرار داد. مهم نیست که لاکپشت به سمت راست بچرخد و برای اولین بار سعی کند به دیوار برخورد کند: دفعه بعد که به سمت راست میچرخد، میتواند به جلو حرکت کند. ما میتوانیم این حرکت را به عنوان یک مارپیچ در نظر بگیریم که تنها در یک جهت (راست یا چپ) میچرخد و به جلو حرکت میکند.
حرکت در راه پله
"Walk را میتوان تنها با 5 بلوک حل کرد. چگونه?
لاکپشت باید از گوشه پایین سمت راست به گوشه بالا سمت چپ برسد. این نمیتواند به صورت مورب به طور مستقیم حرکت کند، بنابراین باید یک الگوی راه پله را دنبال کند (در این مورد چپ، بالا، چپ، بالا). حتی اگر مسیر عبور یک راه پله کامل نباشد، این کار خواهد کرد. باز هم، مهم نیست که لاکپشت در طول راه به دیوارها برخورد کند.
ترکیب اسپیرال ها و پلهها
Walk 12 را میتوان تنها با 9 بلوک حل کرد. چگونه?
اول، یک الگوی \"اسپیرال\" را دنبال کنید. به عبارت دیگر، در داخل یک حلقه در یک جهت (راست) بچرخید و تا آنجا که ممکن است به جلو حرکت کنید (یک عدد بالا را انتخاب کنید، در اینجا 5 کار میکند - دوباره، لاکپشت برای ضربه زدن به دیوار صدمه نمیزند).
در حال حاضر، لاکپشت میتواند الگوی \"پله\" را دنبال کند، حتی اگر مسیر به برکه یک مسیر کامل به شکل پله نباشد. بارها و بارها به سمت چپ و بالا حرکت کنید تا به برکه برسید.
از بلوکهای \"اگر مسیر\" استفاده کنید.
Walk 5 را میتوان تنها با 4 بلوک حل کرد. چگونه?
بلوک \"تا برکه انجام بده \" را با بلوک \"اگر مسیر درست\" ترکیب کنید تا لاکپشت در صورت امکان به سمت راست بچرخد اما در غیر این صورت به جلو حرکت میکند.
چالش های مختلف
لطفا چالش ها را از طیف گسترده ای از پیادهروی های ما امتحان کنید. برخی از انها فقط یک راهرو دارند، در حالی که دیگران شاخه. برخی از انها تلهها و درهای متصل، کلید برای باز کردن درب ها، فضاهای باز با موانع یا پیچ و خم برای عبور دارند.
برخی از معماهای پیادهروی لاک پشت شبیه مازها هستند.
به عنوان مثال، Walks 36، 44، 48 پیچ و خم های بسیار ساده ای هستند.
تصور کنید که شما به یک پیچ و خم پرتاب میشوید که در ان دیوارهای اطراف شما بینایی شما را مسدود میکند - استراتژی فرار چیست که میتوانید اعمال کنید؟
یک استراتژی ساده این است که از دیوار سمت راست یا چپ پیروی کنید.
چگونه چنین استراتژی را برنامهریزی میکنید؟
نکته: فقط به 6 بلوک نیاز دارد، ما به شما اجازه میدهیم ان را کشف کنید.
برای برخی از پیادهروی ها، پیروی از یک دیوار لاکپشت را به یک تله هدایت میکند در حالی که دیگری ان را به برکه هدایت میکند. پیادهروی 44.
چه زمانی این روش به طور کامل شکست میخورد ؟
یک مثال پیادهروی شماره 10 است. اگر لاکپشت هر یک از دیوارهای چپ یا راست را دنبال کند ، هرگز به برکه نمیرسد.
ایراد ریاضیاتی این روش چیست ؟
زمانی که یک حلقه بسته وجود داشته باشد ، این روش شکست میخورد. زیرا ممکن است که لاکپشت داخل حلقه و برکه در خارج آن باشد و یا برعکس. در هر دو مورد، تا وقتی که لاکپشت یک دیوار را دنبال میکند ، هرگز به برکه نمیرسد.
وقتی این ایده شکست میخورد ، چه کاری میتوانید انجام دهید ؟
در این موارد، شما میتوانید سعی کنید برای انجام مراحل دیگر قبل از دنبال کردن یک دیوار، و یا تغییر دیوار، و یا به دنبال دیوار برای یک زمان و سپس انجام برخی از مراحل دیگر برای رسیدن به برکه.
آیا پیادهروی هایی را میبینید که میتوانند از این طریق برنامهریزی شوند؟
برای به روز رسانی عضو شوید و یا ما را دنبال کنید: