「プログラミング」のキホン

出版社:SBクリエイティブ
ISBN:978-4-7973-6651-8
本体価格:1,500円
発売日:2011年09月16日
著者:杉浦 賢

詳細はSBクリエイティブサイトへ

プログラミングの超入門書

 

プログラミンをマスターするには、プログラムがどのようにして動作しているのかを知ることが近道です。本書は その「からくり」を、コンピュータの知識をもたない初心者でも理解できるように、なるべく日常にあるものを題材にしながら説明します。

 

コ ンピュータの最小要素であるCPUやメモリなどについて、その構成や役割がわかり、さらに、コンピュータの動作を語るうえで欠かせない2進数についても、 初心者が無理なく理解できるように図解します。さらには、外部機器の制御をどのようにするかについても、実行速度を向上させるためのハードウェアまわりの 話とともに解説していきます。

 

第1章 コンピュータを構成するもの

 

001 コンピュータを構成する5つの機能 (入力、出力、記憶、演算、制御)

 

002 演算と制御を行う中央演算処理装置(CPU) ...

 

003 CPUの構成要素(制御装置、演算装置、クロック、レジスタ群)

 

004 レジスタは使用目的が決められている記憶領域(専用レジスタと汎用レジスタ)

 

005 記憶機能を受け持つ主記憶装置(メモリ)(アドレスにより管理されるメモリセル)

 

006 主記憶装置はアドレス値が添え字の配列である

 

007 主記憶装置のアドレスを指し示す方法(リニア方式、ベースレジスタ方式、セグメント方式)

 

008 主記憶装置には用途別にROM、RAMの2つの種類がある

 

009 プログラムは主記憶装置を用途別に利用する

 

010 入力、出力の機能を受け持つ外部機器 (I/Oインターフェース)

 

011 バスはデータ信号の通り道

 

コラム 「コンピュータの父」とも呼ばれるジョン・フォン・ノイマン

 

第2章 コンピュータ内のデータ表現

 

012 コンピュータで扱う最小のデータ単位はビット「0」と「1」

 

013 コンピュータのデータ表現には2進数が便利

 

014 2進数を見易くまとめたのが8進数と16進数

 

015 コンピュータのデータの基本サイズは1バイト(=8ビット)

 

016 データサイズにより扱える数値範囲が決まる

 

017 10進数を表現するBCD表現(ゾーン形式、パック形式)

 

018 10進数から2進数への基数変換の方法

 

019 2進数から10進数への基数変換の方法

 

020 10進数から8進数,16進数への基数変換の方法

 

021 8進数,16進数から10進数への基数変換の方法

 

022 2進数と8進数,16進数の相互基数変換の方法

 

023 負の数を扱えるようにする2の補数表現

 

024 浮動小数点数による実数の表現

 

025 コンピュータで扱う文字(文字コード) (ASCII, EBCDEC)

 

026 コンピュータで漢字扱うための文字コード体系 (Shift-JIS, UNICODE, UTF-8)

 

027 コンピュータで扱う文字列の表現方法(番兵方式、文字長方式)

 

コラム 1バイトデータの2進数、10進数、16進数の対応を暗記しよう

 

第3章 2進データ(ビット)の操作

 

028 論理和は,少なくともどちらか一方が「1」なら「1」となる演算

 

029 ある位置のビットを「1」にしたい場合、論理和演算を行う

 

030 論理積は,両方が「1」なら「1」となる演算

 

031 ある位置のビットを「0」にしたい場合、論理積演算を行う

 

032 ある位置のビットが「1」かどうか判断したい場合、論理積演算を行う

 

033 排他的論理和は,2つのビット値が異なれば「1」となる演算

 

034 ある位置のビットを反転したい場合、排他的論理和演算を行う

 

035 ビット反転(否定)は,「0」を「1」に,「1」を「0」にする演算 (排他的論理和演算でも可能)

 

036 論理演算の基本公式

 

037 ド・モルガンの法則を使うと否定の論理を整理して考えられる

 

038 排他的論理和を論理積、論理和、否定で表現する方法

 

039 左シフトは,ビットを指定したビット数だけ左へ移動する演算(論理左シフト、算術左シフト)

 

040 左シフトにより,元のデータを2倍、4倍、8倍...することができる

 

041 右シフトは,ビットを指定したビット数だけ右へ移動する演算(論理右シフト、算術右シフト)

 

042 右シフトにより,元のデータを1/2倍、1/4倍、1/8倍...することができる

 

043 ビットシフトにより,元のデータを10倍する方法

 

044 シフトを利用した効率のよい2進数の掛け算

 

045 1ずつ加減するのがインクリメントとデクリメント

 

046 データのオーバーフローとアンダーフロー

 

コラム 2のn乗の値を暗記しよう

 

第4章 I/O(Input/Output)制御

 

047 I/Oポートは,外部機器をコントロールする窓口 (ポート方式,メモりマップドI/O)

 

048 入力機器からのデータの読み取る (8つのスイッチを例に)

 

049 出力機器へのデータの出力 (7セグLEDを例に)

 

050 外部機器の変化をチェックして回るのがポーリング方式

 

051 外部機器の変化が通知されるのが割り込み方式

 

052 割り込みによるデータ値の健全性が保てない可能性のあるクリティカルセクション

 

053 割り込みの禁止・許可により排他制御

 

コラム シリアルとパラレル

 

第5章 プログラムが動く「からくり」

 

054 プログラムコードは機械語というコード群で構成される

 

055 プログラムは、プログラムカウンタにより順次実行される(プログラムカウンタの役割)

 

056 クロック発信器は,ゼンマイのような動力源である

 

057 プログラムの起動はリセット機能により実現される

 

058 基本的な演算命令(加算、減算、シフト)

 

059 演算命令とフラグレジスタの関係(算術演算、論理演算)

 

060 比較命令はフラグレジスタだけを変化させる減算命令である

 

061 ビット論理演算命令

 

062 メモリやレジスタ間のデータ転送命令(ロード・ストア)

 

063 様々ある実効アドレスの指定

 

■著者:

 

現 在、フリーウェア代表。著書に、『「アルゴリズム」のキホン』(ソフトバンク クリエイティブ株式会社)、『図解入門 よくわかるアルゴリズムの基本と仕組み』『基本情報技術者試験 図解でわかるアルゴリズムの基本と仕組み』『情報処理教科書弱点克服アルゴリズムの解き方』『C/C++ミスプログラミング ケーススタディ』『図解・標準 最新C++ハンドブック』など多数がある。


ページTOPへ