プログラミングで使えそうな様々な一般式を載せたサイトを探しています。


例えば、ある特定の数値x(範囲不明)をmin以上max以下にするには
結果変数 = x % (max - min) + min
とすれば求まる!
といったことを載せているサイトです。

出来れば下記に一致するサイトが好ましいです。(一致しなくてもかまいません)
・言語はPHP
・逆引き検索が出来る

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/11/15 18:27:31
  • 終了:2008/11/18 23:26:21

ベストアンサー

id:language_and_engineering No.2

lang_and_engine回答回数170ベストアンサー獲得回数632008/11/16 01:16:52

ポイント65pt

こんにちは。


質問者様のお気持ちがよくわかります。例えば,

10 なら 10、 11 なら 20 になる関数を作りたい

http://d.hatena.ne.jp/amachang/20080910/1221010119#c

上記ページのコメント欄で


   Math.ceil(x / a) * a;

というコードが提案されています。

ここで「ceilを使えばよい」というアイデアは,丸め操作だとかガウス記号だとかに触れた事のある人ならば,すぐに思いつきます。

でも,人によってはそういった数値処理になじみが無く,どうしたらいいのか思いつきにくいと思います。


だからそういった数値処理だとか式のノウハウをまとめたサイトがあれば,便利だろう。というお考えですね。

具体的な言葉で言うと,

プログラミングで数値計算をする時の,演算子のうまい組み合わせ方のまとめ(Tips集)

のようなものでしょうか。



そういったサイトは見つかりにくいですね。

なぜかと言えば,計算を行なう状況が余りに多種多様なので,まとめきれないからです。

むしろ大事なのは,その場の状況ごとに柔軟に演算子や関数や手順を組み合わせられるように「考え方」を鍛える事になります。



代替案ですが,下記のようなステップを踏むのはいかがでしょうか。

  1. PHPの数学計算関数をまず全部把握し,単独で使いこなせるようにする。
  2. 実際に計算を行なうプログラムを自分でたくさん書いてみる。わからない事が生まれるはずなので,その都度そこで試行錯誤するなり,調べるなりする。
  3. 適当な題材(株価など)で数値列を選び,PHPでグラフを描いてみる。そのグラフの形状を自分なりに「加工」してみる。滑らかに整形する事によって見やすくするとか,何らかの情報を取り出す,他のグラフとの比較方法を考えるなど。
  4. アルゴリズムを勉強してみる。 プログラミングコンテスト(http://bach.istc.kobe-u.ac.jp/icpc/kako/)などをのぞいてみると,どうやったらそんなコードが実現できるのだろう,と思うような問題がたくさんあります。そういった問題に取り組んでみたのち解答例を見てみれば,思わぬテクニックを発見・吸収できるかもしれません。


要するに,

  • 要領よく網羅する方法はないが,取り組むべき問題は多い

といった状況です。

id:kiku-_-san

こんにちは。

ご丁寧にご回答いただきありがとうございます。

> プログラミングで数値計算をする時の,演算子のうまい組み合わせ方のまとめ(Tips集)

まさにそういうサイトを求めています。

> そういったサイトは見つかりにくいですね。

> なぜかと言えば,計算を行なう状況が余りに多種多様なので,まとめきれないからです。

確かにそうですよね。。。

代替案までご提案いただいて非常に感謝致します。

自分の力でなんとかしたいと思います。

2008/11/16 02:01:36

その他の回答(3件)

id:q11 No.1

q11回答回数32ベストアンサー獲得回数22008/11/15 19:35:41

ポイント5pt

そういうのは無いですね。

そのような式を導き出せるように数学という教科があって学校で勉強してきたはずです。


http://soudan1.biglobe.ne.jp/qa30689.html

http://manabi.benesse.ne.jp/kuchikomi/question/first/course/sele...

id:language_and_engineering No.2

lang_and_engine回答回数170ベストアンサー獲得回数632008/11/16 01:16:52ここでベストアンサー

ポイント65pt

こんにちは。


質問者様のお気持ちがよくわかります。例えば,

10 なら 10、 11 なら 20 になる関数を作りたい

http://d.hatena.ne.jp/amachang/20080910/1221010119#c

上記ページのコメント欄で


   Math.ceil(x / a) * a;

というコードが提案されています。

ここで「ceilを使えばよい」というアイデアは,丸め操作だとかガウス記号だとかに触れた事のある人ならば,すぐに思いつきます。

でも,人によってはそういった数値処理になじみが無く,どうしたらいいのか思いつきにくいと思います。


だからそういった数値処理だとか式のノウハウをまとめたサイトがあれば,便利だろう。というお考えですね。

具体的な言葉で言うと,

プログラミングで数値計算をする時の,演算子のうまい組み合わせ方のまとめ(Tips集)

のようなものでしょうか。



そういったサイトは見つかりにくいですね。

なぜかと言えば,計算を行なう状況が余りに多種多様なので,まとめきれないからです。

むしろ大事なのは,その場の状況ごとに柔軟に演算子や関数や手順を組み合わせられるように「考え方」を鍛える事になります。



代替案ですが,下記のようなステップを踏むのはいかがでしょうか。

  1. PHPの数学計算関数をまず全部把握し,単独で使いこなせるようにする。
  2. 実際に計算を行なうプログラムを自分でたくさん書いてみる。わからない事が生まれるはずなので,その都度そこで試行錯誤するなり,調べるなりする。
  3. 適当な題材(株価など)で数値列を選び,PHPでグラフを描いてみる。そのグラフの形状を自分なりに「加工」してみる。滑らかに整形する事によって見やすくするとか,何らかの情報を取り出す,他のグラフとの比較方法を考えるなど。
  4. アルゴリズムを勉強してみる。 プログラミングコンテスト(http://bach.istc.kobe-u.ac.jp/icpc/kako/)などをのぞいてみると,どうやったらそんなコードが実現できるのだろう,と思うような問題がたくさんあります。そういった問題に取り組んでみたのち解答例を見てみれば,思わぬテクニックを発見・吸収できるかもしれません。


要するに,

  • 要領よく網羅する方法はないが,取り組むべき問題は多い

といった状況です。

id:kiku-_-san

こんにちは。

ご丁寧にご回答いただきありがとうございます。

> プログラミングで数値計算をする時の,演算子のうまい組み合わせ方のまとめ(Tips集)

まさにそういうサイトを求めています。

> そういったサイトは見つかりにくいですね。

> なぜかと言えば,計算を行なう状況が余りに多種多様なので,まとめきれないからです。

確かにそうですよね。。。

代替案までご提案いただいて非常に感謝致します。

自分の力でなんとかしたいと思います。

2008/11/16 02:01:36
id:hijk05 No.3

hijk05回答回数1307ベストアンサー獲得回数232008/11/16 19:50:21

ポイント10pt

http://oku.edu.mie-u.ac.jp/~okumura/algo/

プログラムのソースは無料で手に入ります。

C言語とJava言語にはこういうのがありますが、PHPでは見かけたことがないですね。


C言語による最新アルゴリズム事典 (ソフトウェアテクノロジー)
奥村 晴彦
4874084141

id:zero-uhura No.4

zero-uhura回答回数14ベストアンサー獲得回数32008/11/17 13:26:53

ポイント10pt

【ポイントいりません】すこし、意向と違うかもしれませんが、、、

http://code.nanigac.com/

とか。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません