このディレクトリの索引

# 出典 :: #851 # あいうえお # /*かきくけこ*/ # さしす/*せそ # なにぬ*/ねの # # というファイル(test.txt)から文字数、改行数、コメント文字数をカウントし、出力するプログラムです。 # お願いいたします。 'あいうえお /*かきくけこ*/ さしす/*せそ なにぬ*/ねの というファイル(test.txt)から文字数、改行数、コメント文字数をカウントし、出力するプログラムです。' :- 'ファイル(test.txt)から文字数、改行数、コメント文字数をカウントし、出力する'(_文字数,_改行数,_コメント文字数). 'ファイル(test.txt)から文字数、改行数、コメント文字数をカウントし、出力する'(_文字数,_改行数,_コメント文字数) :- 文字ならびとして取り込む('test.txt',_文字ならび), '文字数、改行数、コメント文字数をカウントし、出力する'(_文字ならび). '文字数、改行数、コメント文字数をカウントし、出力する'(_文字ならび) :- '文字数、改行数、コメント文字数をカウントし、'(_文字ならび,_文字数,_改行数,_コメント文字数), 出力する(_文字数,_改行数,_コメント文字数). '文字数、改行数、コメント文字数をカウントし、'(_文字ならび,_文字数,_改行数,_コメント文字数) :- length(_文字ならび,_文字数), 改行数を数える(_文字ならび,_改行数), コメント文字数を数える(_文字ならび,_コメント文字数). 改行数を数える(_文字ならび,_改行数) :- findall(_,append(_,['\n'|_],_文字ならび),L), length(L,_改行数). コメント文字数を数える(_文字ならび,_コメント文字数) :- findall(_文字数,( コメント文字候補を切り取りその文字数を数える(_文字ならび,_文字数)),L), sum_list(L,_コメント文字数). コメント文字候補を切り取りその文字数を数える(_文字ならび,_文字数) :- コメント文字候補を切り取る(_文字ならび,_コメント文字候補), コメント文字候補から改行文字を取り除いた文字数(_コメント文字候補,_文字数). コメント文字候補を切り取る(_文字ならび,_コメント文字候補) :- append([_,['/','*'],_コメント文字候補,['*','/'],_],_文字ならび), コメント文字候補にはコメント記号を含まない(_コメント文字候補). コメント文字候補にはコメント記号を含まない(_コメント文字候補) :- \+(append(_,['/','*'|_],_コメント文字候補)). コメント文字候補から改行文字を取り除いた文字数(_コメント文字候補,_改行文字を取り除いたコメント文字数) :- コメント文字候補から改行文字を取り除いた(_コメント文字候補,_改行文字を取り除いたコメント文字ならび), 文字数(_改行文字を取り除いたコメント文字ならび,_改行文字を取り除いたコメント文字数). コメント文字候補から改行文字を取り除いた(_コメント文字候補,_改行文字を取り除いたコメント文字ならび) :- findall(_改行文字以外の文字,( コメント文字候補から改行文字以外の文字を取り出す(_コメント文字候補,_改行文字以外の文字)),_改行文字を取り除いたコメント文字ならび). 文字数(_改行文字を取り除いたコメント文字ならび,_改行文字を取り除いたコメント文字数) :- length(_改行文字を取り除いたコメント文字ならび,_改行文字を取り除いたコメント文字数). コメント文字候補から改行文字以外の文字を取り出す(_コメント文字候補,_改行文字以外の文字) :- member(_改行文字以外の文字,_コメント文字候補), 改行文字以外の文字(_改行文字以外の文字). 改行文字以外の文字 \+(_改行文字以外の文字 = '\n')). 出力する(_文字数,_改行数,_コメント文字数) :- writef('文字数 :: %w\n改行数 :: %w\nコメント文字数 :: %w\n',[_文字数,_改行数,_コメント文字数]).