- 1 名前:デフォルトの名無しさん [2010/03/08(月) 08:19:03 ]
- 前回スレは512Kbを越えたため、終了しました
- 32 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 11:18:02 ]
- pc11.2ch.net/test/read.cgi/db/1252492296/631
# MYSQL使ってます。 # id キーワード # 1 りんご # 2 みかん # 3 りんご # のようにDBに登録されてるキーワードが多い順に例えばヒット件数トップ10のキーワードを # 抜き出したいのですがどのように書いたらいいでしょうか? # 件数少ないうちは今までにないキーワードがでたら全検索で数えるって繰り替えそうと思ったんですけど、 # 件数多くなったら効率的に書かないとまずいかなと思いまして。
- 33 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 11:55:21 ]
- >>30
使用言語:J この問題文では、詳細がさっぱりわかりません。 data=:45 97 8 21 51 64 24 62 46 3 (5?10){data 3 45 97 46 21
- 34 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:20:56 ]
- >>33 (>>30)
# 数値を一行に一つずつ十行メモ帳に書き込みこれを保存する。 # このファイルを参照することによってこのうち5個の数値をランダムに取り出すプログラムを作りなさい。 % とするべきですね。
- 35 名前:デフォルトの名無しさん mailto:sage [2010/03/15(月) 17:37:53 ]
- >>34
% Prolog 十行の数値が書かれたメモ帳を保存し、このファイルから5個の数値をランダムに取り出す(_保存済みのメモ帳,_5個の数値ならび) :- get_lines(_保存済みのメモ帳,Lines), findall(N,(for(1,M,5),ならびからランダムに数値を取り出す(Lines,N)),_5個の数値ならび). ならびからランダムに数値を取り出す(L,N) :- length(L,Len),Len > 0, repeat, M is (random mod Len) + 1, list_nth(M,Lines,A), atom_to_term(A,N,_), number(N),!.
- 36 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 11:03:58 ]
- pc12.2ch.net/test/read.cgi/tech/1263824755/920
# [1] 授業単元:C言語演習 # [2] 問題文(含コード&リンク): # 1.fgets関数を用いてpgmファイルの始めの2行(添付ファイルの場合, P2, 304, # 322)をそれぞれ、変数header, width, heightに格納するプログラム # 2.上記で記憶したheader, width, heightを別ファイルに書き出すプログラム # 1.と2.をそれぞれ作成せよ。
- 37 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 15:28:29 ]
- >>36
% Prolog pgmファイルヘッダ(_pgmファイル,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル) :- open(_pgmファイル,read,Input,[type(binary)]), pgmヘッダの読み取り(Input,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル), close(Input),!. pgmファイルヘッダの読み取り(Input,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル) :- マジックナンバー(Input,_マジックナンバー), 画像の幅方向サイズ(Input,_画像の幅方向サイズ), 画像の幅方向サイズ(Input,_画像の幅方向サイズ), 画像の高さサイズ(Input,_画像の高さサイズ),!. マジックナンバー(Input,_マジックナンバー) :- findall(Y,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;char_code(Y,X))),L), concat_atom(L,_マジックナンバー),!. 画像の幅方向サイズ(Input,_画像の幅方向サイズ) :- findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L), number_codes(_画像の幅方向サイズ,L),!. 画像の高さサイズ(Input,_画像の高さサイズ) :- findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L), number_codes(_画像の高さサイズ,L),!. 画像の最大階調レベル(Input,_画像の最大階調レベル) :- findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L), number_codes(_画像の最大階調レベル,L),!. 'Whitespace'(X) :- X < 48,X >57,!.
- 38 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 15:37:01 ]
- >>37 (>>36) 訂正
% Prolog 'Whitespace'/2の定義を間違えた。それから述語名を入れ替えます。 pgmファイルヘッダの読み取り(_pgmファイル,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル) :- open(_pgmファイル,read,Input,[type(binary)]), pgmヘッダ(Input,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル), close(Input),!. pgmファイルヘッダ(Input,_マジックナンバー,_画像の幅方向サイズ,_画像の高さサイズ,画像の最大階調レベル) :- マジックナンバー(Input,_マジックナンバー), 画像の幅方向サイズ(Input,_画像の幅方向サイズ), 画像の幅方向サイズ(Input,_画像の幅方向サイズ), 画像の高さサイズ(Input,_画像の高さサイズ),!. マジックナンバー(Input,_マジックナンバー) :- findall(Y,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;char_code(Y,X))),L), concat_atom(L,_マジックナンバー),!. 画像の幅方向サイズ(Input,_画像の幅方向サイズ) :- findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L), number_codes(_画像の幅方向サイズ,L),!. 画像の高さサイズ(Input,_画像の高さサイズ) :- findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L), number_codes(_画像の高さサイズ,L),!. 画像の最大階調レベル(Input,_画像の最大階調レベル) :- findall(X,(repeat,get_byte(Input,X),('Whitespace'(X),!,fail;true)),L), number_codes(_画像の最大階調レベル,L),!. 'Whitespace'(X) :- X < 48. 'Whitespace'(X) :- X > 57.
- 39 名前:デフォルトの名無しさん mailto:sage [2010/03/16(火) 16:26:48 ]
- pc12.2ch.net/test/read.cgi/tech/1263824755/921
# [1] 授業単元:Unix プログラミング # [2] 問題文(含コード&リンク):時間昇降順で表示するwhoをC/C++で書きなさい。
- 40 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 08:37:27 ]
- >>39
% Prolog 時間昇降順で表示するwho(_昇降順) :- shs(who,L), 時間昇降順で表示するwho(L,L1), wrln(L1). 時間昇降順で表示するwho(_昇降順,L,_時間昇降順who) :- findall([_時刻,_行],(member(L1,L),時刻を取り出す(_行,_時刻)),_時刻を先頭に付加したwho), 昇降順に整列(_昇降順,_時刻を先頭に付加したwho,_時間昇降順who). 時刻を取り出す(_行,_時刻) :- split(_行,[' '],L1), append(L2,[_分秒|L3],L1), sub_atom(_分秒,_,1,_,':'), last(L2,_年月日), sub_atom(_年月日,_,1,_,'-'), concat_atom([B,' ',A],_時刻),!. 昇降順に整列(昇順,_時刻を先頭に付加したwho,_時間昇降順who) :- 整列(_時刻を先頭に付加したwho,_整列した時刻を先頭に付加したwho), findall(_行,member([_,_行],_整列した時刻を先頭に付加したwho),_時間昇降順who). 昇降順に整列(降順,_時刻を先頭に付加したwho,_時間昇降順who) :- 整列(_時刻を先頭に付加したwho,_整列した時刻を先頭に付加したwho), reverse(_整列した時刻を先頭に付加したwho,_整列しかつ反転した時刻を先頭に付加したwho), findall(_行,member([_,_行],_整列しかつ反転した時刻を先頭に付加したwho),_時間昇降順who).
- 41 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 10:42:58 ]
- >>32
% Prolog (その一) キーワード数の上位10位までを表示 :- findall([M,N],カウンタカウンタ(M,N),L1), sort(L1,L2), reverse(L2,L3), 上位10位まで(L3,L), キーワード数の上位10位までを表示(L). キーワード数の上位10位までを表示([]) :- !. キーワード数の上位10位までを表示([M|R]) :- キーワードカウンタ(_キーワード,M), キーワード表示(_キーワード), fail. キーワード数の上位10位までを表示(R). キーワード表示(_キーワード) :- キーワード(ID,_キーワード), write_formatted('%t,%t\n',[ID,_キーワード]). 上位10位まで([],_,[]) :- !. 上位10位まで(_,Count,[]) :- Count >= 10,!. 上位10位まで([[M,N]|R1],Count1,[M|R2]) :- Count2 is Count1 + N, 上位10位まで(R1,Count2,R2).
- 42 名前:デフォルトの名無しさん mailto:sage [2010/03/17(水) 10:43:55 ]
- >>32
% Prolog (その二) キーワードカウンタを準備する :- abolish(キーワードカウンタ/2), キーワード(Id,_キーワード), キーワードカウンタ((+),_キーワード), fail. キーワードカウンタを準備する. キーワードカウンタ((+),_キーワード) :- retract(キーワードカウンタ(_キーワード,_現在のカウント)), _加算されたカウント is _現在のカウント + 1, カウンタカウンタの更新((-),_現在のカウント) カウンタカウンタの更新((+),_加算されたカウント), asserta(キーワードカウンタ(_キーワード,_加算されたカウント)),!. キーワードカウンタ((+),キーワード) :- asserta(キーワードカウンタ(_キーワード,1)), カウンタカウンタの更新((+),1),!. カウンタカウンタの更新((+),M) :- retract(カウンタカウンタ(M,N)), N2 is N + 1, asserta(カウンタカウンタ(M,N2)),!. カウンタカウンタの更新((+),M) :- asserta(カウンタカウンタ(M,1)). カウンタカウンタの更新((-),M) :- retract(カウンタカウンタ(M,N)), N1 is N - 1, asserta(カウンタカウンタ(M,N1)),!.
- 43 名前:デフォルトの名無しさん mailto:sage [2010/03/18(木) 07:04:37 ]
- pc12.2ch.net/test/read.cgi/tech/1263824755/945
# Bairstow Samples 名無しさん - 2010/03/17(Wed) 19:00 No.10560 10560.zip # [1] 授業単元: 数値解析 # [2] 問題文(含コード&リンク): n=10の多項式をベアストウ法(Bairstow’s Method)により解析するプログラムを書くこと。 # N=coefficients r,s= initial value # 繰り返しの際にはじめのr,s,b,cと△r、△s、エラーの値をプリントする。一定の値に集中するまで続ける。 # (Convergence)一点に集まった値がでたら、次は二次公式をするために同様の作動を繰り返す。この時rとsは自動的に割り出されなければならない。ルーツが見つかるまで全てのプロセスを繰り返す。
|

|