2017年2月15日水曜日

~プログラミング??フローチャートって??~part2

こんにちは!今回は
~プログラミング??フローチャートって??~
の続きです!
スクリプト



前回は、
・プログラミングがどのようなものか
・フローチャートがなぜ便利なのか
について書きました。

~~~~~~~~~前回の記事のまとめ~~~~~~~~~
プログラミングは、
ある命令に対して、その命令通りに動くように、プログラムをコンピュータ上に書くこと
フローチャートは、
命令に対してどのような手順で処理が行われるかを表すための道具のひとつ
メリット:視覚的に理解しやすい
例: 6の約数を全て書き出す手順

フローチャート1



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


前回の記事では、
『フローチャートは
・開始から終了までの手順を表し、
・四角で処理をする
・ひし形で条件分岐をする
というようなルールがあります。』

と簡単に説明していましたが、今回はフローチャートのルールを先ほど示したフローチャートをもとに詳細に見たいと思います。

フローチャート2


①端子
プログラムの流れの開始、終了を表す

②処理
任意の種類の処理機能を表す

③判断
一つの入口といくつかの出口を表す
Yes/Noなど2つの出口を持つことが多い

①~③をまとめて(他にもあります)
部品と呼びます。
これらを流れ線と矢印を用いて結び順序を表します。

流れ線と矢印
部品間をつなぐように描くことで、制御が部品から部品へと流れることを示す。

Wikipedia参考)


OK



これらをすべて使いこなせると、ほとんどのことはフローチャートに書き起こすことが出来ます!

今回はこれらに加えて、ループを用いたフローチャートの示し方を表したいと思います。

~実際にフローチャートを書いてみましょう!~

今回は命令『6の階乗を求めなさい』と言われた場合を考えてみたいと思います。

計算式にすると次のようになると思います…!

6         6×5×4×3×2×1
              720

これをコンピュータ上に書く場合、一つ一つの処理の手順を考える必要があります。

この計算の流れを考えると次のようになります。

方法1
Step1.     Result(結果)1とする
Step2.     ResultResult×6にする。
Step3.     ResultResult×5にする。
Step4.     ResultResult×4にする。
Step5.     ResultResult×3にする。
Step6.     ResultResult×2にする。
Step7.     ResultResult×1にする。
Step8.     掛ける数字が0になるため終了する。

このように考えた場合フローチャートは下の図のようになります


フローチャート3



今回の命令は、aを小さくしていき1になるまで繰り返すようになっています。
多くのプログラミング言語では、このように決められた回数処理を行う場合のために
ループ』というものが記述できるようになっています。

ループを構成するものは、
・初期化 (a6
・条件式 (a > 1
・変化式 (aa-1
3つです。(括弧内は先ほどの問題の場合)
初期化 a6にし、条件式を満たす間、変化式に指示されたようにa1ずつ小さくし処理を繰り返し行います。
これをフローチャートにするときは下のような図形を用いて書きます。


フローチャート4


先ほどのフローチャートに比べると判断による、矢印の分岐が無くなり流れが目で追いやすくなります。

実際のプログラミングでも、簡潔性が求められるのでこのように書くことが出来るようになるととても便利です。
このようにループを書くのに利用されるものは、ほとんどのプログラミング言語に用意されています。
例)       C言語、javafor文、while文…
VBAFor文、Do文…

先ほどの階乗の考え方を変更して、
Step1.     Result(結果)1とする
Step2.     ResultResult×1にする。
Step3.     ResultResult×2にする。
Step4.     ResultResult×3にする。
Step5.     ResultResult×4にする。
Step6.     ResultResult×5にする。
Step7.     ResultResult×6にする。
Step8.     掛ける数字が7になるため終了する。

と考えた場合には、先ほどのループの書き方が変更し下のようになります。

フローチャート5


このように、手順の考え方によりフローチャートは変更し、
自分でプログラムに書きやすいようにフローチャート考えることがとても重要です。


どうでしたでしょうか?
今回は、フローチャートの構成をさらに詳細に見て、
新たに、『ループ』というものを追加して処理の手順を考えました!

このループを自在に使えるようになると自分の頭の中のアイデアをプログラムに書き起こすことがとても簡単になります!

それでは今回のブログはおしまいです。
コラボではほぼ全席電源を完備しております。
とても集中しやすい環境ですので、是非パソコンをお持ちになってお越しください!
皆さまのご来店お待ちしております!

HPへ



おまけの練習問題(解答例は写真の下)
問題1. 2から200の偶数を全て書き出しなさい
問題2. 1から10までの数字の組み合わせを全て書き出しなさい

おじぎ

回答1
回答2