9回目 06/15(金) 06/16(土) 情報の科学的 な理解(2)

アルゴリズムとプログラミング


1.アルゴリズムとは
ある問題を解決する場合に、その手順を記述したもの

(1)アルゴリズムの表現方法
a.文章で書く
b.流れ図(フローチャート)て書く (流れ図 = アルゴリズムではない)
c.各種設計書式で表現する。

(2)何故アルゴリズムを作るか
a.問題の解決方法を論理的に明確に記述する
b.コンピュータのプログラムを作るため

2.処理の流れの記述の要素
例 n!を求める

・順次
・分岐
・繰り返し(ループ)

3.情報の授業で対処となる2種類のアルゴリズム
・自分のまわりの問題に対してアルゴリズムを作ってみる
・コンピュータ・プログラムの処理の基本的なアルゴリズムを理解する
  (検索・ソート・リスト処理等)


4.オブジェクト指向
新しいコンピュータ・プログラムのパラダイム
プログラムを個々の反応する物として作っていく。いろいろな物の組み合わせとしてプログラムを作っていく。

従来の手続き型との違い
 一遍100の四角を書く場合

従来の手続き型の場合
  Line (0,0)−(0,100)
  Line (0,100)−(100,100)
  Line (100,100)−(100,0)
  Line (100,0)−(0,0)
   プログラムを作る人がいろいろ、全体を考えなければいけない

 オブジェクト指向の場合
  FORWARD 100
  RiGHT 90
  FORWARD 100
  RiGHT 90
  FORWARD 100
  RiGHT 90
  FORWARD 100

補足:必ずしもオブジェクト指向の例として適当であるか?であるが
n!の求めるオブジェクトを考えると
funk!(n)
として
funk!の内容として
  もしnが1ならば1を返す
  nが1でなければ
   n*funk!(n−1)を返すという定義もできる。