- 1 名前:デフォルトの名無しさん mailto:sage [2009/12/22(火) 09:57:19 ]
- 第二編も512Kbyte越えで終了しました。
前スレで未解決な課題は順次このスレにコピーします。
- 722 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 02:56:24 ]
- # 公認野球規則二・〇四には、
# # 「ボール」 ストライクゾーンを通過しなかった投球、または地面に # 触れた投球で、いずれも打者が打たなかったものである。 # # とある。この定義をプログラムとして表現しなさい。
- 723 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 06:49:49 ]
- pc12.2ch.net/test/read.cgi/tech/1263824755/683
# [1] 授業単元:プログラミング # [2] 問題文(含コード&リンク): ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10530.zip # ポーカープログラム # # 1,二つのクラス(Card,Deck)が与えられていて、 # game1.hとgame1.cppのプラグラムを書け。 # このプログラムはデッキから5枚配る事を1回とし、 # その中に何回ペアまたはフラッシュ(同じ手札に同じマークが5枚揃う事)が # あるかの10000回の統計であり、以下を表示させること # # 何回の統計か # そのうち何個の手札がペアを持つか # そのうち何個の手札がフラッシュを持つか # ペアは全体の何%か # フラッシュは全体の何%か # # 無作為化する為に以下を必ず含める事 # stand(unsigned)time(NULL); # # #2,新しいクラスhand(hand.hとhand.cpp)と、これを実行させる為の # game2.hとgame2.cppを書け。 # これはカードの配布、ペア・フラッシュの確認、そしてデッキにカードを戻す為の # プログラムである。
- 724 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 07:25:21 ]
- >>722
% Prolog ボール(X) :- 投球(X), \+(通過した(X,ストライクゾーン)), \+(打った(打者,X)). ボール(X) :- 投球(X), 触れた(X,地面), \+(打った(打者,X)).
- 725 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 08:45:55 ]
- >>722
% Prolog ボール(公認野球規則二・〇四,X) :- 'ストライクゾーンを通過しなかった投球、または地面に触れた投球で、いずれも打者が打たなかったものである。'(X).
- 726 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 08:47:35 ]
- >>722
% Prolog % Prolog 公認野球規則(二・〇四,ボール,X) :- 'ストライクゾーンを通過しなかった投球、または地面に触れた投球で、いずれも打者が打たなかったものである。'(X).
- 727 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:31:33 ]
- >>723
% Prolog 一枚のカードを作る/2 や トランプのようにならびを切る/4 は % nojiriko.asia/prolog/c134_683.html 参照 ペアまたはフラッシュの出現度数(_回数,_ペアの度数,_フラッシュの度数) :- findsum([M1,M2],(for(1,N,_回数),トランプの準備([A,B,C,D,E|R]),役([A,B,C,D,E],M1,M2)),[_ペアの度数,_フラッシュの度数]). 役(L,1,0) :- sort(L,L1),ペア(L1),!. 役([A|R],0,1) :- sub_atom(A,1,1,_,_種類),フラッシュ(_種類,R),!. ペア([A,B]) :- sub_atom(A,0,1,_,C),sub_atom(B,0,1,_,C),!. ペア([A,B,C|R]) :- sub_atom(A,0,1,_,E),sub_atom(B,0,1,_,E),sub_atom(C,0,1,_,E),ペア(R),!. ペア([A,B,C|R]) :- sub_atom(A,0,1,_,E),sub_atom(B,0,1,_,E),\+(sub_atom(C,0,1,_,E)),!. ペア([A|R]) :- ペア(R). フラッシュ(_,[]) :- !. フラッシュ(A,[B|R]) :- sub_atom(B,1,1,_,A),フラッシュ(A,R). トランプの準備(X) :- findall(U,(for(1,N,52),一枚のカードを作る(N,U)),_整列したカード), トランプを切るようにならびを切る(41,53,_整列したカード,X),!.
- 728 名前:デフォルトの名無しさん mailto:sage [2010/02/16(火) 16:48:06 ]
- >>727 (>>723)
% Prolog ペア度数の数え方ですが、ワンペアを1 ツーペアを2 と勘定するなら % ここでは採用していないがスリーカーズを3 フォーカーズを4と数えるなどもあるかもしれない。 役(L,N,0) :- sort(L,L1),ペア(L1,0,N),\+(N=0),!. 役([A|R],0,1) :- sub_atom(A,1,1,_,_種類),フラッシュ(_種類,R),!. ペア([],N,N) :- !. ペア([A,B],N1,N) :- sub_atom(A,0,1,_,C),sub_atom(B,0,1,_,C),N is N1 + 1,!. ペア([A,B,C|R],N1,N) :- sub_atom(A,0,1,_,E),sub_atom(B,0,1,_,E),sub_atom(C,0,1,_,E),ペア(R,N1,N),!. ペア([A,B,C|R],N1,N) :- sub_atom(A,0,1,_,E),sub_atom(B,0,1,_,E),\+(sub_atom(C,0,1,_,E)),N2 is N1 + 1,ペア([C|R],N2,N),!. ペア([A|R],N1,N) :- ペア(R,N1,N).
- 729 名前:デフォルトの名無しさん mailto:sage [2010/02/17(水) 21:53:46 ]
- # 公開された日本最大の競馬情報データベースjbisのサイトで
# ディープインパクトの五代血統表は # www.jbis.or.jp/horse/0000742976/pedigree/ を検索することによって # 得られます。このサイトを利用し、これを起点にして、 # 父系(父親の父親の父親・・・と遡る)20代前の大種牡馬Eclipseまで列記する # プログラムを作りなさい。
- 730 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 05:14:30 ]
- >>729
% Prolog jbis/2 の定義を長くなるのでここでは省略して。 父系の収集(_目標馬,_五代血統書,X) :- 五代血統書に於いて父系は最初の5要素以内に現れる(_目標馬,_五代血統表,X),!. 父系の収集(_目標馬,[_一代父,_二代父,_三代父,_四代父,_五代父|_],[_一代父,_二代父,_三代父,_四代父,_五代父|R]) :- jbis(_五代父,_五代遡った五代血統表), 父系の収集(_目標馬,_五代遡った五代血統表,R). 五代血統書に於いて父系は最初の5要素以内に現れる(_目標馬,_五代血統表,X) :- append(L1,[_目標馬|_],_五代血統書), length(L1,N), N < 5, append(L1,[_目標馬],X),!.
- 731 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 05:27:25 ]
- >>730 (>>729)
% Prolog jbis/2 の定義を書くと長くなるのでここでは省略して。
- 732 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 05:44:54 ]
- >>730
実はこんなに単純ではない。 最終的に五代遡らない内に牝馬が現れてしまうことがある。 父系に目標馬が存在しなかった場合だ。このことは、 五代血統表は牡馬、牝馬の区別ができるための情報を 持つ必要があることを意味する。これがめんどうなら jbis/2に於いて牝馬が現れたら、それ以降の情報を 切り捨ててしまう方法もある。これだと五代血統表と 名乗ることはできず「_五代父系ならび」とでもなるが。
- 733 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 06:11:28 ]
- >>732 (>>729)
% Prolog 理屈の上では、三頭の始祖馬が出てきたら、とすればそれで良さそう % ですが、実際には血統不詳で切れている血統表も存在するからこれでは済まない。 父系の収集(_目標馬,_五代血統表,X) :- member(_始祖馬,['Byerley Turk','Darley Arabian','Godolphin Arabian']), append(L1,[_始祖馬|_],_五代血統表), length(L1,N), N < 5, \+(member(_目標馬,L1)), !,fail. 父系の収集(_目標馬,_五代血統書,X) :- 五代血統書に於いて父系は最初の5要素以内に現れる(_目標馬,_五代血統表,X),!. 父系の収集(_目標馬,[_一代父,_二代父,_三代父,_四代父,_五代父|_],[_一代父,_二代父,_三代父,_四代父,_五代父|R]) :- jbis(_五代父,_五代遡った五代血統表), 父系の収集(_目標馬,_五代遡った五代血統表,R).
- 734 名前:デフォルトの名無しさん [2010/02/18(木) 11:19:38 ]
- 父系でも血統不詳なんてあるの?
- 735 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 15:01:57 ]
- >>734
データベースがある程度完備していればない。だから>>733は間違い。 Eclipseの時代まで遡ると種牡馬欄が空欄で母系だけ3-4代伸びている場合が あるのだけれど、これは何だろう。
- 736 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 01:04:59 ]
- pc11.2ch.net/test/read.cgi/db/1252492296/545
# ・データ # ■Relationテーブル # TaskNo RelationTaskNo # 1 2 # 2 3 # 2 4 # 4 5 # : : # # 上記はタスクと、そのタスクに関連するタスクのNoを保持しているテーブルです。 # このようなテーブルから、指定したTaskNoに関連するタスクを取得して、 # その関連タスクにまた関連するタスクを…といった形でデータを取得したいのです。 # 以前SQLServerで似たような結果を取得した際は # WITH RELATIONS (TaskNo,RelationTaskNo) # AS # (SELECT TaskNo,RelationTaskNo FROM Relation WHERE TaskNo = 取得したい番号 # UNION ALL # SELECT R.TaskNo,R.RelationTaskNo # FROM Relation AS R INNER JOIN RELATIONS AS CTE ON R.RelationTaskNo = CTE.TaskNo) # SELECT * FROM RELATIONS # (当時の環境が手元にないため構文が微妙に間違っているかも…) # どなたかご存じだったら知恵を貸してください。
- 737 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 09:59:16 ]
- >>736
% Prolog 'RelationTaskNoS'(TaskNo,[TaskNo|R]) :- 'Relation'(TaskNo,RelationTaskNo), 'RelationTaskNoS(RelationTaskNo,R). 'RelationTaskNoS'(TaskNo,[TaskNo]).
- 738 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 12:54:03 ]
- >>729
% Prolog jbis/2 の定義は nojiriko.asia/prolog/sonota_729.html を参照してください。
- 739 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 16:10:29 ]
- pc12.2ch.net/test/read.cgi/tech/1263824755/713
# HPはどのページも3クリック以内でたどり着けるのが良いとされています。 # さて問題です。どのページからも、すべてのページへこの条件を満たすようにするには # 各ページにリンクはいくつ必要でしょうか。 # link(n)をページnのリンク数としたとき min { link(n) } を決定するという問題です。 # ページ数は、1000から1万の任意の値が与えられる物とします。
- 740 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 20:46:28 ]
- >>739
// F# // click : 最大クリック数、page : 全ページ数 let minLink click page = Seq.initInfinite id |> Seq.find (fun x -> List.sumBy (pown x) [0 .. click] >= page)
- 741 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 23:11:30 ]
- >>729
// F# open System.Text.RegularExpressions let paternal last = use client = new System.Net.WebClient() let rec paternal' url = seq { let page = "www.jbis.or.jp" + url + "pedigree/" |> client.DownloadString let firstRow = Regex.Match(page, @"<tr>(.+?)</tr>", RegexOptions.Singleline).Groups.[1].Value let horses = Regex.Matches(firstRow, @"<(?:td|th).*?><a href=""(.+?)"">(.+?)</a>") |> Seq.cast<Match> |> Seq.map (fun m -> (m.Groups.[1].Value, m.Groups.[2].Value)) |> Seq.cache yield! Seq.map snd horses yield! Seq.nth (Seq.length horses - 1) horses |> fst |> paternal' } let horses = paternal' "/horse/0000742976/" |> Seq.cache Seq.take (Seq.findIndex ((=) last) horses + 1) horses paternal "Eclipse" |> Seq.iter (printfn "%s")
- 742 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 08:23:18 ]
- # 以下は「中世の秋」ホイジンガ/堀越孝一訳(中公文庫による)の冒頭ちかくの段落です。
# ここにあらわれる文章をプログラム言語で書き換えなさい。 # # 夏と冬の対照は、わたしたちの経験からはとても考えられないほど強烈だったが、 # 光と闇、静けさと騒がしさとの対照もまた、そうだったのである。現在、都市に住む # 人びとは、真の暗闇、真の静寂を知らない。ただひとつまたたく灯、遠い一瞬の叫ぶ # 声がどんな感じのものかを知らない。
- 743 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 15:08:26 ]
- pc12.2ch.net/test/read.cgi/tech/1255277760/82
# [1] 授業単元: # [2] 問題文(含コード&リンク): # # 一次方程式y=a*x+bにおいて、A[x1,y1]とB[x2,y2]が与えられた時、 # 方程式の係数a,bを求めよ。 # x1 y1: 450 454.4 # x2 y2: 452 454.8 # y=0.2*x+364.4
- 744 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 16:33:23 ]
- >>743
使用言語:J x1=:450 y1=:454.4 x2=:452 y2=:454.8 (y1,y2)%.2 2$x1,1,x2,1 0.2 364.4
- 745 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 18:35:05 ]
- >>743
% Prolog '一次方程式y=ax+bの二点[x1,y1][x2,y2]から係数a,bを求める'(X1,Y1,X2,Y2,A,B) :- A is (Y1 - Y2) / (X1 - X2), B is Y1 - (A * X1).
- 746 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 21:27:49 ]
- >>709
使用言語:Clojure user=> (def A ["あいうえお","かきくけこ","さしすせそ","たちつてと","なにむねの"]) #'user/A user=> (defn f [x] (x (int(* (Math/random)(.length x))))) #'user/f user=> (f A) "たちつてと" user=> (f A) "かきくけこ"
- 747 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 06:21:56 ]
- >>742
% Prolog 第二節目は # 人びとは、真の暗闇、真の静寂を知らない。ただひとつまたたく灯、遠い一瞬の叫ぶ # 声がどんな感じのものかを知らない。 知らない(人びと,_何かを) :- 知らない(_何かを). 知らない(_暗闇) :- 真の暗闇(_暗闇). 知らない(_静寂) :- 真の静寂(_静寂). 知らない(人びと,_何かの,_感じ) :- 感じ(_何かの,_感じ). 感じ(_またたく灯) :- またたく灯(_またたく灯), ただひとつ(_またたく灯). 感じ(_叫ぶ声) :- 叫ぶ声(_叫ぶ声), 遠い(_叫ぶ声), 一瞬の(_叫ぶ声).
- 748 名前:デフォルトの名無しさん mailto:sage [2010/02/21(日) 20:17:19 ]
- pc12.2ch.net/test/read.cgi/tech/1263824755/746
# [1] 授業単元: # UNIX C Programming # [2] 問題文(含コード&リンク): # ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10541.txt # # 下記のコードはUnixコマンドのmoreの低水準バージョンである。 # このmoreにundoの機能を付加しターミナルで使えるようにしたい。 # 例:ファイルの中を'Enter'で1行進み、'UNDO'で1行戻る。 # 'Enter'で1行進み、' '(Space)で1ページ進んだ後、'UNDO'で1ページ元に戻る。 # # 一案として、/dev/ttyからのinputをarrayの中に残しておき、それを元に作業を一つ戻すことが考えられる。 # 下記のコードはmoreの基本的な機能である、’Enter’で一行前進・’ ’(Space)で一ページ前進を既に盛り込んでいる。
|

|