このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 149代目 #113 # [1] 授業単元:プログラム # [2] 問題文:得点データをバブルソートを用いて国語の得点の大きい順に並び替えよ # 番号 国語 数学 # 01    78    64 # 02    68    78 # 03    83    55 # 04    91    90 # 得点データ('01',78,64). 得点データ('02',68,78). 得点データ('03',83,55). 得点データ('04',91,90). 得点データをバブルソートを用いて国語の得点の大きい順に並び替えよ :- 得点データを(_得点データならび), バブルソートを用いて国語の得点の大きい順に並び替える(_得点データならび). 得点データを(_得点データならび) :- findall([_国語,_番号,_数学],( 得点データ(_番号,_国語,_数学)),_得点データならび). バブルソートを用いて国語の得点の大きい順に並び替える(_得点データならび) :- 降順にバブルソート(_得点データならび,_国語の得点の大きい順ならび), 表示(_国語の得点の大きい順ならび). 降順にバブルソート(_対象ならび,_整列済みならび) :- 降順に交換(_対象ならび,_対象ならびの一),!, 降順にバブルソート(_対象ならびの一,_整列済みならび). 降順にバブルソート(_整列済みならび,_整列済みならび). 降順に交換([A,B|R],[B,A|R]) :- A @< B,!. 降順に交換([A|R1],[A|R2]) :- 降順に交換(R1,R2). 表示(_国語の得点の大きい順ならび) :- '学科名見出しを表示して、その後に国語の点数の大きい順に表示する'(_国語の得点の大きい順ならび). '学科名見出しを表示して、その後に国語の点数の大きい順に表示する'(_国語の得点の大きい順ならび) :- '学科名見出しを表示して、', その後に国語の点数の大きい順に表示する(_国語の得点の大きい順ならび). '学科名見出しを表示して、' :- write('番号 国語 数学\n'). その後に国語の点数の大きい順に表示する(_国語の得点の大きい順ならび) :- forall(member([_国語,_番号,_数学],_国語の得点の大きい順ならび),writef('%w %w %w\n',[_番号,_国語,_数学])).