このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1381909900/194
#  [1] 授業単元:C言語 
#   
#  [2] 問題文(含コード&リンク): 
#   1〜100の整数のうち「6の倍数」の個数を表示するプログラムを作成しなさい、ただし、for文とif文を用いて作成すること 
#  1次元配列を用いて5人分の数学の得点を100点満点で入力し、「数学の得点の最小値と最大値」を画面表示、およびファイルに書き出すプログラムを作成しなさい。ただし、書き出し用ファイル名は「sugaku.txt」にしなさい。 
#   
#  

'1次元配列を用いて5人分の数学の得点を100点満点で入力し、「数学の得点の最小値と最大値」を画面表示、およびファイルに書き出すプログラムを作成しなさい。ただし、書き出し用ファイル名は「sugaku.txt」にしなさい。' :-
        '1次元配列を用いて5人分の数学の得点を100点満点で入力し'(_5人文の数学の得点),
        '「数学の得点の最小値と最大値」を'(_5人分の数学の得点,_数学得点の最小値,_数学得点の最大値),
        '画面表示、'(_数学得点の最小値,_数学得点の最大値),
        'およびファイルに書き出すプログラムを作成しなさい。ただし、書き出し用ファイル名は「sugaku.txt」にしなさい。'(_5人分の数学の得点).

'1次元配列を用いて5人分の数学の得点を100点満点で入力し'(_5人文の数学の得点) :-
        length(_5人分の数学の得点,5),
        forall(nth1(_nth1,_5人分の数学の得点,_数学の得点),整数を得る(数学の得点,(_数学の得点>=0,_数学の得点=<100),_数学の得点)).

'「数学の得点の最小値と最大値」を'(_5人分の数学の得点,_数学得点の最小値,_数学得点の最大値,_数学得点の最小値,_数学得点の最大値) :-
        数学の得点の最小値(_5人分の数学の得点,_数学得点の最小値),
        数学の得点の最大値(_5人分の数学の得点,_数学得点の最大値).

数学の得点の最小値(_5人分の数学の得点,_数学得点の最小値) :-
        select(_数学得点の最小値,_5人分の数学の得点,_残りの数学の得点),
        forall(member(N,_残りの数学の得点),N>=_数学得点の最小値).

数学の得点の最大値(_5人分の数学の得点,_数学得点の最大値) :-
        select(_数学得点の最大値,_5人分の数学の得点,_残りの数学の得点),
        forall(member(N,_残りの数学の得点),N=<_数学得点の最大値).

'画面表示、'(_数学得点の最小値,_数学得点の最大値) :-
        writef('数学得点の最小値 = %t\n数学得点の最大値 = %t\n',[_数学得点の最小値,_数学得点の最大値]).

'およびファイルに書き出すプログラムを作成しなさい。ただし、書き出し用ファイル名は「sugaku.txt」にしなさい。'(_5人分の数学の得点) :-
        open('sugaku.txt',write,Outstream),
        forall(nth1(_nth1,_5人分の数学の得点,_数学の得点),writef(Outstream,'%t\n',[_数学の得点])),
        close(Outstream).