2017年1月27日金曜日

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

こんにちは。本日はプログラミングについてお伝えしていきたいとおもいます。

~プログラミングって??~
まず、はじめにみなさんプログラミングって聞いたことはありますか?


プログラミング、と検索してみると、

『プログラミングとは、コンピュータが処理するプログラムを作ることです。 プログラミングはプログラマーと呼ばれる、コンピュータプログラムを書く人によって書かれる文章のようなものです。 プログラムは設計図という説明がされる事もあります。 コンピュータは人間と違って、言われたとおりに言われた事しか出来ません。』(Wikipediaより引用)



と書いていました・・・。難しいですね!笑

私も初めて聞いたときはよくわかりませんでした!!
(いまでも分からなくなることがよくあります!!)


簡単に言うと、

プログラミングは、
ある命令に対して、その命令通りに動くように、
プログラムをコンピュータ上に書くこと、です! (注)個人的な解釈です


近年、プログラミングは論理的思考力の向上などに役立つと考えられており、
文部科学省は2020年より小学校でプログラミング教育を必修化する見通しであると発表しました。

プログラミングについて | 教育用プログラミング言語
(http://coworklabo.blogspot.jp/2016/11/blog-post_5.html?m=1)

コラボなんばにおいても明日、『第1回CoderDojoなんば』が開かれますね!^^
(http://coworklabo.blogspot.jp/2017/01/1coderdojo.html)
((CoderDojo Japanは子どもを対象にしたプログラミング道場で
プログラミングを通して、自発的な活動を応援してくれるようです!
私も子供のうちに行きたかったなーと思いました!))


このように、大人から子供までプログラミングに触れる機会は増えてきています!
情報通信の発展も影響しているのでしょう・・・!
(IoT、ビッグデータ、人工知能AI、などなど聞いたことありませんか?)

このブログでは、プログラミングを書くためにも使用する人が多い、フローチャートについて書いていきます✐



~フローチャートって??~
『フローチャートは、プロセスの各ステップを箱で表し、流れをそれらの箱の間の矢印で表すことで、アルゴリズムやプロセスを表現する図である。』(Wikipediaより引用)


・・・・・・難しいですね!笑

プログラミングは、ある命令に対して、その命令通りに動くように、プログラムをコンピュータ上に書くこと
注)あくまで個人的な解釈です
と書きました。

これに対して、
フローチャートは、命令に対してどのような手順で処理が行われるか
を表すための道具のひとつです。

実際に命令の例として次のような問題を考えてみましょう。

「6の約数を全て書きなさい。」
このような事をするとき、皆さんどのような手順で求めていくでしょうか?
いままでの経験から、ある程度計算せずに書き出せるのではないでしょうか?

しかし、コンピュータ上にそのような『経験』を記述することはできません。
(今後できる可能性はあるかもしれませんが…!)
そこで、どのような手順で行うかを自分で理解し、プログラミングすることが重要です。

例えば、「6の約数を全て書きなさい。」と言われたとき、そのときの手順を文章にすると次のようになります。

  • Step1. 1で割る。
  • Step2. 割り切れるので1を書く。
  • Step3. 2で割る。
  • Step4. 割り切れるので2を書く。
  • Step5. 3で割る。
  • Step6. 割り切れるので3を書く。
  • Step7. 4で割る。
  • Step8. 割り切れないので書かない。
  • Step9. 5で割る。
  • Step10. 割り切れないので書かない。
  • Step11. 6で割る。
  • Step12. 割り切れるので6を書く。
  • Step13. 終了する。


この手順をまとめると、
このように1~6までの数字それぞれで割り、
割り切れた場合その数字を書き出し、
割り切れない場合何も書き出さない。
ということになります。

これを視覚的に理解しやすいようにフローチャートにしてみると下の図のようになります。


どうでしょう、分かりやすくありませんか?

フローチャートは
・開始から終了までの手順を表し、
・四角で処理をする
・ひし形で条件分岐をする

というようなルールがあります。ルールに従って書くことにより自分の頭の中の整理や、
他の人も理解しやすいなどの特徴があります。
(四角やひし形のほかにも使われる図形はあるので気になる方は調べてみてください!)

以上で今回のプログラミングのお話は終わります。
さわりのさわりでしたが、いかがでしたでしょうか?
フローチャートは数学的な問題以外でも、頭の中を整理する時などに便利です!ぜひ使ってみてください!

プログラミングに興味を持った方は是非明日のようなイベント、セミナーに参加してみてください!
コラボの座席はほぼ電源完備ですので、パソコンを持ち込んでの作業にも適しています、ご来店お待ちしております!


おまけ問題(フローチャートを書いてみてください! 解答例は画像の下)
問題1.  100と120の公約数をすべて書く
問題2.  377が素数か調べる