このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1267796762/38
#  【 課題 】 http://ime.nu/rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/958.txt 
# 月〜土までの時間割を多次元配列を用い作成する。その後出力をする。
# なお作成にはメソッドを複数使用し、クラスは1つだけとする。
# 

'月〜土'([月曜,火曜,水曜,木曜,金曜,土曜]).

'月〜土までの時間割を多次元配列を用い作成する。その後出力をする。' :-
      '月〜土'(_曜日ならび),
      '月〜土までの時間割を多次元配列を用い作成する。'(_曜日ならび,_時間割),
      'その後出力する。'(_曜日ならび,_時間割).

'月〜土までの時間割を多次元配列を用い作成する。'([],[]) :- !.
'月〜土までの時間割を多次元配列を用い作成する。'([_曜日|R1],[_曜日ごとの時間割|R2]) :-
      write_formatted('%t日の時限数を入力してください : ',[_曜日]),get_integer(_時限数),
      write_formatted('%t時限の教科名を順に入力してください\n',[N]),
      時限ごとの教科名の入力(1,_時限数,_曜日ごとの時間割),
      '月〜土までの時間割を多次元配列を用い作成する。'(R1,R2).

時限ごとの教科名の入力(N,_時限数,[]) :- N > _時限数,!.
時限ごとの教科名の入力(N,_時限数,[_教科名|R]) :-
      write_formatted('%t時限目  : ',[_教科名]),get_line(_教科名),
      N2 is N + 1,
      時限ごとの教科名の入力(N2,_時限数,R).

'その後出力する'([],[]) :- !.
'その後出力する'([_曜日|R1],[L|R2]) :-
      length(L,_時限数),
      concat_atom(L,',',_教科名ならび文字列),
      write_formatted('%t日 : %t時間  %t\n',[_曜日,_時限数,_教科名ならび文字列]),
      'その後出力する'(R1,R2).