コウです、よろしくお願いします!
今回からは、アルゴリズムユニットをやっていきたいと思います。
それではDay43コードを学ぼう1「右手法」の攻略になります!!
解答例と解説
解答例と解説を確認していきます!
解答例
コードの解答例は以下のようになります。
解答例を動画で確認する
上記のコードを実行した結果がこちらになります。
ステージ攻略「右手法」
攻略
ステージを攻略していきましょう!
アルゴリズムとは
このユニットの題名になっているアルゴリズムという言葉、
聞いたことはありますがどういう意味なんでしょう?
このユニットの「はじめに」では、
「アルゴリズムとは、問題を解決するために使われる一連のルールや指示のことです」
と紹介されています。
問題を解決するコードはこれまで書いてきましたよね!
つまり無意識のうちにアルゴリズムを作り出していたということです!!
疑似コード
説明文の中に擬似コードという言葉が出てきました。
アプリの説明によると、「アルゴリズムを読みやすく説明したもの。大抵は、ふだん使う言葉とコードの両方を組み合わせて書きます。」とあります。
そして日本語で書かれたコードがあります
いつもコードを書いているような形でコマンドを使わずに日本語で書いてあります。
このように擬似コードを作ることでこれから作りたいアルゴリズムについて整理することができるんですね!
ワイヤーフレーム
ではワイヤーフレームの確認をしましょう!
ワイヤーフレームについて詳しくはこちらから↓
コードを実行すると並んでいる壁の長さが変わります。
長さが変わっても最短距離で曲がって宝石を取りながら進んでいけるようにしたいですね!
左の画像のようなコードが初めから入力されています。
擬似コードと照らし合わせると、whileの後の条件「!isOnGem」が間違っていそうです。
擬似コードでは「切れているスイッチの上にいない間は」なので、「!isOnClosedSwitch」が正しいですね!
同じように擬似コードの日本語部分をコマンドに置き換えていけばクリアできます!!
まとめ
アルゴリズムユニットはいかがでしたか?
特に新しいコマンドは出てきませんでしたが、
擬似コードを参考にしてコードを書きました。
これは新しい方法で、使ってみると楽にコードが書けましたね!
- アルゴリズムとは問題を解決するためのコード
- 擬似コードを使うと書きたいアルゴリズムについて整理できる
次回はDay44「アルゴリズムを直す」でお会いしましょう!ではまた!!