プログラミング実習II知機2023
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* [[プログラミング実習II知能・機械:https://am.kwansei.ac....
『キックオフC言語 2023年度用』のサポートページです。
#contents
** 配布物 [#y5cd0c9a]
製本した印刷物は、授業の初回で配布します。
//A5版以外に、少量ですが大きめの手作りのB5版も用意してい...
PDF は以下で公開します。
- [[閲覧用:https://cs.kwansei.ac.jp/~tutimura/debug/KickO...
-- 1章まで(目次など)を PDF の末尾に移動したので、書籍の...
-- ページ番号が、版面の上と下の2ヶ所にあるので、ページ全...
-- リンク部分の文字の色が「赤」です。
- [[印刷用:https://cs.kwansei.ac.jp/~tutimura/debug/KickO...
-- 用紙の端に、章ごとの帯のような印(ツメ)があります。
-- リンク部分の文字の色が「黒」です。
-- B5用紙の中にA5の領域の版面があります。
--- 裁断できるのなら「B5用紙に原寸」で印刷してA5に裁断す...
--- 通常は「A5用紙に原寸」「B5用紙に123%拡大」のどちらか...
- [[ソースコード閲覧:https://cs.kwansei.ac.jp/~tutimura/d...
-- [[全ファイルダウンロード:https://cs.kwansei.ac.jp/~tut...
** 正誤表 [#c6e69f1d]
*** 2章 [#c02]
:p. 31 末尾|マクロ定数についての補足です。「#define 文は...
:p. 34 問題4.|このスワップ動作は、3変数間で''同時に''行う...
:p. 34 問題8.|マクロ YEAR_PER_CENTURY は''2回''使用する...
*** 3章 [#c03]
:p.52|問題9.を7章に移動して、今回の提出対象から除外します...
:p.52 問題9.|「x の逆正弦を''弧度法''で返す。」→「x の逆...
*** 4章 [#c04]
:p.71 問題3.|「1個のelse-if」は「1個のifと1個のelse」...
:p.71 問題5.|動作確認のmain()と補助関数を例示しておきま...
void print_exist_triangle(int a, int b, int c) {
printf("3辺の長さが %d, %d, %d の三角形は", a, b, c);
if (exist_triangle(a, b, c)) {
printf("存在する\n");
} else {
printf("存在しない\n");
}
}
int main(void) {
print_exist_triangle(1, 1, 1); // する
print_exist_triangle(3, 4, 5); // する
print_exist_triangle(1, 1, 10); // しない
print_exist_triangle(10, 5, 5); // しない
print_exist_triangle(1, 15, 5); // しない
}
*** 6章 [#c06]
:p.104 問題4.|whileループは、結果として消滅しても構いませ...
:p.104 問題7.|数値の表示形式は、桁数を増やす工夫をしてく...
*** 7章 [#c07]
:p.119 問題0.|以下を追加します。『 問題0.[仮引数のスコー...
*** 8章 [#c08]
:p.142 問題8.|オプションの問題を追加しておきます。『問題8...
東京 品川 新横浜 名古屋 京都 新大阪
0.0 6.8 28.8 366.0 513.6 552.6
である。この距離を''1次元配列''に格納し、以下の表のよう...
&br;・実行結果の、()内の駅名はヒントであるので、''数値部...
&br;・数値は "%8.1f" で表示すると、桁が揃いやすい。
&br;・絶対値を返す数学関数 fabs(x) を用いてよい。
実行結果
( 東京)( 品川)(新横浜)(名古屋)( 京都)(新大阪)
( 東京) 0.0 6.8 28.8 366.0 513.6 552.6
( 品川) 6.8 0.0 22.0 359.2 506.8 545.8
(新横浜) 28.8 22.0 0.0 337.2 484.8 523.8
(名古屋) 366.0 359.2 337.2 0.0 147.6 186.6
( 京都) 513.6 506.8 484.8 147.6 0.0 39.0
(新大阪) 552.6 545.8 523.8 186.6 39.0 0.0
』
*** 9章 [#c09]
:p.162 問題3.|『2.5.''1''項』→『2.5.''2''項』&br;toupper(...
:p.162 問題4.|関数のプロトタイプと、main()関数を例示して...
void print_cancel_or_not(char weather[]) {
/* ここを作る */
}
int main(void) {
print_cancel_or_not("暴風雪警報");
print_cancel_or_not("大雪警報");
print_cancel_or_not("特別警報(大雪)");
}
:p.162 問題5.|ヒントとして、p.131の8.4.3節を参照してくだ...
:p.162 問題6.|ヒントを追加します。charからintへの変換の式...
int char2int(char c) { return c - '0'; }
これを使うと、次のように、「1文字」から「整数」に変換さ...
char2int('0') → 0
char2int('1') → 1
...
char2int('9') → 9
*** 10章 [#c10]
:p.178 問題5.|『(ii. 信頼性) ''プログラムを正確に作れる''...
:p.178 問題6.|『逆数''にする''関数 frac_inv(*r) を追加せ...
:p.178 問題7.|動作検証用のmain()を例示しておきます。
int main(void) {
quad_t q;
sol_t s = { 2.0, 3.0 };
quad_unsolve(&q, &s);
printf("a=%f, b=%f, c=%f\n", q.a, q.b, q.c); // 1.0,...
sol_solve(&s, &q);
printf("alpha=%f, beta=%f\n", s.alpha, s.beta); // 2...
q.a = -2 * q.a;
q.b = -2 * q.b;
q.c = -2 * q.c;
sol_solve(&s, &q);
printf("alpha=%f, beta=%f\n", s.alpha, s.beta); // 2...
}
:p.178 問題8.|追加です。『問題8. [標準ライブラリの構造体...
#include <time.h>
struct tm *get_current_time(void) {
time_t t = time(NULL);
return localtime(&t);
}
struct tm の仕様は付録A.11(p.223)を参照し、ソースコード...
*** 11章 [#c11]
:p.198 問題2.|補足指示です。入力ファイルとして、次の内容...
123 One Two Three
987 Nine Eight Seven
また、出力結果を提出してください。出力結果は「./11_6_2.ex...
:p.198 問題3.|問題を差し替えます。『191ページのソースコー...
~入力ファイルとして、次の内容を in-value.txt として保存し...
24
53
95
48
20
75
33
~ (ヒント1) 読み込む数値の範囲が 0 から 100 の間であるこ...
~ (ヒント2) 最大値と最小値は同時に求めるように考えてみよ...
~ (ヒント3) ファイル末尾に空行を追加した場合、最小値が 0 ...
:p.198 問題5.|新たに追加します。→[[./11_6_5]]
終了行:
* [[プログラミング実習II知能・機械:https://am.kwansei.ac....
『キックオフC言語 2023年度用』のサポートページです。
#contents
** 配布物 [#y5cd0c9a]
製本した印刷物は、授業の初回で配布します。
//A5版以外に、少量ですが大きめの手作りのB5版も用意してい...
PDF は以下で公開します。
- [[閲覧用:https://cs.kwansei.ac.jp/~tutimura/debug/KickO...
-- 1章まで(目次など)を PDF の末尾に移動したので、書籍の...
-- ページ番号が、版面の上と下の2ヶ所にあるので、ページ全...
-- リンク部分の文字の色が「赤」です。
- [[印刷用:https://cs.kwansei.ac.jp/~tutimura/debug/KickO...
-- 用紙の端に、章ごとの帯のような印(ツメ)があります。
-- リンク部分の文字の色が「黒」です。
-- B5用紙の中にA5の領域の版面があります。
--- 裁断できるのなら「B5用紙に原寸」で印刷してA5に裁断す...
--- 通常は「A5用紙に原寸」「B5用紙に123%拡大」のどちらか...
- [[ソースコード閲覧:https://cs.kwansei.ac.jp/~tutimura/d...
-- [[全ファイルダウンロード:https://cs.kwansei.ac.jp/~tut...
** 正誤表 [#c6e69f1d]
*** 2章 [#c02]
:p. 31 末尾|マクロ定数についての補足です。「#define 文は...
:p. 34 問題4.|このスワップ動作は、3変数間で''同時に''行う...
:p. 34 問題8.|マクロ YEAR_PER_CENTURY は''2回''使用する...
*** 3章 [#c03]
:p.52|問題9.を7章に移動して、今回の提出対象から除外します...
:p.52 問題9.|「x の逆正弦を''弧度法''で返す。」→「x の逆...
*** 4章 [#c04]
:p.71 問題3.|「1個のelse-if」は「1個のifと1個のelse」...
:p.71 問題5.|動作確認のmain()と補助関数を例示しておきま...
void print_exist_triangle(int a, int b, int c) {
printf("3辺の長さが %d, %d, %d の三角形は", a, b, c);
if (exist_triangle(a, b, c)) {
printf("存在する\n");
} else {
printf("存在しない\n");
}
}
int main(void) {
print_exist_triangle(1, 1, 1); // する
print_exist_triangle(3, 4, 5); // する
print_exist_triangle(1, 1, 10); // しない
print_exist_triangle(10, 5, 5); // しない
print_exist_triangle(1, 15, 5); // しない
}
*** 6章 [#c06]
:p.104 問題4.|whileループは、結果として消滅しても構いませ...
:p.104 問題7.|数値の表示形式は、桁数を増やす工夫をしてく...
*** 7章 [#c07]
:p.119 問題0.|以下を追加します。『 問題0.[仮引数のスコー...
*** 8章 [#c08]
:p.142 問題8.|オプションの問題を追加しておきます。『問題8...
東京 品川 新横浜 名古屋 京都 新大阪
0.0 6.8 28.8 366.0 513.6 552.6
である。この距離を''1次元配列''に格納し、以下の表のよう...
&br;・実行結果の、()内の駅名はヒントであるので、''数値部...
&br;・数値は "%8.1f" で表示すると、桁が揃いやすい。
&br;・絶対値を返す数学関数 fabs(x) を用いてよい。
実行結果
( 東京)( 品川)(新横浜)(名古屋)( 京都)(新大阪)
( 東京) 0.0 6.8 28.8 366.0 513.6 552.6
( 品川) 6.8 0.0 22.0 359.2 506.8 545.8
(新横浜) 28.8 22.0 0.0 337.2 484.8 523.8
(名古屋) 366.0 359.2 337.2 0.0 147.6 186.6
( 京都) 513.6 506.8 484.8 147.6 0.0 39.0
(新大阪) 552.6 545.8 523.8 186.6 39.0 0.0
』
*** 9章 [#c09]
:p.162 問題3.|『2.5.''1''項』→『2.5.''2''項』&br;toupper(...
:p.162 問題4.|関数のプロトタイプと、main()関数を例示して...
void print_cancel_or_not(char weather[]) {
/* ここを作る */
}
int main(void) {
print_cancel_or_not("暴風雪警報");
print_cancel_or_not("大雪警報");
print_cancel_or_not("特別警報(大雪)");
}
:p.162 問題5.|ヒントとして、p.131の8.4.3節を参照してくだ...
:p.162 問題6.|ヒントを追加します。charからintへの変換の式...
int char2int(char c) { return c - '0'; }
これを使うと、次のように、「1文字」から「整数」に変換さ...
char2int('0') → 0
char2int('1') → 1
...
char2int('9') → 9
*** 10章 [#c10]
:p.178 問題5.|『(ii. 信頼性) ''プログラムを正確に作れる''...
:p.178 問題6.|『逆数''にする''関数 frac_inv(*r) を追加せ...
:p.178 問題7.|動作検証用のmain()を例示しておきます。
int main(void) {
quad_t q;
sol_t s = { 2.0, 3.0 };
quad_unsolve(&q, &s);
printf("a=%f, b=%f, c=%f\n", q.a, q.b, q.c); // 1.0,...
sol_solve(&s, &q);
printf("alpha=%f, beta=%f\n", s.alpha, s.beta); // 2...
q.a = -2 * q.a;
q.b = -2 * q.b;
q.c = -2 * q.c;
sol_solve(&s, &q);
printf("alpha=%f, beta=%f\n", s.alpha, s.beta); // 2...
}
:p.178 問題8.|追加です。『問題8. [標準ライブラリの構造体...
#include <time.h>
struct tm *get_current_time(void) {
time_t t = time(NULL);
return localtime(&t);
}
struct tm の仕様は付録A.11(p.223)を参照し、ソースコード...
*** 11章 [#c11]
:p.198 問題2.|補足指示です。入力ファイルとして、次の内容...
123 One Two Three
987 Nine Eight Seven
また、出力結果を提出してください。出力結果は「./11_6_2.ex...
:p.198 問題3.|問題を差し替えます。『191ページのソースコー...
~入力ファイルとして、次の内容を in-value.txt として保存し...
24
53
95
48
20
75
33
~ (ヒント1) 読み込む数値の範囲が 0 から 100 の間であるこ...
~ (ヒント2) 最大値と最小値は同時に求めるように考えてみよ...
~ (ヒント3) ファイル末尾に空行を追加した場合、最小値が 0 ...
:p.198 問題5.|新たに追加します。→[[./11_6_5]]
ページ名: