原理がわかる「プログラムの法則」

[表紙]原理がわかる「プログラムの法則」

A5判/472ページ

定価(本体2,780円+税)

ISBN 4-7741-2238-6

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

プログラミングはどの言語においても,基本は一つです。本書は,プログラミングの基本を,「なぜそのように記述するのか」に焦点をあてながら,解説していきます。C言語をベースに,VisualBasic,Javaなどでの固有のことがあればそれを付け加えながら説明しています。すでに何らかの言語を学習した人には,プログラムの根拠がわかり,本書はとても役に立ちます。

こんな方におすすめ

  • プログラミングを教えている人
  • すでに言語を1つ学習した経験がある人

目次

第1章 プログラムとプログラミング言語

  • 1-1 コンピュータとソフトウェア
  • 1-2 プログラム解釈の仕組み
    • 1-2.1 CPUと機械語
    • 1-2.2 アセンブリ言語
  • 1-3 プログラミング言語の種類
  • 1-4 高水準言語の系譜
    • 1-4.1 手続き型言語
    • 1-4.2 論理型言語
    • 1-4.3 関数型言語
    • 1-4.4 オブジェクト指向言語
    • 1-4.5 コンポーネント指向言語
    • 1-4.6 スクリプト言語
  • 1-5 プログラム処理方式
    • 1-5.1 コンパイラ方式
    • 1-5.2 インタープリタ方式
    • 1-5.3 中間コード方式
  • 1-6 プログラム開発環境
    • 1-6.1 コマンド・ライン環境
    • 1-6.2 統合開発環境
    • 1-6.3 RAD
  • 1-7 環境設定
    • 1-7.1 インストール
    • 1-7.2 カレント・ディレクトリとパス
    • 1-7.3 環境変数
    • 1-7.4 バッチ処理
  • 1-8 C,Java,VBの特徴
    • 1-8.1 C言語
    • 1-8.2 Java
    • 1-8.3 VB(Visual Basic)

第2章 プログラムの構成

  • 2-1 最初のプログラム
  • 2-2 プログラムの構成要素
  • 2-3 文
  • 2-4 ブロック
  • 2-5 式
  • 2-6 変数
  • 2-7 プログラムの実行形態

第3章 数の理論

  • 3-1 進数
    • 3-1.1 プログラムで使う進数
    • 3-1.2 進数変換
  • 3-2 情報の単位
    • 3-2.1 ビットとバイト
    • 3-2.2 補助単位
  • 3-3 整数表現
    • 3-3.1 整数型のデータ表現
    • 3-3.2 符号なし数と符号付き数
  • 3-4 実数表現
    • 3-4.1 2進小数点数の表現
    • 3-4.2 誤差
    • 3-4.3 固定小数点数と浮動小数点数
  • 3-5 数値演算
    • 3-5.1 加算
    • 3-5.2 補数
    • 3-6 論理演算
  • 3-6.1 ブール代数
  • 3-6.2 真理値表

第4章 文(ステートメント)

  • 4-1 文の種類
  • 4-2 宣言文
    • 4-2.1 変数の宣言
    • 4-2.2 手続き(プロシージャ,関数,メソッド)の宣言
  • 4-3 実行文
  • 4-4 単純文
    • 4-4.1 空文
    • 4-4.2 式文
    • 4-4.3 代入文
  • 4-5 反復(くり返し)文
    • 4-5.1 前判定反復
    • 4-5.2 後判定反復
    • 4-5.3 所定回反復
    • 4-5.4 多重ループ
    • 4-5.5 無限ループ
  • 4-6 選択文
    • 4-6.1 二方向選択(二方向分岐)
    • 4-6.2 複数方向選択?(else if)
    • 4-6.3 複数方向選択?(switch case)
  • 4-7 ジャンプ文
    • 4-7.1 goto文とbreak文
    • 4-7.2 continue文
    • 4-7.3 return文
    • 4-7.4 停止文
  • 4-8 例外処理文
    • 4-8.1 エラーと例外
    • 4-8.2 エラー処理,例外処理の方法
    • 4-8.3 例外の投入
  • 4-9 オブジェクト制御文
    • 4-9.1 With文
    • 4-9.2 For Each文
  • 4-10 コメント

第5章 データ型

  • 5-1 データ型の種類
    • 5-1.1 データの構造上からの分類
    • 5-1.2 定義方法からの分類
    • 5-1.3 データ形式からの分類
  • 5-2 基本型
  • 5-3 整数型
    • 5-3.1 整数定数
    • 5-3.2 短長整数,自然整数,倍長整数
    • 5-3.3 符号付き整数,符号なし整数
    • 5-3.4 メモリへの格納順序
  • 5-4 実数型
    • 5-4.1 浮動小数点定数
    • 5-4.2 誤差
    • 5-4.3 固定小数点数と浮動小数点数
    • 5-4.4 単精度浮動小数点数と倍精度浮動小数点数
  • 5-5 文字型
    • 5-5.1 文字とASCII
  • 5-6 文字列型
    • 5-6.1 文字列の内部表現
    • 5-6.2 固定長文字列と可変長文字列
    • 5-6.3 ポインタと文字列
    • 5-6.4 Stringクラス
  • 5-7 その他の基本型
    • 5-7.1 論理型
    • 5-7.2 バイト型
    • 5-7.3 10進型
    • 5-7.4 日付型
    • 5-7.5 バリアント型
  • 5-8 単純な型に属すユーザー定義型
    • 5-8.1 列挙型
    • 5-8.2 部分範囲型
  • 5-9 配列型
    • 5-9.1 配列宣言
    • 5-9.2 2次元配列
    • 5-9.3 多次元配列
    • 5-9.4 配列の初期化
    • 5-9.5 部分範囲指定配列
    • 5-9.6 動的配列
    • 5-9.7 配列の各種情報の取得
  • 5-10 構造体型
  • 5-11 その他の構造を持つ型 151
    • 5-11.1 共用体
    • 5-11.2 集合型
    • 5-11.3 ファイル型
  • 5-12 データ参照型
    • 5-12.1 ポインタ型
    • 5-12.2 C++の参照型
    • 5-12.3 Javaの参照型
  • 5-13 定数
    • 5-13.1 リテラル定数
    • 5-13.2 const定数
    • 5-13.3 マクロ定数
    • 5-13.4 列挙定数
    • 5-13.5 予約定数
    • 5-13.6 エスケープ・シーケンス

第6章 演算子と式

  • 6-1 演算子
    • 6-1.1 演算子の種類
    • 6-1.2 優先順位
    • 6-1.3 結合規則
    • 6-1.4 評価順序
  • 6-2 式
    • 6-2.1 式の値
    • 6-2.2 式の種類
    • 6-2.3 左辺値
  • 6-3 算術演算子
    • 6-3.1 符号演算子
    • 6-3.2 四則演算子
    • 6-3.3 整数除算演算子
    • 6-3.4 整数剰余演算子
    • 6-3.5 べき乗演算子
    • 6-3.6 インクリメント/デクリメント演算子
  • 6-4 ビット演算子
    • 6-4.1 ビットごとのAND演算子
    • 6-4.2 ビットごとのNOT演算子
    • 6-4.3 ビットごとのOR演算子
    • 6-4.4 ビットごとのXOR演算子
    • 6-4.5 左シフト演算子
    • 6-4.6 右シフト演算子
  • 6-5 関係演算子(比較演算子)
    • 6-5.1 大小比較演算子
    • 6-5.2 等値演算子
    • 6-5.3 オブジェクト比較演算子
    • 6-5.4 パターン・マッチング演算子
  • 6-6 論理演算子
    • 6-6.1 論理否定(NOT)
    • 6-6.2 論理積(AND)
    • 6-6.3 論理和(OR)
    • 6-6.4 排他的論理和(XOR)
    • 6-6.5 その他
  • 6-7 参照演算子
    • 6-7.1 メンバ参照演算子
    • 6-7.2 ポインタ参照演算子
    • 6-7.3 配列参照演算子
    • 6-7.4 手続き呼び出し演算子
  • 6-8 代入演算子
    • 6-8.1 単純代入演算子
    • 6-8.2 複合代入演算子
  • 6-9 その他
    • 6-9.1 文字列連結演算子
    • 6-9.2 キャスト演算子
    • 6-9.3 カンマ演算子
    • 6-9.4 三項条件演算子
    • 6-9.5 集合演算子
  • 6-10 型変換
    • 6-10.1 型変換規則
    • 6-10.2 キャスト
    • 6-10.3 代入変換
    • 6-10.4 算術型変換
    • 6-10.5 インテグラル・プロモーション(整数格上げ)
    • 6-10.6 符号拡張
    • 6-10.7 引数の型変換(スタック変換)

第7章 手続き

  • 7-1 手続きとは
    • 7-1.1 メイン・ルーチンとサブ・ルーチン
    • 7-1.2 手続きの種類
    • 7-1.3 値を返す手続きと値を返さない手続き
  • 7-2 手続きの構造
    • 7-2.1 定義と呼び出し
    • 7-2.2 手続きの型と戻り値
    • 7-2.3 引数
    • 7-2.4 手続きの定義位置
    • 7-2.5 手続きのスコープ
    • 7-2.6 アクセス属性
  • 7-3 値を返す手続き(関数)
  • 7-4 値を返さない手続き
  • 7-5 値による呼び出し
  • 7-6 参照による呼び出し
  • 7-7 各種データの引数渡し
    • 7-7.1 配列引数
    • 7-7.2 構造体引数
    • 7-7.3 列挙体
    • 7-7.4 ポインタ
  • 7-8 特殊な引数渡しの方法
    • 7-8.1 省略可能な引数
    • 7-8.2 可変引数(不定個数の引数)
    • 7-8.3 名前付き引数
  • 7-9 関数プロトタイプ
    • 7-9.1 関数プロトタイプを置かない方法
    • 7-9.2 可変引数のプロトタイプ
    • 7-9.3 暗黙の型変換
    • 7-9.4 複雑なプロトタイプ宣言
  • 7-10 オーバーロード

第8章 識別子と属性

  • 8-1 識別子
    • 8-1.1 名前付け規則
    • 8-1.2 名前付けのヒント
  • 8-2 識別子の宣言と定義
    • 8-2.1 同じ型の変数の宣言方法
    • 8-2.2 宣言位置
    • 8-2.3 宣言と定義
    • 8-2.4 宣言と定義の使い分け
    • 8-2.5 宣言(定義)時の初期化
    • 8-2.6 実行時の初期化
    • 8-2.7 デフォルトの初期化
    • 8-2.8 宣言の功罪
  • 8-3 記憶クラス
    • 8-3.1 メモリ領域
    • 8-3.2 自動変数
    • 8-3.3 静的変数
    • 8-3.4 外部変数(ファイル変数)
    • 8-3.5 記憶クラス指定子
  • 8-4 スコープと寿命
  • 8-5 名前空間
    • 8-5.1 識別子の名前空間
    • 8-5.2 クラスの名前空間
  • 8-6 アクセス属性
  • 8-7 別名(エイリアス)
    • 8-7.1 typedef文
    • 8-7.2 変数の別名

第9章 プリ・プロセッサとマクロ

  • 9-1 プリ・プロセッサ
    • 9-1.1 プリ・プロセッサ指令
    • 9-1.2 行の継続
  • 9-2 ファイル・インクルード
  • 9-3 マクロ
    • 9-3.1 単純なマクロ
    • 9-3.2 引数付きマクロ
    • 9-3.3 マクロの注意事項
    • 9-3.4 マクロと関数

第10章 ライブラリ

  • 10-1 ライブラリの使用法
  • 10-2 ライブラリの結合
  • 10-3 ライブラリの種類
    • 10-3.1 ANSI C
    • 10-3.2 Java

第11章 各種処理

  • 11-1 数値計算
    • 11-1.1 三角関数
    • 11-1.2 乱数
  • 11-2 変換
    • 11-2.1 データ型変換
    • 11-2.2 丸め変換
    • 11-2.3 進数変換
  • 11-3 文字列処理
    • 11-3.1 文字列代入
    • 11-3.2 文字列連結
    • 11-3.3 文字列比較
    • 11-3.4 文字列中の文字位置と文字数
    • 11-3.5 文字列長
    • 11-3.6 部分文字列
    • 11-3.7 文字列検索
    • 11-3.8 文字置換
    • 11-3.9 パターン・マッチング
    • 11-3-10 トークンに分離
    • 11-3.11 文字コード変換
    • 11-3.12 文字型と文字列型の変換
    • 11-3.13 大小文字変換
    • 11-3.14 文字検査
  • 11-4 入出力
    • 11-4.1 コンソール入出力
    • 11-4.2 標準入出力
    • 11-4.3 I/Oリダイレクト
    • 11-4.4 フィルタ
    • 11-4.5 パネル,フォームへの出力
    • 11-4.6 GUIコンポーネントへの出力
    • 11-4.7 GUIコンポーネントからの入力
  • 11-5 グラフィックス
    • 11-5.1 キャンバス
    • 11-5.2 グラフィックス・オブジェクト
    • 11-5.3 座標と座標単位
    • 11-5.4 座標変換
    • 11-5.5 ウインドウ,ビューポー ト,クリップ領域
    • 11-5.6 グラフィックス・メソッド
    • 11-5.7 フォント
    • 11-5.8 色
    • 11-5.9 ペン,ブラシ
    • 11-5.10 イメージ
  • 11-6 ファイル処理
    • 11-6.1 ファイル編成
    • 11-6.2 ディレクトリ
    • 11-6.3 ファイル処理の手順
    • 11-6.4 ストリーム入出力
    • 11-6.5 レコードのリード・ライト
    • 11-6.6 シーケンシャル・アクセス・ファイル
    • 11-6.7 ランダム・アクセス・ファイル
    • 11-6.8 ファイル管理
  • 11-7 印刷

第12章 オブジェクト指向プログラミング

  • 12-1 オブジェクト指向言語
  • 12-2 クラス
    • 12-2.1 Java API
    • 12-2.2 import文
    • 12-2.3 クラスとオブジェクト
    • 12-2.4 スタティック・メソッドとインスタンス・メソッド
  • 12-3 ユーザ定義クラス
    • 12-3.1 クラス宣言
    • 12-3.2 オブジェクトの宣言
    • 12-3.3 公開フィールド
  • 12-4 継承
  • 12-5 インターフェース
  • 12-6 オーバーロード
  • 12-7 Turtleクラス

第13章 コンポーネント指向プログラミング

  • 13-1 コンポーネント指向言語
    • 13-1.1 イベント・ドリブン・プログラミング
    • 13-1.2 RAD
  • 13-2 VBの画面構成
  • 13-3 コンポーネント(コントロール)の種類
  • 13-4 イベント・プロシージャ
  • 13-5 プロパティ
  • 13-6 特殊コンポーネント
    • 13-6.1 マルチ・メディアMCI
    • 13-6.2 インターネット・コントロール

第14章 プログラミング書法

  • 14-1 よいプログラムとは
  • 14-2 構造化プログラミング
    • 14-2.1 基本制御構造
    • 14-2.2 ループからの脱出
    • 14-2.3 モジュール
  • 14-3 フローチャート
  • 14-4 書法
    • 14-4.1 インデント
    • 14-4.2 コメント
    • 14-4.3 ifのネスト
    • 14-4.4 識別子の名前付け規則
    • 14-4.5 記号定数の利用
    • 14-4.6 演算の優先順位がわかりにくいものは()を使う
    • 14-4.7 変数のスコープはできるだけ狭くする
    • 14-4.8 わかりやすい表現
  • 14-5 常識・非常識
    • 14-5.1 誤差
    • 14-5.2 処理スピード
    • 14-5.3 基底0要素
    • 14-5.4 オーバー・フロー
    • 14-5.5 読み方アラカルト
  • 14-6 定石
    • 14-6.1 配列
    • 14-6.2 文字列処理
    • 14-6.3 ビット処理
    • 14-6.4 時間処理

第15章 データ構造とアルゴリズ

  • 15-1 コンピュータ向きアルゴリズム
  • 15-2 アルゴリズムの評価
  • 15-3 データ構造
    • 15-3.1 リスト
    • 15-3.2 木
  • 15-4 再帰
    • 15-4.1 階乗の再帰解
    • 15-4.2 ハノイの塔
  • 15-5 各種アルゴリズム
    • 15-5.1 モンテカルロ法
    • 15-5.2 多桁計算
    • 15-5.3 パージング

著者プロフィール

河西朝雄(かさいあさお)

山梨大学工学部電子工学科卒(1974年)。長野県岡谷工業高等学校情報技術科教諭,長野県松本工業高等学校電子工業科教諭を経て,現在は「カサイ.ソフトウエアラボ」代表。

主な著書:「入門ソフトウエアシリーズC言語,MS-DOS,BASIC,構造化BASIC,アセンブリ言語,C++」「やさしいホームページの作り方シリーズHTML,JavaScript,HTML機能引きテクニック編,ホームページのすべてが分かる事典,iモード対応HTMLとCGI,iモード対応Javaで作るiアプリ」「チュートリアル式言語入門VisualBasic.NET」「はじめてのVisualC#.NET」「C言語用語辞典」ほか(以上ナツメ社)「構造化BASIC」「C言語によるはじめてのアルゴリズム入門」「Javaによるはじめてのアルゴリズム入門」「VisualBasicによるはじめてのアルゴリズム入門」「VisualBasic6.0入門編/中級テクニック編/上級編」「InternetLanguage改定新版シリーズホームページの作成JavaScript入門」「NewLanguageシリーズ標準VisualC++プログラミング標準Javaプログラミング」「VB.NET基礎学習Bible」「原理がわかるプログラムの法則」「プログラムの最初の壁」「河西メソッド:C言語プログラム学習の方程式」「基礎から学べるVisualBasic2005標準コースウエア」「基礎から学べるJavaScript標準コースウエア」「基礎から学べるC言語標準コースウエア」「なぞりがきC言語学習ドリル」など(以上技術評論社)