情報処理(旧I分野)
コンピュータの原理
by
菊地時夫
—
last modified
2008-05-20 15:20
コンピュータの原理
情報の「量」
情報量はそれが起こったときの「驚きの量」
例えば
コインを投げて表が出たとき ... 1
コインを投げて2回続けて表が出たとき ... 2
コインを投げて N 回続けて表が出たとき ... N
情報量の単位 bit
1 bit ... 0 又は 1 (2通り)
2 bit ... 0, 1, 2, 3 (4通り)
10 bit ... 0, 1, ... 1023 (1024通り)
20 bit ... 2
20
= 1048576 通り
コンピュータの原理
2進数
数を bit で表す
2進数のどこがいいのか
素子数を減らせる(桁数は増える)
しつこくやってみると
こんな感じ
さらに、
足し算が簡単
0+0=0, 0+1=1, 1+0=1, 1+1=10
「九九」が簡単
0x0=0, 0x1=0, 1x0=0, 1x1=1
Intermission
ぐわし
ビットからコンピュータ
0 or 1 ... 無し・有り ... 偽・真
スイッチ -> 論理回路 -> 集積回路(IC) -> LSI
計算機の構造
CPU (Central Processing Unit) 中央処理装置
計算するところ
RAM (Random Access Memory) 主記憶装置
プログラムや計算のためのデータ、計算結果を入れるところ
HDD (Hard Disk Drive) 補助記憶装置
プログラムや計算結果などが
電源を切っても消えない
ように入れておくところ
入出力装置
キーボード・マウス・ディスプレイ・ネットワークインタフェース
計算機の歴史
部品が小さくなり、大きさの割りに高性能となった。
1970 年当時の「電卓」> 今のノートパソコン
今でも大きな計算機は作られている
メモリーの単位
1 B (Byte バイト) = 8 bit
1 KB = 1024 B = 2
10
B
1 MB = 1024 KB
1 GB = 1024 MB
ハードディスク容量の単位
1 kB = 1000 B = 10
3
B
1 MB = 1000 kB
1 GB = 1000 MB
1 TB = 1000 GB
CPU の速さ(クロック周波数)
1 MHz = 1000 kHz = 1000000 Hz (ヘルツ)
1 GHz = 1000 MHz
FLOPS (FLOating-point Operation Per Second)
SPECint_rate, SPECfp_rate など(実際の計算効率)
ノイマン方式の計算機
プログラム(計算の手順)をメモリーに入れる。
機械語(2進数)アセンブラ
高級言語 FORTRAN, COBOL, C, Python
ソフトウェア
プログラムのこと
基本ソフトと応用ソフト
マイクロソフト・エクセルは ウィンドウズ・Mac OS などで動く「応用ソフト」
エクセルの「マクロ」を使った
家計簿ソフト
も「応用ソフト」
家計簿ソフトにとって、エクセルは「基本ソフト」
一番の基本は「オペレーティングシステム」
WindowsXP, MacOSX, UNIX, Linux, etc ...
簡単なプログラムの例
Python
x = input("x: ") y = x * x print "x**2 = ", y
プログラムは
順番に実行する
条件分岐する
繰り返し(ループ)がある
コピーじゃない
関数(サブプログラム)に跳んで・戻ってくる
複雑化する
闇の魔術の防衛術(その1:基礎知識)
Defence Against the Dark Arts
「プログラム」はコンピュータにできることは何でもできる
「闇の魔術(ウィルス)」もプログラム
問題
用紙は縦長横書き、日付・学生番号・氏名を最初に明記
25
を指の2進数で表しなさい。
参考図
昨年の優秀作(1)
問題は
19
指を伸ばそうとして伸ばしきれないもどかしさが写実的に表現されています。
今年の作品から (1)
力強い
グワシ
を入れてくれました。
今年の作品から (2)
負論理
これを印刷