情報工学基礎 ( 改訂版 )

44
情情情情情情 ( 情情情 ) 岡岡岡岡

Upload: joyce

Post on 21-Jan-2016

28 views

Category:

Documents


0 download

DESCRIPTION

情報工学基礎 ( 改訂版 ). 岡崎裕之. の前に前回の続き. * 任意の文字列 ? 任意の一文字 ~/ ホームディレクトリ. 例. ls *.c rm kadai1_?.c cp /etc/.tcshrc ~. Group. Other. User. ls –l で表示されるもの. rwx rwx rwx rw- r - - r - - rw- - - - - - -. パーミッションを変えるコマンド chmod. rwx rwx rwx の hoge を - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 情報工学基礎 ( 改訂版 )

情報工学基礎 (改訂版 )

岡崎裕之

Page 2: 情報工学基礎 ( 改訂版 )

の前に前回の続き

* 任意の文字列? 任意の一文字~/ ホームディレクトリ

Page 3: 情報工学基礎 ( 改訂版 )

ls *.c rm kadai1_?.c cp /etc/.tcshrc ~

Page 4: 情報工学基礎 ( 改訂版 )

ls –l で表示されるもの

rwx rwx rwx rw- r - - r - - rw- - - - - - -

User Group Other

Page 5: 情報工学基礎 ( 改訂版 )

パーミッションを変えるコマンド chmod

rwx rwx rwxの hoge を rwx r - - r - - に変える >chmod go-wx hoge

Page 6: 情報工学基礎 ( 改訂版 )

情報工学基礎岡崎裕之

Page 7: 情報工学基礎 ( 改訂版 )

情報とは ?

じょうほう【情報】 あることがらについてのしらせ。 判断を下したり行動を起したりするために必要な知識。

Page 8: 情報工学基礎 ( 改訂版 )

情報とは ?

じょうほう【情報】 あることがらについてのしらせ。 判断を下したり行動を起したりするために必要な知識。

Page 9: 情報工学基礎 ( 改訂版 )

言語の表記について

• 日本語の表記

• 英語の表記

カナ,かな,漢字,その他

アルファベット 26 文字+ 記号

Page 10: 情報工学基礎 ( 改訂版 )

英語の場合

• アルファベット = 記号記号の割り当て ( 対応付け ) は人

間の都合別の記号をつかってもかまわない

abcdefghijklmnopqrstuvwxyz

1234567890-^\!#$%&()=~|+*/

Page 11: 情報工学基礎 ( 改訂版 )

字組

• 記号の表現能力

• 記号の種類を増やさずに表現できる事象を増やしたい

記号 1 文字で表現できる事象の数= 記号の種類 ( アルファベットだと

26 種 )

字組 ( タプル )

n 字組 n 個の記号の組合せ (n 桁 )

Page 12: 情報工学基礎 ( 改訂版 )

英語の場合

• 記号 26 種類• n 字組で表現できる事象の数

• 字組に意味を対応付けしたものを「語」と言う

n26

Page 13: 情報工学基礎 ( 改訂版 )

語の例

• apple という 5 字組に「りんご」という事象を対応付けした

• 自然言語の 1 語の桁数は可変

Page 14: 情報工学基礎 ( 改訂版 )

コンピュータの場合

• 記号の種類 2 種類 0 と 1 実際には電荷,電圧などで表現されて

いる

• 1 語の桁数は固定 レジスタのサイズに依存する

Page 15: 情報工学基礎 ( 改訂版 )

• 全ての事象を 0 , 1 の字組で表現している.• 数値 ( 整数,浮動小数点数 ) ,文字,アド

レス,命令など• 同じ表現の語でも型が違うと全然意味が違

うので注意が必要• 0000000001000000 は整数型だと 65 ,文字型だと A と対応付けされている

Page 16: 情報工学基礎 ( 改訂版 )

文字型

• ASCII コード, JIS コード, EUC,Unicode, トロンコード などいろいろな対応づけがあ

る• コード表を参照

Page 17: 情報工学基礎 ( 改訂版 )

整数型

• 符号なし • 符号付き

• 2 進表記 (2 進数 )• 10 進表記 (10 進数 )• 16 進表記 (16 進数 )

Page 18: 情報工学基礎 ( 改訂版 )

パーミッションを変えるコマンド chmod

rw- rwx rwxの hoge を rw- r - - r - - に変える >chmod go-wx hoge >chmod 644 hoge

Page 19: 情報工学基礎 ( 改訂版 )

rwx r - - r - - 111 100 100 744 rwx rw- r - - 111 110 100 764

Page 20: 情報工学基礎 ( 改訂版 )

整数 10 進表記

10

9,8,7,6,5,4,3,2,1,0

の次は桁が上がって

012 103102101

131021001123

00

11

01

1010

aa

aan

n

n

Page 21: 情報工学基礎 ( 改訂版 )

整数 2 進表記

10

1,0

の次は桁が上がって

012 212021

112041101

00

11

01

22

aa

aan

n

n

Page 22: 情報工学基礎 ( 改訂版 )

整数 16 進表記

10

,,,,,,9,8,7,6,5,4,3,2,1,0

の次は桁が上がってfedcba

01 1611610

1116101

a

見易いので使っている進の変換は覚えろ進

進の変換,進桁の216

1016)1(

Page 23: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

012

345

202120

202121

102140

80161321

2163250

Page 24: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

0

012

34

20

)212020

2121(250

025250 あまり

Page 25: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

0

01

23

21

)2020

2121(225

112225 あまり

Page 26: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

0

012

20

)202121(2

12

06212 あまり

Page 27: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

0

01

20

)2121(2

6

0326 あまり

Page 28: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

00 21)21(2

3

1123 あまり

Page 29: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

01 2120

1

1021 あまり

Page 30: 情報工学基礎 ( 改訂版 )

10 進 2 進変換

1123 あまり0326 あまり06212 あまり112225 あまり025250 あまり

110010

1021 あまり

Page 31: 情報工学基礎 ( 改訂版 )

C のコンパイル• ソースファイルを作成 .

#include<stdio.h>

main(){

printf(“Hello World”);

} ここで必ず改行

*.c という名前で保存 ( 例 hege.c)

Page 32: 情報工学基礎 ( 改訂版 )

C のコンパイル• コンパイル

> cc hoge.c

a.exe というファイルができる

Page 33: 情報工学基礎 ( 改訂版 )

C のコンパイル• 実行

> ./a.exe

Page 34: 情報工学基礎 ( 改訂版 )

プログラミング言語

• 低級言語 ( アセンブリ言語 )

• 高級言語 C , Pascal , BASIC,COBOL

LISP,prolog,JAVA,C++ など.

Page 35: 情報工学基礎 ( 改訂版 )

高級言語 ( たとえば C)

C のソースコード ↓ コンパイラ ( コンパイル )アセンブリコード ↓ アセンブラ ( アセンブル )オブジェクト ↓ リンカ ( 静的リンク )実行ファイル

• ただし,実行時に動的リンクが行われる場合もある (DLL の呼び出し )

Page 36: 情報工学基礎 ( 改訂版 )

どうやってうごいているか

ハードウェア

OS

実行ファイル

Page 37: 情報工学基礎 ( 改訂版 )

実行ファイル

メインメモリ

実行ファイル

Page 38: 情報工学基礎 ( 改訂版 )

実行ファイル

実行ファイル

マシン命令 ( オプコード + オペランド )

マシン命令 ( オプコード + オペランド )

マシン命令 ( オプコード + オペランド )

マシン命令 ( オプコード + オペランド )

データ

データ

実行

Page 39: 情報工学基礎 ( 改訂版 )

マシン語

実行ファイル

01001101010101010101001010100110

01101010101010101010101010101010

11011101010111011111000000101010

11010111000101101101100100110100

11110101110111100011101110111001

11000001011111000010111000101110

Page 40: 情報工学基礎 ( 改訂版 )

マシン語でのプログラミング01001101010101010101001010100110

• マシン語をバイナリエディタで直接入力• ファイルを保存• ファイルのプロパティを実行可にする

• 命令が正しければちゃんとした実行ファイルができるはず

• やりますか?

Page 41: 情報工学基礎 ( 改訂版 )

アセンブリ言語01001101010101010101001010100110

• マシン語をニーモニックに置き換えた

と書くより

とかの方がまだ分かり易い

ADD 5 3

Page 42: 情報工学基礎 ( 改訂版 )

アセンブラ• アセンブリ言語をマシン語に単純に置換するだけのソフト• アセンブリ言語でのプログラミ

ングとは実行ファイルを直接編集することにほぼ等しい

• 実行ファイルはメインメモリ上に展開されるイメージそのもの

Page 43: 情報工学基礎 ( 改訂版 )

スタック

10100110

10101010

00101110

ALU

GR0GR1GR2GR3GR4GR5GR6GR7

SPFRPR

メモリプロセッサ

Page 44: 情報工学基礎 ( 改訂版 )

ALU

GR0GR1GR2GR3GR4GR5GR6GR7

SPFRPR

LD GR0 5

LD GR1 6

3

ADD GR0 GR1

ST GR0 7

4

1

2

3

4

5

6

77

14

2343

+

7

7