このディレクトリの索引

# 出題 :: C/C++の宿題片付けます 128代目 #825 # 〔1〕授業単元:C言語 # 〔2〕問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9718.txt # 課題 I # コマンド引数に自分の姓と名を与え,そのまま表示するプログラムを作成せよ. # コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させること. # 課題 II # コマンド引数に任意の個数の整数を与え,その和を表示するプログラムを作成せよ. # コマンド引数の数が少なかった場合は,標準エラー出力にエラー分を表示させること. # また,コマンド引数に整数以外が与えられた場合にも,標準エラー出力にエラー分を # 表示させること. # 課題 III # n から m までの整数の和を求めるプログラムを作成せよ.(n ≦ m) # 再帰呼び出しを行う関数 sum を作成して問題を解くこと. # 関数 sum は,引数を n, m とし,n から m までの和を返すもとのとする. '課題 I コマンド引数に自分の姓と名を与え,そのまま表示するプログラムを作成せよ. コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させること.' :- コマンド引数から自分の姓と名を得て(_コマンド引数ならび), 'そのまま表示する.コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび). コマンド引数から自分の姓と名を得て(_コマンド引数ならび) :- current_prolog_flag(argv,_コマンド引数ならび). 'そのまま表示する.コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび) :- 'そのまま表示する.'(_コマンド引数ならび),!. 'そのまま表示する.コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび) :- 'コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび). 'そのまま表示する.'([_姓,_名]) :- writef('%w %w\n',[_姓,_名]). 'コマンド引数の数が少なかったり多かった場合は,標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび) :- 'コマンド引数の数が少なかったり多かった場合は,'(_コマンド引数ならび), '標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび). 'コマンド引数の数が少なかったり多かった場合は,'(_コマンド引数ならび) :- length(_コマンド引数ならび,_引数の数), _引数の数 < 1. '標準エラー出力にエラー分を表示させる.'(_コマンド引数ならび) :- tell(user_error), writef('%w\n',[_コマンド引数ならび]), told. '課題 II コマンド引数に任意の個数の整数を与え,その和を表示するプログラムを作成せよ. コマンド引数の数が少なかった場合は,標準エラー出力にエラー分を表示させること. また,コマンド引数に整数以外が与えられた場合にも,標準エラー出力にエラー分を 表示させること.' :- 'コマンド引数から任意の個数の整数を得て、引数の長さが1以上であり、すべて整数であるかを調べる'(_整数ならび), その和を表示する(_整数ならび). 'コマンド引数から任意の個数の整数を得て、引数の長さが1以上であり、すべて整数であるかを調べる'(_整数ならび) :- 'コマンド引数から任意の個数の整数を得て、'(_整数ならび), すべて整数であるかを調べる(_整数ならび). 'コマンド引数から任意の個数の整数を得て、'(_整数ならび) :- current_prolog_flag(argv,_整数ならび). '引数の長さが1以上であり、すべて整数であるかを調べる'(_整数ならび) :- '引数の長さが1以上であり、'(_整数ならび), すべて整数であるかを調べる(_整数ならび). '引数の長さが1以上であり、'(_整数ならび) :- 引数の長さが(_整数ならび,_長さ), '1以上であり、'(_長さ),!. '引数の長さが1以上であり、'(_整数ならび) :- エラー出力に引数が0であることを表示する. 引数の長さが(_整数ならび,_長さ) :- length(_整数ならび,_長さ). '1以上であり、'(_長さ) :- _ながさ >= 1. エラー出力に引数が0であることを表示する :- tell(write_error), write('引数がありません。\n'), told. すべて整数であるかを調べる(_引数ならび) :- forall(member(_整数,_引数ならび),integer(_整数)),!. すべて整数であるかを調べる(_整数ならび) :- エラー出力に整数でない要素があることを表示する(_引数ならび). エラー出力に整数でない要素があることを表示する(_引数ならび) :- tell(write_error), writef('整数でない要素がある :: %w\n',[_引数ならび]), told. その和を表示する(_整数ならび) :- sum_list(_整数ならび,_和), writef('引数に与えられた整数の合計は%wです\n',[_和]). '課題 III n から m までの整数の和を求めるプログラムを作成せよ.(n ≦ m)'(_n,_m,__整数の和) :- 'n から m までの整数の和を求める'(_n,_m,0,_整数の和). 'n から m までの整数の和を求める'(N,N,_ここまでの累計,_整数の和) :- _整数の和 is _ここまでの累計 + N. 'n から m までの整数の和を求める(N,M,_ここまでの累計,_整数の和) :- 'NがMより小さい間、ここまでの累計にNを加えて行く'(N,M,_ここまでの累計,_整数の和). 'NがMより小さい間、ここまでの累計にNを加えて行く'(N,M,_ここまでの累計,_整数の和) :- 'NがMより小さい間、ここまでの累計にNを加える'(N,M,_ここまでの累計,_Nを加えた累計), succ(N,N2), 'n から m までの整数の和を求める'(N2,M,_Nを加えた累計,_整数の和). 'NがMより小さい間、ここまでの累計にNを加える'(N,M,_ここまでの累計,_Nを加えた累計), N < M, ここまでの累計にNを加える(N,_ここまでの累計,_Nを加えた累計). ここまでの累計にNを加える(N,_ここまでの累計,_Nを加えた累計) :- _Nを加えた累計 is _ここまでの累計 + N.