お絵かきプログラミング
香川大学 創造工学部
情報システム・セキュリティ (CSSS) コース
香川研究室
自己紹介
- 香川 考司 (かがわ こうじ)
香川大学 創造工学部 電子・情報工学領域
情報システム・セキュリティ (CSSS) コース担当
- 専門分野
プログラミング言語
プログラミング学習支援システム
- 担当授業
『プログラミング』『オートマトン』『コンパイラ』『オブジェクト指向言語』
『プログラミング・パラダイム』『プログラミング言語意味論』など
例えると…
- コンピューター ➡ 魔法のツエ
- プログラム ➡ 呪文
- プログラミング ➡ 呪文を組み立てること
- プログラミング言語 ➡ 呪文体系
- 型システム ➡ 呪文のミスを減らす仕組み
- 学習支援システム ➡ 魔法使いの弟子養成システム
- コンパイラー ➡ 呪文体系変換装置(呪文)
ただし…
プログラムは、魔法の呪文とまったく違うところもある
コンピューターの仕組み
主に、計算する部分(CPU)と、
記憶する部分(メモリー)からなる
- CPUは、+−×÷ や
<>= などの計算をする
- メモリーは、いわば巨大なそろばんである
プログラム
CPU に与える手順・指示のまとまりである
- CPU が理解できる指示は『機械語』という
- プログラムはメモリーに記録されている
(フォン=ノイマン方式)
機械語
- メモリーの数ケタ分を一まとまりとみなす
(すごろく🎲の“マス”みたいなもの)
- CPU は各マスの指示を順々に実行する
- 一つ一つの指示はとても単純である。例えば…
など
プログラムの組立て
プログラムの組立ての基本は
順次・反復・分岐の 3 つである。
これだけあれば“何でも”できる
プログラミング言語
機械語で大きなプログラムを作るのは難しい。
そこで…
- 人にわかりやすい体系(プログラミング言語)でプログラムを作って機械語に翻訳する
- 指示のまとまりを部品化することで、さらに複雑な指示を組み立てられる
部品化の考え方の違いによって、たくさんのプログラミング言語がある
ポイント
コンピューターは、一つ一つは単純な指示を、
何億回・何兆回⋯でも疲れずくりかえす