いろんな言語で宿題 第五編at TECH
いろんな言語で宿題 第五編 - 暇つぶし2ch64:デフォルトの名無しさん
10/06/24 19:06:29
>>63
% Prolog

'ファイルkadai.txt に記述された数行の数値を表す文字列を読み込み、整数に変更して数値として表示する' :-
    get_lines('kadai.txt',_行ならび),
    append(_,[_行文字列|R],_行ならび),
    整数に変更して(_行文字列,_整数),
    write_formatted('%t\n',[_整数]),
    R = [].

整数に変更して(_行文字列,_整数) :-
    sub_atom(_行文字列,0,1,_,'0'),
    atom_codes(_行文字列,Codes),
    reverse(Codes,Codes2),
    反転した基数コードならびから10進数を得る(8,Codes2,_整数),!.
整数に変更して(_行文字列,_整数) :-
    atom_codes(_行文字列,Codes),
    reverse(Codes,Codes2),
    反転した基数コードならびから10進数を得る(10,Codes2,_整数),!.

反転した基数コードならびから10進数を得る(_,[],0) :- !.
反転した基数コードならびから10進数を得る(_基数,[C|R],M) :-
    \+((C >=48,C =< 57)),
    反転した基数コードならびから10進数を得る(_基数,R,M),!.
反転した基数コードならびから10進数を得る(_基数,[C|R],M) :-
    M0 is C - 48,
    反転した基数コードならびから10進数を得る(_基数,R,M2),
    M is M2 * _基数 + M0.



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch