このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/645
#  [1] 授業単元: C言語 
#  [2] 問題文(含コード&リンク): 
#  ■プログラム1: 
#    りんごが30個中、腐ったりんごが10個あったとき、 
#    腐ってないりんごを3人で分けると、 
#    一人当たりのりんごの個数は何個になるか、計算し、 
#    "一人あたりのりんごの個数"と"残ったりんごの個数"を 
#    出力するプログラム。  
#    (C言語の足し算、引き算、かけ算、割り算はそれぞれ、 +, -, *, / を使うが、 
#     割った余り(剰余) は % で計算できる。 (例: n を m で割った余りは n % m ))  
#    ■プログラム2: 
#    上記プログラム1 のリンゴの個数などの数を scanfを使ってキーボードから 
#    入力することで、任意の個数に対して計算できるように改良したプログラム。 
#  ただし両プログラムの変数名は、最初のりんごの個数をapple、 
#  腐っていたりんごの個数を bad_apple、人数をpersons、 
#  一人当たりのりんごの個数を apple_for_one、余りをrest とすること。 
#    

'りんごが30個中、腐ったりんごが10個あったとき、腐ってないりんごを3人で分けると、一人当たりのりんごの個数は何個になるか、計算し、"一人あたりのりんごの個数"と"残ったりんごの個数"を出力する' :-
        'りんごが30個'(_りんごの個数),
        '腐ったりんごが10個'(_腐ったりんごの個数),
        '腐ってないりんごを3人で分ける'(_りんごの個数,_腐ったりんごの個数,_腐っていないりんごの個数,_一人当たりのりんごの個数,_残ったりんごの個数),
        '"一人あたりのりんごの個数"と"残ったりんごの個数"を出力する'(_一人当たりのりんごの個数,_残ったりんごの個数).

'りんごが30個'(30).

'腐ったりんごが10個'(10).

'腐ってないりんごを3人で分ける'(_りんごの個数,_腐ったりんごの個数,_腐っていないりんごの個数,_一人当たりのりんごの個数,_残ったりんごの個数) :-
        '腐っないりんごを'(_りんごの個数,_腐ったりんごの個数,_腐っていないりんごの個数),
        '3人で分ける'(_腐っていないりんごの個数,_一人当たりのりんごの個数,_残ったりんごの個数).

'腐っないりんごを'(_りんごの個数,_腐ったりんごの個数,_腐っていないりんごの個数) :-
        _腐っていないりんごの個数 is _りんごの個数 - _腐ったりんごの個数.

'3人で分ける'(_腐っていないりんごの個数,_一人当たりのりんごの個数,_残ったりんごの個数) :-
        _一人当たりのりんごの個数 is _腐っていないりんごの個数 // 3,
        _残ったりんごの個数 is _腐っていないりんごの個数 mod 3.

'"一人あたりのりんごの個数"と"残ったりんごの個数"を出力する'(_一人当たりのりんごの個数,_残ったりんごの個数) :-
        出力する('一人あたりのりんごの個数 = %t\n',_一人当たりのりんごの個数),
        出力する('残ったりんごの個数 = %t\n',_残ったのりんごの個数).

出力する(_表示パターン,_表示項目) :-
        writef(_表示パターン,[_表示項目]).