0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【アウトプット】やりたいことからRubyを最速で学ぶ・その2「フローチャートを作成する」

Posted at

はじめに

みなさん、おはようございます!
本記事は「やりたいことからRubyを最速で学ぶ」の第2回です。

この連載記事では、「オリジナルプログラム作成」を通じて手を動かしながらRubyの基礎を理解する、積極的に「アウトプットをしていこう!」という記事です。

もちろんインプットも大事です。が、それ以上にアウトプットが重要です。

今回は、第1回の記事で触れたフローチャート(みたいな図)をもとに機能を分解する方法を説明する予定でしたが、その前にフローチャート(風)の書き起こし方を説明します。

対象となる読者

本記事では、「プログラミング初心者」「何か作ってみたい!」という人たちを対象としています。
連載記事なので、まだ第1回の記事を読んでいない方はまずこちらをお読みください。

【アウトプット】やりたいことからRubyを最速で学ぶ・その1「作りたいものを考える」 - Qiita

この記事で学ぶこと

本記事では、第1回の記事で書き起こしたフローチャート(みたいな)作成に関する以下の知識を学びます。

  • 構造化プログラミング

この知識を理解し、応用することで複雑な処理の流れを読みやすく、かつ分かりやすくなるはずです。
短めの内容ですが、ときどきお茶休憩を挟みつつ進めるようにしてくださいね。

動作環境

  • Ruby 2.6.6

構造化プログラミング

まず、構造化プログラミングとは何か?

「構造化プログラミングは、プログラムを機能単位の部品に分けて、その組み合わせによって全体を形作る考え方です。」(きたみ、2020、p.539)

構造化プログラミングでは、基本的に下記の3つの制御構造だけを使ってプログラミングを行います。

  • 順次構造(上から順番に処理を実行する)
  • 選択構造(何かしらの条件によって分岐させ、いずれかの処理を実行する)
  • 繰り返し構造(ある条件が満たされるまで、一定の処理を繰り返す)

programming_structures.png

ゲームの流れを言語化する

構造化プログラミングの3つの制御構造を理解したところで、次にゲームの流れを言語化します。
今回は「あっち、むいて、ホイっ!」のゲームを参考にして、大まかな流れを書き出します。

ゲーム開始 ⇨ ユーザー上下左右の選択 ⇨ コンピュータ上下左右の選択 ⇨ ユーザー勝敗 ⇨ 続行 ⇨ ゲーム終了

書き出した大まかな流れを、上記で説明した制御構造に当てはめると、、、ドン!

flow-chart.png

順次構造、選択構造、繰返し構造を組み合わせたフローチャートです!
今回のゲームでは3つの構造を組み合わせた結果になりましたが、内容によっては1つだけだったり、2つ組み合わせたものだったりするはずです。

まとめ

いかがだったでしょうか?
今回は、かなり短めの内容でした。

本記事では、以下のようなことを学びました。

  • 構造化プログラミング
  • 順次構造
  • 選択構造
  • 繰返し構造
  • ゲーム流れの言語化

今回の内容を理解できれば、フローチャート作成のバリエーションが増えてくるはずです!

次回の記事では、「機能の分解」を説明する予定です(今度こそ)。

やりたいことからRubyを学びたい!という読者の方は、次回以降の記事も引き続き読んでやってください。

最後までご覧いただきありがとうございました(^-^)/

参考本

  • キタミ式イラストIT塾 基本情報技術者
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?