>>786
% Prolog
:- op(800,xfx,人目の名前).
:- op(800,xfx,人目の点数).
1人目の名前 'A'.
1人目の点数 80.
2人目の名前 'B'.
2人目の点数 55.
3人目の名前 'C'.
3人目の点数 95.

t786 :-
  write(' 名(点)|    50    100\n--------+---------+---------+\n'),
  N 人目の名前 _名前,
  N 人目の点数 _点数,
  星表現(_点数,_星表現),
  write_formatted('%4s(%2d)|%t\n',[_名前,_点数,_星表現]),
  fail.
t786 :-
  findavg(V,_ 人目の点数 V,_平均点),
  星表現(_平均点,_星表現),
  write_formatted('平均(%2d)|%t\n',[_平均点,_星表現]).

星表現(_点数,_星表示) :-
  Y is _点数 // 5,
  length(L,Y),
  all(Y,'*'),
  concat_atom(Y,_星表示).