プログラミング実習II知能・機械の教科書†
『キックオフC言語 2022年度用』のサポートページです。
製本した印刷物は、授業の初回で配布します。A5版以外に、少量ですが大きめの手作りのB5版も用意しています。
PDF は以下で公開します。
- 閲覧用
- ページ番号が、ページの上と下の2ヶ所にあるので、ページ全体が表示されてなくても確認が容易です。
- リンク部分の文字の色が「赤」です。
- 印刷用
- ページ端に、章ごとの帯のような印(ツメ)があります。
- リンク部分の文字の色が「黒」です。
- B5用紙の中にA5の領域の版面があるので、裁断できるのなら「B5用紙に原寸」で印刷してA5に裁断するのがベストですが、通常は「A5用紙に原寸」「B5用紙に122%拡大」のどちらかで印刷するのがよいでしょう。
- ソースコード閲覧
正誤表†
『自動清算』→『自動精算』
まえがき†
- p.iv 下から6行目
- 『チーティング』→『ティーチング』
- p.50 問題6.と7.
- 難易度順的には、6.と7.を入れ替えておくべきでした。
- p.50 問題7.タイトル部分
- 『関数の再利用と信頼性』→『関数の信頼性』再利用する場面は、特にありませんでした。
- p.50 問題8.
- 指示を追加します。『εはマクロ名をEPSとして定義せよ。(p.31を参照のこと。)』具体的には、次のような記述を #include の直後に書きます。
#define EPS 0.000001
- p.54 脚注*3
- 『単純に 2 つの if を並べるだけだと、 printf() が 2 回とも実行される場合があるので、 else if は必須です。』→『この例ではelseがなくても動作に変わりはありませんが、一般の条件では2つのifが同時に成り立つ可能性があるので、else ifで構造的に1回だけに絞っています。』
- p.69 問題2.
- 指示を追加します。『if文1つで判定せよ。』
- p.69 問題4.
- 指示を追加します。『1≦m≦6, 1≦n≦3の範囲に該当しなければ、何も表示しない。この動作を void print_grade(int a) の関数に独立させ、また70ページのコラムを参考に、正しく動作することのわかる main() を作れ。』
- p.69 問題6.
- 辺の長さをintに限定するメリットはないので、関数のプロトタイプを『int exist_triangle(double a, double b, double c)』にしておくべきでした。
- p.86
- 誤植ではありませんが、問題を追加します。
『0. 次のプログラムの無駄を省いて、単純にせよ。(34ページの問題2.も参照のこと。)』
#include <stdio.h>
int main(void) {
int a;
for (int i=1; i<=5; i++) {
a = i * 10;
}
printf("%d\n", a);
return 0;
}
- p.112 コラムのすぐ上の行
- 『場合には』→『変数には』意味が通じないので、訂正します。
- p.117 下から1行目
- ユークリッドの互除法を説明していませんでした。WikiPedia.ja:ユークリッドの互除法#手続き的記述 などを参照してください。
13章†
- p.203 ソースコード 13.2の7行目
- コメント中の引数名が不一致です。『aとbがほぼ等しければ0, a>bなら正, a<bなら負を返す』→『xとyがほぼ等しければ0, x>yなら正, x<yなら負を返す』
- p.208 コラムの1行目
- 『終端を示こと』→『終端を示すこと』