このディレクトリの索引
#  
#  [1] 授業単元:プログラミングII 
#  [2] 問題文(含コード&リンク): 
#  課題: 
#    #include < stdio.h >
#  int main (void){
#  int i;
#  float taiju[10]={58.6,65.2,74.4,46.0,52.8,62.4,55.0,51.2,54.8,48.4};
#  float total,average;
#  total=0;
#  
#  for(i=0;i<10;i++){
#  total+=taiju[i];
#  }
#  average=total/10;
#  printf("Total=%.1f\n",total);
#  printf("Average=%.1f\n",average);
#  return 0;
#  このプログラムを関数にするにはどこをどうしたらいいですか?
#  }
#  これをPrologの全く異なったプログラムに作り変えなさい。
#  

標本体重(58.6).
標本体重(65.2).
標本体重(74.4).
標本体重(46.0).
標本体重(52.8).
標本体重(62.4).
標本体重(55.0).
標本体重(51.2).
標本体重(54.8).
標本体重(48.4).

標本の体重の合計と相加平均を求める(_標本体重の合計,_標本体重の相加平均) :-
標本体重の合計(_標本体重の合計),
標本体重の相加平均(_標本体重の相加平均).

標本体重の合計(_標本体重の合計) :-
目標から合計値を得る(_体重,標本体重(_体重),_標本体重の合計).

標本体重の相加平均(_標本体重の相加平均) :-
目標から相加平均を得る(_体重,標本体重(_体重),_標本体重の相加平均).


目標から合計値を得る(_集約対象項,_目標,_合計値) :-
findall(_集約対象項,_目標,_値ならび),
sum_list(_値ならび,_合計値).

目標から相加平均を得る(_集約対象項,_目標,_相加平均) :-
findall(_集約対象項,_目標,_値ならび),
相加平均(_値ならび,_相加平均).

相加平均(_値ならび,_相加平均) :-
sum_list(_値ならび,_合計値),
length(_値ならび,_要素数),
_相加平均 is _合計値 / _要素数.