09/06/18 18:32:23
>>233
% Prolog
入力した文字の種類を表示するプログラム(_文字,_文字の種類) :-
文字の範疇(_文字の範疇,_文字),
表示は次に従うとする(_文字の範疇,_,_表示メッセージ),
write(_表示メッセージ).
表示は次に従うとする(入力キーA~Z,表示メッセージ,英大文字です).
表示は次に従うとする(入力キーa~z,表示メッセージ,英小文字です).
表示は次に従うとする(入力キー0~9,表示メッセージ,数字です).
表示は次に従うとする(上記以外,表示メッセージ,その他のキャラクターです).
文字の範疇(入力キーA~Z,_文字) :-
member(_文字,['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']).
文字の範疇(入力キーa~z,_文字) :-
member(_文字,[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]).
文字の範疇(入力キー0~9,_文字) :-
member(_文字,['0','1','2','3','4','5','6','7','8','9']).
文字の範疇(上記以外,_文字) :-
not(member(_文字,['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'])),
文字の範疇(入力キーa~z,_文字) :-
member(_文字,[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z]).
文字の範疇(入力キー0~9,_文字) :-
member(_文字,['0','1','2','3','4','5','6','7','8','9']).
文字の範疇(上記以外,_文字) :-
not(member(_文字,['A','B','C','D','E','F','G','H',
'I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X','Y','Z'])),
not(member(_文字,[a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z])),
not(member(_文字,['0','1','2','3','4','5','6','7','8','9'])).