C言語何でも質問掲示板


アンケートにご協力下さい → >> アンケートフォーム <<

規約と使い方

 
   チャットみたいなもの ....   
     ・[6857] 管理人 
     ・[6859] やま 
     ・[6860] 管理人 
     ・[6861] やま 
   ++ -- 演算子について ....   
     ・[6847] Justy 
     ・[6850] 大工 
   流れ図について   
     ・[6797] 組木紙織 
     ・[6799] 太郎 
     ・[6800] 雷 
     ・[6802] 太郎 
     ・[6803] Justy 
     ・[6805] 組木紙織 
     ・[6807] 太郎 
     ・[6808] 組木紙織 
     ・[6809] 太郎 
     ・[6810] 組木紙織 
     ・[6811] 太郎 
     ・[6814] 組木紙織 
     ・[6815] 管理人 
     ・[6817] 太郎 
     ・[6818] 管理人 
     ・[6820] 管理人 
     ・[6821] 太郎 
     ・[6827] 組木紙織 
     ・[6828] 太郎 
     ・[6829] 太郎 
     ・[6830] 管理人 
   いたずら   
     ・[6636] 管理人 
     ・[6637] ぽん太 
     ・[6638] バグ 
     ・[6639] sa 
     ・[6645] ぽん太 
     ・[6649] 管理人 
     ・[6654] むつ 
     ・[6655] ぽん太 
     ・[6665] 管理人 
     ・[6680] asd 
     ・[6687] sa 
     ・[6688] 管理人 
     ・[6689] sa 
     ・[6693] 管理人 
     ・[6701] asd 
     ・[6708] みけにゃん 
     ・[6711] 管理人 
     ・[6795] みけにゃん 
     ・[6804] sa 
   fgets()や文字入力につ ....   
     ・[6743] asd 
     ・[6744] ben@ 
     ・[6745] miyaza 
     ・[6752] ben@ 
     ・[6788] ben@ 
     ・[6794] 組木紙織 
   C言語ではないのですが ....   
     ・[6773] keichan 
     ・[6774] ももた 
     ・[6775] バグ 
     ・[6776] ももた 
     ・[6778] むつ 
     ・[6779] ももた 
     ・[6780] ももた 
     ・[6781] Blue 
     ・[6782] ももた 
     ・[6783] むつ 
     ・[6784] ももた 
     ・[6785] ももた 
     ・[6786] むつ 
     ・[6789] Blue 
     ・[6790] Blue 
     ・[6791] ももた 
     ・[6792] ももた 
     ・[6793] Blue 
   無題   
     ・[6720] むつ 
     ・[6722] box 
     ・[6736] 超初心者 
     ・[6737] ま〜く 
     ・[6777] 超初心者 
     ・[6787] 超初心者 
   scanfとfopen、fgetsを ....   
     ・[6748] 組木紙織 
     ・[6749] TTF 
     ・[6751] 組木紙織 
     ・[6753] TTF 
     ・[6754] 組木紙織 
     ・[6757] TTF 
     ・[6759] 組木紙織 
     ・[6762] TTF 
   atoi()の実装   
     ・[6750] Justy 
     ・[6755] 組木紙織 
     ・[6756] Justy 
     ・[6758] 組木紙織 
     ・[6761] Justy 
   どなたか教えてくださ ....   
     ・[6650] 管理人 
     ・[6653] ben@ 
     ・[6656] 組木紙織 
     ・[6657] ben@ 
     ・[6658] 組木紙織 
     ・[6659] むつ 
     ・[6660] ben@ 
     ・[6661] ben@ 
     ・[6662] 組木紙織 
     ・[6667] 管理人 
     ・[6674] むつ 
     ・[6675] フリオ 
     ・[6684] ben@ 
     ・[6690] 管理人 
     ・[6741] ben@ 
   またまた教えて下さい ....   
     ・[6685] asd 
     ・[6686] ben@ 
     ・[6691] 管理人 
     ・[6692] 管理人 
     ・[6694] ben@ 
     ・[6695] 管理人 
     ・[6696] 管理人 
     ・[6697] ben@ 
     ・[6698] 管理人 
     ・[6699] 管理人 
     ・[6700] ben@ 
     ・[6702] 管理人 
     ・[6703] 管理人 
     ・[6704] asd 
     ・[6705] asd 
     ・[6706] 管理人 
     ・[6709] ben@ 
     ・[6710] 管理人 
     ・[6712] ben@ 
     ・[6713] 管理人 
     ・[6715] ben@ 
     ・[6716] box 
     ・[6717] 管理人 
     ・[6718] ben@ 
     ・[6721] バグ 
     ・[6740] ben@ 
   多次元配列   
     ・[6724] 管理人 
     ・[6725] フグオ 
     ・[6726] 管理人 
     ・[6727] 管理人 
     ・[6728] ふぐお 
     ・[6729] 管理人 
     ・[6730] バグ 
     ・[6731] 管理人 
     ・[6732] むつ 
     ・[6733] しっぽ 
     ・[6735] むつ 
   無題   
     ・[6600] 管理人 
     ・[6628] asd 
     ・[6664] りょう 
     ・[6679] asd 
     ・[6707] りょう 
     ・[6714] asd 
   大学でJAVA言語   
     ・[6646] ぽん太 
     ・[6651] 管理人 
     ・[6672] むつ 
   CreateFontToHandleで   
     ・[6559] 管理人 
     ・[6562] はね 
     ・[6564] 管理人 
     ・[6567] Justy 
     ・[6576] 管理人 
     ・[6579] Justy 
     ・[6582] 管理人 
     ・[6583] Justy 
     ・[6585] 管理人 
     ・[6588] Justy 
     ・[6589] 管理人 
     ・[6595] Justy 
     ・[6597] Justy 
     ・[6599] 管理人 
     ・[6604] Justy 
     ・[6606] 管理人 
     ・[6624] Justy 
     ・[6625] 管理人 
     ・[6663] Justy 
     ・[6666] 管理人 
     ・[6669] Justy 
     ・[6671] 管理人 
   数学の問題が解けませ ....   
     ・[6565] ぽん太 
     ・[6566] ぽん太 
     ・[6568] 管理人 
     ・[6569] Lbfuvab 
     ・[6570] ぽん太 
     ・[6571] しっぽ 
     ・[6572] 管理人 
     ・[6573] 管理人 
     ・[6574] ぽん太 
     ・[6575] 組木紙織 
     ・[6577] しっぽ 
     ・[6578] 管理人 
     ・[6581] Justy 
     ・[6584] 管理人 
     ・[6586] 管理人 
     ・[6587] Justy 
     ・[6590] 管理人 
     ・[6601] 管理人 
     ・[6603] Justy 
     ・[6607] Lbfuvab 
     ・[6614] 管理人 
     ・[6631] Lbfuvab 
     ・[6633] ぽん太 
     ・[6635] 管理人 
     ・[6640] 組木紙織 
     ・[6641] ぽん太 
     ・[6642] 組木紙織 
     ・[6644] ぽん太 
     ・[6647] 組木紙織 
     ・[6652] ぽん太 
   Visual c で c++のプ ....   
     ・[6556] バグ 
     ・[6558] 管理人 
     ・[6611] 未亜 
     ・[6612] box 
     ・[6613] 管理人 
     ・[6627] バグ 
     ・[6629] 未亜 
     ・[6630] Blue 
   for文について   
     ・[6618] 管理人 
     ・[6619] 管理人 
     ・[6620] 大工 
     ・[6621] 管理人 
     ・[6622] 組木紙織 
   すいません   
     ・[6501] 管理人 
     ・[6502] 管理人 
     ・[6512] Lbfuvab 
     ・[6513] 管理人 
     ・[6608] Lbfuvab 
     ・[6617] 管理人 
   テキストおよび線の描 ....   
     ・[6535] 管理人 
     ・[6536] 管理人 
     ・[6610] k 
     ・[6615] 管理人 
   ポインタについての質 ....   
     ・[6548] box 
     ・[6609] Ito 
   png画像について   
     ・[6493] 管理人 
     ・[6532] kaoru 
     ・[6533] 管理人 
     ・[6592] kaoru 
     ・[6593] 管理人 
     ・[6594] kaoru 
     ・[6598] 管理人 
     ・[6602] kaoru 
     ・[6605] 管理人 
   atoiにつての質問。   
     ・[6538] バグ 
     ・[6539] バグ 
     ・[6543] 大工 
     ・[6544] box 
     ・[6545] 大工 
     ・[6547] box 
     ・[6549] 大工 
     ・[6551] box 
     ・[6553] バグ 
     ・[6580] 大工 
   ウィンドウの拡大、縮 ....   
     ・[6516] 管理人 
     ・[6542] 黒猫 
     ・[6552] 管理人 
     ・[6560] 黒猫 
     ・[6561] 管理人 
   文字コードcharについ ....   
     ・[6304] 管理人 
     ・[6305] 管理人 
     ・[6308] バグ 
     ・[6324] 管理人 
     ・[6353] なぎ 
     ・[6389] へろへろ 
     ・[6390] 管理人 
     ・[6398] なぎ 
     ・[6401] 管理人 
     ・[6404] バグ 
     ・[6416] へろへろ 
     ・[6418] バグ 
     ・[6422] なぎ 
     ・[6426] へろへろ 
     ・[6435] 雷#wing 
     ・[6438] 雷 
     ・[6467] 管理人 
     ・[6550] へろへろ 
   どっちに進むべきか?   
     ・[6500] 大工 
     ・[6503] 管理人 
     ・[6519] madou 
     ・[6520] 管理人 
     ・[6540] madou(=pa******) 
     ・[6541] 管理人 
   PlaySoundMem( )関数に ....   
     ・[6534] 管理人 
   ポインタのポインタ・ ....   
     ・[6529] Justy 
     ・[6531] いさご 
   わけがわからない・・ ....   
     ・[6527] BAZZ 
     ・[6530] Justy 

Name: やま  ..ぴよぴよ(0ポイント)   Date: 2007/04/15(日) 21:45   No:6856       
Title: チャットみたいなものを作りたいんですが・・    
初めての書き込みです。
c言語は勉強して1年ほどです・・・・
質問なんですが僕もチャットみたいなものを作りたいんですが、作り方がさっぱりわかりません・・
どこか参考になるサイトがあったら教えてくださいm(__)m



Name: 管理人 [URL]  ..ハッカー(291,965ポイント)   Date: 2007/04/15(日) 22:22   No:6857     
Title: Re:チャットみたいなものを作りたいんですが・・    
このサイトで何度も紹介している、DXライブラリはご存知でしょうか?
私の過去のアプリ紹介で、
http://dixq.net/sakuhin.html
紹介していますけど、チャットも作った事あります。
DXライブラリを使った事があれば簡単ですよ^^

サンプルプログラムにまんま、プログラムがあるので

http://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N21

参考にしてみてください☆
突然みても何がなんだかわからない場合は、一つ一つわからない関数をリファンスで確認しながら見ていくといいですよ。

DXライブラリというものをご存じなかったらトップページからみていってください。

http://homepage2.nifty.com/natupaji/DxLib/


217ポイント を手に入れた。

Name: やま  ..ぴよぴよ(28ポイント)   Date: 2007/04/15(日) 22:37   No:6859 解決!     
Title: Re:チャットみたいなものを作りたいんですが・・    
ありがとうございます!
DXライブラリは今、文字を表示できるぐらいです・・
サーバーが必要だと思いますが、もしもオンラインチャット的なものを
作ろうとしたらDXライブラリで作ることはできますか?


28ポイント を手に入れた。

Name: 管理人 [URL]  ..ハッカー(292,114ポイント)   Date: 2007/04/15(日) 22:59   No:6860     
Title: Re:チャットみたいなものを作りたいんですが・・    
チャットって全部オンラインじゃないですか?^^;
おっしゃっているのは、IPアドレス知っている特定の相手とだけでなく、ソフトをもっていたらあらゆる知らない人とでもチャットが出来るようなシステムということでしょうか?

チャットシステムには詳しくないのですが、
固定IPアドレスがあればサーバーがなくても出来るんじゃないですか?
自分のパソコンを常につけっぱなしにして、起動したら自分のPCに接続するようにします。
そこでドンドン接続を増やしていけばいいのではないでしょうか。


149ポイント を手に入れた。

Name: やま  ..ぴよぴよ(35ポイント)   Date: 2007/04/15(日) 23:19   No:6861 解決!     
Title: Re:チャットみたいなものを作りたいんですが・・    
そうなんですか・・
ありがとうございました。


7ポイント を手に入れた。



Name: 大工  ..上級者(16,594ポイント)   Date: 2007/04/15(日) 14:19   No:6846       
Title: ++ -- 演算子についての質問。    
http://www.kouno.jp/home/c_faq/c3.html#0

のサイトにある

>i++は副作用をもたらす。つまりiの値を変更する。式の他のところで iが参照されているので、このことが未定義の振舞いを引き起こす (K&Rの言い回しではこの式の振る舞いは不定であると取れるが、C規 格は一段と厳しく未定義であるとしている。-- 質問11.33を参照のこ と)。


>後置増分演算子++も後置減分演算子--も元の値を返した後で、その演 算を行う。この"後"の意味付けがしばしば誤解を招く。前回値を産み 出したすぐ後で、かつ式のその他の部分が評価される前に、++や--が 増分や減分を行うことは保証されていない。単に式が"終了"する前 (ANSI Cの用語でいえば次の"副作用完了点"(sequence point)の前。 質問3.8を参照)のどこかで更新が実行されることが保証されているだ けである。上の例では、前回値と前回値を掛け合わせてから両方の増 分を実行することをコンパイラは選んだ。

副作用があいまいな部分が複数あるコードのふるまいは、常に未定義 である。(大まかに言うと、「副作用があいまいな部分が複数ある」 とは、++, --, =, +=, -=, etc. の組み合わせのいずれかが1つの式 の中に洗われ、同じオブジェクトが2回変更されたり、変更されてか ら値を調べられることを意味している。これは荒っぽい定義である。 正確な定義は質問3.8を参照のこと。"未定義"の意味については質問 11.33を参照のこと)自分の使っているコンパイラがそのような副作用 を持つコードをどう実装しているか調べるようなこともしてはいけな い(多くのCの教科書に載っている愚かな練習問題であるが、お薦めは しない)。K&Rが指摘しているように「もし様々なマシンでどうやって やって実行してるのか、わからなければ、わからないということが助 けとなるかもしれない。」

という説明があり前回置について解説してください><;
あと、副作用になる理由がいまいちわかりません・・・。。


669ポイント を手に入れた。


Name: Justy  ..比類無きプログラマー(81,023ポイント)   Date: 2007/04/15(日) 14:45   No:6847     
Title: Re:++ -- 演算子についての質問。    
という説明があり前回置について解説してください><;
あと、副作用になる理由がいまいちわかりません・・・。。

 i++における 前回値とは ++する前の値のことです。

 i=5 で、i++ なら前回値は 5になります。


 ここでいう副作用とはコンパイラに依って、同じ処理になることを
保証できない状態を言います。

 このサイトの例
	int i = 7;

printf("%d\n", i++ * i++);

 で考えてみます。
 これを擬似的なコードで書いてみると

	printf("%d\n", i * i);		// 7 x 7 = 49

++i, ++i;

 このように処理するものもあれば、

	int i1 = i;

i++;
int i2 = i;
i++;
printf("%d\n", i1 * i2); // 7 * 8 = 56


 結局、値を ++するタイミングはその式が終わるまでのどこか、とかしか
決まっていないので、++しつつ、その値を同じ式の別の場所で参照するような
ことがあると、いつ ++したのか次第で問題が起こる、というわけです。


566ポイント を手に入れた。

Name: 大工  ..上級者(16,728ポイント)   Date: 2007/04/15(日) 16:28   No:6850     
Title: Re:++ -- 演算子についての質問。    
なるほど!

ありがとうございます


19ポイント を手に入れた。



Name: 太郎  ..ぴよぴよ(85ポイント)   Date: 2007/04/14(土) 16:04   No:6796       
Title: 流れ図について    
プログラムの流れ図について

訳あって、独学で勉強してるのですが、下記の問題の流れ図を作成してみました

問:黒い塊A,B,Cがあります、天秤ではかって、一番重いものを表示しなさい

私なりに書いてみたのですが、間違えがあればご指摘お願いいたします

http://monamu.s14.xrea.com/cgi/img-box/img20070414151836.gif

画像ですが宜しくお願いします


85ポイント を手に入れた。


Name: 組木紙織  ..中級者(12,451ポイント)   Date: 2007/04/14(土) 16:36   No:6797     
Title: Re:流れ図について    
これ分岐の部分でどちらに進めばよいか書いていないです。
yesやnoを分岐の部分で書いて下さい。

とりあえず
気づいたところを上げておきます。
A>Bの部分で右に動いたあと、A>Cを比較して、そこから左に線が出ています。

それだけではCがもっとも重たいことにはなりません。
BとCの比較としてあげないと。


144ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(149ポイント)   Date: 2007/04/14(土) 16:55   No:6799     
Title: Re:流れ図について    
組木紙織さん、返信有難うございます

修正してみましたが、このような感じでいいでしょうか?

http://monamu.s14.xrea.com/cgi/img-box/img20070414165424.gif

ご指摘の程宜しくお願いします


64ポイント を手に入れた。

Name:  ..ぴよぴよ(787ポイント)   Date: 2007/04/14(土) 17:07   No:6800     
Title: Re:流れ図について    
Yesがあったら、NOが無いとだめではないでしょうか?
NOが抜けているところと、書かれていないところがありますよ^^;

がんばです^^


42ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(212ポイント)   Date: 2007/04/14(土) 17:18   No:6802     
Title: Re:流れ図について    
なんどもなんども、申し訳ございません

http://monamu.s14.xrea.com/cgi/img-box/img20070414171802.gif

修正しました


63ポイント を手に入れた。

Name: Justy  ..比類無きプログラマー(79,271ポイント)   Date: 2007/04/14(土) 17:42   No:6803     
Title: Re:流れ図について    
 A>Cが noだった場合、どっち行くのかわかりづらいです。

 ところで同じ重さだった場合、どうするのですか?


24ポイント を手に入れた。

Name: 組木紙織  ..中級者(12,875ポイント)   Date: 2007/04/14(土) 17:59   No:6805     
Title: Re:流れ図について    
一番目に付くのが、一番始めの分岐のyes noが違います。

他はいくつか修正する必要がありますが、説明するのが難しいです。
自分の中で整理できてないのではないでしょうか?

とりあえずは
一番抽象的な部分で言うと
最大を求めるだけなので現時点で分かっている最大のものと分からないものを比べればよい。
3つのうちで最大のものを求めるためには、2回判定すれば十分です。
の二つのことを考えてみると


[start]
↓ y y
[A>B]→→→→→[A>C]→→→→[1]
↓n ↓n
↓ ↓
↓ n ↓
[B>C]→→ [2]
↓y ↓
↓ ↓
[4] [3]

こんな感じになります。
[(数字)]を埋めたら答えになります。

これが完成できたら、後は同値をどういう風にあつかうかですね。
もともとA,B,Cが別の重さだと分かっていれば考える必要はないのですがね。






424ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(255ポイント)   Date: 2007/04/14(土) 18:37   No:6807     
Title: Re:流れ図について    
1番、2番、3番、4番という風に順位を表示するのではなく
Aが一番重いとき、Bが一番重いとき、Cが1番重いとき

っというのを表示する流れ図です、書き方がおかしかった事を深くお詫び申し上げます


43ポイント を手に入れた。

Name: 組木紙織  ..中級者(12,968ポイント)   Date: 2007/04/14(土) 18:43   No:6808     
Title: Re:流れ図について    
ちょっと意図が伝わってないようです。
[(数字)]は答えではありません。
順位でもありません。
ただ分からないのもとして与えているだけです。
答えをそのまま与えるのもどうかと思うので。
ここの内容を埋めてあげれば、最終的な答えがでます。

(例)
1:Aが一番重い
2:Bが一番重い
3:Cが一番重い
4:Aが一番重い


93ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(308ポイント)   Date: 2007/04/14(土) 19:15   No:6809     
Title: Re:流れ図について    
そうでしたか、失礼しました

http://monamu.s14.xrea.com/cgi/img-box/img20070414191354.gif

ご指摘の点修正しました


53ポイント を手に入れた。

Name: 組木紙織  ..中級者(13,084ポイント)   Date: 2007/04/14(土) 19:40   No:6810     
Title: Re:流れ図について    
一箇所だけちがいます。右から2番目のBが一番大きいというところが違います。
そこを修正すれば流れ図はほぼ完成です。

後は等しい場合を考えるだけですが、流れ図だけを勉強中なのですか?
プログラム言語を使えるのなら一度は書いて確認してみたらいいと思います。


116ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(365ポイント)   Date: 2007/04/14(土) 21:02   No:6811     
Title: Re:流れ図について    
右から2っ目のところは"Cが一番"で宜しいでしょうか

一つ質問があるのですが、Aが一番、Bが一番ときて、なぜCが一番という項目が二つ必要なのでしょうか
どうもそこが理解に苦しみまして


57ポイント を手に入れた。

Name: 組木紙織  ..中級者(13,359ポイント)   Date: 2007/04/14(土) 21:47   No:6814     
Title: Re:流れ図について    
>右から2っ目のところは"Cが一番"で宜しいでしょうか
はいそうです。

>一つ質問があるのですが、Aが一番、Bが一番ときて、なぜCが一番という項目が二つ必要なのでしょうか

少し難しくなるのですが、
ここでの分岐はMAXを選ぶことではなく、MAXでないのを選ぶという意味になります。


一つ目でAとBがどっちがMAXでないというのが分かるので、
二つ目の分岐では一つ目の分岐で残ったほうと、Cとの判断になるので、最終的にCがMAXというのが二つ
でることになります。

判断の仕方を変えることによってAがMAXというのが二つ必要にしたり、
BがMAXというのを二つ必要にすることが出来ます。


275ポイント を手に入れた。

Name: 管理人 [URL]  ..ハッカー(289,355ポイント)   Date: 2007/04/14(土) 22:01   No:6815     
Title: Re:流れ図について    
組木紙織様もおっしゃっていますが、

>後は等しい場合を考えるだけですが、流れ図だけを勉強中なのですか?
>プログラム言語を使えるのなら一度は書いて確認してみたらいいと思います。

流れ図だけを勉強されてらっしゃるのでしょうか?
最初のうちは、頭だけで考えるのが難しいでしょうから一度プログラムを書いてみて、そのプログラム通りフローチャートを書いたらどうでしょうか?
字下げしてかけば対応も一目瞭然ですし、パッとわかるかと。

頭だけで考えるのはそういう経験を積んでから身に付けてみてはどうでしょう?


211ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(487ポイント)   Date: 2007/04/14(土) 23:11   No:6817     
Title: Re:流れ図について    
組木紙織さん、管理人さん、返信有難うございます

おっしゃる通り、流れ図もまだまだ勉強が必要ですが、プログラムについても勉強して行きたいと思います

思ったのですが、流れ図書くのに私のような想像力がない人間は厳しいように思えますが、どう思いますか?


122ポイント を手に入れた。

Name: 管理人 [URL]  ..ハッカー(289,850ポイント)   Date: 2007/04/15(日) 01:05   No:6818     
Title: Re:流れ図について    
>私のような想像力がない人間は

いや、そういうわけではないと思います、誰だって経験なしにスラスラなんて出来ません、
ましてやプログラムをほとんど書いた事無いような人がすらすら理論ばかり述べられてもすごいです。

よく掲示板などで質問する時は自分をへりくだって、そのような表現をなさる方がいらっしゃいますけど、
経験がなければ出来なくて当然だと思いますよ。
フローチャートにしても、プログラムにしても。
勉強も経験も無しにスラスラプログラム書けたんじゃプログラマーが泣きます^^;

そういうことで、とにかく最初、基本的なプログラムを色々書いてみてください。
そしてそのプログラムをフローチャートに書き出し、フローチャートとプログラムの対応を確認していきましょう。
フローチャートは元々UMLなど設計する前に理論を書き記す為に記述するものですので、プログラムからフローチャートにしたんじゃ逆ですけど、最初はそれでもいいのでは(プログラムの内容を書きしるす為にフローチャートを使うこともあるんで、もちろん上記以外の利用方法も色々ありますよ)

今現在簡単なプログラムはかけますか?
上の例でいけば、3つの整数を比較して最大値を求めるプログラムでしたらかけますか?


495ポイント を手に入れた。

Name: 管理人 [URL]  ..ハッカー(289,896ポイント)   Date: 2007/04/15(日) 01:55   No:6820     
Title: Re:流れ図について    
↑クリックで画像拡大

例えば上でおっしゃっている流れをプログラムに書くとこうなります。


#include <stdio.h>

int main( void ){
int a,b,c;

a=3,b=1,c=2;

if(a>b){
if(c>a)
printf("cが最大値");
else
printf("aが最大値");
}
else{
if(c>b)
printf("cが最大値");
else
printf("bが最大値");
}

return 0;
}

 
 
 

フローチャートもこのプログラムの物を書いておきました。
これを見比べて両方理解出来ますか?


2倍のポイントを手に入れた! 46ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(613ポイント)   Date: 2007/04/15(日) 11:15   No:6821     
Title: Re:流れ図について    
プログラムについては、流れ図以上に初心者です
#inclede <stdio.h>で始めるぐらいしかまだ理解してません

プログラムを見てみますと、管理人さんや組木紙織さんの指摘どおり
初心者ながらもプログラムを見てみると多少わかりやすく理解できました

何かの本でフローチャートから勉強しその後にプログラムを学びなさい
っというのをきっかけでこのように勉強してますが、やはり逆のパターンの方がベストみたいに
感じられました


126ポイント を手に入れた。

Name: 組木紙織  ..中級者(13,397ポイント)   Date: 2007/04/15(日) 12:25   No:6827     
Title: Re:流れ図について    
>何かの本でフローチャートから勉強しその後にプログラムを学びなさい

というのはプログラミングをするためには。
1:プログラムにさせる処理手順を考える(アルゴリズムを考える)
2:プログラム言語を使ってプログラムをする

といった二つのことを考えないといけないからで、プログラムをするためにはアルゴリズムを
先に考える必要があるからだと思います。

ただし、これはプログラムというものを良く知っている、天才に近い人ではないと出来ないと思います。
私も含めた通常の人は、いくら頑張ってアルゴリズムを考えても、見落としがある場合が多いです。
見落としがあるアルゴリズムでは、いくら頑張ってプログラムを書いたとしても、
正しく目的の処理が出来ないです。

また言語によってプログラムをするときの考え方が違うので、その言語に応じた考え方でアルゴリズムなど
(ここの部分は正確ではないのですが)
を考えたほうがよいです。


分かりにくければ英語と日本語について考えてみてください。
水を英語で言うとwater
湯を英語で言うとwater(hot water)
だったりするように、同じような内容でも表現する方法が違うことがあります。
(英語に詳しければ無生物主語や完了形を例に挙げたほうが分かりやすいのですが)

プログラム言語も同じで、javaのプログラムをちょこっと書き換えてcに移すことはまず出来ないです。
というのはjavaとcでは言語を作った人の考え方がまったく違うからです。
もちろんプログラム言語なので同じ考え方が通用する場合も多いですが違う部分も多いです。

私が、プログラムを作るときにはまずどの言語でプログラムを作るのか?ということを意識します。
続いてどのような処理をしたいのかを箇条書きに書いていきます。
その次に箇条書きした内容を自分でプログラムとして書けるのか?を考え、より詳しく処理を考えて行きます。
考えた部分で不安なところがあれば、実際に簡単なプログラムを書いて正しく動くかを確認します。
繰り返して間違えがあったら修正して、完成できそうだと思ったら、
完成版のプログラムを大枠から書いていき、完成させます。

といったような過程を踏みます。
その間に流れ図を書くことはほとんどないです。簡単にcに近い形で書くことのほうが多いです。
最近ではjavaやc++で書くことが多いのでUMLのクラス図に近いものもつかいますが、
これらは自分の頭で考えたことを見直すために使うのであって、それだけで
全て完成させるつもりでは使ってないです。

文章が長くなりましたが、プログラミングを勉強するつもりなら、言語を覚え、その覚える過程で
より効率的にするアルゴリズムや、汎用的なアルゴリズムを学んでいったらよいと思います。


38ポイント を手に入れた。

Name: 太郎  ..ぴよぴよ(586ポイント)   Date: 2007/04/15(日) 12:38   No:6828     
Title: Re:流れ図について    
組木紙織さん、いろいろご教授して下さって有難うございます

C言語もすらすらと書けるような人間にいち早くなるためにも、頑張りたいと思います


27ポイント を落としてしまった。

Name: 太郎  ..ぴよぴよ(607ポイント)   Date: 2007/04/15(日) 12:39   No:6829 解決!     
Title: Re:流れ図について    
おっと、解決マークを付けてませんでした
無駄レス失礼しましたm(_ _)m


21ポイント を手に入れた。

Name: 管理人 [URL]  ..ハッカー(290,101ポイント)   Date: 2007/04/15(日) 12:54   No:6830     
Title: Re:流れ図について    
>何かの本でフローチャートから勉強しその後にプログラムを学びなさい

プログラムはデータ構造とアルゴリズムで出来ています。
データ構造は解ると思います。
アルゴリズムとは、どのように処理が行われるかその手順や処理順序のことです。

その順序がフローチャートを使うと良くはあく出来るためそのように書かれていたのでしょう。
最初の考えるのは「概念図」です。
しかし太郎さんが考えてらっしゃるのは設計段階の図です。もう具体的名変数名なども決まっている状態ですね。
ですから難しく感じたのでしょう。
ソフトウェアのフローチャートを描くとき、突然設計図をかいたりしません。
「どのように処理をするか?」という流れだけを把握するための概念図を先に書きます。

特にプログラムを知らないのに実装段階の設計図を描けといわれても無理なのは当然ですよ。

ですから自分の能力が低いからというわけじゃないです、当然のことですから気を落とさずに頑張ってくださいね。

入門レベルの参考になる資料はいっくらでもネットにころがっているんで、困った時は是非ネットで☆


205ポイント を手に入れた。



Name: sa  ..ぴよぴよ(37ポイント)   Date: 2007/04/09(月) 17:35   No:6634       
Title: いたずら    
はじめましてsaと申します。
友人を驚かせようと思うのですがいたずらなのは、ないでしょうか?
(ウイルス・スパイウェア系は、だめです)