[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/29 10:31 / Filesize : 247 KB / Number-of Response : 980
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Lisp Scheme Part22



1 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:58:40 ]
□過去スレ□
Part21: ttp://pc11.2ch.net/test/read.html/tech/1207300697/
Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html

267 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 10:51:03 ]
Gauche使ってる奴は独自機能を使って煙に巻きたがるんだよなw
push!とpop!の説明しないのかよ?

268 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 10:53:39 ]
(define-syntax amb
(syntax-rules ()
((_) (fail))
((_ a) a)
((_ a b ...)
(let ((fail0 fail))
(call/cc
(lambda (cc)
(set! fail
(lambda ()
(set! fail fail0)
(cc (amb b ...))))
(cc a)))))))

(define call/cc call-with-current-continuation)

(define fail #f)

(define (require pred)
(or pred (amb)))

(call/cc
(lambda (cc)
(set! fail
(lambda ()
(cc 'no-choise)))))

269 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 11:22:04 ]
このスレも人増えてなにより

270 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 11:49:40 ]
(define call/cc call-with-current-continuation)

(define fail #f)

(call/cc
(lambda (cc)
(set! fail
(lambda ()
(cc 'no-choise)))))

(fail) ; => no-choise

271 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:02:19 ]
>>196-197と比較するとambがやってることがわかると思う。

(amb 1 2 3 4 5) ; => 1
(fail) ; => 2
(fail) ; => 3
(fail) ; => 4
(fail) ; => 5
(fail) ; => no-choise

272 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:07:54 ]
>>246
うほっ、これいいね!
出典があるなら教えて〜

273 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:17:57 ]
>>272
それ前スレにも出てた。有名なのかも。

274 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:41:12 ]
>>272
おそらく出典はGuy Steele御大です。
ttp://lib.store.yahoo.net/lib/paulgraham/cint.lisp


275 名前:272 mailto:sage [2008/06/01(日) 12:41:45 ]
ありがと^^



276 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 12:54:41 ]
#define d define
#d a include
#a <stdio.h>
#a <string.h>
#a <ctype.h>
#d p char*
#d P ,(p)
#d T(E) !strcmp(E,"()")
#d U return
#d W while
#d X sbrk(199)
#d z atof
#d e isspace
#d D A(_)
#d E S(C(_))
#d B(y) p y(_)p _;{
#d G(y,V) B(y)p i;U sprintf(i=X,"%lf",z(E)V z(S(C(D)))),i;}p sbrk(),*S(),*j(),*O,*H;K,Y,M=14;double z();Q(_)p _;{int V=0;W(e(*_))_++;H=_;W(V|!(e
(*H)|*H==')'||(*H=='('&&H-_)))V+=(*H=='(')-(*H== ')'),H++;U H-_;}B(C)U _++,Y=Q(_),_=strncpy(X,_,Y),_[Y]=0,_;}B(A)_++,_+=Q(_);W(e(*_))_++;U O=X,*O='(',strcpy(
O+1,_),O;}B(Z)U _;}B(c)U C(E);}B(q)U A(E);}B(t)p i=E;U H=S(C (D)),sprintf(O=X,T(H)?"(%s)":"(%s %s",i,H+1),O;}B(F)U S(C(A(T(E)?D:_)));}L(i,s)p
i,*s;{U isdigit(*i)?z(i)!=z(s):strcmp(i,s);}B(b)U L(E,S(C(D)))?"()":"t";}B(R)U E;}B(o)U z(E)<z(S(C(D)))?"t":"()";}G(f,+)G(g,-)G(h,*)p r[4][2]={"function" P R,
"quote"P C,"lambda"P Z,"defun"P j};B(j)U r[M][1]=D,*r[M++]=C(_);}p not[99][2]={"if"P F,"equal"P b,"<"P o,"+"P f,"-"P g,"*"P h,"car"P c,"cdr"P q,
"cons"P t,"t","t"};B(S)int Li,s;p u;if(isdigit(*_)|T(_))U _;for(Y=M;Y--;)if(!strcmp(_,*r[Y]))U r[Y][1];u=E,_=D;if(*u-'(')U(*((p(*)())u))(_);s=Li=M;W(!T(_))r[M][1]=E,*r[M++]
="",_=D;O=C(u);W(!T(O))*r[Li++]=C(O),O=A(O);U O=S(C(A(u))),M=s,O;}main(){H=O=X,Y=0;W(Y|!e(K=getchar()))K==EOF?exit(0):0,Y+=(K=='(')-(K==')'),*H++=K;*H=0,puts(S(O))
,main();{printf("XLISP 4.0\n");}}

277 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 13:04:34 ]
call/ccが名前つきブロックにもなるletrecを内側に持つとgotoできるのか。
letrecをループに使うのは良くみかけるけどね。
(define (count-chars)
(letrec ((loop (lambda (ch count)
(if (eof-object? ch)
count
(loop (read-char) (+ count 1))))))
(loop (read-char) 0)))

278 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:30:36 ]
好みの問題ですけど
相互再帰じゃない場合はnamed letの方が見やすいですね。

279 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:02:33 ]
>>278
こんなとこで言ってないで国際会議の場でGuy Steeleに意見しろよ。

280 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:18:39 ]
先月caltechのカンファで直接言ったんだけど、Fortressの後始末でそれどころじゃないみたい。

281 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:29:13 ]
この間スペックが出たばかりなのに後始末って何するの?

282 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:06:44 ]
スペックが出ちゃえばあとは後始末だけだな

283 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:22:31 ]
Fortressの教科書書いてくれないのかな。

284 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:23:36 ]
>>280はオトコだが、>>279は根性無しの引きもりと言うことですね。


285 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:57:55 ]
>>284
顔真っ赤にして見苦しいよw



286 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:03:13 ]
>>283
Steele って教科書書いた事あるの?

287 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:19:35 ]
>>286
Cの本、Common Lispの本は?Javaのもあるし、もう1冊The High Performance Fortran Handbookもあるけど。
あと、本じゃないけどジャーゴンファイル。
PDFで結構いろいろなマニュアルも見つかる。
このスレでは "The History of Scheme" が有名かな。

絶対に外せないのがコレかな
ttp://dspace.mit.edu/bitstream/1721.1/5794/2/AIM-349.pdf

288 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:35:16 ]
サンクス。もっと入門的な書き物の事だと思ってた。
理論的なペーパーならここにあるのじゃダメかな。

research.sun.com/projects/plrg/Publications/index.html

289 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:50:15 ]
>>288
d。だめってことはないよ。こちらの勝手な希望なのでw
ttp://research.sun.com/projects/plrg/Publications/linuxMagazine.pdf
こんな感じで200〜400ページぐらいの分量があると全貌が見えるからいいかなと。
Guy Steeleはマニュアル書くと面白い例を出してくれるから期待したいな。
Cの本なんてすごく良かったのに和訳が絶版になって残念だなぁと思う。

290 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:55:58 ]
>>285が痛すぎる件について。

まぁ不問にしてやろうw


291 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:11:11 ]
くだらないやりとり引っ張る奴が一番見苦しい

292 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 09:08:32 ]
本当に「この話題を引っ張って欲しくない」人は、見苦しいとか煽って余計終わりにくくしたりしません。

ま、勢いで書き残しちゃった自分の痛いレスに触れて欲しくない>>285が、正論のフリして終結を促したものの、
自意識が邪魔してつい余計な「反撃」をしちゃって、終わらせることにも第三者のフリにも失敗、というとこでしょうかw

293 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:23:26 ]
>>286
ない。

294 名前:デフォルトの名無しさん [2008/06/03(火) 10:24:15 ]
AI MEMO は Lambda the Ultimate シリーズもだな

295 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 18:30:30 ]
ttp://library.readscheme.org/page1.html



296 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:31:19 ]
parser generator を探してみた。さすがは実験言語。ぞろぞろ出てきますw

ttp://www.iro.umontreal.ca/~boucherd/Lalr/documentation/lalr.html
ttp://www.informatik.uni-freiburg.de/proglang/software/essence/
ttp://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/parsing/taurus/0.html

297 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:35:32 ]
>>292
おまえ等クダスレ逝って喧嘩しろ。邪魔。

298 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:40:48 ]
>>296こんなのあるYO!
ttp://www.cs.indiana.edu/scheme-repository/code.lang.html

299 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:50:11 ]
>>296
エッセンスが好き。

300 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:03:09 ]
遺伝的プログラミング
ttp://codepad.org/bnZP9J3Y

301 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:07:21 ]
essenceってLL(1)のSLLGENと比べて敷居が高そうw
そんなこと無さ気に書いてあるけどさw

302 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:09:05 ]
>>298
激しくd。凄いね。

303 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:41:37 ]
>>301
使うの簡単だよ。
開発は大変だったろうけど。
汎用のパーザの部分計算でパーザを生成するから。

304 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:41:58 ]
>>300
なんじゃそりゃ!
(define (equ x) (* 2 (^ x 4)))
という式の微分を求めてるらしいけど。普通の記号処理と違うのに
(* 8 (^ x 3))
と同じ式がちゃんと求まってるw

305 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:14:37 ]
>>300,>>304
ttp://www.genetic-programming.org/gplittlelisp.html



306 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:17:13 ]
遺伝的プログラミングで最適化したコードを吐くパーザとかw

307 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:32:33 ]
essenceはScheme48用のpggというProgram Generator Generatorを使うのね。
作られたessenceはProgram Generatorなんだから、できたスキームはプログラムなわけ。
でもスキーム用のpggというProgram Generator Generatorを使うと・・・

308 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:55:01 ]
>>297
本当にそう思ってる人は、
(ごく一部の、目的の為に衝動を抑えるという人類なら大抵できることができないクズを除いて)
そういう喧嘩腰の追っ払い方を試みません。バレバレですw

309 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 22:56:11 ]
>>307
その再帰の不動点プログラムはいったいなんなんだ。

310 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:05:10 ]
遺伝的プログラミングで関数が収束しているのは一様収束?

311 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:10:05 ]
>>309
Schemeなんじゃないかな。

312 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 23:26:01 ]
初めてYコンビネータとかambとかGPを見たとき魔法を使ってるみたいだって思った。

313 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:08:36 ]
>>308
本当にそう思っている人も居るからそろそろ察してね。

314 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:58:16 ]
>>309
不動点として処理系を求めることなんてできるのかな?

>>310
世代を増やしてやれば一様収束に近いかな?
世代数より、使える要素の数に対する候補数や木構造の複雑さの許容範囲の方が
解に対して大きく影響を与えるようだよ。
その辺のパラメータを上手に与えないとGPが正しい解を返してくれない。
理論的なことはよくわからないんだけど。

315 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:28:22 ]
>>312
GPは未だに魔法みたいに見える
Yコンビネータとambは解説読むと目から鱗だった(ガッテンボタンいっぱい押す感じ)





316 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:56:57 ]

∩ヘ〜

317 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:07:13 ]
best score of generationが0.001以下なら安心できる解が得られてるというのを目安に使ってる。
理屈抜きにw

318 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:32:08 ]
ttp://codepad.org/P0lz91lS
この例だと3番目で0.001以下なので正しいと考える。
伊庭研HPにもそう書いてあるw

319 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:42:20 ]
試しにcos x の微分を解かせてみた。一発回答だった。スゲーw
ttp://codepad.org/1fI1ZtGU

320 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:17:01 ]
GPってなんすか?

321 名前:320 mailto:sage [2008/06/05(木) 02:18:48 ]
>>319を見て解決しました
> ; Genetic Programming with Scheme

322 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 08:19:19 ]
>>314
表示的意味論では、表示関数は不動点。

323 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 09:58:56 ]
GP=Graham,Paul

324 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 15:47:07 ]
Little Schemerって何が言いたいのかよくわからないところが多々あるのですが、
ものまね鳥やSICPやいろいろ読んだらありがたみがわかるようになるの?

325 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:51:54 ]
hogehoge schemerシリーズを買おうと思ったら
近くの本屋だとsicpとsimply schemeしか置いてねぇ・・・



326 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:54:50 ]
>>325
それだけ置いてありゃ立派なもんだよ

327 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:06:39 ]
>>325
都会はええのう。うちの近所じゃエクセル本しかないw

328 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:23:27 ]
>>324
シリーズ3冊読んで初めて意味がわかる。
微積とかの数学を知らない人向けのSICPだったのかと。
だから数学が得意な大学生は最初からSICPでいいと思う。
CSを専攻しようか迷ってるならシリーズ3冊を読んだ後ものまね鳥を読んでみると自分の適性が判断できるよ。

ありがたみっていう意味をどう使ってるかによるけど、CSとはどういうものかを知るという意味ではいい本。
何が言いたいのかわかるというのは、CSとはどんなことがらに興味の対象をもっている分野かを理解すること。
それがわからなくてもプログラムは作れる。
けど、バグが入りこまないような理論的裏づけとか、論理プログラミングが欲しいときがそのうちクルと思う。
そのときが来る前の先行投資と思えば安いもんだと思うよ。
悩んで考える時間は若いときにしか持ち得ないからガンガレ。


329 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:12:01 ]
javascriptしかいじったことのないゆとりがSICP読んでるんですけど、
schemeは無名関数内で再帰呼び出しって出来ないんですか?

lambdaの中でそのlambdaを呼び出すみたいな。

javascriptだと
(function(x){return (x)?x+arguments.callee(x-1):0; })(10);
とかやって使うやつなんですけど…

高階演算のとこで使いたいんですが、調べてもうまく見つからなかったです。



330 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:22:55 ]
>>329

(((lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))))
(lambda (func-arg)
(lambda (n)
(if (zero? n)
1
(* n (func-arg (- n 1)))))))
5)

Yコンビネータの雛形が内蔵されている階乗関数になってます。

331 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:23:00 ]
↑みたいなFAQネタ誰かまとめろ

332 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:29:38 ]
(((lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))))
(lambda (func-arg)
(lambda (l)
(if (null? l)
'no-list
(if (null? (cdr l))
(car l)
(max (car l) (func-arg (cdr l))))))))
'(4 5 6 3 4 8 6 2))

333 名前:329 mailto:sage [2008/06/05(木) 20:29:43 ]
>>330
どうも、ありがとうございます。
なにやら複雑ですね。

>>331
既出でしたか。失礼しましたー


334 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:34:32 ]
(define Y
(lambda (X)
((lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg))))
(lambda (procedure)
(X (lambda (arg) ((procedure procedure) arg)))))))

335 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:35:29 ]
>>330はこう書いてもよい。

(define F*
(lambda (func-arg)
(lambda (n)
(if (zero? n)
1
(* n (func-arg (- n 1)))))))

((Y F*) 5)



336 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 20:36:15 ]
>>332はこう書いてもよい。

(define M*
(lambda (func-arg)
(lambda (l)
(if (null? l)
'no-list
(if (null? (cdr l))
(car l)
(max (car l) (func-arg (cdr l))))))))

((Y M*) '(4 5 6 3 4 8 6 2))

337 名前:329 mailto:sage [2008/06/05(木) 20:42:03 ]
>>332
>>334
>>335
>>336

皆さんありがとうございます。なんかすみません。
どれも微妙に難しいコードですが、がんばって理解します。


338 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:15:18 ]
>>328
丁寧なレスありがとうございます。
multirember&coとかアッカーマン関数とか、totalとpartialがどうしたとか、
これらを導出する事で何を言いたかったのかが今ひとつピンときませんでした。
まあ、でも一応Seasonedまでは読もうかと思っています。

339 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 06:25:04 ]
>>328
> 微積とかの数学を知らない人向けのSICPだったのかと。
> だから数学が得意な大学生は最初からSICPでいいと思う。

これは嘘。目的が全然違う。

340 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 18:21:20 ]
>>339
どんな本ですか?

341 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:34:58 ]
SQL> SELECT COUNT(*) FROM SICPが好きな人;
----
  1

(,,゚∇゚) !!

342 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:23:17 ]
(define-syntax swap
(syntax-rules ()
((swap a b) (let ((tmp b))
(set! b a)
(set! a tmp)))))

(define-syntax display-line
(syntax-rules ()
((display-line x)
(begin
(display x)
(newline)))))


(define tmp 5)
(define other 6)

(swap tmp other)

(display-line tmp)
(display-line other)

343 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:35:26 ]
(define-syntax rotate
(syntax-rules ()
((rotate a) (void))
((rotate a b c ...) (begin
(swap a b)
(rotate b c ...)))))

(define x 1)
(define y 2)
(define z 3)
(define w 4)

(rotate x y z w)

(display-line x)
(display-line y)
(display-line z)
(display-line w)

344 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:37:26 ]
(define-syntax rotate2
(syntax-rules ()
((rotate2 a c ...)
(shift-to (c ... a) (a c ...)))))

(define-syntax shift-to
(syntax-rules ()
((shift-to (from0 from ...) (to0 to ...))
(let ((tmp from0))
(set! to from) ...
(set! to0 tmp)) )))


(rotate2 x y z w)

345 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 23:00:40 ]
(require (lib "time.ss" "srfi/19"))

(date->string (current-date) "~Y/~m/~d(~a) ~H:~M:~S")



346 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 02:08:30 ]
インデント付きで見る用のアンカー

>>342-345

347 名前:デフォルトの名無しさん [2008/06/07(土) 12:50:40 ]
誰か教えてくれ

学校の課題で困った

点(x,y) が 傾き a 、y切片が b である 直線 の 上部にあるか、 下部にあるかを 判断する updown? 定義せよ。

ただし、

上部にあるとき #t
下部にあるとき #f

を値として返すように せよ


348 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 12:56:50 ]
中学校からやり直せ

349 名前:347 mailto:sage [2008/06/07(土) 13:03:03 ]
>>348
それは一理ありますね

1次関数の勉強をしなおしてもみましたが、ダメでした

350 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:05:58 ]
>>347
ほらよ。そのまま提出しろよ
(define (updown? a b)
"直線上にあったら何を返せばいいんだよこんなクソ問題だすやつは死ね \
もちろん単位なんていらん")


351 名前:347 mailto:sage [2008/06/07(土) 13:12:11 ]
>>350
ストレートな回答ありがとうございます

私の説明不足です

直線上は考慮するなとのことでした



352 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:18:15 ]
こんな世界に生まれたことを呪いながら人生をリセットすべし

353 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:25:09 ]
>>351
直線上を考慮しないなんてありえない。一次関数の場合、端点が
常に極値になるのだから、直線上かどうかを調べるのは最も重要なことだ。
そんな教師はそちらから願い下げなさい。

354 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 13:44:58 ]
まずは「上部」と「下部」のテイギからはじめないとな。

355 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:21:14 ]
プログラムを組めないってんならまだしも、一次関数の定義がわからんてどういうことだ?
既知のxを使って算出できる一次関数の値と対象yの値を比べれば良いってアホでもわかりそうなものだが。




356 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:23:56 ]
傾きとか切片とかの意味が判ってないんじゃね?

357 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:25:29 ]
Schemeの課題ってことは大学生以上だと思うけど、一次関数がわからなくても
最近は大学に入れるんだなあ。日本って本当に滅亡にむかってるのだなあ・・しみじみ。

358 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:31:06 ]
大学の定員って志願者より多いらしいから誰でも入れるんじゃね?w

359 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:35:05 ]
>>354
それは、地図の上と下のテイギを決めるようなもんだw

360 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:37:27 ]
上下(じょうげ、うえした)とは、六方位(六方)の名称の一つで、高さ・深さを指す方位の総称。
一定方向に重力のある環境で、重力場の向かう方向、即ち物体が落ちる方向を下(した)、
その対蹠で物体が登る方向を上(うえ)という。
出典: フリー百科事典『ウィキペディア(Wikipedia)』

361 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:40:43 ]
>>357
中学校の総合の時間だったりしてw

>>351
直線の式にxの値を代入してyの値を比較すればわかるだろ

362 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:41:47 ]
地図の上下なら等高線で見て高いほうが上、低いほうが下ってことだな

363 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:44:27 ]
>>347
 class Point
  attr :x, :y
  def initialize(x, y)
  @x, @y = x, y
  end
 
  def updown?(a, b)
  (@y > a * @x + b) ? "#t" : "#f"
  end
 end
 
 a, b = 1, 5
 p = Point.new(1, 5)
 puts p.updown?(a, b)

364 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:47:30 ]
↑変な言語きたー!w

365 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:52:26 ]
>>363
ちょっと見ないうちにLISPも変わったな



366 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:52:44 ]
見た感じRuby?

367 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:59:39 ]
(define updown? (lambda (a . b) (lambda (x . y) (cond ((> y (let ((k x)) (+ b (* a k)))) a (define t #t) t) (else (not #t))))))
(display "こうですかわかりません")






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef