賢い勉強法は?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGVB・Java・VC++等
0002デフォルトの名無しさん
NGNG失格です。
0003デフォルトの名無しさん
NGNGただ、世の中どうしてもプログラム的発想ができない人もいるので、
誰でも絶対にマスターできるというわけではない。
誰もが必ず東大に入れるわけではないのと同じ。勉強してもダメな人はダメ。
0004名無しさん
NGNG質問してる暇があるなら、とにかく始めろ!!
と私は言いたい。
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGほい。
http://messages.yahoo.co.jp/bbs?.mm=CP&action=m&board=1835095&tid=c8c08la4rfh3xa4gbdacfc0a49a4ka4ka4oa1a9&sid=1835095&mid=1&type=date&first=1
http://messages.yahoo.co.jp/bbs?.mm=CP&action=m&board=1835095&tid=a5wa5ma50a5ia5dea4kc0aea4ja4bfa4a4a4ga49a4aca1a6a1a6a1a6&sid=1835095&mid=1&type=date&first=1
0007デフォルトの名無しさん
NGNGほい。
http://messages.yahoo.co.jp/bbs?.mm=CP&action=m&board=1835095&tid=c8c08la4rfh3xa4gbdacfc0a49a4ka4ka4oa1a9&sid=1835095&mid=1&type=date&first=1
http://messages.yahoo.co.jp/bbs?.mm=CP&action=m&board=1835095&tid=a5wa5ma50a5ia5dea4kc0aea4ja4bfa4a4a4ga49a4aca1a6a1a6a1a6&sid=1835095&mid=1&type=date&first=1
0008デフォルトの名無しさん
NGNGちゅー鳥ある
で一通りなめて
あとは自分で簡単なのからつくってみる
サンプルつきのAPIとか関数のリファレンスもほしいですね
僕の場合Webと本で資料あさったり読んだりする時間と
書いてる時間は3:7くらい
新しい言語だと資料がすくなくて大変だね
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGそれはヤメなさい
0011デフォルトの名無しさん
NGNGきっと手取り揚げ足取り教えてくれますよ。
0012デフォルトの名無しさん
NGNG0013デフォルトのやる気なし
NGNG> きっと手取り揚げ足取り教えてくれますよ。
ワラタ。 (^◇^;
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG最近は、ものごとをクラスオブジェクトとしてとらえたりすることもしばしば。
現実世界で、デザインパターンを適用しようとしてしまうところまでいけばしめたもの。
001716
NGNG001816
NGNG先生に思わず言ってしまうくらいになればいい。
0019デフォルトの名無しさん
NGNGやたらツライし今自分がどこにいるのかも大体でしか分からないし、
下手すると崖から落ちたりもするが、
ただただ登っていれば気が付くと頂上に着いてるんだよ。
でもすぐにまた次の頂上が待ってるんだけどねー。
0020デフォルトの名無しさん
NGNG突然、神が降りる。プログラマなら一度は経験しますね。
0021デフォルトの名無しさん
NGNGあたぃ プログラマーになってから1年くらいだけど
なかなか神が降りてきません。
002220
NGNG小難しい本読むなり、トンデモな仕様の実装方法なり解放がみつからねぇ〜って
ぐらい悩んで、その日はスパっと帰ります。
家族でメシ食って風呂にゆっくり入って早く寝ましょう。
次の日、デスクに座った瞬間悩んでいた問題の解放が湧き上がってきます。
・・・って感じ。突然悟りが開けるから。
0023デフォルトの名無しさん
NGNGありますね
煩雑なクラス設計を眺めていたらデザインパターンに落とし込めることに
気づいて夢中でコーディングしたり
神が降りるって自分の場合
1 ひらめく
2 能率が一定時間驚異的にあがる
の2種類あります
0024デフォルトの名無しさん
NGNGでも、デザインパターンとかUMLみたいな知識の学習はちょっと違いますよね。
どういうふうにして馴れていきましたか?
0025デフォルトの名無しさん
NGNGああやはりきちんとした方法論が必要だよなあ、と実感することが大切かな。
それをすっぽかして、いきなり *高級な* 方法論に触れても、
ありがたみを感じないだろうし、身につかないと思う。
こういう考え方をドキュソというんだろうか。
でもなあ。
0026デフォルトの名無しさん
NGNGデザインパターンを勉強しても、過去に自分で似たような構造を作る経験があったりすると理解しやすい。
prototypeとかflyweightとか、すぐにはわからんかったよ。
0027デフォルトの名無しさん
NGNGやる気が湧いてきました。ありが とぉっ!!
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGとりあえず俺の神になってくれ
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGプロポーズの言葉みたいだ
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGもう歳かな
0035デフォルトの名無しさん
NGNGあなたは神となり、どこかで頭を抱えている若手プログラマに
救いの手をさしのべるのdeath!!!!!!!!!!!!!!!
0036デフォルトの名無しさん
NGNG遊びがてら適当にソース書いてみて行き詰まったときに初めて本で調べる。
漏れにとって本は辞書代わり見たいなもの。
面倒くさいから最初から通して読んだりとかはしない。
0037デフォルトの名無しさん
NGNG俺もそうだね、入門書は半分ぐらい読みながら進めるけど後は辞書的使い方になる。
0038デフォルトの名無しさん
NGNGまったくの初心者というのならば話は別だけど
0039デフォルトの名無しさん
NGNG入門書は再びやるときに感覚を取り戻すために使います。
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGしか書いてないので買うだけ無駄。一番必要なのは裏も表も網羅されて
いる巨大なリファレンスマニュアルだけでいいよ。
0042デフォルトの名無しさん
NGNGでも入門サイトって使えないのが多くて、探し回るくらいなら
本買ったほうが良かったりする
技術や言語にもよるのかなぁ
俺のレベルが低いせいもあるが・・
0043デフォルトの名無しさん
NGNG同感です
よく勉強のためにMSDNをみろ、とか言うやつが多いけど
効率よく勉強するには向いていない。
ある程度実力がついてからじゃないとMSDNやネットの情報は
活用できないと思われリ。
0044デフォルトの名無しさん
NGNG粗い骨組みを簡単な本で組み上げておいて、肉付けをリファレンス本でするのが良いのでは。
0045デフォルトの名無しさん
NGNG頭からざっと読んで、ネットでサンプルコード探してざっと読んで、
あとは書きながら勉強、というのが良いと思う。
おれ年寄りだから、AT&T の c-frontについてきた"Annotated" じゃ
ないただの C++ reference manual で C++ 学んだ。ページ数少ない
ので読むのはラク。
0046デフォルトの名無しさん
NGNG0047デフォルトの名無しさん
NGNG盛り込みまくりで、解説も難解なのってたまにありますよね。
その分野の本がまだそれしか出てない場合は仕方なく買ったりしますが、
読んでいて切れそうになります
0048デフォルトの名無しさん
NGNGC始めてまだ2ヶ月・・
挫折しつつも、簡単なプログラム作って達成感に酔いしれてる
ちょっとやる気が沸いた今日この頃(´ー`
0049ジャヴァック
NGNGその時は理解できなくてもいいから闇雲にコーディング。
いずれわかります。
理論は後から付いて来ます。
0050デフォルトの名無しさん
NGNGわかるわかる!
漏れもC++始めた頃は辛かったよ…
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNGいまは使いこなせてますか?
聞かせてくれ〜
勇気をちょうだい♪
0054244
NGNG0055デフォルトの名無しさん
NGNG電波さん怖い
0056デフォルトの名無しさん
NGNGごめんなさい
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGちょっとその研修に疑問があります。
アルゴリズムの勉強がメインだそうで、
最大公約数や2分探索、クイックソートなどを
考えてコーディングって感じだそうです。
一日の80%以上は考えることに使って、
コーディングの時間の割合は20%くらいです。
もう3ヶ月くらいになりますが、
「画面に文字を表示させて、入力させて、表示と入力を判定して
正しかったら別の文字、ちがったらもういちど同じ文字を表示。
これを繰り返す」
って感じの簡単なプログラムをフローチャートにさせても
ぱぱっと出来ないです。
発見させてるアルゴリズムを考えさせるよりも、
そのアルゴリズムを実際に使えるようにする場面を体験することの方を
重視すべきだと思います。
併せて、ある機能をプログラムに落とし込んでいく経験をどんどんするべきだろうと
おもうし、そのために必要なAPIを見つけて使う勉強もしていくべきだと思います。
机上で考えることよりも、どんどんコーディングすべきだと
思うのです。
皆さんどう思われますか
0059デフォルトの名無しさん
NGNG>ちょっとその研修に疑問があります。
って〜か、「ちょっとその人の資質に疑問があります」
じゃねーの?
その会社の方針は正しいよ。というか素晴らしい。
長い目で社員を育てているんだから。
でも、その期待に応えられそうにないね、そいつ。
006058
NGNGa^2=b^2+c^2
aとbとc、それぞれ整数で100以下の組み合わせをさがす
もっとも効率のよいプログラムを書いてください
数字の組み合わせの例
5^2=4^2+3^2
僕は職業プログラマのくせに、
3重ループしか思いつかなかったです。
0061デフォルトの名無しさん
NGNG揚げ足を取るようで、ごめんなさい。
でも、整数ではなく、自然数ですよね。(^^;
0062デフォルトの名無しさん
NGNGその問題の答えを教えてください。
俺も総当りで、調べる方法しか思い浮かびません。
0063デフォルトの名無しさん
NGNG効率のよいプログラムが何を指すか分かりませんが、
計算量を減らす事を指しているのなら、これも総当たりですが、
配列を100の2乗分用意すれば、2重ループに減らせます。
また、平方根を求めるのが早い処理系なら、
毎回、根を求める事により同じく、2重ループに減らせます。
それ以上は、アルゴリズムを調べないと何とも…。
但し、本当に100以下で良いのであれば、
全て記録しておけば良いと思うのは、自分だけでしょうか…。
0064デフォルトの名無しさん
NGNGfor (int b = 1; b <= n; b++)
{
for (int c = b + 1; c <= n; c++)
{
int a2 = b*b + c*c;
for (int a = 2; a * a < a2; a++)
{
if (a*a == a2)
{
cout << "found! : "
<< a << "^2 = "
<< b << "^2 + "
<< c << "^2" ;
break;
}
}
}
}
でどうだろ?
あうち、これのオーダー、計算わかんないや(^^;
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNGそれって本当に全部の場合を網羅できるのか?
0067デフォルトの名無しさん
NGNG2重ループが1回で作ると(手抜きで配列を+1してますが)こんな感じです。
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef long Int;
typedef long Long;
void hit(Int i,Int j,Int k) {
printf("%d^2 = %d^2 + %d^2\n",i,j,k);
}
int fermat () {
Int *x1; Long *x2;
Int i, j ; Long l;
if ((x1=calloc(sizeof(Int),MAX*MAX+1))==NULL) { return -1 ; }
if ((x2=calloc(sizeof(Long),MAX+1))==NULL) { free(x1); return -1 ; }
for (i=1;i<MAX+1;i++) { l=(Long)i*i; x1[l]=i; x2[i]=l; }
for (i=1;i<MAX+1;i++) {
for (j=1;j<=i;j++) {
l=(x2[i]+x2[j]);
if (l<=MAX*MAX && x1[l]) hit(x1[l],i,j);
}
}
free(x2); free(x1); return 0 ;
}
でも、自分のマシンでは、2500くらいまで(しか)動きま(せんで)したが、
やはりメモリを使い過ぎるため、毎回、根を求めた方が良さげです…。
int fermat () {
Long *x2;
Int i, j , k ;
Long l ;
if ((x2=calloc(sizeof(Long),MAX+1))==NULL) { return -1 ; }
for (i=1;i<MAX+1;i++) { x2[i]=(Long)i*i; }
for (i=1;i<MAX+1;i++) {
for (j=1;j<=i;j++) {
l=(x2[i]+x2[j]);
k=sqrt(x2[i]+x2[j]+1); /* +1 はいらないかも… */
if (k<=MAX && l==(Long)k*k) hit(k,i,j);
}
}
free(x2); return 0 ;
}
これでも、相当古い処理系でなければ、3重ループより早いかと…。
0068デフォルトの名無しさん
NGNGああ、すべての項を d倍する奴も含めてね、念のため。
0069デフォルトの名無しさん
NGNG計算すると、mn=1,0になるけど、本当に大丈夫なのか?
0070デフォルトの名無しさん
NGNGこの式は元の式の変換ではなく、ただの恒等式だよ。
0072デフォルトの名無しさん
NGNG・a>b>=cを仮定して良い
・(a,b,c)=(偶,奇,奇),(偶,偶,偶),(奇,偶,奇),(奇,奇,偶)以外はありえないから無視する
これだけでかなり削減できる気がする。
0073デフォルトの名無しさん
NGNGint x[101];
for( i=1; i<=100; i++ ) x[i] = i*i;
としておけば a^2=b^2+c^2 は x[a]=x[b]+x[c]。
すなわち x[] の集合内で A=B+C となる組み合わせを求めるだけ。
0074デフォルトの名無しさん
NGNG007567
NGNGa^2 = b^2 + c^2 ( a>b>c ) として、aとbの差をxと表すと、
c^2 = a^2 - ( a - x )^2
c^2 = 2ax - x^2
よって、任意の値(c)の平方(c^2)が 2ax - x^2 の式に当てはまるものを、
総当たりしてやれば良いので…。( 説明が下手でごめんなさい )
int fermat () {
long *x,i,j,k,l;
if ((x=calloc(sizeof(long),MAX+1))==NULL) { return -1; }
for (i=1;i<=MAX;i++) { x[i]=i*i; }
for (i=1;i<=(long)(MAX/1.4);i++) {
for (j=1;j<i;j++) {
k=x[i]-x[j];
l = k/j/2 ;
if (l+j<=MAX && l>i && k==l*j*2) {
hit(l+j,l,i);
}
}
}
free(x); return 0;
}
2重ループのiとjは、それぞれ式のcとxに対応しています。
007675
NGNGa^2 = b^2 + c^2 ( a>b>c ) として、aとbの差をxと表すと、
c^2 = a^2 - b^2
c^2 = ( b + x )^2 - b^2
c^2 = ( b^2 + 2bx + x^2 ) - b^2
c^2 = x^2 + 2bx
よって、任意の値の平方(c^2)が x^2 + 2bx の式に……………
申し訳ありませんでした。m(_ _)m
プログラムの中身については、正し(くあって欲し)いと思います。
007765
NGNG正解は
(m^2+n^2)^2 = (m^2-n^2)^2 + (2mn)^2
だったよ。訂正してくれればいいのに。
m=2, n=1 と置くと 5,3,4ね
■ このスレッドは過去ログ倉庫に格納されています