内容説明
プログラミング能力向上のための基盤となる「アルゴリズムとデータ構造」を,業務で広く利用されているExcel VBA を用いて学ぶことができる。データサイエンス・AI時代のための「アルゴリズムとデータ構造」の入門書。
目次
1.コンピュータの世界
1.1 コンピュータはことばで動く
1.2 コンピュータの動き
1.2.1 コンピュータの中身
1.2.2 プログラムの実行とメモリ
1.2.3 CPUの命令の種類
1.2.4 命令実行サイクル
1.3 ディジタルの世界
1.3.1 2進法によるディジタル化
1.3.2 数のディジタル化
1.3.3 文字のディジタル化
1.3.4 画像のディジタル化
1.3.5 音のディジタル化
章末問題
2.プログラムの世界
2.1 ソフトウェアの役割
2.2 アルゴリズムとプログラム
2.3 プログラムの変数とメモリ
2.4 プログラムの開発過程
2.5 オブジェクト指向プログラミング
2.5.1 VBAとオブジェクト指向
2.5.2 プログラムのなかのオブジェクト
章末問題
3.VBAと開発環境
3.1 表計算ソフトとマクロ
3.2 VBAの開発環境VBE
3.2.1 Excelの構成要素
3.2.2 プログラムの開発環境VBE
3.2.3 プログラムの開発過程
3.3 プログラムの編集
3.4 ファイルの保存・読み込み
3.4.1 ファイルの保存
3.4.2 ファイルの読み込み
3.5 プログラムの実行
3.5.1 VBEのもとでの実行
3.5.2 ワークシートのもとでの実行
3.6 VBEによるデバッグ
3.6.1 デバッグの概要
3.6.2 実行時エラーのときのデバッグ
3.6.3 計算間違いのときのデバッグ
3.7 デバッグをするときのポイント
章末問題
4.ワークシートの基本操作
4.1 Excelのオブジェクト
4.2 オブジェクトのプロパティの利用
4.2.1 プロパティの形式
4.2.2 セルへの入力
4.2.3 オブジェクトの省略
4.2.4 複数のワークシートのセルの計算
4.3 オブジェクトのメソッドの利用
4.3.1 メソッド
4.3.2 マクロの記録
4.4 VBAの組込み関数
4.4.1 関数
4.4.2 数値関数
4.4.3 文字列関数
4.4.4 Excelの関数の利用
4.5 イミディエイトウィンドウの使い方
4.5.1 プログラムの実行中の利用
4.5.2 対話形式での利用
章末問題
5.プログラムの構造とデータ型
5.1 VBAのプログラムの構造
5.2 データ型
5.2.1 データ型の値の範囲
5.2.2 配列
5.3 変数の宣言と利用
5.3.1 宣言された変数
5.3.2 宣言なしの変数:Variant型
5.3.3 変数の明示的宣言:Option Explicit
5.4 データ型と計算
5.4.1 Integer型やDouble型の計算
5.4.2 Boolean型の計算
5.4.3 String型の計算
5.4.4 データ型と演算や代入
5.5 関数の定義と呼び出し
5.5.1 ユーザ定義の関数
5.5.2 関数呼び出しの実引数
章末問題
6.プログラムの実行制御
6.1 実行制御の種類
6.1.1 逐次処理
6.1.2 実行制御の種類
6.2 流れ図
6.2.1 流れ図のブロック
6.2.2 流れ図と実行制御
6.3 条件分岐
6.3.1 If文
6.3.2 Select文
6.4 繰り返し処理
6.4.1 For文
6.4.2 While文
6.4.3 繰り返しの強制終了
6.5 関数呼び出しによる繰り返し処理
6.6 プログラムのなかのプロシージャと変数
6.6.1 プロシージャの集まりとしてのプログラム
6.6.2 引数をもつプロシージャの定義と利用
6.6.3 大域変数と局所変数
章末問題
7.アルゴリズムと計算量
7.1 アルゴリズムの評価
7.2 アルゴリズムの複雑さ
7.2.1 計算量
7.2.2 最悪計算量と平均計算量
7.2.3 オーダ記法O
7.3 計算量の改善策
7.3.1 総和計算の時間計算量
7.3.2 べき乗計算の時間計算量
7.3.3 再帰関数の領域計算量
7.3.4 末尾再帰呼び出しによる領域計算量の改善
章末問題
8.探索のアルゴリズム
8.1 探索の概要
8.1.1 探索の成功と失敗
8.1.2 VBAでの実装法
8.2 線形探索
8.3 2分探索
8.4 探索プログラムの実行
8.5 ハッシュ法による探索
8.5.1 ハッシュ法の概要
8.5.2 開アドレス法
8.5.3 連鎖法
章末問題
9.整列のアルゴリズム
9.1 整列の概要
9.1.1 順序関係による並び替え
9.1.2 実装上のテクニック
9.2 バブルソート
9.2.1 基本的なアイディア
9.2.2 バブルソートのプログラム
9.3 クイックソート
9.3.1 基本的なアイディア
9.3.2 クイックソートのプログラム
9.4 特色のある整列法
9.4.1 バケットソート:O(n)
9.4.2 マージソート:大規模データ
章末問題
10.リスト構造とアルゴリズム
10.1 データ構造の必要性
10.1.1 これまでのデータ処理の課題
10.1.2 ワークシートを使ったデータ構造の実現
10.2 リスト構造
10.2.1 リストと操作
10.2.2 リストのためのデータ構造
10.2.3 ワークシート上での実装法
10.3 スタック
10.3.1 データの追加:push
10.3.2 データの削除:pop
10.4 キュー
10.4.1 データの追加:enqueue
10.4.2 データの削除:dequeue
10.5 リスト構造のもとでの探索と整列
10.5.1 リスト構造のもとでの探索
10.5.2 リスト構造のもとでの整列
章末問題
11.木構造とアルゴリズム
11.1 2分木とデータ構造
11.1.1 2分木の概要
11.1.2 2分木の実装法
11.2 2分木の操作と整列
11.2.1 データ追加の方法
11.2.2 データ追加のプログラム
11.2.3 データ削除の方法
11.2.4 2分木の整列と探索
11.3 木の探索
11.3.1 探索の方法
11.3.2 迷路の探索の実装法
11.3.3 深さ優先探索
11.3.4 幅優先探索
章末問題
12.ファイルとデータベース
12.1 ファイル操作の準備
12.1.1 ファイルの構造
12.1.2 CSVファイル
12.2 ファイルの操作
12.2.1 ファイルのパス
12.2.2 ファイルの基本操作
12.2.3 CSVファイルの読み込み
12.2.4 CSVファイルへの書き込み
12.3 ワークシートの操作
12.3.1 レコードの整列
12.3.2 ワークシートへの分配
12.3.3 データの分析
12.4 関係データベース
12.4.1 関係データベースの演算
12.4.2 レコードの射影
12.4.3 レコードの選択
12.4.4 ワークシートの結合
章末問題
13.データサイエンスの世界
13.1 データサイエンス
13.2 ビッグデータ
13.2.1 ビッグデータの定義と特徴
13.2.2 データの構造
13.3 ビッグデータの収集と蓄積
13.3.1 データ収集の方法
13.3.2 データ蓄積の方法
13.4 クラウドサービスとその役割
13.4.1 クラウドの基本概念
13.4.2 ビッグデータ処理における利点
13.5 ビッグデータの活用事例
13.6 オープンデータ
13.7 表計算ソフトとデータサイエンス
章末問題
14.AIの世界
14.1 AIとプログラミング
14.1.1 AIの歴史の概略
14.1.2 旅行先案内システム
14.1.3 コンピュータとの対話システム
14.2 AI活用の留意事項
14.3 生成AI
14.3.1 生成AIの基盤モデル
14.3.2 生成AIの応用分野
14.3.3 プロンプトエンジニアリング
章末問題
引用・参考文献
あとがき
索引
感想・レビュー
-
- 電子書籍
- もふもふと楽しむ無人島のんびり開拓ライ…




