このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1294061094/143
#  [1] 授業単元: 
#  [2] 問題文(含コード&リンク): 
#   
#  3. 問1, 2 を利用して、8 桁までの整数を表わす文字列を引数とし、整数値に変換して返す関数 
#  myatoi() を作成せよ。 
#   

myatoi(_文字列,_整数値) :-
        '8 桁までの整数を表わす文字列を引数とし、整数値に変換して返す'(_文字列,_整数値).

'8 桁までの整数を表わす文字列を引数とし、整数値に変換して返す'(_文字列,_整数値) :-
        '文字列を引数とし、これらの条件を同時に満たす時に整数値1を一つでも満たさない時には0戻す'(_文字列,1),
        '変換したい文字列を引数とし、正負を判断して値が正または0 の時には1 を、負の時には-1を、整数として文字列にエラーがある場合には0 を返す'(_文字列,_プラス1またはマイナス1),
        符号を除いた文字列(_文字列,_符号を除いた文字列),
        文字列を整数に変換(_文字列,_整数値の一),
        _整数値 is _整数値の一 * _ブラス1またはマイナス1.

文字列を整数に変換(_文字列,_整数値) :-
        atom_codes(_文字列,Codes),
        文字列を整数に変換(Codes,0,_整数値).

文字列を整数に変換([],_整数値,整数値) :- !.
文字列を整数に変換([Code|R],_整数値1,整数値) :-
        _整数値2 is _整数値1 * 10 + Code - 48,
        文字列を整数に変換(R,_整数値2,整数値).