1read 100read
2011年10月1期プログラム大学のプログラミング演習の課題を添削するスレ TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
thisってんじゃねーぞ
音声合成プログラムを作りる
どうせ暇だしFirefoxのアドオン作るわ
【魔法】リリカル☆Lisp【言語】


大学のプログラミング演習の課題を添削するスレ


1 :07/08/31 〜 最終レス :11/09/28
純真な若者に変なことを教えてしまわないように、
大学のプログラミング演習の課題をブラッシュアップしよう。

2 :
まずは、熊本大学のプログラミング演習第二。
問題は↓
ttp://www.syst.cs.kumamoto-u.ac.jp/~masato/pe2/
くれぐれも、担当助手に個別連絡しないようにしてください。
スレで十分に議論して結論をまとめてから、代表一名が連絡するように。

3 :
>>1
不可でもつけられたのか?? 言いたいことあったら自分で言ってこい。

4 :
ttp://www.syst.cs.kumamoto-u.ac.jp/~masato/pe2/02/index.html
> 問題2
> 以下のプログラムを見て,問に答えなさい.
> #include <stdio.h>
> #include <stdlib.h>
>
> #define SIZE 5
>
> int main()
> {
> int a[SIZE], i;
> int *b = (int *)malloc(sizeof(int)*SIZE);
>
> for (i = 0; i < SIZE; i++)
> a[i] = i * i;
>
> for (i = 0; i < SIZE; i++)
> b[i] = a[i];
>
> for (i = 0; i < SIZE; i++)
> printf("%d ", b[i]);
> printf("\n");
>
> return 0;
> }

5 :
>
> 1. 「配列aとmallocで確保された領域bの違いは,
> 静的に確保されるメモリ領域と,
> __に確保されるメモリ領域という違いがある.」
> __に入る適切な言葉を以下から選びなさい.
>
> a.愛ゆえ
> b.俺的
> c.仮想的
> d.動的
これは酷い。

6 :
おもむろに
にわかに
やにわに

7 :
しかし、いくら個人名がないとはいえ、こんなもの公開しちゃダメだろ。
ttp://www.syst.cs.kumamoto-u.ac.jp/~masato/pe2/attendance.html
さすがに成績はロックしているようだけど何考えてるんだ?

8 :
夏厨が最期の力を振り絞ってゴミスレたてまくってるな

9 :
課題にいちゃもんつけて期限延長とか課題自体を無効にしたいのかね

10 :
>>9
どっから、そういう発想が出てくるんだろ。
とっくに提出期限は過ぎている課題っしょ?

11 :
>>10
成績提出期限までなら成績変えられるからなぁ

12 :
>>11
考え杉。
とっくに大学は卒業してる。
ましてや熊本大学でもない。
別スレで見かけて、
こりゃ酷い
と思っただけさ。

13 :
マジウゼェ
リアルで>>1

14 :
間違った知識を植えつけられ、
へんてこなコードを書く人間を、
業界に送り込んでくる大学の
ほうが遥かにウザいのですが。

15 :
マ板でやれ

16 :
いかに酷いかを理解できない時点で、自分が酷いってことを理解してないってことだ。

17 :
大学は純粋培養で、
いま教える立場にある人達がC言語を覚えたのは、
10年とか20年も前だったりするんだろう。
そして今だにK&Rを教科書として使っていたりしてさ。
大学は職業訓練校ではないぞ、と言いたい人もいるだろうが、
他所の国の大学生が書いたオープンソースのコードを見て、
自分のところの学生の書くコードと比べてみるべきだろう。

18 :
べつにどーでもいいんじゃね?

19 :
これが東大なら大問題だが、熊本大なら無問題。
staticという予約語がある以上、別の意味で「静的」なんて言うべきじゃないんだけど、まぁいいや。

20 :
sizeof(char)が必ず1でも、省略すべきではない
http://pc11.2ch.net/test/read.cgi/tech/1187521586/304-308
スレタイトルは添削とあるが、余りに酷いのでその気も失せた。

21 :
ttp://www.syst.cs.kumamoto-u.ac.jp/~masato/pe2/04/index.html
あまりに酷い。
メモリの管理がテーマではないにしろ、mallocしたものをfreeしないで終了するなんて。
バグの原因になるのでfreeしないほうがいい教を布教するのは勘弁してほしいです。

22 :
ageますよ。

23 :
そんなリストならfreeする必要なんて全然無いけどな

24 :
>>22
リアルで

25 :
>>23
あなたが自家用に書くプログラムで手抜きするのはいいが、学生に教えるのはマズいでしょう。
こういう例で勉強した学生さんは、freeする必要があるプログラムを書けないでしょう?

26 :
>>23
それこそが、
バグの原因になるのでfreeしないほうがいい教
ってやつだな。

27 :
>2007/09/02
この日付と内容の古臭さのギャップに驚いた

28 :
だいたいさ、大学で素っぴんのC言語なんて教える必要あるの? 時代遅れじゃない?
ふつーJavaだろ?

29 :
教授が時代遅れなんだからしょうがない。
さび付いた頭でJavaを覚えなおせなんて酷だろう。

30 :
こういう講義をするのは、助教授・準教授クラスの若い人だし、
課題の採点をするのは、助手とか博士課程の学生だよ?
だいたい、URLを削って出てくる研究室の研究内容は、
ttp://www.syst.cs.kumamoto-u.ac.jp/study.html
だよ。
JavaではなくCが必須だというのはわかるが、
プログラミングの基礎をCでやる必要はないと思う。

31 :
いや、「今の時代○○だよな」という考えで言語を選んでるんじゃないし…
言ってみれば、実験器具の使用方法を学んでいるのに等しい
のちのちC言語やFORTRANを使わされる人が多いからC言語やFORTRANを学ぶんだし
教養科目によっては「今の時代○○だよな」とかそういう「プログラミング思考なら何でもよし」なノリで選ばれることはあるけどな

32 :
漏れが若い頃は、いきなりC言語はキツいので、Pascalから入ったぞ。

33 :
というか、9割までの人間にとって必要なのは変数とループと条件分岐と算術演算くらいだろ
C言語である理由はほぼゼロだ
ポインタやらメモリ管理やらは不要な知識
Javaの「おまじない」もな

34 :
データベースでしょ。最終的には。それ以外いらない。

35 :
ぶっちゃけ、
MS-ExcelとVBAマクロで十分
だと思うんだよね。
変数や配列を表のオブジェクトとして持てば、
入出力のコードを書かなくて済むし、
処理中のデータの様子も見れるしさ。
キーボードからインタラクティブにデータを入力させ、
それをscanfで受けるとか、
もう、馬鹿馬鹿しい。

36 :
プログラミングの授業って、数学や物理に比べたら、はるかに簡単なのかな。

37 :
なぜ大学でプログラミング演習やるかっつーと、実際に研究初めてデータ解析に進んだとき必要になるから。
ということでjavaなどやっても時間の無駄遣い。
というか自分しか使わないプログラムなんだから、スパゲッティだろうとメモリ管理がいい加減であろうと
どうでもよい。free()?いらねーよそんなもん。
大体、知識足らずを業界に送り込んでくるってなに甘えてんだ。
金融だろうと商社だろうと製造だろうと、どんな業界だって新入社員は実務経験ゼロで入ってくるんだよ。
そいつらを教育するところから仕事なんだろ。
多少なりともコンピュータに触る時間を作ってやった大学に感謝しろ。

38 :
>>37
どうでもいいけど、マ板け

39 :
>>37
いまどき学生の間にアルバイトやベンチャーで、
いくらでも実務経験を積んでいると思うのだが。
実務経験ゼロの人間も取っているが、
プログラミング経験ゼロは取っていない。
この違い、わかる?
仕事ではなく趣味や研究のために、
一人で我流でプログラムを書く技術があることを前提に、
複数人でチームを組み、仕事としてプログラムを書くために、
やり方や作法を矯正していくのが、実務のための教育。

40 :
大学に職業訓練校になれとは言わないが、
せめて、
間違ったことや変なことを教えて遠まわりさせるのだけは、
やめてもらいたい。
自動変数がメモリ上に静的に確保されるだなんて、
そんな言い方をするのは、大学だからといって許されることではない。

41 :
>>39
バイトなんてただの社会見学だ、実務経験になんてならねえよ。
金融業務にバイトを携える企業があるか?? どこまで関われるかなんてたかが知れてる。
というかおまえさんは根本的に勘違いをしている。
>>複数人でチームを組み、仕事としてプログラムを書くために、
>>やり方や作法を矯正していくのが、実務のための教育。
大学はこんなことを目的としていない。
理系大学生のプログラミング教育は、自分自身で必要な数値解析を行えることを最終目的とする。
実務のための教育をされた人材を望むなら、まずそういう教育方針の学校探しから始めろ。
なんで学校で教えないんだよー、なんてのはただの甘えだ。
能力のある奴なんていくらでもいる。
結局、本人のレベルを見抜けなかった自分達が悪い。

42 :
>>41
郵貯や社会保険庁のシステムの孫請けでアルバイトしていた学生が、
NTTデータに就職するなんていうのは、よくある光景なんだがなぁ。
上流工程をやる人間が現場を知らないと思ったら大間違いだよ。
できる学生は、ちゃーんと勉強している。
> 大学はこんなことを目的としていない。
当たり前だ。
あなたが引用した2行は、企業で行う新人教育の話だから。
その前提として、
> 仕事ではなく趣味や研究のために、
> 一人で我流でプログラムを書く技術
を、大学にいる間に習得しろという話なのだから。

43 :
>>40
それは本当に正しい。
今の大学には、「情報教育」とか名乗っておきながら意味不明な授業を
展開する輩が多すぎる。
俺の分野で使うなら、どう確保されるなんて構わず、変数として使えれば困らん。
だから、こうすれば使えます、こう書けばいいんですとまでしか言わない。
もちろん聞かれりゃ答えるし、勉強したくなったやつは自分でしてる。
嘘を教えることは最大の罪だ。
これは、教育機関として絶対に許されるべきことじゃない。

44 :
>>40
それは本当に正しい。
今の大学には、「情報教育」とか名乗っておきながら意味不明な授業を
展開する輩が多すぎる。
俺の分野で使うなら、どう確保されるなんて構わず、変数として使えれば困らん。
だから、こうすれば使えます、こう書けばいいんですとまでしか言わない。
もちろん聞かれりゃ答えるし、勉強したくなったやつは自分でしてる。
嘘を教えることは最大の罪だ。
これは、教育機関として絶対に許されるべきことじゃない。
>>42
そういう奴らは、今話してる「変な教育受けた使えない学生」じゃないでしょ。
もともとインターンなりで十分判断できた上で採るんだから。
今は、「大学でて、とりあえずプログラマ受けてみました」っていう学生についてだ。
そういう奴らが怪しげな知識を持っている、これは大学が悪いのか?? っていうことを
話してるんじゃないのか??
>仕事ではなく趣味や研究のために、
>一人で我流でプログラムを書く技術
だからこれは今の段階で十分取得できている。
あんた、大学研究で必要とされるプログラミングレベルを過剰評価してないか??

45 :
かぶった

46 :
>>44
> だからこれは今の段階で十分取得できている。
mallocしてfreeしないのは、習得できているとは思えないけどな。
少なくとも情報工学とか銘打っているところでは、許されないだろう。
たとえば生物工学の人なら、
研究のための道具の1つに過ぎないプログラムを書くというのなら、
目的どおりに動けば何でもいいと思うよ。
でもね、情報工学の人は、それはダメだろう。
学部1〜3年で様々な講義を受けておいて、
いざ研究となったら、それらを全て無視して、
動けば何でもいい、というのはお粗末過ぎる。

47 :
>>46
たしかにそれは正しい。そのへんは>>44でも言ったとおり、許しがたい奴らが大勢いる。
これ以上なんか言うと教育論になってしまうな。

48 :
> mallocしてfreeしないのは、習得できているとは思えないけどな。
常駐プロセスなら free するべきだろうけど、malloc したら必ずしも free する
必要はあるまい。

49 :
バカか

50 :
>>48
ソフトウェア工学とか勉強しておいて、
そういう非対称で歪なプログラムを書くのは、
キチガイだと思うんだが。

51 :
>>50
キチガイがあふれている世の中では生きにくいですね><

52 :
ただでさえ発展途上のソフトウェア工学が、
今よりもずっとずっと未発達だった頃の
やりかたでやるのは、どうかと思うよ。
20年前と同じじゃん、と。

53 :
別にデーモンでもないプログラムで馬鹿みたいに指摘するの方がどうかと思うけどね

54 :
>>53
そういう考え方は、昔にあったな。
プロセスの寿命は短く、
freeはバグの原因になるから、やらないこと
そういってプロセスをぼっこぼこforkしまくるというのが。

55 :
freeはバグを顕在化させるから、やらない
というのなら、まだ、いい。
freeがバグの原因だとか言うようじゃ、死んだほうがいい。
freeして問題になるようなら、freeしなくても問題なんだ。
ただそれが、表に出て来ないだけで。

56 :
なんでもいいから、準教授くらいになって論文書いてくれたら読んであげるよ。

57 :
>>56
いきなり何を言い出すんだ。
学生の教育なのだから、
たとえ例題が小さなプログラムだろうと、
大きなプログラムと同じようにやるべきだろう。
それともなにか、
あんたのところの研究では、
小さなプログラムだけで片付くのかい?

58 :
権威主義者が居るスレはここですか?

59 :
>>57
なにその大きなプログラムとか小さなプログラムとか。
まずは、プログラムの大きさについて書いてくれ。

60 :
>>59
小さなプログラムだから、適当でいいじゃん、という主張をしている人に聞いてくださいな。

61 :
>>60
>>57 と同一人物なのかわかんないけど。
「小さなプログラム」という言葉は、このスレでは >>57 が初めて使ったと思うんだ。
なにをもって「小さなプログラム」としたいのか明らかにしてもらわないことには
話が進まないと思うよ。

62 :
>>61
「小さなプログラム」という言葉は出てなかったね。
たとえば>>4のようなプログラム。

63 :
freeくらいめんどくさがるなよ

64 :
自前プール作って、プールごとfreeすればいいじゃん

65 :
プールを使うにしても、
free(p) ;

oPoolHoge.free(p) ;
とかになるだけじゃん。

66 :
いや、atexit()使って登録してしまえば明示的に呼ぶ必要はなくなる。

67 :
>>66
そんなことなら、freeしないのと一緒だろ。

68 :
freeすることが目的じゃあない。
1つは、その関数が繰り返し呼ばれたときにメモリリークしないこと
もう1つは、ポインタの指す先が無効であることを明確にすること

69 :
呼ばれてから、戻るまでしか寿命がないなら、
スタックでなんとかならないか検討する。
atexitだけじゃなくて、atreturnとかatendofscopeがあればいいのに。

70 :
>>69
C++のデストラクタは、スコープ抜けるタイミングで呼ばれるよ。

71 :
そうですね。そのおかげでC++でRAIIが実現できたわけで。
RAIIでちゃんとやれば、リソースの解放忘れは、だいぶ気にしなくて良くなりますね。
GCC使うなら、Cでもcleanupのattributeをつけてやれば、似たことは出来ますけど。

72 :
GC使えよ

73 :
メモリだけならGCでいいけど。

74 :
掛け算九九を出力しなさい。
for(i in 1:9){for(j in 1:9{
の後はどうすれば九九が出ますか?
わからないんで教えてください。

75 :
その言語は何?

76 :
>>72
冗談はよしてくれ。

77 :
九九プログラム
#include<stdio.h>
#define MAX 9
int main()
{
int i, j;
for(i=1; i<=MAX; i++){
for(j=1; j<=MAX; j++)
printf("%d * %d = %d\n", i, j, i*j);
}
return 0;
}
多重ループが理解できればおk

78 :
x[i+1]=0.5x(i)+1をx[1]=10を初期値としてx[100]まで求めなさい。
これのやりかたを教えてください。

79 :
>>78
double x[101] = {0, 10};
for (int i = 1; i < 100; ++i) x[i + 1] = 0.5 * x[i] + 1;

80 :
>>78
宿題を代わりにやるスレではないんだが。
ネタを振るなら、
大学名・学科名・教授名・科目名などを明らかにした上で、
問題の全文を晒してくれ。

81 :
x[i+1]-2=0.5*(x(i)-2)
だから、
x[i]=pow(0.5,i-1)*8+2 だね。あとは適当に i を決めれば?

82 :
>>81
スレ違い。

83 :
出身学校別・国益貢献力ランキング
高専>京大>東工・理科大>大学校・図書館情報≫電通・農工≫早慶≫高卒(農・水)>高卒(工・商)≒一橋>(要再教育の壁)>中卒≒高卒(普通)>(矯正不能の壁)>ソウル大(笑)≒東大

84 :
かなりスレ違いな予感がしますが投下
当方文系私大5回生です。
プログラミング入門という科目があって
そこで初めてプログラミングを経験したのですが(VisualBasicをやってます)
ベテランプログラマーの方々に質問です。
実技試験とか提出した課題が全て
「テキストボックスを空白にしていない(TextBox1とか入ってる)」
  or
「名前書き忘れ(Form1.vb[デザイン]とForm1.vbの両方に記名が必要とのこと
ちなみに提出したフォルダ名は学籍番号なので個人特定可能)」
といういずれかの理由で評価対象外となり
0点にされて単位もらえずまたもや留年の危機ww
デバッグ無しで開始すると課題テーマ通り正常に動作するのですが・・・・
開始ボタンをクリックするとテキストボックスが空白になるように
自分なりに工夫してみたつもりでしたが裏目に出た結果になりました。
名前はForm1.vb[デザイン]とForm1.vbの両方に氏名表記がないと
採点するつもりはないと断言されてしまいました。
片方あればいいと思ってたorz
この採点基準はプログラマー的には普通なんですか?
「その2つは講義中に当然の常識的プログラミングマナーとして注意した」
と言いくるめられてしまったが、タイピングに必死で先生の発言なんて
聞いてる余裕なかったんだよおおお
これは独り言ですが、私と同様の感覚で提出していた友人二人はちゃんと点数ありました。
なんでやねん。

85 :
そんなDQNな講師がいるレベルの大学に入った奴が悪い
だから高校のときに皆必死でより偏差値の高い大学目指して勉強するのだ

86 :
単なる嫌がらせ。

87 :
プログラミング演習にVBなんか使うところだからたかが知れてるよね。

88 :
採点基準としてはどうかわからないけど、まあ誰が書いたかわかるようにはしておく。

89 :
他人のソースぱくってて
そいつの署名が残ってたから
0点にされただけだろうな

90 :
ソースの冒頭に著作権表示は最低限入れとかないとダメだろ

91 :
// (C) 2ch

92 :
プロセス終了とともに勝手にメモリ解放されるんだからfree()とか使う必要ない。

93 :
最後まで使うならね。

94 :
確保と解放を繰り返すような糞設計をしなけりゃいいだけだし。

95 :
まあそうだ。処理次第だけど。
処理単位に複数プロセスにしてせばいいか。

96 :
>>92
またfree()不要論者かよ。
すくなくとも教育なんだから、
きちんとリソースの管理をするように教えるべきだろ。

97 :
一つ言えることは
本当に優秀で実戦的なノウハウ豊富なプログラマの人は、
他人にそれを教えることよりも、より多くのソフトウェアを産み出すことに、
限られた時間を使うだろう。
一流のプログラマとしてやっていけず脱落した人、
もしくは、疲れて引退した人でなければ、
とてもではないが、入門書を書くような暇はないだろう。
ろくな本がない理由は、そういうことだと思う。

98 :
大学教授と低学歴マとでは書く本の格が違うのも致し方ない

99 :
>>97
俺もそう思ってた
焼酎学校にまともな教師がいないのも同じ理由らしい

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 削除依頼
・ 次のスレ
thisってんじゃねーぞ
音声合成プログラムを作りる
どうせ暇だしFirefoxのアドオン作るわ
【魔法】リリカル☆Lisp【言語】