「ハッカソン」という言葉を聞いたことはありますか?
特定のテーマに対してチームで考え、時間内にアプリケーションなどを作成し、その成果を競うイベントのことを言います。
しかし、いきなり仲間と共に参加するのは、なかなか勇気がいると思います。
そこで、この記事ではオンラインゲームを利用して「ひとりハッカソン」を体験してみようと思います。
興味がある人は、ぜひ一緒に挑戦してみてくださいね。
オンラインハッカソンについて
まず、今回使用するプログラミングゲームを紹介します。
「paiza(パイザ)」というオンラインでプログラミングを学習出来るサービスがあるのですが、その中にゲーム感覚で楽しくプログラミングを学ぶことのできるコンテンツがあります。
たくさんのコンテンツがありますが、ここでは「プログラミングで彼女をつくる」というゲームを遊びながら、スクラッチでハッカソンを体験してみたいと思います。
paizaでプログラミングを学習したい時は、アカウントを作る必要があるので、興味がある人は、おうちの人と一緒に作成してみてくださいね。
この記事の内容は、アカウントを作成しなくても読み進められるようにしていきます。
問題を見てみよう
問題は一見すると難しく感じてしまうかもしれませんが、落ち着いて読んで、整理することで分かりやすくなります。
- 入力される値(n):1〜10までのいずれかの数が入力され、nという変数に格納されるという意味
- 期待する出力:Annという単語をn回繰り返すという意味
n=3の場合、AnnAnnAnnと出力されれば正解
要点を文字で書き出してみると、そんなに難しくないことがよく分かりますね。
paizaのオンラインハッカソンでは、この問題を自分の好きなプログラミング言語で解くことが出来、回答を自動で採点してくれます。
人気の言語は、Java(ジャバ)、PHP(ピーエイチピー)、Ruby(ルビー)、Python(パイソン)、C(シー)などが挙げられますが、その他にもたくさんの言語がありますので、気になる人は調べてみてくださいね。
残念ながら、paizaは、スクラッチには対応していませんが、プログラミングの基本が分かっていれば、解くことは可能ですので一緒にやってみましょう。
スクラッチで問題を解いてみよう
スクラッチで入力を受け付ける場合、調べるブロックを使うことになります。
「数字を入力してください(1〜10のどれか)」と聞くことで、入力すべき値が分かりやすくなります。
最後のAnn…の出力は「言葉と言う」ブロックを使って実現しようと思います。
早速ですが、上のコードが答えです。
コードの意味をよく考えて理解してくださいね。
せっかくなので、動作確認もしてみましょう。
5と入力して「AnnAnnAnnAnnAnn」と出力されたら正しいプログラムになっています。
プログラミング言語で解いてみる
上の画像は、同じ問題をPythonというプログラミング言語で解いたコードです。
意外なことに、スクラッチでは8行のコードだったものが、青枠の中のたったの2行で作成することが出来てしまいました。
しかも、一度スクラッチで解いているので、コードを見ただけで、なんとなく意味が分かるのではないでしょうか?
提出する際には、「’数字を入力してください(1〜10のどれか)’」の文字を削除します。
(そうしないと、自動採点で不正解と言われてしまうため)
このように、提出前動作確認を行なってから提出します。
無事正解すると、この問題はクリアとなります。
まとめ
オンラインハッカソンが体験できるゲームについて紹介しました。
いきなり、プログラミング言語で解くのは難しいですが、スクラッチを使って解くことで、意味を理解しやすくなるはずです。
このように、出題された問題をプログラミングで解いて解決する、という練習をすることで、プログラミングはどんどん上達します。
今回使用した「プログラミングで彼女をつくる」のゲームには問題がまだまだいくつもありますので、次の機会には別の問題を解いてみようと思いますのでお楽しみに( ´ ▽ ` )
コメント