情報工学基礎(改訂版) 岡崎裕之.

Slides:



Advertisements
Similar presentations
7章 情報の表現と基礎理論. 数の表現(書き方) 「数」と「数の書き方」をわけて考える 「数の書き方」と,「数そのものの性質」は別のもの 例:13 は素数・・・”13”という書き方とは無関係 ここでは書き方(表現方法)について考える 567.
Advertisements

2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
プログラミング言語論 第10回(演習) 情報工学科 木村昌臣   篠埜 功.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
コンピュータープログラミング(C言語)(2) 1.文字列出力と四則演算 (復習) 2.関数と分割コンパイル
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
コンピュータープログラミング(C言語)(3) 1.関数と分割コンパイル (復習) 2.キーボード入力
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
第5回 ディジタル回路内の数値表現 瀬戸 ディジタル回路内部で,数を表現する方法(2進数)を学ぶ 10進数⇔2進数⇔16進数の変換ができる
オブジェクト指向言語論 知能情報学部 新田直也.
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
App. A アセンブラ、リンカ、 SPIMシミュレータ
プログラミング言語論 理工学部 情報システム工学科 新田直也.
情報工学科 二宮 洋・鈴木 誠 小林 学・高畠俊徳 火曜日 1コマ目
プログラムはなぜ動くのか.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
初年次セミナー 第2回 文字の出力.
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
「ソフトウェアのしくみ」.
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
インターネット技術特論 B:コマンドライン, shell 山口 実靖
鯖管のすヽめ.
型付きアセンブリ言語を用いた安全なカーネル拡張
プログラミング言語入門 手続き型言語としてのJava
第二回 VB講座 電卓を作ろう.
プログラミング応用 printfと変数.
情報リテラシー2014 part 5/5 (亀田担当分最終回)
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
プログラミング演習I 2003年5月7日(第4回) 木村巌.
TA 高田正法 B10 CPUを作る 3日目 SPIMの改造 TA 高田正法
知能情報工学演習I 第8回( C言語第2回) 課題の回答
Ibaraki Univ. Dept of Electrical & Electronic Eng.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
文字エンコーディング 2010年7月.
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎B 文字列の扱い.
プログラミング基礎a 第1回 ハードウェアとソフトウェア プログラミング総論 ~プログラミング言語とは~
2013年度 プログラミングⅡ ~ 計算してみよう ~.
2015年度 プログラミングⅡ ~ 計算してみよう ~.
東京工科大学 コンピュータサイエンス学部 亀田弘之
先週の復習: CPU が働く仕組み コンピュータの構造 pp 制御装置+演算装置+レジスタ 制御装置がなければ電卓と同様
C言語 はじめに 2016年 吉田研究室.
UNIX演習 情報ネットワーク特論資料.
高度プログラミング演習 (01).
第1章 いよいよプログラミング!! ~文章の表示 printf~
UNIX演習 情報ネットワーク特論資料.
プログラミング演習I 2003年4月30日(第3回) 木村巌.
参照されないリテラル 長谷川啓
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
東京工科大学 コンピュータサイエンス学部 亀田弘之
コンピュータアーキテクチャ 第 2 回.
プログラムが実行されるまで 2002年4月14日 海谷 治彦.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
コンピュータアーキテクチャ 第 2 回.
コンピュータアーキテクチャ 第 4 回.
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
情報処理Ⅱ 2006年11月24日(金).
情報コミュニケーション入門b 第2回 Part1 ハードウェアとソフトウェア
ネットワーク・プログラミング Linuxシステムとソフトウェア開発.
C言語講習 第0章 Hello, world!.
標準入出力、変数、演算子、エスケープシーケンス
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
第1章 文字の表示と計算 printfと演算子をやります.
Presentation transcript:

情報工学基礎(改訂版) 岡崎裕之

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

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

rwx rwx rwx rw- r - - r - - rw- - - - - - - ls –l で表示されるもの User Group Other

パーミッションを変えるコマンドchmod rwx rwx rwx のhogeを rwx r - - r - -に変える >chmod go-wx hoge

情報工学基礎 岡崎裕之

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

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

言語の表記について 日本語の表記 英語の表記 カナ,かな,漢字,その他 アルファベット26文字+記号

英語の場合 アルファベット =記号 記号の割り当て(対応付け)は人間の都合 別の記号をつかってもかまわない アルファベット =記号 記号の割り当て(対応付け)は人間の都合 別の記号をつかってもかまわない abcdefghijklmnopqrstuvwxyz 1234567890-^\!#$%&()=~|+*/

字組 記号の表現能力 記号の種類を増やさずに表現できる事象を増やしたい 記号1文字で表現できる事象の数 =記号の種類(アルファベットだと26種) 字組(タプル) n字組 n個の記号の組合せ(n桁)

英語の場合 記号26種類 n字組で表現できる事象の数 字組に意味を対応付けしたものを「語」と言う

語の例 appleという5字組に「りんご」という事象を対応付けした 自然言語の1語の桁数は可変

コンピュータの場合 記号の種類 2種類 0 と 1 実際には電荷,電圧などで表現されている 1語の桁数は固定 レジスタのサイズに依存する

型 全ての事象を0,1の字組で表現している. 数値(整数,浮動小数点数),文字,アドレス,命令など 同じ表現の語でも型が違うと全然意味が違うので注意が必要 0000000001000000 は整数型だと65,文字型だとA と対応付けされている

文字型 ASCIIコード,JISコード, EUC,Unicode,トロンコード などいろいろな対応づけがある コード表を参照

整数型 符号なし 符号付き 2進表記(2進数) 10進表記(10進数) 16進表記(16進数)

パーミッションを変えるコマンドchmod rw- rwx rwx のhogeを rw- r - - r - -に変える >chmod go-wx hoge >chmod 644 hoge

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

整数10進表記

整数2進表記

整数16進表記

10進2進変換

10進2進変換

10進2進変換

10進2進変換

10進2進変換

10進2進変換

10進2進変換

10進2進変換

Cのコンパイル ソースファイルを作成. #include<stdio.h> main(){ printf(“Hello World”); } ここで必ず改行 *.c という名前で保存(例 hege.c)

Cのコンパイル コンパイル > cc hoge.c a.exe というファイルができる

Cのコンパイル 実行 > ./a.exe

プログラミング言語 低級言語(アセンブリ言語) 高級言語 C,Pascal,BASIC,COBOL LISP,prolog,JAVA,C++など.

高級言語(たとえばC) Cのソースコード ↓コンパイラ(コンパイル) アセンブリコード ↓アセンブラ(アセンブル) オブジェクト ↓リンカ(静的リンク) 実行ファイル ただし,実行時に動的リンクが行われる場合もある(DLLの呼び出し)

どうやってうごいているか 実行ファイル OS ハードウェア

実行ファイル メインメモリ 実行ファイル

実行ファイル 実行 マシン命令(オプコード+オペランド) マシン命令(オプコード+オペランド) 実行ファイル データ データ

マシン語 実行ファイル 01001101010101010101001010100110 01101010101010101010101010101010 11011101010111011111000000101010 11010111000101101101100100110100 11000001011111000010111000101110 11110101110111100011101110111001

マシン語でのプログラミング マシン語をバイナリエディタで直接入力 ファイルを保存 ファイルのプロパティを実行可にする 01001101010101010101001010100110 マシン語をバイナリエディタで直接入力 ファイルを保存 ファイルのプロパティを実行可にする 命令が正しければちゃんとした実行ファイルができるはず やりますか?

アセンブリ言語 マシン語をニーモニックに置き換えた と書くより とかの方がまだ分かり易い 01001101010101010101001010100110 マシン語をニーモニックに置き換えた と書くより とかの方がまだ分かり易い ADD 5 3

アセンブラ アセンブリ言語をマシン語に 単純に置換するだけのソフト アセンブリ言語でのプログラミングとは実行ファイルを直接編集することにほぼ等しい 実行ファイルはメインメモリ上に展開されるイメージそのもの

ALU SP FR PR プロセッサ メモリ GR0 GR1 GR2 GR3 GR4 GR5 GR6 GR7 10100110 10101010 00101110 SP FR PR プロセッサ メモリ ALU スタック

+ ALU FR SP 4 7 PR 1 3 4 2 1 3 2 3 4 5 6 7 7 GR0 GR1 GR2 GR3 GR4 GR5 LD GR0 5 1 3 4 2 1 3 LD GR1 6 2 ADD GR0 GR1 3 ST GR0 7 4 4 5 ALU 3 6 7 7 7