このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/754
#  [1] 授業単元: C言語プログラム 
#  [2] 問題文(含コード&リンク):  
#  初項 a,交差 d及びn項目のnを引数で与え 
#  等差数列のn項目の値を戻り値で得る関数を作成する.引数,戻り値は整数型でよい. 
#  an = a + (n-1) * d 
#  上の関数を用いて,初項,交差及びn項目をキーボード入力で与え,結果を出力するプログラムを作成せよ. 
#  実行例↓ 
#  $./kadai1 
#   
#  a? 2 
#  d? 3 
#  n? 10 
#  Result: 29 
#   
#  

'初項 a,交差 d及びn項目のnを引数で与え等差数列のn項目の値を戻り値で得る'(_a,_d,_n,_n項目の値) :-
        '等差数列のn項目の値を戻り値で得る'(_a,_d,0,_n,_n項目の値),

'等差数列のn項目の値を戻り値で得る'(_n項目の値,_d,_n,_n,_n項目の値) :- !.
'等差数列のn項目の値を戻り値で得る'(_a,_d,_n,_n項目の値) :-
        _n_2 is _n + 1,
        _a_2 is _a + _d,        
        '等差数列のn項目の値を戻り値で得る'(_a_2,_d,_n_2,_n項目の値).

'初項,交差及びn項目をキーボード入力で与え,結果を出力する' :-
        初項をキーボード入力(_初項),
        交差をキーボード入力(_交差),
        'n項目をキーボード入力'(_n項目),
        '初項 a,交差 d及びn項目のnを引数で与え等差数列のn項目の値を戻り値で得る'(_初項,_交差,_n項目,_n項目の値),
        結果を出力する(_初項,_交差,_n項目,_n項目の値),!.

初項をキーボード入力(_初項) :-
        write('初項 : '),
        get_integer(_初項),!.
初項をキーボード入力(_初項) :-
        初項をキーボード入力(_初項).

交差をキーボード入力(_交差) :-
        write('交差 : '),
        get_integer(_交差),!.
交差をキーボード入力(_交差) :-
        交差をキーボード入力(_交差).

'n項目をキーボード入力'(_n項目) :-
        write('n項目 : '),
        get_integer(_n項目),!.
'n項目をキーボード入力'(_n項目) :-
        'n項目をキーボード入力'(_n項目).

結果を出力する(_n項目の値) :-
        writef('結果: %t\n',[_n項目の値]).