このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1274827528/137
#  [1] 授業単元:Cプログラミング 
#  [2] 問題文(含コード&リンク):http://ime.nu/kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10645.txt 
#  
# [1]
# 5つの任意のデータを格納した1次元配列を2つ作り、ポインタ配列にそれぞれの配列の先頭アドレスを代入し、
# このポインタ配列を用いて同じ配列番号どうしの内容の平均値を計算せよ.
# [2]
# 次のプログラムは文字列配列stringの中の文字列を順に表示するプログラムである.
# 以下の仕様に従ってプログラムを完成させよ
# print(string,3)
# string…文字列型ポインタ配列の先頭アドレス
# 3 …配列の要素数

int1('3546285511').
ポインタ1([0,2,4,6,8,10]).
int2('1819334006').
ポインタ2([0,2,4,6,8,10]).

このポインタ配列を用いて同じ配列番号どうしの内容の平均値を計算する(L) :-
        ポインタ1(L1),
        ポインタ2(L2),
        int1(String1),
        int2(String2),
        このポインタ配列を用いて同じ配列番号どうしの内容の平均値を計算する(L1,L2,String1,String2,L).

このポインタ配列を用いて同じ配列番号どうしの内容の平均値を計算する([_],[_],_,_,[]) :- !.
このポインタ配列を用いて同じ配列番号どうしの内容の平均値を計算する([A,B|R1],[C,D|R2],String1,String2,[AVG|R]) :-
        sub_atom(String1,A,B-A,_,S1),atom_to_term(S1,N1,_),
        sub_atom(String2,C,D-C,_,S2),atom_to_term(S2,N2,_),
        Avg is (N1 + N2) / 2,
        このポインタ配列を用いて同じ配列番号どうしの内容の平均値を計算する([B|R1],[D|R2],String1,String2,R).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

string('次のプログラムは文字列配列stringの中の文字列を順に表示するプログラムである').

ポインター([0,12,18,40]).

stringの中の文字列を表示する([_]) :- !. 
stringの中の文字列を表示する([A,B|R]) :-
        sub_atom(String,A,B-A,_,_副文字列),
        stringの中の文字列を表示する([B|R]).