はじめに
みなさん、おはようございます!
本記事は「やりたいことからRubyを最速で学ぶ」の第2回です。
この連載記事では、「オリジナルプログラム作成」を通じて手を動かしながらRubyの基礎を理解する、積極的に「アウトプットをしていこう!」という記事です。
もちろんインプットも大事です。が、それ以上にアウトプットが重要です。
今回は、第1回の記事で触れたフローチャート(みたいな図)をもとに機能を分解する方法を説明する予定でしたが、その前にフローチャート(風)の書き起こし方を説明します。
対象となる読者
本記事では、「プログラミング初心者」「何か作ってみたい!」という人たちを対象としています。
連載記事なので、まだ第1回の記事を読んでいない方はまずこちらをお読みください。
【アウトプット】やりたいことからRubyを最速で学ぶ・その1「作りたいものを考える」 - Qiita
この記事で学ぶこと
本記事では、第1回の記事で書き起こしたフローチャート(みたいな)作成に関する以下の知識を学びます。
- 構造化プログラミング
この知識を理解し、応用することで複雑な処理の流れを読みやすく、かつ分かりやすくなるはずです。
短めの内容ですが、ときどきお茶休憩を挟みつつ進めるようにしてくださいね。
動作環境
- Ruby 2.6.6
構造化プログラミング
まず、構造化プログラミングとは何か?
「構造化プログラミングは、プログラムを機能単位の部品に分けて、その組み合わせによって全体を形作る考え方です。」(きたみ、2020、p.539)
構造化プログラミングでは、基本的に下記の3つの制御構造だけを使ってプログラミングを行います。
- 順次構造(上から順番に処理を実行する)
- 選択構造(何かしらの条件によって分岐させ、いずれかの処理を実行する)
- 繰り返し構造(ある条件が満たされるまで、一定の処理を繰り返す)
ゲームの流れを言語化する
構造化プログラミングの3つの制御構造を理解したところで、次にゲームの流れを言語化します。
今回は「あっち、むいて、ホイっ!」のゲームを参考にして、大まかな流れを書き出します。
ゲーム開始 ⇨ ユーザー上下左右の選択 ⇨ コンピュータ上下左右の選択 ⇨ ユーザー勝敗 ⇨ 続行 ⇨ ゲーム終了
書き出した大まかな流れを、上記で説明した制御構造に当てはめると、、、ドン!
順次構造、選択構造、繰返し構造を組み合わせたフローチャートです!
今回のゲームでは3つの構造を組み合わせた結果になりましたが、内容によっては1つだけだったり、2つ組み合わせたものだったりするはずです。
まとめ
いかがだったでしょうか?
今回は、かなり短めの内容でした。
本記事では、以下のようなことを学びました。
- 構造化プログラミング
- 順次構造
- 選択構造
- 繰返し構造
- ゲーム流れの言語化
今回の内容を理解できれば、フローチャート作成のバリエーションが増えてくるはずです!
次回の記事では、「機能の分解」を説明する予定です(今度こそ)。
やりたいことからRubyを学びたい!という読者の方は、次回以降の記事も引き続き読んでやってください。
最後までご覧いただきありがとうございました(^-^)/
参考本
- キタミ式イラストIT塾 基本情報技術者