前回はプログラミング体験ゲーム「アルゴロジック」のアルゴロジック1のチャレンジ問題「入門」の解答を解説してきました。
今回は、アルゴロジック1 チャレンジ問題「初級」の14問を、解答に加えクリアするための考え方を解説していきます。
アルゴロジックでは、答えは一つではないため色々なクリア方法がありますが、本記事ではなるべく少ないブロックでクリアすると貰える「◎」クリアのルートを解答例に記載します。
アルゴロジックのルールにつきましてはルール解説編をご一読ください。
「初級」の各問題の解答と考え方
初級編では、入門編でやった基本的な動作に加え、応用の要素が含まれてきます。
繰り返し処理がキーとなってきますので、どこを繰り返していくかを注意深く観察してクリアの道筋を見つけましょう。
08 十字
画像引用:JEITA
1つの旗を取り、その動きを繰り返せばクリアできそうです。
次の旗を取るために、方向転換を入れる所までを動きのかたまりとします。
解答例
画像引用:JEITA
①右2マス移動します
②左2マス移動します
③回転ブロックでロボットを90°回転します
④繰り返しブロックにより同じ動作を4回繰り返します
09 廊下の奥
画像引用:JEITA
こちらも繰り返し処理でいけそうです。
このあたりから、どこをどう繰り返すかの見極めが難しくなってきます。
旗を取るまでのルートはすぐに見えますが、旗を取った後に戻ってくる場所、つまり次の繰り返しを開始する地点をどこにするかがポイントとなります。
解答例
画像引用:JEITA
①まっすぐ2マス移動します
②左3マス移動します
③左4マス移動します
④繰り返しブロックにより同じ動作を4回繰り返します
10 左右に並ぶ部屋
画像引用:JEITA
こちらは下から左右の旗を取り、上に向かって繰り返していきます。
次の繰り返し処理の開始地点を見極め、そこに戻ってくるまでを動作のかたまりとします。
解答例
画像引用:JEITA
①まっすぐ2マス移動します
②左2マス移動します
③右4マス移動します
④左2マス移動します
⑤繰り返しブロックにより同じ動作を3回繰り返します
11 十字の池
画像引用:JEITA
このステージも、旗を取ってから次の繰り返しの開始位置までの移動を動作のかたまりとします。
次の繰り返し位置の考え方としては、まずはスタート位置~旗までのルートを考えます。そして、次の旗を同じように取るルートのスタート位置を見つけます。あとはそのスタート位置まで移動させます。
この一連が動作のかたまりという事になります。
解答例
画像引用:JEITA
①まっすぐ2マス移動します
②左2マス移動します
③まっすぐ3マス移動します
④回転ブロックでロボットを90°回転します
⑤繰り返しブロックにより同じ動作を4回繰り返します
12 回廊と階段
画像引用:JEITA
このステージはこれまでと違って2つの繰り返しを使用します。
ぐるりと回る動作と、階段状にジグザグ移動する動作と、動作のかたまりを2種類考えてみましょう。
解答例
画像引用:JEITA
①まっすぐ8マス移動します
②回転ブロックでロボットを90°回転します
③繰り返しブロックにより同じ動作を3回繰り返します
④まっすぐ2マス移動します
⑤右2マス移動します
⑥繰り返しブロックにより同じ動作を3回繰り返します
13 うずまき
画像引用:JEITA
一見、卍のようなステージでどこを繰り返し動作とするかぱっと見でわかり辛いです。
これまでは旗を取ってから次の繰り返しのスタート位置まで移動することを考えていました。しかしこのステージでは開始時のロボットの位置と旗の位置(次の繰り返し動作の開始位置)とが一致してるので、旗の位置まで移動と方向転換を動作のかたまりとして繰り返してみましょう。
解答例
画像引用:JEITA
①まっすぐ4マス移動します
②右4マス移動します
③まっすぐ2マス移動します
④左4マス移動します
⑤回転ブロックでロボットを90°回転します
⑥繰り返しブロックにより同じ動作を3回繰り返します
14 家
画像引用:JEITA
一筆書きでもよくみる図形です。
ここでも色々なルートが考えられますが、「◎」クリアするため、最初のロボットの向きを利用してブロックの数を少なくしましょう。
まっすぐ移動する動作からスタートして、下の四角を繰り返し動作し、屋根の部分を最後に辿ります。
解答例
画像引用:JEITA
①まっすぐ4マス移動します
②回転ブロックでロボットを90°回転します
③繰り返しブロックにより同じ動作を4回繰り返します
④左に2マスとまっすぐ2マスを組み合わせてななめに進みます
⑤右に2マスとまっすぐ2マスを組み合わせてななめに進みます
15 かざぐるま
画像引用:JEITA
このステージで◎クリアするためには、動作のかたまりをどうするかがポイントとなります。
回転(方向転換)の向きを工夫することで、ブロックの数を少なくすることが出来ます。
解答例
画像引用:JEITA
①まっすぐ2マス移動します
②右に2マスとまっすぐ2マスを組み合わせてななめに進みます
③回転ブロックでロボットを270°回転します
④左に4マス移動します
⑤まっすぐ3マス移動します
⑥繰り返しブロックにより同じ動作を4回繰り返します
16 四角いメガネ
画像引用:JEITA
このステージではまず上の四角を繰り返しを使って辿るのを一つの動作のかたまりとし、その動作のかたまりをもう一度繰り返します。
繰り返し処理の中に繰り返し処理を入れてみましょう。
解答例
画像引用:JEITA
①右に3マスとまっすぐ3マスを組み合わせてななめに進みます
②回転ブロックでロボットを270°回転します
③繰り返しブロックにより同じ動作を4回繰り返します
④回転ブロックでロボットを180°回転します
⑤繰り返しブロックにより同じ動作を8回繰り返します
※③で4回繰り返した後に④で180°回転(方向転換)するのがポイントです
17 風車
画像引用:JEITA
ここも動作のかたまりを4回繰り返すのですが、なるべく回転ブロックを少なくしてみましょう。
次の繰り返しの開始時の向きに方向転換してしまうのがポイントです。
解答例
画像引用:JEITA
①まっすぐ4マス移動します
②右2マス移動します
③回転ブロックでロボットを270°回転します
④左2マス移動します
⑤まっすぐ2マス移動します
⑥左2マス移動します
⑦繰り返しブロックにより同じ動作を4回繰り返します
18 組木
画像引用:JEITA
このステージも繰り返し処理を使用します。
開始位置がラインの角ではなく途中からになっていることに注目です。
角まで行きたくなりますが、ステージの開始位置と繰り返しの開始位置が同じになるようにすることを意識しましょう。
解答例
画像引用:JEITA
①左2マス移動します
②まっすぐ2マス移動します
③右2マス移動します
④まっすぐ2マス移動します
⑤回転ブロックでロボットを90°回転します
⑥繰り返しブロックにより同じ動作を4回繰り返します
19 ベース
画像引用:JEITA
このステージは4隅に4つのかたまった旗があるので、順番に4隅を攻めていきたくなります。もちろんそれでもクリアとなりますが、それでは「〇」クリア止まりとなってしまいます。
「◎」でクリアするためには、旗を取るルートを工夫する必要があります。
ヒントは直線的に旗を取り方向転換までを一つの動作のかたまりとして、繰り返し処理を行います。発想の転換が必要です。
解答例
画像引用:JEITA
①まっすぐ1マス移動します
②まっすぐ2マス移動します
③まっすぐ1マス移動します
④回転ブロックでロボットを135°回転します
⑤繰り返しブロックにより同じ動作を8回繰り返します
20 ジグザグ迷路
画像引用:JEITA
このステージも繰り返し処理を使います。
「◎」でクリアするためには、スタート時にロボットの向きが横向きになっているのを下向きに方向転換するのがポイントです。
最初にいきなり方向転換してしまいます。そして繰り返し処理で下に下っていき、最後に旗の方に寄る動作を足してみましょう。
解答例
画像引用:JEITA
①回転ブロックでロボットを90°回転します
②左2マス移動します
③まっすぐ2マス移動します
④左2マス移動します
⑤まっすぐ2マス移動します
⑥繰り返しブロックにより同じ動作を3回繰り返します
⑦左2マス移動します
※②③④⑤を動作のかたまりとして繰り返します。
21 田
画像引用:JEITA
チャレンジ問題「初級」の最後のステージです。
うまく繰り返し処理を使いたいですが、どの動作を繰り返したら良いでしょうか。先ほどの問題20の「ジグザグ迷路」でもありましたが、普通の矢印ブロックでの動作+一部繰り返し処理を使うという合わせ技でクリアしていくのがポイントです。
ぐるりと繰り返し処理で周りの旗を取ってから、最後に中央の旗を取る動作を足してクリアします。
解答例
画像引用:JEITA
①左4マス移動します
②まっすぐ4マス移動します
③回転ブロックでロボットを90°回転します
④繰り返しブロックにより同じ動作を4回繰り返します
⑤まっすぐ4マス移動します
アルゴロジック1 チャレンジ問題「初級」まとめ
今回はチャレンジ問題の初級編を解説しました。
単純に同じ動作を繰り返すだけではなく、縦横ななめの普通の動作と繰り返しを組み合わせる必要が出てきたりと、応用力が必要になってきます。
応用編でも記載しましたが、プログラミングにおいて答えは一つではありません。
このアルゴロジックでは、より少ないブロックでクリアすると「◎」が付きますが、
最初から最適なルートを完璧に考える必要はありません。
まずは思うままにブロックを置いてみて、「あ、ここが繰り返せそうだな」とか「ここは短縮できそうだな」という事に気付いて、後から修正していくのも良い事です。
むしろそのようなひらめきこそが大事だと私は思います。
プログラミングでは、このように後から内部構造を整理する事を「リファクタリング」と言います。
少しずつ難易度が上がってきますが、色々試行錯誤してみて「◎」のパーフェクトを目指しましょう!
次は【アルゴロジック1】解答編 チャレンジ問題の「中級」を解説していきます。
コメント
何をしてんの!
マジでわかりやすいそしてマジで最高ですよ‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼
マジでわかりやすいそしてマジで最高ですよ。‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼
とても分かりやすく、簡単に解くことができました。ありがとうございます。
アルゴロシックっていいです‼️
簡単wwww
コメントはなんでもかいていいとおもわないでください、きづきます
傷付きますやめてください
コメントはなんでもかいていいとおもわないでください。
傷付きますやめてください
悪口いわないでください。
酷い事言うななーにやってるん❓やめろよ の人
アルゴロジック2の回答も載せてください!
アルゴロジック2の回答も載せてください!いつもあ苦戦しているので。
分かりやすかった〜
マジでわかりやすいそしてマジ最高‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼‼
すごい
4つの角の旗ができません
○になってしまいます
あ
ハイハイで
ありがとうございます。
↓
よくできてるなと強
く思いました。
なかなか出来な
かったので、すっごく嬉しか
ったです。
たまたま見かけました。
矢印の所を縦読みしてみて!
皆が喧嘩してるわW ま、とにかくよかったわ
?
黙れ
困難なんだと思います。
減・・
のまらま゛まむこらのせまわせのにりへ
喧嘩するな
そうだそうだ
黙れ黙れ
わかりやすかったです。
それ思う
バカ黙れ
suge-
変態
つ
何でそうなるの?
よく解決法がわかりましたね
ウンコ
モラセ
キモ
じょうきゅうのチャレンジの全部のやり方を教えてくださいよろしくお願いします
チャレンジの全部のやりかかたかをおしえて
それわ自分で調べて下さい
むずい
チャレンジの全部のやりかを教えてくださいよろしくお願いします
答えあるよ
楽しかった
すごくやりやすかった!
なんで?
なんで?
わかりました。
もうみんなたらダメこれはいいんだよ怒ったプンプン
そうですか
黙っれ
お前が黙れ
気持ちいい
黙れなど言うな
なーにやってるん? やめろよ
とてもイイ
面白かった