このディレクトリの索引

# 出典 :: C#,C#の宿題片付けます。 #581 # 問題4:1月1日が金曜日の平年(たとえば2010年)について、月日の入力データから、曜日を求めるプログラム。 # (実行結果例) # 月を入力してください:9 # 日を入力してください:15 # 9月15日は、水曜日です。 # # 以上4問です。どうか回答よろしくお願い致します # '1月1日が金曜日の平年(たとえば2010年)について、月日の入力データから、曜日を求めて、その月日と曜日を表示する。' :- '1月1日が金曜日の平年(たとえば2010年)について、月日の入力データから、曜日を求めて、'(_月,_日,_曜日), 'その月日と曜日を表示する。'(_月,_日,_曜日). '1月1日が金曜日の平年(たとえば2010年)について、月日の入力データから、曜日を求めて、'(_月,_日,_曜日) :- 月日の入力データから(_月,_日), '1月1日が金曜日の平年(たとえば2010年)について、曜日を計算して'(_月,_日,_曜日). 月日の入力データから(_月,_日) :- 月を入力する(_月), 日を入力する(_日). 月を入力する(_月) :- write('月を入力してください: '), 整数入力(_月). 日を入力する(_日) :- write('日を入力してください: '), 整数入力(_日). 整数入力(_整数) :- read_line_to_codes(current_input,Codes), number_codes(_整数,Codes), integer(_整数). '1月1日が金曜日の平年(たとえば2010年)について、曜日を計算して'(_月,_日,_曜日) :- 曜日番号(_1月1日の曜日番号,金曜), 平年の曜日を計算して(_1月1日の曜日番号,_月,_日,_曜日). 曜日番号(0,日曜). 曜日番号(1,月曜). 曜日番号(2,火曜). 曜日番号(3,水曜). 曜日番号(4,木曜). 曜日番号(5,金曜). 曜日番号(6,土曜). 平年の曜日を計算して(_1月1日の曜日番号,_月,_日,_曜日) :- 平年の前月までの日数の合計は(_月,_前月までの日数の合計), _曜日番号 is (_前月までの日数の合計 + _日 + (_1月1日の曜日番号 - 1)) mod 7, 曜日番号(_曜日番号,_曜日). 平年の前月までの日数の合計は(_月,_前月までの日数の合計) :- 平年の前月までの日数の(_月,_前月までの月の日数ならび), 合計は(_前月までの月の日数ならび,_前月までの日数の合計). 平年の前月までの日数の(_月,_前月までの月の日数ならび) :- findall(_日数,平年の前月までの月の日数(_月,_日数),_前月までの月の日数ならび). 合計は(_前月までの月の日数ならび,_前月までの日数の合計) :- sum_list(_前月までの月の日数ならび,_前月までの日数の合計). 平年の前月までの月の日数(_月,_日数) :- 平年の月は何日あるか(_月_1,_日数), _月_1 < _月. 平年の月は何日あるか(1,31). 平年の月は何日あるか(2,28). 平年の月は何日あるか(3,31). 平年の月は何日あるか(4,30). 平年の月は何日あるか(5,31). 平年の月は何日あるか(6,30). 平年の月は何日あるか(7,31). 平年の月は何日あるか(8,31). 平年の月は何日あるか(9,30). 平年の月は何日あるか(10,31). 平年の月は何日あるか(11,30). 平年の月は何日あるか(12,31). 'その月日と曜日を表示する。'(_月,_日,_曜日) :- writef('%w月%w日は、%wです。\n',[_月,_日,_曜日]).