このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1364700745/852
#  [1] 授業単元:C 
#  [2] 問題文(含コード&リンク): 
#  「空白を挟まず、何か入力してください。」と表示した後、入力された先頭文字が英字大文字、英字小文字、数字かを判定し、 
#  「先頭文字は○○です。」という表示を行うプログラムを作成しなさい。 
#  

'「空白を挟まず、何か入力してください。」と表示した後、入力された先頭文字が英字大文字、英字小文字、数字かを判定し、「先頭文字は○○です。」という表示を行う' :-
        '「空白を挟まず、何か入力してください。」と表示した',
        '入力された'(Line),
        '先頭文字が英字大文字、英字小文字、数字かを判定し'(Line,_判定),
        '「先頭文字は○○です。」という表示を行う'(_判定).

'「空白を挟まず、何か入力してください。」と表示した後' :-
        write('空白を挟まず、何か入力してください。\n').

'入力された'(Line) :-
        get_line(Line).

'先頭文字が英字大文字、英字小文字、数字かを判定し'(Line,_判定) :-
        sub_atom(Line,0,1,_,_先頭文字),
        '英字大文字、英字小文字、数字かを判定し'(_先頭文字,_判定).

'英字大文字、英字小文字、数字かを判定し'(_先頭文字,英字大文字) :-
        英字大文字(_先頭文字),!.
'英字大文字、英字小文字、数字かを判定し'(_先頭文字,英字小文字) :-
        英字小文字(_先頭文字),!.
'英字大文字、英字小文字、数字かを判定し'(_先頭文字,数字) :-
        数字(_先頭文字).

英字大文字(_先頭文字) :-
        _先頭文字 @>= 'A',
        _先頭文字 @=< 'Z'.

英字小文字(_先頭文字) :-
        _先頭文字 @>= 'a',
        _先頭文字 @=< 'z'.
数字(_先頭文字) :-
        _先頭文字 @>= '0',
        _先頭文字 @=< '9'.

'「先頭文字は○○です。」という表示を行う'(_判定) :-
        writef('先頭文字は%tです。\n',[_判定]).