[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 17:58 / Filesize : 57 KB / Number-of Response : 328
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

プログラミングが上達するコツ



1 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 22:43:51 ]
語り合おう。

34 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:12:29 ]
11月いっぱいまでにC言語で何か作らないといけない。プログラミング初心者で3日で初級本を読み上げた。
でも、ポインタとか構造体とか複雑になってくると分からない・・・

35 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:13:15 ]
読んだだけ?

36 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:14:52 ]
パソコンにソースを打ち込みながらやりながら読むのは良くないよ。
なぜかというと、頭で考えないようになるから。

パソコンなしで、本を読んで、頭で、流れとかを考えるほうが、
身に付く。

37 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:21:25 ]
テレビを見ない、ゲームをしないなどして、時間を作り、
その中で集中して勉強すれば身に付くよ。

38 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:25:43 ]
毎日しろとは言わない。土日くらいは休んでもいい。その代わり平日を受験生なみのペースですればいい。
分からないことがあったら誰かに聞くなりしないとな。

39 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:29:51 ]
仕事で毎日5時間以上プログラミングしてたら確実に上達するよ
ということでハロワ逝け

ハロワに逝けないお子様はそんなことをするよりも
もっと勉強しろ。
勉強が面白く思えない奴にはプログラミングも面白くないだろうよ

40 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:35:38 ]
勉強するってのは本を読むことじゃないぞ?自分で考えることだからな

41 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:37:15 ]
毎日5時間もやってたら、太るし、禿げるし、目が悪くなる。
健康に悪いよ。

42 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:37:52 ]
>>40
本を読まずに、考える?



43 名前:デフォルトの名無しさん [2007/09/23(日) 23:40:25 ]
教科書を読みながら、打ち込むのか。
一冊読んでから、打ち込むのか。

どっちがいい?

44 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:40:49 ]
>>42 なんていうか・・・本に書いてあるプログラムを書いて勉強したつもりになるんじゃなくて自分で考えるというか・・・

45 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:41:42 ]
教科書見ながら打ち込んでたら、時間かかるだろ。

一冊読んでからやったほうがいいぞ。

46 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:42:17 ]
>>44
教養を付けろってこと?

47 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:42:32 ]
数学の勉強?

48 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:42:48 ]
本読まずに、プログラミングできるわけない。

49 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:44:11 ]
邪念を振り払って勉強しろ。

50 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:45:22 ]
本を読み込め。

51 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:46:11 ]
仕様書だろ。

52 名前:デフォルトの名無しさん [2007/09/23(日) 23:46:30 ]
我慢強く頑張れ。



53 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:46:37 ]
>>44
どういうこと?

54 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:47:28 ]
C言語の勉強を続けるためには何が必要?

55 名前:デフォルトの名無しさん [2007/09/23(日) 23:47:47 ]
>>4が真理。

56 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:48:34 ]
英語できないと、何もできないよ。

57 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:52:24 ]
集中力が続かん。困った。皆さんは、どうしていますか?

58 名前:デフォルトの名無しさん mailto:age [2007/09/23(日) 23:56:10 ]
www.freewebs.com/premiumtv/?rSTV=%E7%97%9B%E8%BB%8A

59 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 23:58:41 ]
何か分からないことがあって他の本を見ても今一理解できないときどうしますか?

60 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 00:03:26 ]
勉強できない奴はだいたいプログラミングもできないね。
頭のよさってのもあるかもしれんが、問題はそこじゃない。
勉強できない奴は、勉強する根性が無いんだよ。

61 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 00:08:50 ]
読解能力が必要なのでは?

62 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 00:09:27 ]
根性っていうか適性はあるかもしれない
勉強にしろ、運動にしろある程度の基礎がないと楽しめない
勉強や運動が楽しくない奴はその段階まで行っていないんだろう

すぐに自分の中で面白い、つまらないと結論をつけて
○○は俺には向いていないと逃げ出す

そんな人間にはプログラムどころか何も上達などできないだろう




63 名前:デフォルトの名無しさん [2007/09/24(月) 00:18:40 ]
読解力というかプログラムの流れを理解することかな

64 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 00:21:38 ]
なに作ってるのかわかってないのは、表現力がないコード書くからすぐバレる。

65 名前:デフォルトの名無しさん [2007/09/24(月) 00:35:58 ]
例えば Hello, World! を Hello, Work! に変えてみるとか
自分なりに考えて楽しまないと読んだだけ、打ち込んだだけになる

66 名前:デフォルトの名無しさん [2007/09/24(月) 00:38:06 ]
>>65>>53

67 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 00:53:19 ]
>>56
それだから、プログラミングの勉強が英語の勉強にもなった俺。

68 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 01:11:13 ]
>>1
黙れ学生のガキ


69 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 02:06:31 ]
目的があって、そのための課題を細かく設定してこなすことかな

ex)
ゲームが作りたい
表示するだけ→動かす→壁までしか動かさない→...

70 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 03:30:40 ]
とりあえず何か作る。
それ以外にない。

71 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:07:42 ]
Linuxを使い始めると良いよ。Ubuntuでも入れてみな。

72 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:37:49 ]
行数、見易さ、変更のしやすさ、処理性能に気をつける。
そのためにアルゴリズムの本も読む。

例えば、3変数x,y,zの最小値を見つける例。
ただし、わざとmin関数は使わない、という条件付。

実装1:素朴な方法
f(x,y,z)
if(x<=y)and(x<=z)then
return x
elsif(y<=x)and(y<=z)then
return y
else
return z
end

実装2:再帰を使う
f(x,y,z)
if(x<=y)and(x<=z)then
return x
else
retrun f(y,z,x) <---ここがポイント
end

実装3:if分岐先が比較結果フラグ値で決まっていることを利用
f(x,y,z)
retrun (x<=y)*(x<=z)*x + (y<=x)*(y<=z)*y + (z<=x)*(z<=y)*z
(ただし、真=1、偽=0の場合)




73 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:38:30 ]
楽しいことはするが楽しくないことはしない。俺はそんなの奴でプログラミングはやろうと思ったけど
面白くなくて途中で挫折した。でもその後、どうしてもやらないといけないことになって苦労したよ。
おかげで痩せた。これから始める人は俺みたいにはなるなよ

74 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:40:33 ]
>>72
追加:間違いを探す。


75 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:47:58 ]
int a,b,c,min;

min=a;

if(b<min) min=b;
if(c<min) min=c;

return0;

76 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 04:53:32 ]
>>75
main(){
int a,b,c,min;
min=a;
if(b<min) min=b;
if(c<min) min=c;
printf("%d\n",min);
return0;
}

言いたいことは分かるが>>72でやろうぜ!

77 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 05:45:52 ]
まずは「動く喜び」を知ること。これが無いとプログラムなんてただの苦行。
VBでもHSPでも何でも良いので一度見えるものを作っていじくって遊ぶべし。
素人の他人に見せびらかして同時に自尊心も養うとモアベター。

78 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 07:41:30 ]
>>1
自分で料理するようにしろ。


79 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 07:44:58 ]
>>1
ttp://www.sanabo.com/kotowaza/arc/2004/12/post_482.html

80 名前:デフォルトの名無しさん [2007/09/24(月) 08:51:59 ]
ディバッグが楽しいと思えないと、プログラムの上達は難しいね。

81 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:43:07 ]
本一冊読んでから、プログラミングを始めるか、
本を見ながら、プログラミングを始めるか、どっちがいい?

82 名前:デフォルトの名無しさん [2007/09/24(月) 10:47:55 ]
本を読みながら、それをノートにまとめて、
本を一冊読み終わって、ノートにまとめ終わったら、
ノートを読み。ノートを読んだら、プログラミングを始める。



83 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:54:03 ]
自分で作りたい物をガンガン作る
初めから大風呂敷広げないで、しょぼい物でいい

自分は最初の頃、時計作ったり
ブロック崩しやインベーダー風のシューティング作ったもんだよ

84 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:54:32 ]
Cで作れるプログラムを教えて。
やる気を出すために、挑戦しようと思って。

85 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 10:54:54 ]
>>83
プログラム言語は何で?

86 名前:デフォルトの名無しさん [2007/09/24(月) 10:56:23 ]
VBだったら笑う。

87 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:04:20 ]
>>85
言語なんて関係ない
好きな物を選びたまえ

88 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:05:43 ]
>>83はHSPだったりして。笑う。

89 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:07:15 ]
>>88
俺がプログラミングやりだしたのは13年前だ

90 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:09:02 ]
>>89
お前の自己紹介なんて要らんて。

91 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 11:37:07 ]
一日8時間以上のプログラミングは脳の機能を損なう恐れがあります。
プログラミングのし過ぎに気をつけましょう。

92 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:21:28 ]
>>84

C言語でトランプゲームを作りたい
pc11.2ch.net/test/read.cgi/tech/1189892773/



93 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 16:38:44 ]
トランプゲームか。いきなりは無理だろうがこれができればある程度は上達するな

94 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:22:23 ]
シャッフルができませんという質問がでるに違いない

95 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:23:05 ]
>>84
そんな事考える能力もない貴方に無理

96 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:40:40 ]
初めて自分で考えて作ったプログラムは何かって考えてみると、本当に簡単なものしか作れなかったな。
とりあえず本読んで、作れそうだと思ったものを作ってみるのがいいんじゃないか?

97 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:45:58 ]
頭の中で構想して「コイツはスゲェ!コイツはスゲェ!作り甲斐がありs・・・コイツはスゲェ!」って思ってても、
100行にも満たない、コーディング時間計数十分、手ごたえが無くて何かテンションが下がってしまう事はある。

98 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 17:55:54 ]
>>97
仕事でやると、長さや規模は出来とは関係ないことが分かるようになるよw

99 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:07:07 ]
ゲーム作りたいっていう目的は、そこまでの過程が長いなあ。
俺の場合、大きな目標が無く、CUIのテキスト処理プログラム→GUIのラッパをつけて・・・
って、主に利便性を求めて徐々に進んできた。
もちろん、ある期間は「MFCもマスターする!」とかって努力した面もあるけど。

あと、IDEだとドーンと立ち上げて、「今からやります」って気合がいるし、
変なプログラム書いたり消したりしているうちに環境が汚れるような気がして、
あんまし冒険できない気がした(今はまた使っているけど)。
71も書いているけど、Linux使うのは良いと思う。
おれはLinux常用するようになってから確実にプログラミングする機会が増えた。
IDEみたいな気合いがいらないのよね。

それと他人の作ったライブラリを使えるようになると、けっこうあれこれできて楽しくなるよね。

100 名前:デフォルトの名無しさん [2007/09/24(月) 18:15:14 ]
初心者の段階で一度はGUIを作るべきだ
GUIを作るまではその辺のアプリとかがめちゃくちゃ遠い存在に思えてしまうが
一回作ったら何だただこれだけやってるだけなのかじゃあ自分にも作れると思える
この意識の違いが大きい

101 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 18:37:05 ]
HSPで一瞬

102 名前:デフォルトの名無しさん [2007/09/24(月) 19:07:13 ]
で逝けます。



103 名前:デフォルトの名無しさん [2007/09/24(月) 19:07:48 ]
最近、TopCoderのマラソンマッチに参加し始めた。
成績はさっぱりだが、
問題を読み解いたり、
性能の比較のためにテスト方法を考えたり、
いろいろ楽しい。

104 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:10:19 ]
TopCoderのマラソンマッチ?

105 名前:デフォルトの名無しさん [2007/09/24(月) 19:44:20 ]
Oracleって高いですよね
本読んでるだけじゃ勉強にならん?

106 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:50:13 ]
>>103
TopCoderはまず英語という難関を乗り越えるのがちょっときついんだよなあ。

107 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:52:58 ]
あそこのは難関って言うほど難しくないぞ?
中学生レベルの英語で十分

108 名前:デフォルトの名無しさん [2007/09/24(月) 20:18:10 ]
2ちゃんねるにコードを貼るときに
インデントを入れないような感性の持ち主は
上達しないと思う。


109 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 20:19:25 ]
うpロダに載せることよりも
ソースからインデント無くしていく方が面倒じゃね?

110 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 20:38:33 ]
全角スペースでインデント

111 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 20:55:56 ]
インデント整形するコードぐらい書けるだろ

112 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 21:04:32 ]
mixiで整形するブックマークレットなら書いたな。
普通のブラウザで2chに書き込みするときにはブックマークレットのほうが楽だと思う。replaceを重ねるだけで済む。

問題は専用ブラウザだとブックマークレット使えないってあたりかな。



113 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 21:04:34 ]
ある程度の言語はツールでいいが
Python辺りでやられると非常に困るw

114 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 01:00:46 ]
上達するコツ。オレ流。

1.関数はできるだけ短く。100行とかになると嫌になってくる。
2.書き方に一貫性を持つ。
   関数名は動詞が先、とか。getTestData()とか。
   似たような変数名を作らないとか。strPrg、sPrg、strProg、sProgramとかは統一しろと。
3.業務的な条件文には必ずコメント。nullチェックとか分かりきってる場合は不要。
4.条件文は定数を左に書く。C/Javaで使える手法。
   if( true != bHogeFlg)。これだけで代入バグは消えるし。
   意味わかんない人は、if(true = bHogeFlg)と書けば分かる。
5.動けばいいというソースはアホが書く。できる奴は保守できるソースを書く、という信念を持つ。

それぞれ書き方はあるだろうけど、
各人のこだわりについての良し悪しよりも、
同一人物が書いてるソースなのに、
あっちこっちで統一感が無いのが一番ダメ。

115 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 01:03:29 ]
最初は動けばいいものを作ればいい。最初から難しく考えようとうするから嫌になってくるんだ

116 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 01:10:35 ]
趣味ならそれでもかまわんけど、同じチームにそういう奴がいたら改善させる。
初心者でもそれは一緒。

117 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 01:15:28 ]
いきなりそれは初心者にはきつくないか?まぁ仕事上仕方ないことだけどきついというか・・・
そこは先輩がフォローしてそっから改善させていけばいい。きついだけが仕事じゃないんだ

118 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 01:45:31 ]
言わんとすることは分かるけどね、
初心者には何が良くて何が悪いかの基準は設けてあげんと。
「気合入れてコーディングしました!」
とかって奴やら結局作り直しで迷惑でしょ。

それやったら最初に
「こういう作り方をしたら結局作り直しで、お前のやってることはマイナス工程になっとる」
ってのを直接的にじゃないけど教えてあげた方がそいつのためになるし。

119 名前:デフォルトの名無しさん [2007/09/25(火) 02:21:00 ]
#include <stdio.h>
void main(void) {  /* mに、x,y,zの「中間の値」を入れる */
  int m,x,y,z;
  sscanf("%d%d%d",&x,&y,&z); /* これでx,y,zを取り込む */
  m = /* ここをうまく考えてね。x,y,z3つを参照するはず。 */
  sprintf("mid = %d\r\n",m);
}

120 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 02:24:10 ]
string.hはいらないの?

121 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:27:38 ]
>>114
4番は要らない。そんなことに警告も出せないコンパイラを使うな。

122 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:43:00 ]
>>120 だってあの中でstrxxxとかmemxxx使ってないじゃん。



123 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 09:54:30 ]
m = MIN(x, MAX(y,z));

124 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 11:01:14 ]
>>123
xが最小だとアウト

125 名前:デフォルトの名無しさん [2007/09/25(火) 13:43:02 ]
>>106
短いマッチだと英語の問題文を読んでいるうちに終わってしまうけど、
マラソンマッチだと問題文を読む時間に余裕があるので、
英語苦手な場合にも辞書を引きながらなんとか出来ると思う。

126 名前:123 mailto:sage [2007/09/25(火) 19:40:13 ]
できたっぽい
m = x > y ? y > z ? y : z > x ? x : z : y > z ? z > x ? z : x : y;

127 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 20:02:06 ]
((x - y) * (y - z) >= 0) ? y : (((z - x) * (x - y) >= 0) ? x : z)

128 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 20:08:03 ]
あなるほど

129 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 20:22:44 ]
m = (x > y) == (y > z) ? y : (z > x) == (x > y) ? x : z;

130 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 21:05:14 ]
>>121
コンパイラの警告レベルがデフォルトだと代入は捕まえない場合あるからなあ。
コンパイラ任せよりもプログラマの意識が高いことはいいことだよ。

131 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 21:48:20 ]
>>130
確かにいいことだ。でも上達するコツなのか?
4以外はわからないでもないんだが、これだけがなんか違う。

132 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 22:00:37 ]
なんか違う、じゃなあ。
漏れも定数左派。
コーディングテクニックの一つってことで、
知らないよりは上達してるんじゃね?
知らない奴は代入バグが存在することに気がつかないし。



133 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 22:03:49 ]
なんかこのスレ、初心者同士の情報交換って感じで和むよね。

134 名前:デフォルトの名無しさん mailto:sage [2007/09/25(火) 22:07:54 ]
そら達人プログラマーに
上達するコツは必要ない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<57KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef