このディレクトリの索引
#  Prolog問題: http://nojiriko.asia/prolog/olympic.html
#  をCopy&Pasteしてあなたの環境に 夏季オリンピック/2 と 冬季オリンピック/2 を
#  定義した上で、述語 オリンピック/2 を夏季、冬季オリンピック混在して、
#  開催年の古い順に節定義せよ。


'夏季オリンピック/2 と 冬季オリンピック/2 を
定義した上で、述語 オリンピック/2 を夏季、冬季オリンピック混在して、
開催年の古い順に節定義せよ。' :-
        '述語 オリンピック/2 を夏季、冬季オリンピック混在して、'(LL1),
        開催年の古い順に節定義せよ(LL1).

'述語 オリンピック/2 を夏季、冬季オリンピック混在して、'(LL1) :-
        findall([_年,_都市],(
                    夏季オリンピック(_年,_都市);
                    冬季オリンピック(_年,_都市)),
                LL1).

開催年の古い順に節定義せよ(LL1) :-
        sort(LL1,LL2),
        forall((member([_年,_都市],LL2),assertz(オリンピック(_年,_都市))).


夏季オリンピック(1896,アテネ).
夏季オリンピック(1900,パリ).
夏季オリンピック(1904,セントルイス).
夏季オリンピック(1906,アテネ).
夏季オリンピック(1908,ロンドン).
夏季オリンピック(1912,ストックホルム).
夏季オリンピック(1920,アントワープ).
夏季オリンピック(1924,パリ).
夏季オリンピック(1928,アムステルダム).
夏季オリンピック(1932,ロサンジェルス).
夏季オリンピック(1936,ベルリン).
夏季オリンピック(1948,ロンドン).
夏季オリンピック(1952,ヘルシンキ).
夏季オリンピック(1956,メルボルン).
夏季オリンピック(1960,ローマ).
夏季オリンピック(1964,東京).
夏季オリンピック(1968,メキシコシチー).
夏季オリンピック(1972,ミュンヘン).
夏季オリンピック(1976,モントリオール).
夏季オリンピック(1980,モスクワ).
夏季オリンピック(1984,ロサンジェルス).
夏季オリンピック(1988,ソウル).
夏季オリンピック(1992,バルセロナ).
夏季オリンピック(1996,アトランタ).
夏季オリンピック(2000,シドニー).
夏季オリンピック(2004,アテネ).
夏季オリンピック(2008,北京).
夏季オリンピック(2012,ロンドン).

冬季オリンピック(1924,シャモニー).
冬季オリンピック(1928,サンモリッツ).
冬季オリンピック(1932,レークプラシッド).
冬季オリンピック(1936,ガルミッシュパルテンキルヒェン).
冬季オリンピック(1948,サンモリッツ).
冬季オリンピック(1952,オスロ).
冬季オリンピック(1956,コルティナダンペッツォ).
冬季オリンピック(1960,スコーバレー).
冬季オリンピック(1964,インスブルック).
冬季オリンピック(1968,グルノーブル).
冬季オリンピック(1972,札幌).
冬季オリンピック(1976,インスブルック).
冬季オリンピック(1980,レークプラシッド).
冬季オリンピック(1984,サラエボ).
冬季オリンピック(1988,カルガリー).
冬季オリンピック(1992,アルベールビル).
冬季オリンピック(1994,リレハンメル).
冬季オリンピック(1998,長野).
冬季オリンピック(2002,ソルトレイクシティ).
冬季オリンピック(2006,トリノ).
冬季オリンピック(2010,バンクーバー).