このディレクトリの索引

http://pc12.2ch.net/test/read.cgi/tech/1250204272/567
#  すみません。 
#   
#  c言語がまだ初心者すぎてわからないのでどうかお願いします! 
#   
#  ■プログラム1: 
#   
#    りんごが30個中、腐っていたりんごが10個あったとき、 
#    腐っていないりんごを3人で分けると、 
#    一人当たりのりんごの個数は何個になるか、計算し、 
#    "一人あたりのりんごの個数"と"残ったりんごの個数"を 
#    出力するプログラム。  
#   
#  ■プログラム2: 
#   
#    上記プログラム1 のリンゴの個数などの数を scanfを使ってキーボードから 
#    入力することで、任意の個数に対して計算できるように改良したプログラム。 
#    
#  ただし両プログラムの変数名は、最初のりんごの個数をapple、 
#  腐っていたりんごの個数を bad_apple、人数をpersons、 
#  一人当たりのりんごの個数を apple_for_one、余りをrest とすること。 
#   
#  お願いします! 
#   
# 
# 

t714_プログラム1 :-
    一人当たりのりんごの個数(_apple_for_one),
    残ったりんごの個数(_rest),
    write_formatted('一人当たりのりんごの個数は %t個\n残りは %t個です\n',[_apple_for_one,_rest]).

りんご(30).
腐ったりんご(10).
人数(3).

腐っていないりんごの個数(_not_bad_apple) :-
    りんご(_apple),
    腐ったりんご(_bad_apple),
    _not_bad_apple is _apple - _bad_apple.
    
一人当たりのりんごの個数(_apple_for_one) :-
    腐っていないりんごの個数(_not_bad_apple),
    人数(_persons),
    _apple_for_one is _not_bad_apple // _persons.

残ったりんごの個数(_rest) :-
    腐っていないりんごの個数(_not_bad_apple),
    人数(_persons),
    _rest is _not_bad_apple mod _persons.

t714_プログラム2 :-
    write('りんごの個数を入れてください : '),
    get_integer(_apple),
    write('腐ったりんごの個数を入れてください : '),
    get_integer(_bad_apple),
    write('人数を入れてください : '),
    get_integer(_persons),
    abolish(りんご/1),
    abolish(腐ったりんご/1),
    aoblish(人数/1),
    assertz(りんご(_apple)),
    assertz(腐ったりんご(_bad_apple)),
    assertz(人数(_persons)),
    t714_プログラム1.