個人事業主の方必見!確定申告のお悩み解決

とあるHPに「関数という表現は、和算家・関孝和流の算術という意味で生まれた」とあったのですが、これって本当でしょうか?
ウィキペディアとかには「函数→関数になった」と書かれてたりで、関孝和が関ってるとは、にわかには信じがたいのです。どなたか詳しい方いらっしゃいませんか?

その、とあるHPのアドレス
http://aikon.milkcafe.to/omake2/seki_web/seki_al …

このQ&Aに関連する最新のQ&A

A 回答 (4件)

#2さんの回答が正解の筈です.



「function」が中国で「函数」になり,そのまま日本に入ってきました.戦後,「函」が当用漢字から外れたため,発音が同じ「関」を当てたというわけです.戦前まで「函数」が一般的に使われていた事実を考えると,「関数」という言葉が存在していたとしても,それは単純に「関流の算術」を指す語であり, 「function」の意味では使われていなかったと考えるべきです.

さて,中国人が外来語の訳語を作るときは,意味が同じになるように,発音がなるべく似るように漢字を割り当てます.

数学用語の「function」の訳語を作るとき,「functionとはブラックボックスのようなものだな」と考え,そこから,数のハコ→函数という訳語を作りました.函数の発音は「ファンスウ」というようで,発音もまあまあ似てるといえます.

ブラックボックスとは,「中身の仕組みは分からないけど,何か操作すれば何か動作するもの」のことです.関数がブラックボックスだとする解説は,日本のテキストでも見受けます.中国人が目にした英語のテキストにも,そのような解説があったのかもしれません.

しかし,この意味づけには捉われない方が得策です.

日本で「函数」の「函」が使えなくなったとき,意味をそのままに「箱数」とするのが筋ですが,発音が「カンスウ」から変わってしまうことを嫌って同じ発音の「関」の字を当てました.「数の関係を表しているのだから,関係の関で,関数ではどうだ」というウマイ口実を考え付いた人がいたのですね(あるいは,「関流の算術」という意味の「関数」という語を意識して付けたかもしれません).中国人が訳語を作る際も,意味づけよりは発音の方を重視すると,以前,中国の知人が話していました.

そういうわけで,もし「函数」の発音が「ファンスウ」ではなく「グンスウ」だったら,「function」の訳語は「函数」には決してならなかったでしょう.別の理屈を付けて別の訳語になった筈です.そして,「関数」の発音が例えば「ぼくすう」だったら,やはり「函数」は「関数」にはならず,別の理屈をつけて別の当て字を使った筈です.数のハコだ,数の関係だというのは,所詮後付に過ぎません.
    • good
    • 2
この回答へのお礼

なるほど。
大変参考になりました。
回答していただいた皆様、とても助かりました。
ありがとうございました。

お礼日時:2006/10/13 17:32

干渉と言う言葉があることから「干数」が良いという話も有ったそうですが、


何か干物みたいと言うことから没になったそうです。
    • good
    • 1

もともと中国で function の訳語として「函数」を作り, それを日本でも導入したものの戦後「函」が当用漢字だか常用漢字だかに入ってないので代わりに「関」を使ったんじゃなかったっけ?


確か戦前の本なら「函数」って書いてあるはず.
    • good
    • 0

関係ないと思います。



wikipediaにあるように、函から同じ読みで異なる漢字を探したところ、
関が意味合い的にも良いので(関係する数)それに落ちついたのでは。

ただ予断ですが、高校の時の数学教師が、「函と同じ読みの関を当てたわけだが
実はもうひとひねりあるんだよ。」といっていました。
最後まで話してくれませんでした・・・
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qinterface,extend,implementのちがい

お世話になります、

Javaを勉強しているのですが、
interface,extend,implementの使い分けがわかりません。

私の解釈としては、
(1)interfaceは、グローバル変数の定義、グローバルメソッドの定義(実装はしない)。

(2)extendは、extendクラスを親クラスとして親クラスの機能を使用できる。

(3)implementは…,implementもextendと同じような意味だと解釈しているんですが、違う点は、implementで定義してあるメソッドは、使用しなくても、実装しなければならないという点でしょうか?

とにかくこの3つのを使い分けるコツとかあれば教えてください。
よろしくお願いします。

Aベストアンサー

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば、getStringLength()メソッドなどが
あったほうが良いでしょうか。
このgetStringLength()メソッドは、2バイト文字も1バイト文字も「1文字」
と数えてくれると言う点で、まさに、日本語クラス用のメソッドだと言えるでしょう。

例えば、Java的に記述すると、、、
class Japanese {
public int getStringLength() {
  ・・・
return strlength;
 }
 ・・・
}

class TextField {
・・・
}

class JTextField extends TextField, extends Japanese {
・・・・
}

C++ではそのように実装するでしょう。
しかし、Javaにはこのような高度な機能はありません。

そこで、生まれた苦肉の策が、「interfaceとimplements」です。

interface Japanese {
public int getStringLength(); // interfaceは実装を含まない!
                 // すなわち「実装の継承」ができるわけではない。
}

class TextField {
・・・
}

class JTextField extends TextField implements Japanese {
・・・・
public int getStringLength() {
  ・・・
return strlength; //implementsの実装を「各クラスで」実装してやる必要がある。
 }
}


結局のところ、Javaでは、複数のクラスを親クラスには持ち得ないため、継承できなかったクラスは「各クラスで実装してやる必要性」があるのです。


ではどのように使うのが効果的か?

なまえのままです。「代表的なインターフェイス」にたいしてinterfaceを使うのが良いと思います。

例えば、プレイヤー系であれば、ビデオ・コンポ・ウォークマン・などにかかわらず、
interface controlpanel {
public play();
public stop();
public next();
public back();
}
というような基本的インターフェイスを「持っているべき」です。

こうすることで、それぞれのクラス宣言の際に、これらの「インターフェイスを持っているべきであり、実装されるべきである」ということを「強く暗示」することができます。
class videoplayer extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

こうすることで、同様のクラスを作成するユーザーは、
「プレイヤー系は、4つ操作が出来るコントロールパネルをインターフェイスとして持つべきなのだな!?」という暗示を受け取り、自分のクラスでもそれを模倣するでしょう。

class mp3player extends player implements controlpanel {
public play() {・・・}
public stop() {・・・}
public next() {・・・}
public back() {・・・}
}

また、これらのクラスを使用するユーザーも、「implements controlpanel」という
表記を見て、「4つの基本操作は押さえられているのだな!」という基本中の基本動作を抑えることが出来ます。

まとめると、クラスに「こういう特徴もたしてください!」「こういう特徴持ってますよ!」という一種の暗示的警告や方向性を与えることができるわけですね。

バラバラに理解してもしょうがないッス。

まず、
(1)interface と implements
(2)class と extends

が対応しているわけっす。

JavaはC++と違って、比較的言語仕様を「簡単」にしたので「多重継承」という
概念がないです。
多重継承っていうのは、複数のクラスを親クラスにして継承するってことですね。

たとえば、 「TextFieldクラス」と「Japaneseクラス」を多重継承すると、
「JTextFieldクラス」ができるっていうのが自然な考え方でしょう?

まぁ、例えば、日本語クラスであれば...続きを読む

Q2次関数って何の仕事で必要なのですか?

学校や塾の講師といった職業以外でお願いします

Aベストアンサー

こんにちは。

1.
クルマの免許を取る人なら必ず習うこと。
「ブレーキを踏んでから止まるまでの距離(制動距離)は、スピードの2乗に比例する。
 危険を察知してからブレーキを踏み始めるまでの時間や距離(空走距離)は、スピードに比例する。」
というのがあります。試験に出ます。
(だから、危険を察知してから止まるまでの距離は、スピードの二次関数になります。)

2.
官公庁で、生活困難者に対する給付の額が、二次関数で決められている例があるらしいです。

3.
桜の開花予想に二次関数を使う例があるそうです。
(一次関数より精度が高くなるのは、当たり前です。)

私の仕事の話になりますが、
4.
素子の特性(横軸=電圧、縦軸=電流)で、二次関数や三次関数に近似することによって、その素子が多数搭載された装置の特性を簡単に設計できるようにしました。
関数にすることによって、開発プロジェクトの各部門にデータを配布しやすくなるんです。
まあ、桜の開花予想と似た発想です。

5.
多数の二次方程式の解を解の公式を使ってまとめたものを作り、データシートにしました。
これは要するに、二次関数です。
これを作ったおかげで、製造での不良品の数が減り、1千万円単位の利益向上につなげました。

こんにちは。

1.
クルマの免許を取る人なら必ず習うこと。
「ブレーキを踏んでから止まるまでの距離(制動距離)は、スピードの2乗に比例する。
 危険を察知してからブレーキを踏み始めるまでの時間や距離(空走距離)は、スピードに比例する。」
というのがあります。試験に出ます。
(だから、危険を察知してから止まるまでの距離は、スピードの二次関数になります。)

2.
官公庁で、生活困難者に対する給付の額が、二次関数で決められている例があるらしいです。

3.
桜の開花予想に二次関数を使う例...続きを読む


人気Q&Aランキング