- 1 名前:デフォルトの名無しさん [2010/03/08(月) 08:19:03 ]
- 前回スレは512Kbを越えたため、終了しました
- 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は自動的に割り出されなければならない。ルーツが見つかるまで全てのプロセスを繰り返す。
|

|