===== 今日の授業まとめ(5月9日) ===== ==== アルゴリズムってなんだ? ==== 5月9日の授業内容 ・アルゴリズムとは  アルゴリズム=問題を解くための手順  プログラム=機械語の命令群  みんなのお仕事=問題が与えられたときにその解法(=アルゴリズム)をプログラムに落とし込むこと! ・プログラムを作るには  プログラム=機械語の命令群 → 人間が直接書くのは厳しい(一部出来る人もいる)  プログラミング言語=人間の言葉に近いものでアルゴリズムを記述することができる(プログラムではない)  プログラミング言語 →(翻訳)→機械語=プログラム  プログラミング言語を翻訳するとプログラムになる!  みんなのお仕事=問題が与えられたときにその解法(=アルゴリズム)をプログラムに落とし込むこと!        =プログラミング言語でアルゴリズムを記述すること! ・アルゴリズムを考えていくには  広い意味でのプログラム(≒アルゴリズム)は3つの基本構造で成り立っている  どんなアルゴリズムでも、分解して細かいところまで見ていけばこの3つの基本構造に帰着する(落とし込むことができる)  3つの基本構造   1.順次(連続)構造   2.選択構造   3.繰り返し(反復)構造    もう一つの重要な概念  変数 → 数学の変数とは同じようで違う  同じところ:様々に変化する値をある記号で代表して表すところ(値の入れ物)       y = ax + b  違うところ:数学では特に何も書いていなければどんな値でも入る      (実は高等数学ではちゃんと指定するんだよ)       プログラムでは値を入れる箱に「規格」がある       その規格は、その変数をコンピュータ上でどのように表現するかに依存する       (何しろコンピュータのメモリは0と1の数字しか記憶できないんだもんね?)       規格=データの表現方法 → コンピュータの世界では「データ型(Type)」と呼ばれる 補助資料を置いておきます!各自読んでおくといいよ * {{ :game-engineer:classes:ga00.pdf |5月初めの方の資料(PDF:アルゴリズムとは~フローチャート)}} * {{ :game-engineer:classes:ga01.pdf |~6月初めの方の資料(PDF:フローチャート、疑似言語とC++)}}