このディレクトリの索引

# 出典 :: C/C++言語の宿題片付けます 148代目 #197 # [1] 授業単元:プログラミング # [2] 問題文(含コード&リンク): # http://ime.nu/codepad.org/t6Un18Xw # 上記のファイルを元に40年間の年平均気温の平均より平均気温が低い年を # ファイルkadai05.datへ出力するプログラムkadai05.c を作成せよ。 # # また同様に年平均気温の低い順番に並び替えて、 # ファイルkadai06.datへ出力するプログラムkadai06.c を作成せよ # # 元のファイルで使っているtokyo.datは↓です # http://ime.nu/www.dotup.org/uploda/www.dotup.org1668350.dat # # 1970 15.2 19.3 35.5 8/29 3.4 12/26 11.5 -4.0 1/17 26.9 8/22 # 1971 15.0 19.0 34.4 8/11 3.1 1/3 11.5 -2.2 1/11 26.8 8/6 # 1972 15.7 19.6 35.2 8/8 2.0 2/26 12.2 -2.1 1/7 26.5 8/5 # 1973 15.7 19.9 34.7 7/18 4.0 1/15 11.9 -1.9 2/9 27.6 8/19 # 1974 15.2 19.2 34.2 8/7 2.5 1/21 11.8 -2.7 2/11 26.1 8/12 # 1975 15.6 19.5 35.6 7/18 4.2 1/2 12.2 -2.6 2/18 26.3 7/28 # 1976 15.0 19.0 35.4 8/24 5.0 1/21 11.4 -3.9 1/22 25.6 8/23 # 1977 15.8 19.7 34.9 8/9 2.4 1/23 12.3 -3.8 2/1 27.7 8/5 # 1978 16.1 20.0 36.3 8/22 3.3 1/18 12.6 -2.0 2/3 27.5 8/20 # 1979 16.9 20.6 34.3 7/31 3.5 1/13 13.5 -0.5 1/29 27.4 8/20 # 1980 15.4 19.2 33.0 7/23 3.9 1/13 12.0 -1.2 2/15 26.0 7/23 # 1981 15.0 18.8 34.3 7/17 4.5 2/24 11.6 -3.5 2/27 26.5 8/12 # 1982 16.0 19.5 33.0 8/22 4.0 1/16 12.6 -1.0 2/8 26.6 8/29 # 1983 15.7 19.5 37.1 8/19 6.1 1/22 12.3 -2.4 1/23 27.6 8/80 # 1984 14.9 18.7 38.1 9/3 0.7 1/21 11.6 -3.5 2/9 27.6 8/7 # 1985 15.7 19.3 35.0 9/2 3.9 1/30 12.3 -2.5 1/30 27.1 8/17 # 1986 15.2 18.7 34.6 8/5 2.9 2/11 11.9 -1.6 2/9 26.8 8/30 # 1987 16.3 20.0 37.3 7/24 3.4 2/18 12.8 -0.7 2/2 28.0 7/28 # 1988 15.4 19.0 32.9 8/23 5.0 2/27 12.1 -1.7 2/22 27.1 8/24 # 1989 16.4 19.9 33.5 8/10 5.8 2/24 13.2 0.9 1/28 26.5 8/31 # 1990 17.0 20.6 35.9 8/24 1.5 2/1 13.8 -1.4 1/27 28.8 8/24 # 1991 16.4 19.8 35.6 7/25 4.9 12/27 13.2 -0.8 2/25 27.8 8/30 # 1992 16.0 19.6 35.2 9/3 5.6 2/11 2.7 -0.5 2/1 27.3 9/30 # 1993 15.5 19.0 32.9 8/12 4.3 1/15 12.3 0.7 12/24 25.9 8/23 # 1994 16.9 20.5 39.1 8/3 4.1 2/12 13.5 -2.3 2/14 29.3 8/4 # 1995 16.3 20.1 36.4 8/28 4.6 3/4 13.0 -1.2 1/15 27.8 8/9 # 1996 15.8 19.7 38.7 8/15 2.0 2/17 12.3 -1.5 2/3 28.2 8/16 # 1997 16.7 20.6 37.7 7/5 4.6 2/22 13.2 -2.1 1/22 28.0 8/10 # 1998 16.7 20.5 36.1 7/4 4.2 1/12 13.4 -0.8 1/26 27.4 8/26 # 1999 17.0 20.9 34.8 8/23 6.1 1/8 13.6 -1.4 2/4 27.5 9/10 # 2000 16.9 20.6 37.8 9/2 4.4 2/26 13.6 -0.7 1/28 28.2 9/20 # 2001 16.5 20.4 38.1 7/24 4.4 1/20 13.1 -2.4 1/15 28.2 7/24 # 2002 16.7 20.5 35.8 8/11 3.0 12/9 13.4 -0.3 1/4 28.1 8/10 # 2003 16.0 19.6 34.3 9/13 1.8 1/3 12.8 -0.8 1/16 27.1 8/26 # 2004 17.3 21.3 39.5 7/20 4.3 12/31 13.9 0.2 12/31 29.6 7/21 # 2005 16.2 20.0 36.2 6/28 3.6 3/4 12.8 -0.8 12/19 27.6 8/5 # 2006 16.4 19.9 36.1 7/15 3.9 2/6 13.4 -1.5 2/5 27.5 8/19 # 2007 17.0 20.7 37.5 8/17 6.5 1/20 13.7 0.2 2/25 29.4 8/16 # 2008 16.4 20.1 35.3 8/8 4.5 2/9 13.3 -0.1 2/4 27.6 8/15 # 2009 16.7 20.2 34.2 7/16 5.3 2/27 13.6 0.0 1/13 26.7 7/26 気温データ(1970,15.2,19.3,35.5,8/29,3.4,12/26,11.5,-4.0,1/17,26.9,8/22). 気温データ(1971,15.0,19.0,34.4,8/11,3.1,1/3,11.5,-2.2,1/11,26.8,8/6). 気温データ(1972,15.7,19.6,35.2,8/8,2.0,2/26,12.2,-2.1,1/7,26.5,8/5). 気温データ(1973,15.7,19.9,34.7,7/18,4.0,1/15,11.9,-1.9,2/9,27.6,8/19). 気温データ(1974,15.2,19.2,34.2,8/7,2.5,1/21,11.8,-2.7,2/11,26.1,8/12). 気温データ(1975,15.6,19.5,35.6,7/18,4.2,1/2,12.2,-2.6,2/18,26.3,7/28). 気温データ(1976,15.0,19.0,35.4,8/24,5.0,1/21,11.4,-3.9,1/22,25.6,8/23). 気温データ(1977,15.8,19.7,34.9,8/9,2.4,1/23,12.3,-3.8,2/1,27.7,8/5). 気温データ(1978,16.1,20.0,36.3,8/22,3.3,1/18,12.6,-2.0,2/3,27.5,8/20). 気温データ(1979,16.9,20.6,34.3,7/31,3.5,1/13,13.5,-0.5,1/29,27.4,8/20). 気温データ(1980,15.4,19.2,33.0,7/23,3.9,1/13,12.0,-1.2,2/15,26.0,7/23). 気温データ(1981,15.0,18.8,34.3,7/17,4.5,2/24,11.6,-3.5,2/27,26.5,8/12). 気温データ(1982,16.0,19.5,33.0,8/22,4.0,1/16,12.6,-1.0,2/8,26.6,8/29). 気温データ(1983,15.7,19.5,37.1,8/19,6.1,1/22,12.3,-2.4,1/23,27.6,8/80). 気温データ(1984,14.9,18.7,38.1,9/3,0.7,1/21,11.6,-3.5,2/9,27.6,8/7). 気温データ(1985,15.7,19.3,35.0,9/2,3.9,1/30,12.3,-2.5,1/30,27.1,8/17). 気温データ(1986,15.2,18.7,34.6,8/5,2.9,2/11,11.9,-1.6,2/9,26.8,8/30). 気温データ(1987,16.3,20.0,37.3,7/24,3.4,2/18,12.8,-0.7,2/2,28.0,7/28). 気温データ(1988,15.4,19.0,32.9,8/23,5.0,2/27,12.1,-1.7,2/22,27.1,8/24). 気温データ(1989,16.4,19.9,33.5,8/10,5.8,2/24,13.2,0.9,1/28,26.5,8/31). 気温データ(1990,17.0,20.6,35.9,8/24,1.5,2/1,13.8,-1.4,1/27,28.8,8/24). 気温データ(1991,16.4,19.8,35.6,7/25,4.9,12/27,13.2,-0.8,2/25,27.8,8/30). 気温データ(1992,16.0,19.6,35.2,9/3,5.6,2/11,2.7,-0.5,2/1,27.3,9/30). 気温データ(1993,15.5,19.0,32.9,8/12,4.3,1/15,12.3,0.7,12/24,25.9,8/23). 気温データ(1994,16.9,20.5,39.1,8/3,4.1,2/12,13.5,-2.3,2/14,29.3,8/4). 気温データ(1995,16.3,20.1,36.4,8/28,4.6,3/4,13.0,-1.2,1/15,27.8,8/9). 気温データ(1996,15.8,19.7,38.7,8/15,2.0,2/17,12.3,-1.5,2/3,28.2,8/16). 気温データ(1997,16.7,20.6,37.7,7/5,4.6,2/22,13.2,-2.1,1/22,28.0,8/10). 気温データ(1998,16.7,20.5,36.1,7/4,4.2,1/12,13.4,-0.8,1/26,27.4,8/26). 気温データ(1999,17.0,20.9,34.8,8/23,6.1,1/8,13.6,-1.4,2/4,27.5,9/10). 気温データ(2000,16.9,20.6,37.8,9/2,4.4,2/26,13.6,-0.7,1/28,28.2,9/20). 気温データ(2001,16.5,20.4,38.1,7/24,4.4,1/20,13.1,-2.4,1/15,28.2,7/24). 気温データ(2002,16.7,20.5,35.8,8/11,3.0,12/9,13.4,-0.3,1/4,28.1,8/10). 気温データ(2003,16.0,19.6,34.3,9/13,1.8,1/3,12.8,-0.8,1/16,27.1,8/26). 気温データ(2004,17.3,21.3,39.5,7/20,4.3,12/31,13.9,0.2,12/31,29.6,7/21). 気温データ(2005,16.2,20.0,36.2,6/28,3.6,3/4,12.8,-0.8,12/19,27.6,8/5). 気温データ(2006,16.4,19.9,36.1,7/15,3.9,2/6,13.4,-1.5,2/5,27.5,8/19). 気温データ(2007,17.0,20.7,37.5,8/17,6.5,1/20,13.7,0.2,2/25,29.4,8/16). 気温データ(2008,16.4,20.1,35.3,8/8,4.5,2/9,13.3,-0.1,2/4,27.6,8/15). 気温データ(2009,16.7,20.2,34.2,7/16,5.3,2/27,13.6,0.0,1/13,26.7,7/26). '年平均気温ならび'(_年平均気温ならび) :- findall([_年,_年平均気温],気温データ(_年,_,_年平均気温,_,_,_,_,_,_,_,_,_),_年平均気温ならび). '40年間年平均気温'(_年平均気温ならび,_40年間年平均気温) :- findavg(_年平均気温, member([_,_年平均気温],_年平均気温ならび),_40年間平均気温). '40年間の年平均気温の平均より平均気温が低い年をファイルkadai05.datへ出力する' :- '40年間の年平均気温の平均より'(_年平均気温ならび,_40年間年平均気温), '平均気温が低い年をファイルkadai05.datへ出力する'(_年平均気温ならび,_40年間平均気温). '40年間の年平均気温の平均より'(_年平均気温ならび,_40年間年平均気温) :- '年平均気温ならび'(_年平均気温ならび), '40年間年平均気温'(_年平均気温ならび,_40年間年平均気温). '平均気温が低い年をファイルkadai05.datへ出力する'(_年平均気温ならび,_40年間平均気温,_年ならび) :- 平均気温が低い年を(_年平均気温ならび,_40年間年平均気温,_年ならび), 'ファイルkadai05.datへ出力する'(_年ならび). 平均気温が低い年を(_年平均気温ならび,_40年間年平均気温,_年ならび) :- findall(_年,平均気温が低い(_年平均気温ならび,_40年間年平均気温,_年),_年ならび). 平均気温が低い(_年平均気温ならび,_40年間年平均気温,_年) :- member([_年,_年平均気温],_年平均気温ならび), _年平均気温 < _40年間年平均気温. 'ファイルkadai05.datへ出力する'(_年ならび) :- tell('kadai05.dat'), 出力する(_年ならび), told. 出力する(_年ならび) :- forall(member(_年,_年ならび),writef('%w\n',[_年])). findavg(_射影項,_目標,_平均) :- findall(_射影項,_目標,_射影項ならび), length(_射影項ならび,_要素数), sum_list(_射影項ならび,_合計), _平均 is _合計 / _要素数.