TOP新刊既刊I/OサポートQ&AI/O WEB版通販お問い合わせ
 既刊 > 2013年 > 11月 書名検索: 詳細検索...
「アイデア」→「アルゴリズム」→「プログラム」
アルゴリズム大事典
橋本 英美 著
2013年11月15日発売   B5判  240ページ 定価 \2,700(本体 \2,500)
   ISBN978-4-7775-1797-8 C3004 \2500E
 決まった働きや与えられた問題を解決するために、必要な処理を順番に組み合わせた処理手順が、「アルゴリズム」です。
 同じ結果になるプログラムは幾通りにも書くことができます。しかし、決まり切った内容を伝える文書には決まった書き方をした方が読みやすいのと同じで、よく使われる処理をするためのプログラムの書き方も、定式化した書き方があります。これを「アルゴリズム」として覚えておくと、新たな問題を解決するときにも、既存のものを応用して簡単に考えることができます。

 本書は、プログラムを一通りマスターした、特に高校生以上の人を対象に、さまざまなアルゴリズムを説明します。「アルゴリズム」の動作は、マイクロソフト社の表計算ソフト「Excel」に附属する「VBA」を基本として説明しています。また、プログラミングの文法書も使うことで、「プログラミングの学習」と「アルゴリズムの学習」を同時に進めることができます。
■ 主な内容 ■

0章 「アイデア」から「アルゴリズム」へ

・「アイデア」から「アルゴリズム」へ
・「アルゴリズム」の、図による表現
・計算量
・VBAを使ってみよう
・「フローチャート」と「VBAの命令」の対応
・考え方の実際

1章 「アルゴリズム」から「プログラム」へ

【1】 変数の内容を入れ替える
【2】 n桁目を取得する
【3】 金種を計算をする
【4】 角度を一定の範囲に収める
【5】 三角関数と角度の関係
【6】 数列を出力する
【7】 数列を出力する
【8】 加算だけで掛け算をする
【9】 加減算だけで割り算をする
【10】 加算だけで掛け算をする
【11】 一定条件で処理を打ち切る
【12】 一定条件で処理を打ち切る
【13】 山分けをする
【14】 スイッチ処理をする
【15】 ローレル指数を求める
【16】 BMIを求める
【17】 不快指数を求める
【18】 チェックデジットを求める
【19】 水差し問題を解く

2章 簡単な数値計算

【20】 三角形ができるか調べる
【21】 周囲が最長の三角形を求める
【22】 三角形の形を調べる
【23】 二次方程式の解を求める
【24】 階乗を求める

3章 整数の計算

【25】 最大公約数を求める
【26】 3個以上の数の「最大公約数」を求める
【27】 最小公倍数を求める
【28】 「拡張ユークリッドの互除法」を使う
【29】 約分をする
【30】 「互いに素」か調べる
【31】 「互いに素」の数の個数を調べる
【32】 因数分解をする
【33】 「ゴールドバッハ(Goldbach)の予想」を確かめる
【34】 「ピタゴラス(Pythagoras)数」を求める
【35】 約数を求める
【36】 「和の完全数」を求める
【37】 「積の完全数」を求める
【38】 累乗を求める
【39】 べき剰余を求める

4章 素数

【40】 素数を生成する
【41】 素数かどうか調べる
【42】 素数かどうか調べる
【43】 素数かどうか調べる
【44】 素因数分解をする
【45】 素因数分解をする

5章 配列

【46】 最大値の位置を調べる
【47】 最大値の位置を調べる
【48】 最大値の位置を調べる
【49】 ベストスリーを求める
【50】 重複をチェックする
【51】 同じ値があるか調べる
【52】 データの種類を調べる
【53】 データの種類を調べる
【54】 データを「左シフト」する
【55】 データを「右シフト」する
【56】 データを「左ローテーション」する
【57】 データを「右ローテーション」する
【58】 データが何番目にあるか求める
【59】 数と一致する数列の和の範囲を求める
【60】 状態の変化を見る
【61】 「奇数」の「魔方陣」を作る
【62】 「4の倍数」の「魔方陣」を作る

6章 「進数変換」と「ビット処理」

【63】 「10進数」を「n進数」に変換する
【64】 「n進数」を「10進数」に変換する
【65】 小数点を含む「10進数」を「2進数」に変換する
【66】 「1のビット」の数を数える
【67】 「ビット列」を逆転する

7章 多段桁の計算

【68】 多段桁で「整数」の「加算」をする
【69】 「細菌の数」を計算する
【70】 多段桁で「整数」の「減算」をする
【71】 多段桁で「整数」の「乗算」をする
【72】 多段桁で「整数」の「除算」をする
【73】 多段桁で「実数」の「加算」をする
【74】 多段桁で「実数」の「減算」をする

8章 並べ替え(ソート)

【75】 「交換法」でデータを昇順に並べる
【76】 「選択法」でデータを昇順に並べる
【77】 「挿入法」でデータを昇順に並べる
【78】 「シェル・ソート」でデータを昇順に並べる
【79】 「クイック・ソート」でデータを昇順に並べる
【80】 「二重ソート」でデータを並べる

9章 「順列」と「組み合わせ」

【81】 すべての組み合わせを作る
【82】 順列を生成する
【83】 順列を生成する
【84】 順列を生成する
【85】 「引き算パズル」を解く
【86】 「エイトクイーン」を解く
【87】 組み合わせを生成する
【88】 「ナップザック問題」を解く

10章 レコードの処理

【89】 データを抽出する
【90】 レコードを併合する
【91】 レコードを併合する
【92】 項目を削除する
【93】 項目の差分を抽出する
【94】 項目を変更する

11章 乱数

【95】 「線形合同法」で乱数を作る
【96】 線形フィードバックの「シフト・レジスタ」で乱数を作る
【97】 乱数で「サイコロの目」を出す
【98】 「カード」をシャッフルする
【99】 「カードゲーム」をシミュレートする
【100】 「モンテカルロ法」で円周率を求める
【101】 「ビュフォン(Buffon)の針」で円周率を求める
【102】 「ポアソン乱数」を作る
【103】 「待ち行列」をシミュレートする
【104】 「ジャンケンの勝率」を求める

12章 暗号

【105】 「シーザー(Caesar)暗号」により「暗号化」する
【106】 「シーザー暗号」を「復号化」する
【107】 「ストリーム暗号」で暗号化する
【108】 「ストリーム暗号」で復号化する
【109】 「RSA暗号」で「暗号化」「復号化」する
【110】 「RSA暗号」の「鍵」を生成する

13章 「スタック」と「キュー」

【111】 「スタック」に積む
【112】 「スタック」から下ろす
【113】 「数の加減算パズル」を解く
【114】 「ハノイ(Hanoi)の塔」問題を解く
【115】 迷路を作る
【116】 「キュー」に入れる
【117】 「キュー」から除く
【118】 「エイトパズル」を解く

14章 「腕づく法」と「欲張り法」

【119】 「腕づく法」で最適解を求める
【120】 「欲張り法」(貪欲法)で解を求める
【121】 最短時間を求める
【122】 すべての経路を求める
【123】 「農夫と狼と羊とキャベツ」の問題を解く
【124】 「動的計画法」で価格を求める
【125】 「数字タイル」パズルを解く

15章 再帰呼び出し

【126】 「再帰呼び出し」で「階乗」を求める
【127】 「再帰呼び出し」で「フィボナッチ数列」を求める
【128】 迷路を解く

16章 図形

【129】 「多角形の面積」を求める
【130】 「多角形の面積」を求める
【131】 「ベクトルの方向」を求める
【132】 3点の間の「角度」を求める
【133】 線分の「交点座標」を求める
【134】 「多角形の内側」に指定した「点」はあるか
【135】 「凸包問題」を解く

17章 曲線のあてはめ

【136】 「最小2乗法」(単回帰分析)で「直線」を引く
【137】 「最小2乗法」で「直線」を引く
【138】 「直交回帰直線」を引く
【139】 「多項式近似」で「曲線」を引く
【140】 「ラグランジュ(Lagrange)補間」で「曲線」を引く
【141】 「ニュートン(Newton)の補間」で「曲線」を引く

18章 数値計算

【142】 「ガウス(Gauss)の消去法」で「連立一次方程式」を解く
【143】 「ガウス=ジョルダン(Gauss-Jordan)法」(掃き出し法)で「連立一次方程式」を解く
【144】 「逆行列」を求める
【145】 「軸選択」をする
【146】 「軸選択」をする
【147】 「逐次近似法」で「根」を求める
【148】 「二分法」(中点法)で「根」を求める
【149】 「レギュラ・ファルシ(Regula Falsi)法」(はさみうち法)で「根」を求める
【150】 「ニュートン=ラプソン(Newton-Lapson)法」で「根」を求める

本書内容に関するご質問は、こちら
本書のサポートページはこちら
通信販売
在庫あり
サポート情報
サポート
ご意見・ご質問

内容見本