このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1258320456/189
#  解答お願いします。 
#   
#  1.   下記のような九九の計算表を出力するプログラムを作成し、実行してください。このときforループを使用するもの(q11.py)と、whileループを使用するもの(q12.py)の2種類を作成してください。  
#              1の段   1   2   3   4    5    6    7   8    9 
#              2の段   2   4   6   8   10  12  14  16  18 
#                              ..........中略.... 
#              9の段   9  18 27  36  45  54  63  72  81 
#   
#  2.   次のような手順で、キーボードから入力した数値の合計を求めるものとします。実際に Python プログラム (q2.py) の形にして、実行してください。  
#  合計に使う変数を 0 にする。 
#  キーボードから数値を入れる。 
#  入力した数値が 0 より大きい間次のブロックを繰り返す:  
#  合計に数値を加える。 
#  キーボードから数値を入れる。  
#  合計を印刷する  
#  3.  turtleを使用して、図形を表示するスクリプトg.pyを作成してください。どのような図形を作成するか記述(少なくとも6角形よりは複雑である事)して、スクリプトの内容をメールに含めてください。なお、スクリプトには、必ず for ループを含むようにしてください 
#   
# 
# 

キーボードから入力した数値の合計 :-
        キーボードから入力した数値の合計(0).

キーボードから入力した数値の合計(S1) :-
        数値を入力する(N),
        N > 0,
        S2 is S1 + N,
        キーボードから入力した数値の合計(S2).
キーボードから入力した数値の合計(S) :-
        write_formatted('合計は %t\n',[S]).

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

キーボードから入力した数値の合計 :-
        数値を入力する(N),
        キーボードから入力した数値の合計(N,0).

キーボードから入力した数値の合計(N,S) :-
        N =< 0,
        write_formatted('合計は %t\n',[S]),!.
キーボードから入力した数値の合計(N,S1) :-
        S2 is S1 + N,
        数値を入力する(N2),
        キーボードから入力した数値の合計(N2,S2).

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

キーボードから入力した数値の合計 :-
        キーボードから入力した数値の合計(0,S),
        write_formatted('合計は %t\n',[S]).

キーボードから入力した数値の合計(S1,S) :-
        数値を入力する(N),
        N > 0,
        S2 is S1 + N,
        キーボードから入力した数値の合計(S2,S).
キーボードから入力した数値の合計(S,S).

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

キーボードから入力した数値の合計 :-
        数値を入力する(N),
        キーボードから入力した数値の合計(N,0,S),
        write_formatted('合計は %t\n',[S]).

キーボードから入力した数値の合計(N,S,S) :-
        N =< 0,!.
キーボードから入力した数値の合計(N,S1,S) :-
        S2 is S1 + N,
        数値を入力する(N2),
        キーボードから入力した数値の合計(N2,S2,S).

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

数値を入力する(_数値) :-
        get_line(Line),
        数値入力診断(Line,_数値),!.
数値を入力する(_数値) :-
        数値を入力する(_数値).

数値入力診断(Line,_数値) :-
        atom_to_term(Line,_数値,_),
        number(_数値),!.
数値入力診断(Line,_) :-
        write_formatted('入力された %t からは数値が得られませんでした。再入力をお願いします。\n',[Line]),
        fail.