「センス・オブ・プログラミング!」正誤表
このページは、拙書「センス・オブ・プログラミング!」技術評論社 ISBN4-7741-2173-8 の正誤表です。
ところどころ、ソース中の「!=」の間が妙に空いている部分があります。 「!」のフォントが全角になっているのが原因です。
現状で確認できている範囲で、以下の箇所です。
p.52 6行目
誤)
2.同プログラムが読みやすくなる
正)
2.プログラムが読みやすくなる
p.60 図2.4のふたつ上のパラグラフ
誤)
しかも、0と10は同じ指の形ですから、実質は0〜9までになるでしょう。
正)
しかも、0と10、1と9、2と8などは同じ形ですから、実際は6通りの数しか表現していません。
p.60 図2.4
左下の指の形は「6」を表現しているので、その下の数字は 0ではなく6でなければなりません。
p.66 図2.14
右下のOR回路が、絵の方だけAND回路になっています。
p.85 図2.26
コンパイラの出力は、hello.cではなくhello.oです。
p.94 (コードを除く)4行目
誤)
逆行してしています。
正)
逆行しています。
p.109 1行目
誤)
脳内になるなんだかもやもやしたもの
正)
脳内にあるなんだかもやもやしたもの
p.113 下から3行目
誤)
ちなみにJavaやC++では、「ラベル付きbreak」により、
gotoを使わずに書くことができます。
正)
ちなみにJavaでは、「ラベル付きbreak」により、
gotoを使わずに書くことができます。
C++には「ラベル付きbreak」はありません。
これはかなり罪が重い間違いですね。申し訳ありません。
p.134 下から7行目
誤)
カードのパンチには、「カードパンチャー」という…
正)
カードのパンチは、「カードパンチャー」という…
p.142 17行目
誤)
Congraturations
正)
Congratulations
p.142 下から5行目
誤)
AssertErrorをthrowしますが
正)
AssertionErrorをthrowしますが
p.149 4行目
誤)
なけばならなくなってしまう。
正)
なければならなくなってしまう。
p.149 上のPOINTの下
誤)
ところで、ソフトウェア工学に関する古典的に
正)
ところで、ソフトウェア工学に関する古典に
p.180 下から9行目
誤)
追加すべき要素
正)
検索すべき要素
p.183 下から4行目
誤)
実際には、27人集まれば、誕生日が衝突する確率は50%を超えます。
正)
実際には、23人集まれば、誕生日が衝突する確率は50%を超えます。
どこから27が出てきたのか、今となってはまったく思い出せません……
p.198 2行目
誤)
Line polyline_array[LINE_MAX];
正)
Polyline polyline_array[LINE_MAX];
p.223 4行目
誤)
p.220の「ポイント」にある実装隠蔽のメリットのうち…
正)
p.220の「POINT」にある実装隠蔽のメリットのうち…
参照先の表記がPOINTですので。
p.223 下から二つ目のかけ網部分
誤)
public interface Hoge { public int hoge(); : }
正)
public interface Hoge { int hoge(); : }
このpublicはあってもなくても構いませんが、ない方が推奨されています。
p.226 側注4行目
誤)
sturct
正)
struct
p.250 リスト6-1 5行目のコメント
誤)
// ブロック要素は多重度が0..*なので、
正)
// ブロック要素は多重度が1..*なので、
p.246 図6-2で、ブロック要素の多重度は1..*と定義しています。
p.254 図6-10
最後のBlockElementだけ、lが筆記体になっています。
p.262 下のかけ網部分
誤)
BlockElement be; double height; height = be.calcHeight();
正)
BlockElement be; double height; // 中略 height = be.calcHeight();
C版では「中略」が入っていますので。
p.267 上から5行目
誤)
正)
ろん「時間」とは処理時間のことであり、「空間」とはメモリ空間のこと
「時間」の方だけカッコで囲むのも変ですし。
p.272 図6-16
誤)
正)
行がページをまたいで移動する際も
同じ図の右の方
誤)
正)
ページをまたがる段落
p.278 真ん中あたりのかけ網部分
誤)
// カーソルの位置の直後の文字を削除 void backSpace();
正)
// カーソルの位置の直前の文字を削除 void backSpace();
p.293 リスト中の上から5行目
誤)
// カーソルの位置の直後の文字を削除 void backSpace();
正)
// カーソルの位置の直前の文字を削除 void backSpace();
p.278と同じミスがコピペで増殖していました。
p.296 下から2行目, p.297上から2行目
誤)
キーがクリックされた
正)
キーが押された
普通キーは「クリックされた」とは言わないと思いますので。
索引中のいくつかの単語について、ページ番号がずれているようです。
副作用:97ページではなく98ページ
プロシージャ、関数:98ページではなく99ページ