このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/tech/1267796762/86
#  【 課題 】下記参照ください。
#  【 形態 】1. Javaアプリケーション(main()で開始
#  【 期限 】今晩中の完成です。
#  【 Ver  】jdk1.6.0_13
#  【 補足 】javaのプログラム作成についてです。
#  条件分けの<if else>や繰り返しの<for>を組み合わせれば出来るのでしょうが、それがわかりません。
#  お知恵を貸してください。
#
#  内容:
#  数字を入力し、それが「偶数」なら
#  □
#  ○○
#  □□□
#
#  奇数なら
#  ○
#  □□
#  ○○○
#
#  上記の3段の階段を作るプログラムを作成するのが課題です。
#  宜しくお願いします。
#

'3段の階段を作る' :-
        数字を入力し(_数字),
        '3段の階段を作る'(_数字),
        fail.
'3段の階段を作る'.

'3段の階段を作る'(_数字) :-
        それが偶数なら(_数字),
        階段の表示(1,□,_).
'3段の階段を作る'(_数字) :-
        それが奇数なら(_数字),
        階段の表示(1,○,_).

数字を入力し(_数字) :- get_integer(_数字).

それが偶数なら(_数字) :- 0 is _数字 mod 2.

それが奇数なら(_数字) :- \+(0 is _数字 mod 2).

階段の表示(N,_,N,X):- N > 3,!,fail.
階段の表示(N,□,N):- for(1,M,N),write(□),M = N,nl.
階段の表示(N,○,N):- for(1,M,N),write(○),M = N,nl.
階段の表示(N,□,X):- N2 is N + 1,階段の表示(N2,○,X).
階段の表示(N,○,X):- N2 is N + 1,階段の表示(N2,□,X).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

3段の階段を作る' :-
        数字を入力し(_数字),
        '3段の階段を作る'(_数字).

'3段の階段を作る'(_数字) :-
        それが偶数なら(_数字),
        階段の表示(1,□),!. 
'3段の階段を作る'(_数字) :-
        それが奇数なら(_数字),
        階段の表示(1,○),!.

数字を入力し(_数字) :- get_integer(_数字).

それが偶数なら(_数字) :- 0 is _数字 mod 2.

それが奇数なら(_数字) :- \+(0 is _数字 mod 2).

階段の表示(N,_) :- N > 3,!.
階段の表示(N,□) :- for(1,M,N),write(□),M = N,nl,N2 is N + 1,階段の表示(N2,○).
階段の表示(N,○) :- for(1,M,N),write(○),M = N,nl,N2 is N + 1,階段の表示(N2,□).