このディレクトリの索引

# 出典 :: C/C++の宿題片付けます 166代目 #59 # 授業単元:プログラミング # [2] 問題文(含コード&リンク): # 10000秒を入力して、2時間46分40秒と表示させるにはどうすればよいですか? '10000秒を入力して、2時間46分40秒と表示させるにはどうすればよいですか?' :- '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。 秒を入力して、時間、分、秒を表示させる'. '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。 秒を入力して、時間、分、秒を表示させる' :- '秒を入力して、'(_入力した秒), '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。 時間、分、秒を表示させる'(_入力した秒). '秒を入力して、'(_入力した秒) :- '秒は正の整数である。正の整数を得る'(_入力した秒). '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。 時間、分、秒を表示させる'(_入力した秒) :- '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。 時間、分、秒を'(_入力した秒,_時間,_分,_秒), 表示させる(_入力した秒,_時間,_分,_秒). '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。 時間、分、秒を'(_入力した秒,_時間,_分,_秒) :- '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。'(_入力した秒,_時間,_分,_秒). '時間は_入力した秒を3600で割った商、分は3600で割った剰余を60で割った商、秒はその剰余である。'(_入力した秒,_時間,_分,_秒) :- '時間は_入力した秒を3600で割った商、'(_入力した秒,_時間), '分は3600で割った剰余を60で割った商、 秒はその剰余である。'(_入力した秒,_分,_秒). '時間は_入力した秒を3600で割った商、'(_入力した秒,_時間) :- _時間 is _入力した秒 // 3600. '分は3600で割った剰余を60で割った商、 秒はその剰余である。'(_入力した秒,_分,_秒) :- '分は_入力した秒を3600で割った剰余をさらに60で割った商、'(_入力した秒,_分), '秒は_入力した秒を3600で割った剰余をさらに60で割った剰余である。'(_入力した秒,_秒). '分は_入力した秒を3600で割った剰余をさらに60で割った商、'(_入力した秒,_分) :- _3600秒で割った余り is _入力した秒 mod 3600, _分 is _3600秒で割った余り // 60. '秒は_入力した秒を3600で割った剰余をさらに60で割った剰余である。'(_入力した秒,_秒) :- _3600秒で割った余り is _入力した秒 mod 3600, _秒 is _3600秒で割った余り mod 60. 表示させる(_入力した秒,_時間,_分,_秒) :- writef('入力した %w秒は %w時間%w分%w秒になります。\n',[_入力した秒,_時間,_分,_秒]). '秒は正の整数である。正の整数を得る'(_整数) :- write('秒(正の整数)を入力して下さい :: '), 行入力(_文字列), 正の整数入力検査(_文字列,_整数),!. '秒は正の整数である。正の整数を得る'(_整数) :- write('再入力をお願いします。\n'), '秒は正の整数である。正の整数を得る'(_整数). 行入力(_文字列) :- read_line_to_codes(current_input,Codes), atom_codes(_文字列,Codes). 正の整数入力検査(_文字列,_整数) :- 文字列は数値であり(_文字列,_整数),!, 正の整数(_整数). 文字列は数値であり(_文字列,_整数) :- atom_number(_文字列,_整数),!. 文字列は数値であり(_文字列,_整数) :- writef('入力された%wから数値が得られません。',[_文字列]), fail. 正の整数(_整数) :- 整数(_整数),!, 正の(_整数). 整数(_整数) :- integer(_整数),!. 整数(_整数) :- write('入力された数%wは整数ではありません。',[_整数]), fail. 正の(_整数) :- _整数 >= 0,!. 正の(_整数) :- writef('入力された整数%wは負数でした。',[_整数]), fail.