ta_AProg/2012
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*応用プログラミング演習 2012年度 TA向けページ [#r30c585d]
[[takataka]] | [[時間割2012]] | [[AProg/2012]] | [[AProg/...
#contents
//&color(Red){工事中};
**おしらせ [#q030ad76]
//-&color(White,Blue){NEW};
- 2012-09-09 [[第1回までの宿題>#ex01]]
- 2012-09-09 [[9月18日までの宿題>#hw0918]]
- 2012-09-09 このページを作成しました.
**注意 [#rdeabaf6]
-お金をもらって仕事をするわけですから,みなさんはプロです.
その自覚をもって行動して下さい.
-担当科目の授業時間外にも準備や勉強に時間を割く必要があり...
TAの時給が高い理由にはいろいろありえますが,これも一つの...
-欠勤する場合,事前に高橋に連絡をとって下さい.
勝手に代理を頼んだりしてはいけません.
**第8回1112 [#ex08]
[[ta_AProg/2012/ex08]] | [[AProg/2012/ex08]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
//,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
//,ex06,濱口,長瀬,平木,柳原,山本,鰐部,新城
//,ex07,長瀬,平木,柳原,山本,鰐部,新城,濱口
,ex08,平木,柳原,山本,鰐部,新城,濱口,長瀬
-今回のAにチェック [[AProg/2012/ex03#kadaiC]]
-今回のBにチェック [[AProg/2012/ex05#kadaiC]]
-今回のCにチェック [[AProg/2012/ex06#kadaiB]]
***おしらせと宿題 [#g43264e2]
- 講義資料はありません
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--%%講義資料とそのスキャン版に目を通しておく%%
--%%演習課題をやって解答を共有場所に提出する%%
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
--入力後のチェックシートを高橋に渡す(高橋がつかまらない...
**第7回1105 [#ex07]
[[ta_AProg/2012/ex07]] | [[AProg/2012/ex07]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
//,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
//,ex06,濱口,長瀬,平木,柳原,山本,鰐部,新城
,ex07,長瀬,平木,柳原,山本,鰐部,新城,濱口
***おしらせと宿題 [#zdd4b0ad]
- &color(Red){課題Aのソースファイル名を ex06zs.c → ex07zs...
- 講義資料はありません
- zipdata100 と zipsearch.h は共有場所にありますが,肝心...
計算機室で zipsearch.o を手に入れてプログラミングしてくだ...
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,Bをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#td453371]
-長瀬くん
--A: よくできました
--B: よくできました
-柳原くん
--A: 要再提出.
~i?
printf("[%d] %d %s\n",i,k,d[i].addr)
:puts("見つかりませんでした");
ど変態なのはいいんですが(^^),郵便番号の出力形式をよく考...
---ok
--B: 要再提出.
return x<BOARDSIZE&&y<BOARDSIZE&&b->board[y][x]!=1&&~b-...
//上のコメントに対応するように修正
変態度が足りない…のではなくて,条件が足りないので正しくチ...
---ok
-鰐部くん
--A: よくできました.
--B: よくできました.
-濱口くん
--A: 要再提出
for(;fscanf(fp,"%d %s",&d[n].code,d[n].addr)!=EOF;n++);
fscanf()の戻り値がEOFかどうか調べるのでは,ファイルの形式...
それから,柳原くんへのコメントも参照.
---ok. 最初に指摘し忘れましたが,上記のfor文では配列の大...
自分で直しておいてください.
--B: よくできました.
-山本くん
--A: ok. 濱口くんのAへのコメントの後半を見て直しておいて...
--B: よくできました.ただ,この判定法は計算コストの面でい...
if (0 <= x && x < BOARDSIZE && 0 <= y && y < BOARDSIZE\
&& abs(b->board[y][x]) != 1) //<-koko
-新城くん
--A: ok. ただし…
if(key < 0){111111
printf("ばいばい\n");
break;
}
コンパイルとおらへんよ.
if(t == -1){
printf("探索回数%dです\n", nsearch);
printf("ありません\n");
}
else {
printf("探索回数%dです\n", nsearch);
printf("%d %s\n", jusyo[t].code, jusyo[t].addr);
}
探索回数のprintf()はif-elseの外でよいですね.
--B: 要再提出.修正が足りません.ちゃんと実行して動作確認...
---ok
-平木くん
--A: よくできました
--B: 要再提出.以下はまずいです.
if(b->board[y][x] == 0 && 0 <= x && x < BOARDSIZE && 0<=...
---要再々提出,山本君へのコメントは,「こんな問題でabsな...
よく考えてください.
if(abs(b->board[y][x]) != 1 && 0 <= x && x < BOARDSIZE ...
return 1;
else
return 0;
---ok
**第6回1029 [#ex06]
[[ta_AProg/2012/ex06]] | [[AProg/2012/ex06]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
//,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
,ex06,濱口,長瀬,平木,柳原,山本,鰐部,新城
***おしらせと宿題 [#k3857fa3]
- 講義資料と同じ所に data4ex06a.txt, image.c, image.h が...
image.* は以前の課題と同じファイル名ですが別物です.
- %%zssample は /home/sample/... にはまだありません %% → ...
- 新城くんからの指摘をうけて,課題Bの最後に static をつけ...
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,Bをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#v5dfe119]
-新城くん
--A: ok. 課題では下のように言ってます.
これは,名前の文字列「も」
長さをNとせよと言ってるわけではありません.
>
-構造体の定義は 前回の課題A と同様
-次のように定数Nを定義し,これを構造体変数の配列の大きさ...
#define N 50
<
--B: 要再提出.課題Sも含めて作ってくれていますが,肝心の ...
thetamax を次のように渡すのは悲しい….
for(i = 1; i < M; i++){
uzumaki(&dst, i, &img);
おまけ課題にさらに自分で考えて,連番の桁数を自動的に定め...
ただ,以下が超こわい.DATADIR が "*" だったりしたらと思う...
ここまでの作業はシェルスクリプトなりなんなりとの組み合わ...
#pre{{
void make_dir()
{
char str[100];
if( mkdir(DATADIR,DIRMODE) != 0 ){
sprintf( str, "rm -rf %s", DATADIR );
system( str );
mkdir( DATADIR, DIRMODE );
}
}
}}
---ok. ただ,52とか引数に渡してる所が,やはり,大丈夫?引...
M_PI/2 とか 3 とかそういう値で実行してみた上で 52 みたい...
uzumaki(&img, 52.0, &dst);
-鰐部くん
--A: よくできました.
--B: よくできました.
>
image.cのuzumakiの第3引数(dst)の説明が"入力画像"になって...
違いでは...?
<
ご指摘ありがとうございます.
/home/sample に置いてあるファイルは直ってますが,Google D...
-柳原くん
--A: よくできました.↓ そこはかとなく変態感がただようコー...
x[Oldest(x,n)].name
--B: よくできました.
-長瀬くん
--A: よくできました.Oldest() を呼ぶのは配列の内容を表示...
--B: よくできました
-平木くん
--A: よくできました.そこはかとなく変態感ただようひとがも...
a[Oldest(a, n)].name
平木くんのOldest()では最大値とその番号の両方を覚えておく...
そちらの場合,比較の度に構造体の配列の中のメンバにアクセ...
--B: よくできました.
-濱口くん
--A: 要再提出.データ件数を超えて読み込もうとしてエラーに...
---ok
--B: よくできました.念のため指摘しておきますが,別にファ...
-山本くん
--A: 要再提出.濱口くんのAへのコメント参照.
---ok
--B: よくできました.
**第5回1022 [#ex05]
[[ta_AProg/2012/ex05]] | [[AProg/2012/ex05]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
***おしらせと宿題 [#i5c4d857]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,B,Cをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#o1fc9d38]
-新城くん
--A: 要再提出.「typedef を使って適当な型名をつけること」...
---ok
--B: 要再提出.課題の条件を満たしていません.
---ok
--C: よくできました.課題では求めていませんが,データ件数...
-柳原くん
--A: よくできました.
--B: よくできました.ただし,#include <stdio.h> は省略す...
printfやscanfを使っているので(暗黙の戻り値型がintなので...
--C: よくできました.何度も入力をミスるとこわい…
-鰐部くん
--A: ok. ただし,新城くんのAへのコメント参照.
--B: よくできました.
--C: よくできました.入力が負数だったら再入力させるように...
-平木くん
--A: 要再提出.「nameの文字列は最大99文字までと仮定してよ...
---ok
--B: よくできました.
--C: よくできました.ただ,この終了の仕方は考えどころです.
この場合,プログラムとしては正常な終了の仕方なので,EXIT_...
シェルスクリプトを少し勉強すると,「プログラムの戻り値」...
#pre{{
printf("キー値を入力してね(負の数だと終了する...
scanf("%d", &x);
if(x < 0){
printf("ばいばい\n");
exit(EXIT_FAILURE);
}
}}
-濱口くん
--A: 要再提出.平木くんへのコメント,新城くんへのコメント...
---ok
--B: よくできました.stdio.hについて柳原くんへのコメント...
--C: よくできました.データ件数などが負数の場合には再入力...
-長瀬くん
--A: よくできました
--B: よくできました
--C: よくできました.ただし,DETAMAX はたぶん DATAMAX で...
-山本くん
--A: 要再提出.他の人へのコメントがすでに出てる場合は先に...
---要再々提出.なおってません.
---ok
--B: よくできました
--C: 要再提出.これはちょっといけてません.
#pre{{
if (Lsearch(data, data_number, search_data) < 0)
printf("その値はないみたい\n");
else
printf("その値は%d番目にあるよ\n", Lsearch(data, da...
}}
---ok
**第4回1015 [#ex04]
&color(Red){2012-10-08 日曜に第4回の講義資料とスキャン版...
[[ta_AProg/2012/ex04]] | [[AProg/2012/ex04]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
***おしらせと宿題 [#w7e6c5e0]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,Bをやって解答を共有場所に提出する(課題Aのste...
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#d4eb53e9]
- &color(Red){全員におしらせ}; 前回まではこちらでmakefile...
高橋に「コンパイルもしてないの?」といぢめられるおそれは...
そのかわり,自分でコンパイルする際には「-Wall オプション...
- 新城くん
//&color(Red){あちこちに同じ名前のファイルがあってどれを...
--A: 要再提出.
今年度は,この回にヘッダファイルの話までやっているので,...
---ok.
--B: 要再提出.
ヘッダファイルを作っていますがそれが置かれていないので確...
ちなみに,この授業では自分の作るヘッダファイルに #include...
画像ファイル名をキー入力させるように作ってくれましたが,...
---ok. 細かいことを言うと,このプログラムの構成では,ファ...
- 鰐部くん
--A: よくできました.ただし,この課題のようなソース構成で...
ex04x999.c とは別の,mainを定義したソースからincludeする...
--B: よくできました.ヘッダファイルの命名についてAと同様.
- 長瀬くん
--A: よくできました.
--B: よくできました.
- 柳原くん
--A: よくできました.#ifndef で囲んだヘッダファイルにして...
--B: よくできました.同じく
- 濱口くん
--A: よくできました.
--B: よくできました.
- 平木くん
--A: よくできました.
--B: よくできました.
- 山本くん
--A: よくできました.ただし,ヘッダファイルの命名法につい...
--B: 要再提出.いけてません.
mat[i][j] = mat[i][w-j];
mat[i][j] = mat[h-i][j];
---ok
**第3回1008 [#ex03]
[[ta_AProg/2012/ex03]] | [[AProg/2012/ex03]]
,,1,3,5,フリ,7,9,フリ
,ex02,柳原,山本,鰐部,新城,濱口,長瀬,平木
,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
***おしらせと宿題 [#s4485c49]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,B,Cをやって解答を共有場所に提出する(すべて完...
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
--チェックシートは次回の演習時に高橋に渡してください
***コメント [#y3aad2ae]
>
共有場所にファイルを置くときに,同名のファイルを複数置い...
Google ドライブ上では同じ名前のファイルが複数あるように見...
hoge.c と hoge (1).c
みたいな名前で管理されるため,いろいろ面倒なことになりま...
<
- 柳原くん
--A: よくできました.fopen()のエラー処理で fprintf(stderr...
--B: よくできました
--C: よくできました.画像の幅と高さのチェックもしてくれま...
if(w<=0 || h<=0 || w>WIDTH || h>HEIGHT )
printf("┌(┌ ^o^)┐ 画像サイズが不正です\n");
メニューの番号を入力してもらってチェックするところで scan...
- 平木くん
--A: よくできました.わかってやってると思いますが念のため...
それから,exit(1) としてますが,exitの引数はどうするのが...
--B: 要再提出→ok.左右反転の関数を次のようにしています.
課題では特に指定していませんが,使わない仮引数を用意する...
void func(int a[][WIDTH], int width, int height, int max...
--C:
---要再提出.こちらも課題では明示的に指定していませんが,...
---要再々提出→ok.negateの引数は….それから,ほかの人に指...
- 濱口くん
--A: よくできました.柳原くんのAと同様.
--B: よくできました.
--C: よくできました.
すごいことになってます.
#pre{{
void fliph(int (*)[], int, int); //左右反転
void flipw(int (*)[], int, int); //上下反転
void negate(int (*)[], int, int, int); //白黒反転
//
void mirrorh(int (*)[], int, int); //左右鏡
void mirrorw(int (*)[], int, int); //上下鏡
void partition(int (*)[], int, int); // 4分割
void shading(int (*)[], int, int); // ぼかし
void binary(int (*)[], int, int); // 2値化
}}
以下,どうでもよいつっこみ.
--- ここにも…
fprintf(stderr, "┌(┌ ^o^)┐ファイルを開けません\n");
--- このフィルタリング処理は,shading というよりは smooth...
--- 「4分割」は,if文なしで書けるはず.左上分だけの2重ル...
--- 次の説明は変じゃない?平面鏡ではありえへんよね.ちな...
- 長瀬くん
--A: よくできました.
--B: よくできました.
--C: よくできました.ファイルへの出力も関数化してくれまし...
汎用性を考えると,ファイル名またはファイルポインタを引数...
void writePGM(FILE* fp, int pixel[][WIDTH], int w, int h...
みたいにしとくと,
writePGM(stdout, x, width, height, p);
で標準出力にも出せて便利かも.
- 山本くん
--A: よくできました.
--B: 要再提出→ok.いけてません.
#pre{{
for (i = 0; i < h; i++) {
for (j = 0; j < w/2; j++) {
buf = mat[i][j];
mat[i][j] = mat[i][w-j];
mat[i][w-j] = buf;
}
}
}}
--C: まだ提出されていないようです→ok. ただし,出力のfopen...
- 新城くん
--A: よくできました.
--B: 要再提出→ok.この課題は第2回のプログラムをもとにして...
それが合っていません.出力の方のfopen()のエラーチェックを...
--C: 要再提出→ok.出力の方のfopen()もエラー処理をしてくだ...
どういう状況で出力のfopen()がエラーになるか調べておくこと...
- 鰐部くん
--A: okとしますが,この課題では出力をファイルに書き込むこ...
--B: 要再提出→ok.出力の方のfopen()もエラー処理をしてくだ...
--C: よくできました.
**第2回1001 [#ex02]
[[ta_AProg/2012/ex02]] | [[AProg/2012/ex02]]
,,1,3,5,フリ1,7,9,フリ2
,ex02,柳原,山本,鰐部,新城,濱口,長瀬,平木
***おしらせと宿題 [#z5869636]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--%%前回のチェックシートも忘れずに%% 前回分は即日回収
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,B,Cをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
--チェックシートは次回の演習時に高橋に渡してください
***コメント [#z06baebc]
- 山本くん
--&color(Red){メイルでおしらせした件がまだのようです.よ...
--A: よくできました.ただし,以下の2次元配列の大きさを省...
void func(int mat[NROW][NCOL], int x, int y){
--B: 現状のプログラムだと,扱う画像が大きくなると,出力す...
要再提出.簡単な修正なのでどこをどう修正するかメイルに書...
---おまけの分も挑戦してくれたようですが,
[ex02pgm_ex1.c]
for(i = 0; i < h/2+1; i++){
for(j = 0; j < w; j++){
mat[i][j] = mat[h-i][j] = i*255*2/h; ...
}
}
[ex02pgm_ex2.c]
こっちも同様
--C: よくできました.ただし…以下Aと同様.
- 新城くん
--&color(Red){メイルでおしらせした件がまだのようです.よ...
--A: プログラムとしてはまあokですが,以下のようなループの...
for(i = 0; i < line; i++){
for(j = 0; j < row; j++)
scanf("%d", &mat[i][j]);
}
--B: よくできました.画素値を以下のように計算していてこれ...
pi[i][j] = 255.0/100*j;
--C: 課題の条件を満たしていません.
2011年度の課題をみてませんか? 要再提出 → ok
- 鰐部くん:
--A: よくできました
--B: よくできました.以下については新城くんへのコメント参...
mat[i][j] = (int) ((double) j * COLOR / (w - 1));
--C: ok. WIDTH or HEIGHT の定義が課題の条件と違ってるので...
- 平木くん:
--A: よくできました.
--B: よくできました.
--C: よくできました.
- 長瀬くん:
--A: よくできました.
--B: よくできました.
--C: ok. ただし,今年の課題では次のような条件を出していま...
>
引数は「2次元配列を表すもの」, 「その幅を表すもの」, 「高...
<
- 濱口くん:
--A: よくできました.でもプロトタイプ宣言がおかしい気が…...
void func(int (*mat)[NCOL], int rw, int cl);
--B: よくできました.
--C: よくできました.でもプロトタイプ宣言がおかしい気が…
void negate(int (*)[], int, int, int);
- 柳原くん:
--A: よくできました.
--B: よくできました.
--C: よくできました.こんな書式指定久しぶりにみました.
scanf("%*s");
**第1回0924 [#ex01]
- 講義資料,そのスキャン版等は Google Document 上にあります
- 演習のページ [[ta_AProg/2012/ex01]] | [[AProg/2012/ex01]]
***おしらせと宿題 [#ea7b38af]
//&color(Red){ここに書いてあるのは第1回前日までの宿題です...
//&color(Red){それより締切の早い宿題が下の方にあります};.
-事前にみなさんに集まってもらうことは予定していません
-当日は&color(Red){10分前(厳守)};に集合(1-542)してく...
--4講時に別のTAがあるなどの理由で10分前に集合できないひと...
-次のものを用意しておいてください
--自分のお気に入りにC言語の参考書
--&color(Red){Googleドキュメント上にあるチェック用資料(...
--課題チェックシート(A4です)の記入に使える下敷きなど
--課題チェックシートの記入のための筆記具(簡単には消せな...
--その他必要だと思う資料があれば
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく(気になること...
---課題A-1のチェックのためにp.6のQ9をやっておいてください
--演習課題B,Cをやって解答(たいていの課題ではソース)を高...
-%%演習終了後翌日13:00までに次のことをやってね%% Google D...
--チェック結果を Google Document に入力する
--&color(,#ffa0a0){o};は入力完了後につけるようにしてくだ...
--チェックシートは次回の演習時に高橋に渡してください
***コメント [#u4e02de3]
-山本くん:
--B: よくできました.ただし,
int main(int argc, char* argv[]){
コマンドライン引数はまだ教えていない(たぶんさのさんがや...
--C: よくできました.同じく.
-平木くん:
--B: よくできました.
--C: よくできました.ただし,
a[i] = a[i] * 999;
はもっと少ない文字数で書く方法を考えておいてください.学...
-新城くん
--B: いけてません.講義資料を熟読してやり直してください....
printf("How many number?");
s
--C: Cのソースがないよ.→ ok
-濱口くん:
--B: よくできました.
--C: よくできました.
-柳原くん:
--B: よくできました.
わかってやってるのだと思いますが,プロトタイプ宣言を以下...
これでokな理由を説明できるようにしといてね.2次元配列のと...
int sum(int *,int);
--C: よくできました.
なぜか今年のTAさんたちは,
#include<stdio.h>
と書いてる人が多いです.多くの環境でこれでもコンパイル通...
不明です(誰か調べてくれるとうれしい).普通の教科書とか...
#include <stdio.h>
と書くようですので,なるべくそうしてください.
-長瀬くん:
--B: よくできました.データ件数の範囲チェックもやってくれ...
#pre{{
while(1){
printf("何個? : ");
scanf("%d",&n);
if(n < 1 || 100 < n){
printf("データ件数が範囲外です。\n");
printf("再入力してください\n");
}
else
break;
}
}}
好みの問題ですが,「何個? : 」の部分も変えるなら次のよう...
#pre{{
do{
printf("何個?(%d以上%d以下で入力してね):", min, max);
scanf("%d", n);
} while( n < min || max < n );
}}
--C: よくできました.範囲チェックについてはBに同じ.
- 鰐部くん:
--B: よくできました.
--C: よくできました.
**9月18日までの宿題 [#hw0918]
宿題です.〆切は 9月18日(火)23:59です.
+[[ta_AProg/2012]] の注意を読んで理解する
+この科目のGoogleドキュメントを開いていじる
--Googleドキュメントへの招待メイル(ID[at]mail.ryukoku.ac...
--済(敬称略): 全員
+研究室や自宅のPC等にCプログラミングのできる環境を整えて...
+2011年度の様子を眺めておく
--[[AProg/2011]] が昨年度の授業のページです.演習課題を記...
--[[ta_AProg/2011]] 昨年度のTA向けページです.講義資料も...
**サブページリスト [#vc099a5f]
#ls2
終了行:
*応用プログラミング演習 2012年度 TA向けページ [#r30c585d]
[[takataka]] | [[時間割2012]] | [[AProg/2012]] | [[AProg/...
#contents
//&color(Red){工事中};
**おしらせ [#q030ad76]
//-&color(White,Blue){NEW};
- 2012-09-09 [[第1回までの宿題>#ex01]]
- 2012-09-09 [[9月18日までの宿題>#hw0918]]
- 2012-09-09 このページを作成しました.
**注意 [#rdeabaf6]
-お金をもらって仕事をするわけですから,みなさんはプロです.
その自覚をもって行動して下さい.
-担当科目の授業時間外にも準備や勉強に時間を割く必要があり...
TAの時給が高い理由にはいろいろありえますが,これも一つの...
-欠勤する場合,事前に高橋に連絡をとって下さい.
勝手に代理を頼んだりしてはいけません.
**第8回1112 [#ex08]
[[ta_AProg/2012/ex08]] | [[AProg/2012/ex08]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
//,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
//,ex06,濱口,長瀬,平木,柳原,山本,鰐部,新城
//,ex07,長瀬,平木,柳原,山本,鰐部,新城,濱口
,ex08,平木,柳原,山本,鰐部,新城,濱口,長瀬
-今回のAにチェック [[AProg/2012/ex03#kadaiC]]
-今回のBにチェック [[AProg/2012/ex05#kadaiC]]
-今回のCにチェック [[AProg/2012/ex06#kadaiB]]
***おしらせと宿題 [#g43264e2]
- 講義資料はありません
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--%%講義資料とそのスキャン版に目を通しておく%%
--%%演習課題をやって解答を共有場所に提出する%%
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
--入力後のチェックシートを高橋に渡す(高橋がつかまらない...
**第7回1105 [#ex07]
[[ta_AProg/2012/ex07]] | [[AProg/2012/ex07]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
//,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
//,ex06,濱口,長瀬,平木,柳原,山本,鰐部,新城
,ex07,長瀬,平木,柳原,山本,鰐部,新城,濱口
***おしらせと宿題 [#zdd4b0ad]
- &color(Red){課題Aのソースファイル名を ex06zs.c → ex07zs...
- 講義資料はありません
- zipdata100 と zipsearch.h は共有場所にありますが,肝心...
計算機室で zipsearch.o を手に入れてプログラミングしてくだ...
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,Bをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#td453371]
-長瀬くん
--A: よくできました
--B: よくできました
-柳原くん
--A: 要再提出.
~i?
printf("[%d] %d %s\n",i,k,d[i].addr)
:puts("見つかりませんでした");
ど変態なのはいいんですが(^^),郵便番号の出力形式をよく考...
---ok
--B: 要再提出.
return x<BOARDSIZE&&y<BOARDSIZE&&b->board[y][x]!=1&&~b-...
//上のコメントに対応するように修正
変態度が足りない…のではなくて,条件が足りないので正しくチ...
---ok
-鰐部くん
--A: よくできました.
--B: よくできました.
-濱口くん
--A: 要再提出
for(;fscanf(fp,"%d %s",&d[n].code,d[n].addr)!=EOF;n++);
fscanf()の戻り値がEOFかどうか調べるのでは,ファイルの形式...
それから,柳原くんへのコメントも参照.
---ok. 最初に指摘し忘れましたが,上記のfor文では配列の大...
自分で直しておいてください.
--B: よくできました.
-山本くん
--A: ok. 濱口くんのAへのコメントの後半を見て直しておいて...
--B: よくできました.ただ,この判定法は計算コストの面でい...
if (0 <= x && x < BOARDSIZE && 0 <= y && y < BOARDSIZE\
&& abs(b->board[y][x]) != 1) //<-koko
-新城くん
--A: ok. ただし…
if(key < 0){111111
printf("ばいばい\n");
break;
}
コンパイルとおらへんよ.
if(t == -1){
printf("探索回数%dです\n", nsearch);
printf("ありません\n");
}
else {
printf("探索回数%dです\n", nsearch);
printf("%d %s\n", jusyo[t].code, jusyo[t].addr);
}
探索回数のprintf()はif-elseの外でよいですね.
--B: 要再提出.修正が足りません.ちゃんと実行して動作確認...
---ok
-平木くん
--A: よくできました
--B: 要再提出.以下はまずいです.
if(b->board[y][x] == 0 && 0 <= x && x < BOARDSIZE && 0<=...
---要再々提出,山本君へのコメントは,「こんな問題でabsな...
よく考えてください.
if(abs(b->board[y][x]) != 1 && 0 <= x && x < BOARDSIZE ...
return 1;
else
return 0;
---ok
**第6回1029 [#ex06]
[[ta_AProg/2012/ex06]] | [[AProg/2012/ex06]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
//,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
,ex06,濱口,長瀬,平木,柳原,山本,鰐部,新城
***おしらせと宿題 [#k3857fa3]
- 講義資料と同じ所に data4ex06a.txt, image.c, image.h が...
image.* は以前の課題と同じファイル名ですが別物です.
- %%zssample は /home/sample/... にはまだありません %% → ...
- 新城くんからの指摘をうけて,課題Bの最後に static をつけ...
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,Bをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#v5dfe119]
-新城くん
--A: ok. 課題では下のように言ってます.
これは,名前の文字列「も」
長さをNとせよと言ってるわけではありません.
>
-構造体の定義は 前回の課題A と同様
-次のように定数Nを定義し,これを構造体変数の配列の大きさ...
#define N 50
<
--B: 要再提出.課題Sも含めて作ってくれていますが,肝心の ...
thetamax を次のように渡すのは悲しい….
for(i = 1; i < M; i++){
uzumaki(&dst, i, &img);
おまけ課題にさらに自分で考えて,連番の桁数を自動的に定め...
ただ,以下が超こわい.DATADIR が "*" だったりしたらと思う...
ここまでの作業はシェルスクリプトなりなんなりとの組み合わ...
#pre{{
void make_dir()
{
char str[100];
if( mkdir(DATADIR,DIRMODE) != 0 ){
sprintf( str, "rm -rf %s", DATADIR );
system( str );
mkdir( DATADIR, DIRMODE );
}
}
}}
---ok. ただ,52とか引数に渡してる所が,やはり,大丈夫?引...
M_PI/2 とか 3 とかそういう値で実行してみた上で 52 みたい...
uzumaki(&img, 52.0, &dst);
-鰐部くん
--A: よくできました.
--B: よくできました.
>
image.cのuzumakiの第3引数(dst)の説明が"入力画像"になって...
違いでは...?
<
ご指摘ありがとうございます.
/home/sample に置いてあるファイルは直ってますが,Google D...
-柳原くん
--A: よくできました.↓ そこはかとなく変態感がただようコー...
x[Oldest(x,n)].name
--B: よくできました.
-長瀬くん
--A: よくできました.Oldest() を呼ぶのは配列の内容を表示...
--B: よくできました
-平木くん
--A: よくできました.そこはかとなく変態感ただようひとがも...
a[Oldest(a, n)].name
平木くんのOldest()では最大値とその番号の両方を覚えておく...
そちらの場合,比較の度に構造体の配列の中のメンバにアクセ...
--B: よくできました.
-濱口くん
--A: 要再提出.データ件数を超えて読み込もうとしてエラーに...
---ok
--B: よくできました.念のため指摘しておきますが,別にファ...
-山本くん
--A: 要再提出.濱口くんのAへのコメント参照.
---ok
--B: よくできました.
**第5回1022 [#ex05]
[[ta_AProg/2012/ex05]] | [[AProg/2012/ex05]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
//,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
,ex05,新城,濱口,長瀬,平木,柳原,山本,鰐部
***おしらせと宿題 [#i5c4d857]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,B,Cをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#o1fc9d38]
-新城くん
--A: 要再提出.「typedef を使って適当な型名をつけること」...
---ok
--B: 要再提出.課題の条件を満たしていません.
---ok
--C: よくできました.課題では求めていませんが,データ件数...
-柳原くん
--A: よくできました.
--B: よくできました.ただし,#include <stdio.h> は省略す...
printfやscanfを使っているので(暗黙の戻り値型がintなので...
--C: よくできました.何度も入力をミスるとこわい…
-鰐部くん
--A: ok. ただし,新城くんのAへのコメント参照.
--B: よくできました.
--C: よくできました.入力が負数だったら再入力させるように...
-平木くん
--A: 要再提出.「nameの文字列は最大99文字までと仮定してよ...
---ok
--B: よくできました.
--C: よくできました.ただ,この終了の仕方は考えどころです.
この場合,プログラムとしては正常な終了の仕方なので,EXIT_...
シェルスクリプトを少し勉強すると,「プログラムの戻り値」...
#pre{{
printf("キー値を入力してね(負の数だと終了する...
scanf("%d", &x);
if(x < 0){
printf("ばいばい\n");
exit(EXIT_FAILURE);
}
}}
-濱口くん
--A: 要再提出.平木くんへのコメント,新城くんへのコメント...
---ok
--B: よくできました.stdio.hについて柳原くんへのコメント...
--C: よくできました.データ件数などが負数の場合には再入力...
-長瀬くん
--A: よくできました
--B: よくできました
--C: よくできました.ただし,DETAMAX はたぶん DATAMAX で...
-山本くん
--A: 要再提出.他の人へのコメントがすでに出てる場合は先に...
---要再々提出.なおってません.
---ok
--B: よくできました
--C: 要再提出.これはちょっといけてません.
#pre{{
if (Lsearch(data, data_number, search_data) < 0)
printf("その値はないみたい\n");
else
printf("その値は%d番目にあるよ\n", Lsearch(data, da...
}}
---ok
**第4回1015 [#ex04]
&color(Red){2012-10-08 日曜に第4回の講義資料とスキャン版...
[[ta_AProg/2012/ex04]] | [[AProg/2012/ex04]]
,,1,3,5,フリ,7,9,フリ
//,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
,ex04,鰐部,新城,濱口,長瀬,平木,柳原,山本
***おしらせと宿題 [#w7e6c5e0]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,Bをやって解答を共有場所に提出する(課題Aのste...
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
***コメント [#d4eb53e9]
- &color(Red){全員におしらせ}; 前回まではこちらでmakefile...
高橋に「コンパイルもしてないの?」といぢめられるおそれは...
そのかわり,自分でコンパイルする際には「-Wall オプション...
- 新城くん
//&color(Red){あちこちに同じ名前のファイルがあってどれを...
--A: 要再提出.
今年度は,この回にヘッダファイルの話までやっているので,...
---ok.
--B: 要再提出.
ヘッダファイルを作っていますがそれが置かれていないので確...
ちなみに,この授業では自分の作るヘッダファイルに #include...
画像ファイル名をキー入力させるように作ってくれましたが,...
---ok. 細かいことを言うと,このプログラムの構成では,ファ...
- 鰐部くん
--A: よくできました.ただし,この課題のようなソース構成で...
ex04x999.c とは別の,mainを定義したソースからincludeする...
--B: よくできました.ヘッダファイルの命名についてAと同様.
- 長瀬くん
--A: よくできました.
--B: よくできました.
- 柳原くん
--A: よくできました.#ifndef で囲んだヘッダファイルにして...
--B: よくできました.同じく
- 濱口くん
--A: よくできました.
--B: よくできました.
- 平木くん
--A: よくできました.
--B: よくできました.
- 山本くん
--A: よくできました.ただし,ヘッダファイルの命名法につい...
--B: 要再提出.いけてません.
mat[i][j] = mat[i][w-j];
mat[i][j] = mat[h-i][j];
---ok
**第3回1008 [#ex03]
[[ta_AProg/2012/ex03]] | [[AProg/2012/ex03]]
,,1,3,5,フリ,7,9,フリ
,ex02,柳原,山本,鰐部,新城,濱口,長瀬,平木
,ex03,山本,鰐部,新城,濱口,長瀬,平木,柳原
***おしらせと宿題 [#s4485c49]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--前回のチェックシートも忘れずに
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,B,Cをやって解答を共有場所に提出する(すべて完...
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
--チェックシートは次回の演習時に高橋に渡してください
***コメント [#y3aad2ae]
>
共有場所にファイルを置くときに,同名のファイルを複数置い...
Google ドライブ上では同じ名前のファイルが複数あるように見...
hoge.c と hoge (1).c
みたいな名前で管理されるため,いろいろ面倒なことになりま...
<
- 柳原くん
--A: よくできました.fopen()のエラー処理で fprintf(stderr...
--B: よくできました
--C: よくできました.画像の幅と高さのチェックもしてくれま...
if(w<=0 || h<=0 || w>WIDTH || h>HEIGHT )
printf("┌(┌ ^o^)┐ 画像サイズが不正です\n");
メニューの番号を入力してもらってチェックするところで scan...
- 平木くん
--A: よくできました.わかってやってると思いますが念のため...
それから,exit(1) としてますが,exitの引数はどうするのが...
--B: 要再提出→ok.左右反転の関数を次のようにしています.
課題では特に指定していませんが,使わない仮引数を用意する...
void func(int a[][WIDTH], int width, int height, int max...
--C:
---要再提出.こちらも課題では明示的に指定していませんが,...
---要再々提出→ok.negateの引数は….それから,ほかの人に指...
- 濱口くん
--A: よくできました.柳原くんのAと同様.
--B: よくできました.
--C: よくできました.
すごいことになってます.
#pre{{
void fliph(int (*)[], int, int); //左右反転
void flipw(int (*)[], int, int); //上下反転
void negate(int (*)[], int, int, int); //白黒反転
//
void mirrorh(int (*)[], int, int); //左右鏡
void mirrorw(int (*)[], int, int); //上下鏡
void partition(int (*)[], int, int); // 4分割
void shading(int (*)[], int, int); // ぼかし
void binary(int (*)[], int, int); // 2値化
}}
以下,どうでもよいつっこみ.
--- ここにも…
fprintf(stderr, "┌(┌ ^o^)┐ファイルを開けません\n");
--- このフィルタリング処理は,shading というよりは smooth...
--- 「4分割」は,if文なしで書けるはず.左上分だけの2重ル...
--- 次の説明は変じゃない?平面鏡ではありえへんよね.ちな...
- 長瀬くん
--A: よくできました.
--B: よくできました.
--C: よくできました.ファイルへの出力も関数化してくれまし...
汎用性を考えると,ファイル名またはファイルポインタを引数...
void writePGM(FILE* fp, int pixel[][WIDTH], int w, int h...
みたいにしとくと,
writePGM(stdout, x, width, height, p);
で標準出力にも出せて便利かも.
- 山本くん
--A: よくできました.
--B: 要再提出→ok.いけてません.
#pre{{
for (i = 0; i < h; i++) {
for (j = 0; j < w/2; j++) {
buf = mat[i][j];
mat[i][j] = mat[i][w-j];
mat[i][w-j] = buf;
}
}
}}
--C: まだ提出されていないようです→ok. ただし,出力のfopen...
- 新城くん
--A: よくできました.
--B: 要再提出→ok.この課題は第2回のプログラムをもとにして...
それが合っていません.出力の方のfopen()のエラーチェックを...
--C: 要再提出→ok.出力の方のfopen()もエラー処理をしてくだ...
どういう状況で出力のfopen()がエラーになるか調べておくこと...
- 鰐部くん
--A: okとしますが,この課題では出力をファイルに書き込むこ...
--B: 要再提出→ok.出力の方のfopen()もエラー処理をしてくだ...
--C: よくできました.
**第2回1001 [#ex02]
[[ta_AProg/2012/ex02]] | [[AProg/2012/ex02]]
,,1,3,5,フリ1,7,9,フリ2
,ex02,柳原,山本,鰐部,新城,濱口,長瀬,平木
***おしらせと宿題 [#z5869636]
-当日は&color(Red){5分前(厳守)};に集合(1-542)してくだ...
--チェック用資料(チェックシート,課題毎のチェックポイン...
---&color(Red){チェックシートは片面印刷でお願いします};
--%%前回のチェックシートも忘れずに%% 前回分は即日回収
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく
--演習課題A,B,Cをやって解答を共有場所に提出する
-演習終了後翌日13:00までに次のことをやってね
--チェック結果を Google Document に入力する.&color(,#ffa...
--チェックシートは次回の演習時に高橋に渡してください
***コメント [#z06baebc]
- 山本くん
--&color(Red){メイルでおしらせした件がまだのようです.よ...
--A: よくできました.ただし,以下の2次元配列の大きさを省...
void func(int mat[NROW][NCOL], int x, int y){
--B: 現状のプログラムだと,扱う画像が大きくなると,出力す...
要再提出.簡単な修正なのでどこをどう修正するかメイルに書...
---おまけの分も挑戦してくれたようですが,
[ex02pgm_ex1.c]
for(i = 0; i < h/2+1; i++){
for(j = 0; j < w; j++){
mat[i][j] = mat[h-i][j] = i*255*2/h; ...
}
}
[ex02pgm_ex2.c]
こっちも同様
--C: よくできました.ただし…以下Aと同様.
- 新城くん
--&color(Red){メイルでおしらせした件がまだのようです.よ...
--A: プログラムとしてはまあokですが,以下のようなループの...
for(i = 0; i < line; i++){
for(j = 0; j < row; j++)
scanf("%d", &mat[i][j]);
}
--B: よくできました.画素値を以下のように計算していてこれ...
pi[i][j] = 255.0/100*j;
--C: 課題の条件を満たしていません.
2011年度の課題をみてませんか? 要再提出 → ok
- 鰐部くん:
--A: よくできました
--B: よくできました.以下については新城くんへのコメント参...
mat[i][j] = (int) ((double) j * COLOR / (w - 1));
--C: ok. WIDTH or HEIGHT の定義が課題の条件と違ってるので...
- 平木くん:
--A: よくできました.
--B: よくできました.
--C: よくできました.
- 長瀬くん:
--A: よくできました.
--B: よくできました.
--C: ok. ただし,今年の課題では次のような条件を出していま...
>
引数は「2次元配列を表すもの」, 「その幅を表すもの」, 「高...
<
- 濱口くん:
--A: よくできました.でもプロトタイプ宣言がおかしい気が…...
void func(int (*mat)[NCOL], int rw, int cl);
--B: よくできました.
--C: よくできました.でもプロトタイプ宣言がおかしい気が…
void negate(int (*)[], int, int, int);
- 柳原くん:
--A: よくできました.
--B: よくできました.
--C: よくできました.こんな書式指定久しぶりにみました.
scanf("%*s");
**第1回0924 [#ex01]
- 講義資料,そのスキャン版等は Google Document 上にあります
- 演習のページ [[ta_AProg/2012/ex01]] | [[AProg/2012/ex01]]
***おしらせと宿題 [#ea7b38af]
//&color(Red){ここに書いてあるのは第1回前日までの宿題です...
//&color(Red){それより締切の早い宿題が下の方にあります};.
-事前にみなさんに集まってもらうことは予定していません
-当日は&color(Red){10分前(厳守)};に集合(1-542)してく...
--4講時に別のTAがあるなどの理由で10分前に集合できないひと...
-次のものを用意しておいてください
--自分のお気に入りにC言語の参考書
--&color(Red){Googleドキュメント上にあるチェック用資料(...
--課題チェックシート(A4です)の記入に使える下敷きなど
--課題チェックシートの記入のための筆記具(簡単には消せな...
--その他必要だと思う資料があれば
-前日13:30までに次のことをやってね
--講義資料とそのスキャン版に目を通しておく(気になること...
---課題A-1のチェックのためにp.6のQ9をやっておいてください
--演習課題B,Cをやって解答(たいていの課題ではソース)を高...
-%%演習終了後翌日13:00までに次のことをやってね%% Google D...
--チェック結果を Google Document に入力する
--&color(,#ffa0a0){o};は入力完了後につけるようにしてくだ...
--チェックシートは次回の演習時に高橋に渡してください
***コメント [#u4e02de3]
-山本くん:
--B: よくできました.ただし,
int main(int argc, char* argv[]){
コマンドライン引数はまだ教えていない(たぶんさのさんがや...
--C: よくできました.同じく.
-平木くん:
--B: よくできました.
--C: よくできました.ただし,
a[i] = a[i] * 999;
はもっと少ない文字数で書く方法を考えておいてください.学...
-新城くん
--B: いけてません.講義資料を熟読してやり直してください....
printf("How many number?");
s
--C: Cのソースがないよ.→ ok
-濱口くん:
--B: よくできました.
--C: よくできました.
-柳原くん:
--B: よくできました.
わかってやってるのだと思いますが,プロトタイプ宣言を以下...
これでokな理由を説明できるようにしといてね.2次元配列のと...
int sum(int *,int);
--C: よくできました.
なぜか今年のTAさんたちは,
#include<stdio.h>
と書いてる人が多いです.多くの環境でこれでもコンパイル通...
不明です(誰か調べてくれるとうれしい).普通の教科書とか...
#include <stdio.h>
と書くようですので,なるべくそうしてください.
-長瀬くん:
--B: よくできました.データ件数の範囲チェックもやってくれ...
#pre{{
while(1){
printf("何個? : ");
scanf("%d",&n);
if(n < 1 || 100 < n){
printf("データ件数が範囲外です。\n");
printf("再入力してください\n");
}
else
break;
}
}}
好みの問題ですが,「何個? : 」の部分も変えるなら次のよう...
#pre{{
do{
printf("何個?(%d以上%d以下で入力してね):", min, max);
scanf("%d", n);
} while( n < min || max < n );
}}
--C: よくできました.範囲チェックについてはBに同じ.
- 鰐部くん:
--B: よくできました.
--C: よくできました.
**9月18日までの宿題 [#hw0918]
宿題です.〆切は 9月18日(火)23:59です.
+[[ta_AProg/2012]] の注意を読んで理解する
+この科目のGoogleドキュメントを開いていじる
--Googleドキュメントへの招待メイル(ID[at]mail.ryukoku.ac...
--済(敬称略): 全員
+研究室や自宅のPC等にCプログラミングのできる環境を整えて...
+2011年度の様子を眺めておく
--[[AProg/2011]] が昨年度の授業のページです.演習課題を記...
--[[ta_AProg/2011]] 昨年度のTA向けページです.講義資料も...
**サブページリスト [#vc099a5f]
#ls2
ページ名: