- 1 名前:名無しのプログラマ [2015/08/09(日) 17:46:33.69 ID:Icb40LOY.net]
- for,while使うの嫌いで基本的に再帰多用するんだが、だめなの?
皆から敬遠されてる気がする
- 910 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:00:39.98 ID:VTGxMrVA.net]
- >>878
この方法にしとけ for(int i = 1; i <= 10; i++) { sum = sum + i; } 「これは再帰関数です」とか「これは再帰ではありません」とか明示的に書いてあるやつがいい それなら理解出来るだろ あと再帰やループの制御構造は、forやwhileや関数の呼び出しだからな。 決してsimではない
- 911 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:01:24.37 ID:VTGxMrVA.net]
- >>885
保存しないのがループなんだろうが
- 912 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 14:07:04.25 ID:miXQ60Mg.net]
- ttp://ja.wikipedia.org/wiki/%E3%82%AF%E3%82%A4%E3%83%83%E3%82%AF%E3%82%BD%E3%83%BC%E3%83%88
クイックソート そんなに言うならループで書いてみてよ
- 913 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:20:43.68 ID:VTGxMrVA.net]
- 繋がりが分からん
- 914 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 14:21:51.14 ID:miXQ60Mg.net]
- >>884
>>885 >>888
- 915 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:22:35.47 ID:VTGxMrVA.net]
- ただの一度とて俺はループで何が出来るだの出来ないだの一覚えはない
頭大丈夫か? で?ルールで書けってことは「ループじゃない物」があるってことだよな? それをここにいるほぼ全ての人は再帰と読んでるわけだが
- 916 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 14:28:26.07 ID:miXQ60Mg.net]
- >なんでループと再帰が同じって言ってるやつが、
>両方使える場合はループだの、複雑なことは再帰だのになんだよ。 >言ってることが支離滅裂。 >両方使える場合はループだの、複雑なことは再帰だのになんだよ。 これが支離滅裂と思うんなら、クイックソートをループで書いてごらん
- 917 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:47:29.00 ID:LToipCL/.net]
- 書くのはおまえだろうが。
- 918 名前:俺はループと再帰の区別してるから。
再帰はループとは別にあるし、再帰が良いと思った時は再帰だ。俺はな。 そして支離滅裂なのはそのURLじゃなくておまえだ。 おまえは区別しないなら全部同じ書き方でかけ。 ループと再帰と言う単語すら使うな。区別しないなら徹底的に区別するな。 それ以前に for(int i = 1; i <= 10; i++) { sum = sum + i; } これが再帰と書かれたサイトなり資料なり探し終わるまで黙っとけ。多数に言われてんだから。 [] - [ここ壊れてます]
- 919 名前:デフォルトの名無しさん [2015/09/06(日) 14:51:28.16 ID:pbpREKnW.net]
- >>888
>>892 ループで書いた peace.2ch.net/test/read.cgi/tech/1434079972/8
- 920 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:53:47.20 ID:LToipCL/.net]
- 知らんわんなもん
おまえはループと書くな。区別しないのだから
- 921 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 14:55:26.13 ID:miXQ60Mg.net]
- 分かってませんでしたって言うなら言えばいいよ
クイックソートのループ実装はムチャ振りだから
- 922 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 14:57:32.04 ID:LToipCL/.net]
- なんの話だ?
関係ない話なら「後から」付き合うけど? ごちゃごちゃ言ってないでさっさと探して来い。
- 923 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 14:59:58.98 ID:miXQ60Mg.net]
- >>894
push&popって、わざわざ作ってループにするくらいなら 素直に再帰関数使えよ push&popのループは実装にもよるけど再帰関数とほぼ同じ
- 924 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:00:49.47 ID:LToipCL/.net]
- ループは再帰なのにループの実装は無茶振りねぇ
ふーーん ま、これについても探してきてから相手してやるか
- 925 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:01:20.67 ID:miXQ60Mg.net]
- >>898
>>885
- 926 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:03:20.65 ID:LToipCL/.net]
- それはループと再帰を区別してるっていうんだよ。
単語が必要になった時点でな
- 927 名前:デフォルトの名無しさん [2015/09/06(日) 15:03:29.78 ID:JSf18249.net]
- >>898
ループで実装しとけばpopの過程で残りの処理やらんでいいわってときに 処理を打ち切れるんだよ。そういう意味では再帰をループで実装する意味はあるかと。
- 928 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:03:31.85 ID:miXQ60Mg.net]
- >>899
>>885 push&pop実装してループすりゃ良いけど、それなら素直に再帰関数使え
- 929 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:04:44.43 ID:8kAWPtv+.net]
- 2 再帰関数とは
2.1 再帰関数の例 自分自身を呼び出す関数を再帰関数 (recursive function) という.また,自分自身を呼び 出すことを再帰呼出し (recursive call) という.言葉の定義はともかく,具体的な例を見て みよう. 2.2 なぜ,再帰関数なのか? 再帰関数と繰り返し文のどちらを使ってもプログラムが書ける場合,どちらを使うべき だろうか? 両方使える場合は繰り替えし文を使うべきである.計算速度も早いし,メモリ の消費も少ないからである.で
- 930 名前:デフォルトの名無しさん [2015/09/06(日) 15:05:50.49 ID:JSf18249.net]
- >>903
再帰よりもループのが都合いいことあるんよ 関数呼び出しを途中で打ち切ること出来ぬでしょ
- 931 名前:デフォルトの名無しさん [2015/09/06(日) 15:06:30.03 ID:JSf18249.net]
- >>904
これ。
- 932 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:06:41.80 ID:miXQ60Mg.net]
- >>902
再帰関数に強制終了フラグを渡して 再帰呼び出しの直後にそのフラグをチェックすれば 強制終了できるけど?
- 933 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:09:02.09 ID:LToipCL/.net]
- >>903
pushとpopでループさせるなんて一言も言ってないし、 再帰使わないとも一言も言ってないし、 どうゆう会話の繋がり構造してんだ? 本気で頭大丈夫か? しかもそれ完全にループと再帰分けて考えてるよな
- 934 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:09:21.10 ID:miXQ60Mg.net]
- >計算速度も早いし,メモリの消費も少ないからである
push&popを実装するなら、正直、コンパイラに任せたほうが早いかもよ
- 935 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:10:20.50 ID:LToipCL/.net]
- >>907
馬鹿じゃねぇの それは再帰として使ってるとは言わん 普通ではない事態だ
- 936 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:11:18.97 ID:LToipCL/.net]
- >>909
それをお前はあたかもそうではないような書き込みしてたよな
- 937 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:15:01.76 ID:miXQ60Mg.net]
- >>908
>>751 >>885
- 938 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:16:40.15 ID:LToipCL/.net]
- それ俺の書き込みじゃないけど。
それと言葉に詰まると全く意味の分からない安価書くのやめれ
- 939 名前:デフォルトの名無しさん [2015/09/06(日) 15:17:02.84 ID:JSf18249.net]
- >>907
アプリケーションを強制終了? ちょっとそれはクソすぎると思うよ
- 940 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:20:07.58 ID:LToipCL/.net]
- for(int i = 1; i <= 10; i++) {
sum = sum + i; } それとこれが再帰っつーのがお前の主張だからね。 話散らすのに一生懸命なようだけど。
- 941 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:22:44.17 ID:miXQ60Mg.net]
- >>910
>>905 の振りだから >>907 だろ int recHoge(bool& esc){ int i; //push処理 i=rechoge(esc); if(esc) return i; //pop処理 return i; }
- 942 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:27:09.64 ID:LToipCL/.net]
- >>916
あんな、出来る出来ないじゃなくて 関数として
- 943 名前:扱われるえき概念を、処理中の内部からスタック操作なんてしねぇんだよ []
- [ここ壊れてます]
- 944 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:31:29.36 ID:LToipCL/.net]
- んで結局、ループと再帰を区別しないと言うお前の主張は、
ループや再帰と言う単語を用いないとできないわけだね。 ふーーん
- 945 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:33:09.34 ID:miXQ60Mg.net]
- 何コメントが気に入らないの?
int recHoge(bool& esc){ int i; //再帰のスタックがpushされている時の処理をここに書く i=rechoge(esc); if(esc) return i; //再帰のスタックがpopされている時の処理をここに書く return i; }
- 946 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:34:42.95 ID:LToipCL/.net]
- はい全然会話がつながってない。それは関係ない。
- 947 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:34:48.30 ID:miXQ60Mg.net]
- >ループと再帰を区別しないと言うお前の主張
これが俺の主張だというならアンカくれ
- 948 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:37:06.65 ID:LToipCL/.net]
- 探すのめんどくさい。
しかし一つや二つではない for(int i = 1; i <= 10; i++) { sum = sum + i; } より確実なのはこっち
- 949 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:37:11.26 ID:miXQ60Mg.net]
- >>920
>>917 じゃあ、↑がイミフ
- 950 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:40:50.25 ID:miXQ60Mg.net]
- >>922
探せないなら ループと再帰を区別しない これはおれの主張じゃないからね sumについては >>856
- 951 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:42:44.84 ID:LToipCL/.net]
- お前の理解度なんて知らんわ。
その話題の発端は俺じゃないからそこについて続ける気もしない。
- 952 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:44:30.52 ID:LToipCL/.net]
- 漸化式になってようとなってまいと再帰には関係ない
- 953 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:45:19.69 ID:LToipCL/.net]
- お前の言い分だとプログラムのほぼ全てが再帰になる
- 954 名前:デフォルトの名無しさん [2015/09/06(日) 15:47:23.50 ID:JSf18249.net]
- >>894
1個は末尾再帰なので単純にループでいいかと https://ideone.com/r1BBhE
- 955 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:51:29.03 ID:miXQ60Mg.net]
- 広辞苑から
漸化式 数列または関数列のいくつかの要素の間に成り立つ一般的な関係式 公比rの等比数列a1,a2,...,an,...におけるan+1=ranの類 「再帰的定義: "再帰的定義"を参照」 an+1=ran
- 956 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:51:35.63 ID:8kAWPtv+.net]
- 俺が某大学のテキスト探してきた。
大学のテキストだから書いてあることの 信頼性は高いだろう。 再帰関数講義pdf akita-nct.jp/saka/lecturenote/2010/2e/text/recursive.pdf 2 再帰関数とは 2.1 再帰関数の例 自分自身を呼び出す関数を再帰関数 (recursive function) という.また,自分自身を呼び 出すことを再帰呼出し (recursive call) という.言葉の定義はともかく,具体的な例を見て みよう. 2.2 なぜ,再帰関数なのか? 再帰関数と繰り返し文のどちらを使ってもプログラムが書ける場合,どちらを使うべき だろうか? 両方使える場合は繰り替えし文を使うべきである.計算速度も早いし,メモリ の消費も少ないからである.で
- 957 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 15:55:01.72 ID:LToipCL/.net]
- >>929
そんな広辞苑は捨てな しかもそれプログラム用語の再帰じゃないから。 そんなことも分かってないようだけど。
- 958 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 15:59:49.39 ID:miXQ60Mg.net]
- ttp://ews2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Recursive.html
再帰処理
- 959 名前:デフォルトの名無しさん [2015/09/06(日) 16:00:19.25 ID:JSf18249.net]
- 日本語は文脈依存文法なので
同じ語句であっても文脈に応じて意味が変わるのよね。 再帰という同じ言葉であっても概念が異なっているのは明らかっすね。 変数への再帰的な代入と関数の再帰呼び出しとは違うものっすね。 プログラムで再帰といったときは関数の再帰呼び出しが一般的かな。
- 960 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:02:09.24 ID:miXQ60Mg.net]
- 再帰的とは
あるものが定義されている場合, その定義の中に,更にその定義されるべきものが, 簡単化されて,含まれているとき, それは「再帰的である」と言われます。 循環論法に似ていますが,少し違います。 再帰的はその部分に含まれるものが全く同じものではなくて, 簡単になったもので,最終的終了条件が明示されているものです。
- 961 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:02:41.93 ID:LToipCL/.net]
- どうして100のうち1しかないものを持ってくる?
現場でそんな使い方してる人間なんていないだろよ
- 962 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:07:43.63 ID:miXQ60Mg.net]
- 漸化式が再帰だと思えないのは変な風に、頭が固いか、悪いか、なだけ
- 963 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:12:02.55 ID:miXQ60Mg.net]
- つか、再帰「関数」のみが、再帰だと思ってるのが間違いだから
- 964 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:13:02.94 ID:LToipCL/.net]
- 再帰はただの定義。
自分自身を呼び出す関数を再帰関数 (recursive function) という.また,自分自身を呼び 出すことを再帰呼出し (recursive call) という. 関数として抽象化されいてそのように扱う人間がいて、 その上でその内部から自身を呼び出すものが再帰。 プログラムにおいて漸化式は再帰と関係ない。 そしてその主張をするメリットもそのように使用するメリットもなく、そのように単語を使う習慣ももメリットもない。
- 965 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 1
]
- [ここ壊れてます]
- 966 名前:6:14:07.91 ID:LToipCL/.net mailto: 再帰と書いた場合は再帰関数を示す。以後そうしとけ。 []
- [ここ壊れてます]
- 967 名前:893 mailto:sage [2015/09/06(日) 16:21:21.57 ID:uhlPSgY9.net]
- >>928
>単純にループでいいかと うん,そのつもりだったんだが さて >>928 で 配列 {3, 3, 5} をソートしてみてくれないか?
- 968 名前:デフォルトの名無しさん [2015/09/06(日) 16:23:38.18 ID:JSf18249.net]
- >>937
会話をするときは相手がどういう概念を 述べているのか理解するようにしないと 言葉の表面から別の概念を連想して相手が間違いだと言っても 話が噛み合わないだけっすよ。
- 969 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:25:07.28 ID:miXQ60Mg.net]
- >>760
この場合は、 再帰「関数」とループで、ほぼ等価な処理を書いたのだが この処理は、どちらも再帰処理だよ 定義に忠実な書き方と、最適化された書き方で ほぼ等価な漸化式の処理であって、これらの何が気に食わないの?
- 970 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:25:30.37 ID:fH7ggWtR.net]
- ここまで狂ってるともう駄目だろ、、、
脳の一部は正常に機能しているようだけど、他の部分が完全に機能していない そういうのを普通「発達障害」「アスペ」「ADHD」とか言うんだけどな 好きなのを取れ 要するに一生何をしてもこのままです
- 971 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:25:40.08 ID:8kAWPtv+.net]
- 俺がもう一つ見つけてきてやったぜ
ews2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Recursive.html ★再帰を使わない例 この階乗関数を Basic プログラムとして実現してみると,(Tiny Basic には階乗関数 Factorial が内蔵されていますから, 実際にこのようなプログラムを書く必要はありませんが。) Function Kaijyou(n) If n = 0 then Kaijyou = 1 Else Kaijyou = Kaijyou(n-1)*n End if End Function となります。しかし,実は階乗関数は,再帰を使わなくても, 次のように実現することが出来ます。 Function Kaijyou(n) F = 1 For i = 1 to n F = F * i Next i Kaijyou = F End Function ↑再帰を使わなくても,次のように実現することが出来ます。
- 972 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:28:08.20 ID:LToipCL/.net]
- >>942
その発想がすでに狂ってる。
- 973 名前:デフォルトの名無しさん [2015/09/06(日) 16:29:29.10 ID:JSf18249.net]
- >>940
やってみた。次は何をやればいい?服はもう脱いだ。 https://ideone.com/1x5POb
- 974 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:30:15.65 ID:LToipCL/.net]
- また狂った勘違いされそうだけど、当然ながら記述どうこうの話ではない。
そんな話は一切していない
- 975 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:36:31.57 ID:fH7ggWtR.net]
- 正当な評価すら「人格攻撃」としてしか受け取れない
脳が狂っている度合いがひどければひどいほど、傍からみて「あ、こいつ完全におかしい」と 分かるようになるんだが、本人は1ミリも狂っているとは思っていない 病識が全くないわけだ 軽症だと治りやすいよ でも末期のガンとか生まれつき片手がないとかはどうしようもないだろう この後者に相当するのがこいつ
- 976 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:37:24.66 ID:miXQ60Mg.net]
- 論理で勝てないと人格攻撃で自分の醜態をさらす
- 977 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:38:50.50 ID:fH7ggWtR.net]
- >>949
な、ほらそうだろ?お前、無職だろ?こんな奴雇う会社日本にねえよ アメリカにでも行って一芸を買ってもらうこったな でも見てたらその一芸すら怪しいようだが
- 978 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:39:04.92 ID:miXQ60Mg.net]
- >>760
この場合は、 再帰「関数」とループで、ほぼ等価な処理を書いたのだが この処理は、どちらも再帰処理だよ 定義に忠実な書き方と、最適化された書き方で ほぼ等価な漸化式の処理であって、これらの何が気に食わないの? さて?これのどこがどう狂っているのか説明してくださいな
- 979 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:39:14.91 ID:LToipCL/.net]
- 一番論理と遠いのはお前だよ
だからこうゆう展開になってしまう
- 980 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:40:05.81 ID:LToipCL/.net]
- >>951
そこに結びつける発想。
- 981 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:40:52.39 ID:fH7ggWtR.net]
- >>951
もうその発言だけで完全に狂ってると分かっちゃうよ
- 982 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:42:56.55 ID:miXQ60Mg.net]
- 感情的にではなく論理的に反駁してください
- 983 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:43:54.24 ID:LToipCL/.net]
- だから狂った勘違いされないよう
- 984 名前:ノ「記述にもなんにも関係ない」と、
普通の人にはしないような備考をわざわざ付けたのに、それでも勝手に勘違いしてるだろ それを指して狂ってるって言ってんだよ だから何も会話が成り立ってない。関係ない思うを関係あると思う。 そして概念のつながりである論理のやりとりが出来てないのに自分が出来てないと気づかない。 [] - [ここ壊れてます]
- 985 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:45:18.24 ID:fH7ggWtR.net]
- >>955
感情的にはまったくなっておりません むしろ感情的になっているのはそちらの方だと思います こういうのを「感情転移」と言います もう少し言うと「投影機制」と言います 自分が感情的になっているのを認められないので、相手が感情的になっていると 錯覚してしまうのです 電車に乗ってて隣の電車が発車すると、自分の乗ってる電車が逆方向に動き出した と錯覚するだろ?それとよく似ている
- 986 名前:デフォルトの名無しさん [2015/09/06(日) 16:47:03.14 ID:JSf18249.net]
- >>955
それはこっちのセリフです!牛さんのように反芻してください!! どうこれ?
- 987 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:48:22.69 ID:LToipCL/.net]
- むしろ俺は書き始めた時の方が感情的だ
いまは至って冷静だ
- 988 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:48:38.17 ID:miXQ60Mg.net]
- >>760
この場合は、 再帰「関数」とループで、ほぼ等価な処理を書いたのだが この処理は、どちらも再帰処理だよ 定義に忠実な書き方と、最適化された書き方で ほぼ等価な漸化式の処理であって、これらの何が気に食わないの? だから↑がどう論理的に狂ってるか具体的にかけよ
- 989 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:49:14.49 ID:LToipCL/.net]
- >>960
その発想だって言ってんだろ
- 990 名前:893 mailto:sage [2015/09/06(日) 16:49:40.04 ID:uhlPSgY9.net]
- >>948
よくわかるが,今回の場合は反駁側も切れ味が悪い,揚げ足を取りきれていない 篭手狂人は「行っていることが正しい」可能性はないわけではない 問題は「不正確な表現」,百歩譲っても「表現が独特すぎて伝わっていない」
- 991 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:50:18.66 ID:fH7ggWtR.net]
- >>959
あららここまでひどいとただの投影じゃなくて投影性同一視が入ってるみたいですね 境界性パーソナリティ障害とか自己愛性パーソナリティ障害も併発してるようです 投影性同一視とは他人を利用した自己嫌悪です 本当は自分を嫌悪したいのですがどうしてもそれが嫌なのでまともな他人を嫌悪します これはしばしば犯罪に発達します 危険ですよ
- 992 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:51:40.98 ID:fH7ggWtR.net]
- >>962
だとすればまあちょっとは自覚があるんじゃないですかね そうなると治療すれば治る可能性もあるのに惜しいですね このまま人生を棒に振っちゃうようで
- 993 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:53:01.63 ID:fH7ggWtR.net]
- よく犯罪者が言ってるじゃないですか
「俺は悪くない!悪いのは社会だ!」 裁判所でそれ叫んでみてくださいよ 誰も認めちゃくれませんから
- 994 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 16:57:12.75 ID:LKKBkxwK.net]
- これ、まさか次スレもやるつもりですか?
- 995 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/09/06(日) 16:57:13.89 ID:0zNPIayW.net]
- プログラミングの現場で再帰と言ったら再帰関数や再帰呼び出しのこと。
情報科学で漸化式は再帰的定義であると言える。 しかし、プログラミングでプログラムに書いた漸化式を「再帰処理」と言うと、 初心者にとって混乱極まりない上に迷惑であり、不適切な表現である。
- 996 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 16:59:16.85 ID:miXQ60Mg.net]
- >>960
で >>760 のようにほぼ等価な処理が書けるのに 再帰「関数」で実装されたもののみが「再帰処理」だとしたら ループで最適化実装されたものは「ループ処理」で 再帰処理とは違う処理なのですか?
- 997 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:00:59.76 ID:LToipCL/.net]
- >>960
それ自体が関係ないのになぜその書き込みを引っ張る? その処理が気に食う気に食わないの話はどっから出てきた? なんで急に脈絡なくその書き込みの話をする? 漸化式は関係ないからって言われた直後、なんでその相手に自慢げに漸化式の話をする? 定義に忠実がなんだ?だからどうなんだ?満たされるのはお前の自己満足だけだろ しかも
- 998 名前:自分の思い込みだけで狂ったように連呼する定義。
最適化?誰がそんなの望んだ?誰がそんな話した?噛み合ってないよな。 狂ってるんだよ 狂ったものは論理と最も遠い。 論理じゃないものに対して論理では答えられない。 [] - [ここ壊れてます]
- 999 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:05:43.20 ID:aWMMHCvX.net]
- >>968
そう。 そしてさらに、関数は処理だけを指すものではない。 人間側が関数を関数と言う概念として扱い、そのように人間が振舞うことで初めて関数は関数になる。 当然それと同等の物が再帰にある。 普通はこんな説明不要だが、お前はこの説明も受けておく必要がある。
- 1000 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:05:55.81 ID:8kAWPtv+.net]
- とりあえず俺が見つけてきた解説をみて。
再帰とは何かを勉強した方がいい。 ews2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Recursive.html ★再帰を使わない例 この階乗関数を Basic プログラムとして実現してみると,(Tiny Basic には階乗関数 Factorial が内蔵されていますから, 実際にこのようなプログラムを書く必要はありませんが。) Function Kaijyou(n) If n = 0 then Kaijyou = 1 Else Kaijyou = Kaijyou(n-1)*n End if End Function となります。しかし,実は階乗関数は,再帰を使わなくても, 次のように実現することが出来ます。 Function Kaijyou(n) F = 1 For i = 1 to n F = F * i Next i Kaijyou = F End Function ↑再帰を使わなくても,次のように実現することが出来ます。
- 1001 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 17:06:58.08 ID:miXQ60Mg.net]
- >漸化式は関係ないからって言われた直後、
>なんでその相手に自慢げに漸化式の話をする? 漸化式から再帰処理コードを組み立てる スタックオーバーロードがあるから、再帰関数は奥の手で ループで書けるならそれに越したことはない ループでひどく複雑になるようなときに、再帰関数で書く
- 1002 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:08:24.25 ID:8kAWPtv+.net]
- そして、もう一つの解説。俺が某大学のテキスト探してきた。
大学のテキストだから書いてあることの 信頼性は高いだろう。 再帰関数講義pdf akita-nct.jp/saka/lecturenote/2010/2e/text/recursive.pdf 2 再帰関数とは 2.1 再帰関数の例 自分自身を呼び出す関数を再帰関数 (recursive function) という.また,自分自身を呼び 出すことを再帰呼出し (recursive call) という.言葉の定義はともかく,具体的な例を見て みよう. 2.2 なぜ,再帰関数なのか? 再帰関数と繰り返し文のどちらを使ってもプログラムが書ける場合,どちらを使うべき だろうか? 両方使える場合は繰り替えし文を使うべきである.計算速度も早いし,メモリ の消費も少ないからである.で
- 1003 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:08:25.12 ID:aWMMHCvX.net]
- >>972
だからその発想が狂ってる。 そんな話はしていない。 だから論理にならない
- 1004 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 17:13:29.91 ID:miXQ60Mg.net]
- >>970
>>760 あのさ、このπを求めるコードで、まず関数入出力を見て 実装が、再帰関数実装とか、ループ実装とか、 普通、いちいち、そこまでこだわらないと思うんだけど こだわるのは、精査検証が必要なときだけだろ 精査検証なら >>972
- 1005 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:14:49.58 ID:fH7ggWtR.net]
- >>959
酒買ってきた まさにこれだよな 「論理的じゃないものに対して論理では答えられない」 狂ってる奴が「論理的に反駁してください」と言っているのを聞くと笑いそうになる あのさあ・・・まず先に論理的に話すべきなのはそちらじゃないかね、って でもそれが全く出来ない だから発達障害なんだよ
- 1006 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:15:55.83 ID:fH7ggWtR.net]
- ちごた
×>>959 ○>>969 >狂ってるんだよ >狂ったものは論理と最も遠い。 >論理じゃないものに対して論理では答えられない。 俺が言いたい事と全く同じ
- 1007 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2015/09/06(日) 17:16:46.42 ID:0zNPIayW.net]
- 関数かループかは実行スピードに大きく影響する。円周率を求めるプログラムではスピードが重要。
- 1008 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:17:41.58 ID:8kAWPtv+.net]
- 俺が持ってきた再帰の定義について
反論ができなくなってしまっているようだなw ews2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Recursive.html ★再帰を使わない例 この階乗関数を Basic プログラムとして実現してみると,(Tiny Basic には階乗関数 Factorial が内蔵されていますから, 実際にこのようなプログラムを書く必要はありませんが。) Function Kaijyou(n) If n = 0 then Kaijyou = 1 Else Kaijyou = Kaijyou(n-1)*n End if End Function となります。しかし,実は階乗関数は,再帰を使わなくても, 次のように実現することが出来ます。 Function Kaijyou(n) F = 1 For i = 1 to n F = F * i Next i Kaijyou = F End Function ↑再帰を使わなくても,次のように実現することが出来ます。
- 1009 名前:NAS6 ◆n3AmnVhjwc [2015/09/06(日) 17:17:44.80 ID:miXQ60Mg.net]
- ttp://ews2.cc.niigata-u.ac.jp/~takeuchi/tbasic/BackGround/Recursive.html
再帰は使うべきか このように見てくると,再帰プログラムは効率の良くないプログラムと思うかもしれません。 実はある意味ではその通りです。それでは使う必要のないものなのでしょうか? これも使わなくて良ければと言う前提に立てばその通りです。 一般に次のことが言えます。 •再帰プログラムは計算機に負荷をかけるプログラムである。 •時によっては,膨大な負荷をかけることもある。 •簡単に非再帰プログラムとして書けるものは再帰プログラムを使うべきではない。 それでも,再帰プログラムが基本的であると言われるのは何故でしょうか。 それは再帰プログラムが大きな力を秘めているからです。つまり •再帰プログラムでは簡単に書けるが,非再帰プログラムはかなり複雑なプログラムになってしまうようなものがある。 ということです。 このような問題が意外とあるのです。再帰プログラム技法を,身につけたら,プログラミングを行う際,次のような視点で考えるのが良いかもしれません。 •まずは,非再帰プログラムで問題を考えてみる。 •難しいと判断した場合,再帰プログラムで考えてみる。
- 1010 名前:デフォルトの名無しさん mailto:sage [2015/09/06(日) 17:18:47.18 ID:8kAWPtv+.net]
- そして、もう一つの解説。俺が某大学のテキスト探してきた。
自分自身を呼び出したものが再帰なのだ。 大学のテキストだから書いてあることの 信頼性は高いだろう。 再帰関数講義pdf akita-nct.jp/saka/lecturenote/2010/2e/text/recursive.pdf 2 再帰関数とは 2.1 再帰関数の例 自分自身を呼び出す関数を再帰関数 (recursive function) という.また,自分自身を呼び 出すことを再帰呼出し (recursive call) という.言葉の定義はともかく,具体的な例を見て みよう. 2.2 なぜ,再帰関数なのか? 再帰関数と繰り返し文のどちらを使ってもプログラムが書ける場合,どちらを使うべき だろうか? 両方使える場合は繰り替えし文を使うべきである.計算速度も早いし,メモリ の消費も少ないからである.で
|

|