• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プログラミングを応用するために学ぶべきこと)

プログラミングを応用するために学ぶべきこと

このQ&Aのポイント
  • C#を学んでいるが、内部の仕組みがよく理解できない
  • 解説書を読んでも具体的なプログラムの組み方がわからない
  • 他人のソースコードも参考にならない

質問者が選んだベストアンサー

  • ベストアンサー
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.4

>(1)15で割ってあまり0→FizzBuzz >(2)3で割ってあまり0→Fizz >(3)5で割ってあまり0→Buzz >(4)その他は普通に表示する >これを100まで繰り返す。 はい。これで合っています。 試すみたいな事をして申し訳ななかったですが、何を学ぶべきか教えるには、どのぐらいのレベルかを知りたかったので質問させていただきました。 >参考になるソースは見つけることができませんでした との事ですが、そのものズバリな参考ソースが見つかる事など奇跡だと思います。なので、自力で組むしかありません。 とりあえず、最初のうちはWindowsアプリで組むと混乱すると思いますのでコンソールアプリで組んで見てはどうでしょうか? それと例として上げているmp3変換は、いきなり難しいものに挑戦しすぎています。mp3に関しては、mp3変換のための外部ライブラリの呼び出し方法や、wavファイルの構造(バイナリファイル)の読み込みや加工の知識無しには作る事ができません。最初にもっと小さな機能のツールを作る事から始めてみませんか? 例えばですね。wavファイルの構造をリストするプログラムは作れますか? 周波数やステレオ・モノラルの種類なんかを書き出すプログラムです。 wavファイルのフォーマットは、こうなっています。 http://www.kk.iij4u.or.jp/~kondo/wave/ >アルゴリズムの勉強をするためにはどういったことをするのでしょうか。 下記サイトに有るので見てみてください。 http://ufcpp.net/study/algorithm/index.html プログラムを組むためにはアルゴリズムを知っていると効率的にプログラムを組む事ができます。完全にコードを覚える必要はありませんが、考え方とどのようなアルゴリズムがあるかを知っておく事は重要です。

kracfire
質問者

お礼

>wavファイルの構造をリストするプログラムは作れますか? 少し頑張ればできそうな気がします。 変換ソフトはまだ到底できそうにないですね。 WAVからMP3に変換するプログラムだけでもこんなにたくさん知ってなければならないことがあったんですね。 とても勉強になりました。 そして、まだまだ全然知識不足だということがわかりましたので、もっと頑張って勉強していきたいと思います。 アルゴリズムの参考サイトが役に立ちそうです。 回答ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.5

一般的なアルゴリズムの知識も大切ですが、WAVやMP3を扱うのであれば、それぞれのファイルフォーマットを把握する必要があります。 MP3の企画書は有料ですし、英語ですが、それを熟読しなければ変換プログラムを作ることはできないでしょう。 私自身、最近のMP3の事情には詳しくありませんが、この類いのものは特許などの知的財産権がらみの問題も少なくないので、その辺りは十分注意してください。

kracfire
質問者

お礼

大変遅くなってしまい申し訳ありません。 知的財産が絡んでくるんですね・・・ その辺りのことはまったく知らないので、簡単なものから経験を積んでいこうと思います。

すると、全ての回答が全文表示されます。
回答No.3

> アルゴリズムの勉強をするためにはどういったことをするのでしょうか。 私の場合、アルゴリズム辞典(書籍)を引いて探します。 キーワードさえ見つかれば、そのキーワードを元にWebページを探したりと プログラミングの書籍などで、大雑把なアルゴリズムをつかむ人もいますし > 厳密には「参考になるソースは見つけることができませんでした」 いきなりソースを探すのでなく、プログラミングは流れなので キーワードを探していけばよいのです。 MSDNなどを参考に、少しつつで良いと思います。 また、当たり前のことですが、 WAVファイル→MP3ファイルといきなりやるのではなく WAVファイルのデコーダでも作ってみては? WAVファイル、MP3ファイルの それぞれのファイルフォーマットを理解するのも良いと思います。

すると、全ての回答が全文表示されます。
  • zwi
  • ベストアンサー率56% (730/1282)
回答No.2

たぶん、C#の文法しか理解されていないんじゃないかと思います。プログラミングで大事なのは、文法は当たり前としてプログラミングの考え方を身に付ける事です。 例えば、プログラミングの考え方の基礎が身についているか確認する練習問題にFizzBuzzの問題があります。 「1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。」 と言う問題なのですが、ちゃんと考え方が身に付いていたら本やサイトを見ずに自力で2分程度でプログラムが書けるはずです。 C#のコンソールアプリですぐ作れますか? mp3なんかよりは遥かに簡単な問題です。

kracfire
質問者

補足

書けました。2分は無理でした。5分くらい考えました。 条件分岐のところをどうするか迷ったのですが、 やりたいことは、 (1)15で割ってあまり0→FizzBuzz (2)3で割ってあまり0→Fizz (3)5で割ってあまり0→Buzz (4)その他は普通に表示する これを100まで繰り返す。 といった具合で良かったでしょうか。

すると、全ての回答が全文表示されます。
回答No.1

> 目的のプログラム別に、 > こういった処理にはこういった感じのプログラムの組み方をすればいい。 プログラムの前段階、アルゴリズムの勉強をしたほうがいいと思う。 使う言語で、考え方が変わるわけでもないので・・・。 > そういったソースを探してみてもあまり参考になるようなものが見つかりませんでした。 よく入社したての新入社員が、 陥るケースですが「あまり参考となる」 の「あまり」という表現は非常に突っ込みどころ満載です。 ソースを眺めているだけではありませんか? 参考となった部分はどこ?それから応用は出来ないの?っと 不明点を、キーワードを変えて追いかける努力は必要です。

kracfire
質問者

補足

回答ありがとうございます。 アルゴリズムの勉強をするためにはどういったことをするのでしょうか。 > そういったソースを探してみてもあまり参考になるようなものが見つかりませんでした。 と書いたのは、前に同じことでひたすら調べて、かすった感じのソースは見当外れのものだったので、少しぼかして、「あまり参考にならなかった」と書かせていただきました。 厳密には「参考になるソースは見つけることができませんでした」

すると、全ての回答が全文表示されます。

関連するQ&A