第13回 基礎プログラミング II レポート課題 氏名:笹原千珠子 学籍番号:c109080A 語学クラス:英語3 コース(系):政策マネジメント チーム名:及川屋 チームホームページアドレス:http://roy/~c109030/oikawa/oikawaya.html プロジェクト名:2010年ニュースクイズ・2010年ニュース検索 -------------------------------------------------------------------- 第13回のレポートだけ提出し忘れていたので提出します。なので再提出分ではな いです。 1. CGI のプログラムの部分の担当になった。 このときもまだ方向性が定まっていなかった。CGI は表示できたが、このときは まだ2回送信ボタンを押すやりかただったと思う。 2. ニュースクイズの方はデモ版も含めほぼ完成。 ニュース検索の方は CGI を表示させるところまでは出来たのでデータを表示さ せるなどの調整の後企画書などに手を加えて完成。 3. 2010年ニュースクイズ:http://roy/~c109030/rubycgi/quiz/quiz2010.html 2010年ニュース検索:http://roy/~c109030/oikawa/kennsaku2010.html 4. 2010_kensaku.html ニュース検索 ニュースを検索します。何月のどこの新聞社のニュースをみますか
朝日新聞 日経新聞 毎日新聞 山形新聞 読売新聞
2010_kensaku.rb a. 見たい新聞社と月を選ぶとその月のその新聞社の記事の概要が見れる。 b. #!/usr/bin/env ruby # Ruby を使う宣言 require 'cgi' cgi = CGI.new("html4") # CGI をウェブページに使う宣言 print("Content-type: text/html; charset=EUC-JP\n\n") #日本語コード month = cgi["month"] #月の定義 shinbunsya = cgi["shinbunsya"] #新聞社の定義 print("\n") #以下 ウェブページに出る文章 print("\n") print("2010年ニュース検索\n") print("\n") print("\n") printf("

%s

\n", month) #選んだ月が入る printf("

%s の記事概要

\n", shinbunsya) #選んだ新聞社の記事が入る asahi_1 = 0 #1月の朝日新聞の変数が入る nikkei_1 = 0 #1月の日経新聞の変数が入る mainichi_1 = 0 #1月の毎日新聞の変数が入る yamagata_1 = 0 #1月の山形新聞の変数が入る yomiuri_1 = 0 #1月の読売新聞の変数が入る kiji_1 = 0 #1月の記事のタイトルが入る asahi_2 = 0 #以下繰り返し nikkei_2 = 0 mainichi_2 = 0 yamagata_2 = 0 yomiuri_2 = 0 kiji_2 = 0 asahi_3 = 0 nikkei_3 = 0 mainichi_3 = 0 yamagata_3 = 0 yomiuri_3 = 0 kiji_3 = 0 asahi_4 = 0 nikkei_4 = 0 mainichi_4 = 0 yamagata_4 = 0 yomiuri_4 = 0 kiji_4 = 0 asahi_5 = 0 nikkei_5 = 0 mainichi_5 = 0 yamagata_5 = 0 yomiuri_5 = 0 kiji_5 = 0 asahi_6 = 0 nikkei_6 = 0 mainichi_6 = 0 yamagata_6 = 0 yomiuri_6 = 0 kiji_6 = 0 asahi_7 = 0 nikkei_7 = 0 mainichi_7 = 0 yamagata_7 = 0 yomiuri_7 = 0 kiji_7 = 0 asahi_8 = 0 nikkei_8 = 0 mainichi_8 = 0 yamagata_8 = 0 yomiuri_8 = 0 kiji_8 = 0 asahi_9 = 0 nikkei_9 = 0 mainichi_9 = 0 yamagata_9 = 0 yomiuri_9 = 0 kiji_9 = 0 asahi_10 = 0 nikkei_10 = 0 mainichi_10 = 0 yamagata_10 = 0 yomiuri_10 = 0 kiji_10 = 0 asahi_11 = 0 nikkei_11 = 0 mainichi_11 = 0 yamagata_11 = 0 yomiuri_11 = 0 kiji_11 = 0 asahi_12 = 0 nikkei_12 = 0 mainichi_12 = 0 yamagata_12 = 0 yomiuri_12 = 0 kiji_12 = 0 if month == "1月" #もし月で1月を選んだら open("2010_kensaku1.dat","r") do |dat1| #2010_kensaku1.datを開く while data1 = dat1.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data1 kiji_1 = $1 # 1列目に1月の記事のタイトル asahi_1 = $2 # 2列目に朝日新聞の1月の記事 nikkei_1 = $3 # 3列目に日経新聞の1月の記事 mainichi_1 = $4 # 4列目に毎日新聞の1月の記事 yamagata_1 = $5 # 5列目に山形新聞の1月の記事 yomiuri_1 = $6 # 6列目に読売新聞の1月の記事 選んだものによって変わる end end end end if month == "1月" #1月を選んだときに if /朝日新聞/e =~ shinbunsya #朝日新聞を選んでいたら print("\n") #以下 html の部分 print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_1) #1月の朝日新聞の記事のタイトルが入る printf("

%s

", asahi_1) #1月の朝日新聞の記事が入る print("\n") print("\n") end end if month == "1月" #以下繰り返し if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_1) printf("

%s

", nikkei_1) print("\n") print("\n") end end if month == "1月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_1) printf("

%s

", mainichi_1) print("\n") print("\n") end end if month == "1月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_1) printf("<p>%s</p>", yamagata_1) print("</body>\n") print("</html>\n") end end if month == "1月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_1) printf("

%s

", yomiuri_1) print("\n") print("\n") end end if month == "2月" #以下月を変えて繰り返し open("2010_kensaku2.dat","r") do |dat2| while data2 = dat2.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data2 kiji_2 = $1 asahi_2 = $2 nikkei_2 = $3 mainichi_2 = $4 yamagata_2 = $5 yomiuri_2 = $6 end end end end if month == "2月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_2) printf("

%s

", asahi_2) print("\n") print("\n") end end if month == "2月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_2) printf("

%s

", nikkei_2) print("\n") print("\n") end end if month == "2月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_2) printf("

%s

", mainichi_2) print("\n") print("\n") end end if month == "2月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_2) printf("

%s

", yamagata_2) print("\n") print("\n") end end if month == "2月" if /読売新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_2) printf("

%s

", yomiuri_2) print("\n") print("\n") end end if month == "3月" open("2010_kensaku3.dat","r") do |dat3| while data3 = dat3.gets #data1 の 1 if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data3 kiji_3 = $1 asahi_3 = $2 nikkei_3 = $3 mainichi_3 = $4 yamagata_3 = $5 yomiuri_3 = $6 end end end end if month == "3月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_3) printf("

%s

", asahi_3) print("\n") print("\n") end end if month == "3月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_3) printf("

%s

", nikkei_3) print("\n") print("\n") end end if month == "3月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_3) printf("

%s

", mainichi_3) print("\n") print("\n") end end if month == "3月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_3) printf("<p>%s</p>", yamagata_3) print("</body>\n") print("</html>\n") end end if month == "3月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_3) printf("

%s

", yomiuri_3) print("\n") print("\n") end end if month == "4月" open("2010_kensaku4.dat","r") do |dat4| while data4 = dat4.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data4 kiji_4 = $1 asahi_4 = $2 nikkei_4 = $3 mainichi_4 = $4 yamagata_4 = $5 yomiuri_4 = $6 end end end end if month == "4月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_4) printf("

%s

", asahi_4) print("\n") print("\n") end end if month == "4月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_4) printf("

%s

", nikkei_4) print("\n") print("\n") end end if month == "4月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_4) printf("

%s

", mainichi_4) print("\n") print("\n") end end if month == "4月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_4) printf("<p>%s</p>", yamagata_4) print("</body>\n") print("</html>\n") end end if month == "4月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf("

%s

", yomiuri_4) print("\n") print("\n") end end if month == "5月" open("2010_kensaku5.dat","r") do |dat5| while data5 = dat5.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data5 kiji_5 = $1 asahi_5 = $2 nikkei_5 = $3 mainichi_5 = $4 yamagata_5 = $5 yomiuri_5 = $6 end end end end if month == "5月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_5) printf("

%s

", asahi_5) print("\n") print("\n") end end if month == "5月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_5) printf("

%s

", nikkei_5) print("\n") print("\n") end end if month == "5月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_5) printf("

%s

", mainichi_5) print("\n") print("\n") end end if month == "5月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_5) printf("<p>%s</p>", yamagata_5) print("</body>\n") print("</html>\n") end end if month == "5月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_5) printf("

%s

", yomiuri_5) print("\n") print("\n") end end if month == "6月" open("2010_kensaku6.dat","r") do |dat6| while data6 = dat6.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data6 kiji_6 =$1 asahi_6 = $2 nikkei_6 = $3 mainichi_6 = $4 yamagata_6 = $5 yomiuri_6 = $6 end end end end if month == "6月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_6) printf("

%s

", asahi_6) print("\n") print("\n") end end if month == "6月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_6) printf("

%s

", nikkei_6) print("\n") print("\n") end end if month == "6月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_6) printf("

%s

", mainichi_6) print("\n") print("\n") end end if month == "6月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_6) printf("<p>%s</p>", yamagata_6) print("</body>\n") print("</html>\n") end end if month == "6月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_6) printf("

%s

", yomiuri_6) print("\n") print("\n") end end if month == "7月" open("2010_kensaku7.dat","r") do |dat7| while data7 = dat7.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data7 kiji_7 = $1 asahi_7 = $2 nikkei_7 = $3 mainichi_7 = $4 yamagata_7 = $5 yomiuri_7 = $6 end end end end if month == "7月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_7) printf("

%s

", asahi_7) print("\n") print("\n") end end if month == "7月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_7) printf("

%s

", nikkei_7) print("\n") print("\n") end end if month == "7月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_7) printf("

%s

", mainichi_7) print("\n") print("\n") end end if month == "7月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_7) printf("<p>%s</p>", yamagata_7) print("</body>\n") print("</html>\n") end end if month == "7月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_7) printf("

%s

", yomiuri_7) print("\n") print("\n") end end if month == "8月" open("2010_kensaku8.dat","r") do |dat8| while data8 = dat8.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data8 kiji_8 = $1 asahi_8 = $2 nikkei_8 = $3 mainichi_8 = $4 yamagata_8 = $5 yomiuri_8 = $6 end end end end if month == "8月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_8) printf("

%s

", asahi_8) print("\n") print("\n") end end if month == "8月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_8) printf("

%s

", nikkei_8) print("\n") print("\n") end end if month == "8月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_8) printf("

%s

", mainichi_8) print("\n") print("\n") end end if month == "8月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_8) printf("<p>%s</p>", yamagata_8) print("</body>\n") print("</html>\n") end end if month == "8月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_8) printf("

%s

", yomiuri_8) print("\n") print("\n") end end if month == "9月" open("2010_kensaku9.dat","r") do |dat9| while data9 = dat9.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data9 kiji_9 = $1 asahi_9 = $2 nikkei_9 = $3 mainichi_9 = $4 yamagata_9 = $5 yomiuri_9 = $6 end end end end if month == "9月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_9) printf("

%s

", asahi_9) print("\n") print("\n") end end if month == "9月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_9) printf("

%s

", nikkei_9) print("\n") print("\n") end end if month == "9月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_9) printf("

%s

", mainichi_9) print("\n") print("\n") end end if month == "9月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_9) printf("<p>%s</p>", yamagata_9) print("</body>\n") print("</html>\n") end end if month == "9月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_9) printf("

%s

", yomiuri_9) print("\n") print("\n") end end if month == "10月" open("2010_kensaku10.dat","r") do |dat10| while data10 = dat10.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data10 kiji_10 =$1 asahi_10 = $2 nikkei_10 = $3 mainichi_10 = $4 yamagata_10 = $5 yomiuri_10 = $6 end end end end if month == "10月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf("

%s

", asahi_10) print("\n") print("\n") end end if month == "10月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_10) printf("

%s

", nikkei_10) print("\n") print("\n") end end if month == "10月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_10) printf("

%s

", mainichi_10) print("\n") print("\n") end end if month == "10月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_10) printf("<p>%s</p>", yamagata_10) print("</body>\n") print("</html>\n") end end if month == "10月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_10) printf("

%s

", yomiuri_10) print("\n") print("\n") end end if month == "11月" open("2010_kensaku11.dat","r") do |dat11| while data11 = dat11.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data11 kiji_11 =$1 asahi_11 = $2 nikkei_11 = $3 mainichi_11 = $4 yamagata_11 = $5 yomiuri_11 = $6 end end end end if month == "11月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_11) printf("

%s

", asahi_11) print("\n") print("\n") end end if month == "11月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_11) printf("

%s

", nikkei_11) print("\n") print("\n") end end if month == "11月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_11) printf("

%s

", mainichi_11) print("\n") print("\n") end end if month == "11月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_11) printf("<p>%s</p>", yamagata_11) print("</body>\n") print("</html>\n") end end if month == "11月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_11) printf("

%s

", yomiuri_11) print("\n") print("\n") end end if month == "12月" open("2010_kensaku12.dat","r") do |dat12| while data12 = dat12.gets if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data12 kiji_12 = $1 asahi_12 = $2 nikkei_12 = $3 mainichi_12 = $4 yamagata_12 = $5 yomiuri_12 = $6 end end end end if month == "12月" if /朝日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_12) printf("

%s

", asahi_12) print("\n") print("\n") end end if month == "12月" if /日経新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_12) printf("

%s

", nikkei_12) print("\n") print("\n") end end if month == "12月" if /毎日新聞/e =~ shinbunsya print("\n") print("\n") print("結果\n") print("\n") print("\n") printf(" %s について", kiji_12) printf("

%s

", mainichi_12) print("\n") print("\n") end end if month == "12月" if /山形新聞/e =~ shinbunsya print("\n") print("\n") print("結果</titile>\n") print("</head>\n") print("<body>\n") printf(" %s について", kiji_12) printf("<p>%s</p>", yamagata_12) print("</body>\n") print("</html>\n") end end if month == "12月" if /読売新聞/e =~ shinbunsya print("<html>\n") print("<head>\n") print("<title>結果\n") print("\n") print("\n") printf(" %s について", kiji_12) printf("

%s

", yomiuri_12) print("\n") print("\n") end end print("\n") print("\n") c. ドロップダウンメニューとラジオボタンを組み合わせて if 文で選んだ月と新聞 社の記事とタイトルを出す 参考文献:ウェブページ 基礎プログラミング II 第8回 CGIことはじめ 第 8 回目次 講義ノート 西村まどか http://roy/~madoka/2010/r2/08/ 基礎プログラミング II 第9回 CGIことえらび 第 9 回目次 講義ノート 西村まどか http://roy/~madoka/2010/r2/09/ d. 途中ですこし変えたら今まで表示されていたものが表示されなくなった。 明日またきてやってみたい。 今まで表示されなかったのは、\ を入れ忘れていたからだった。すでに色が変わっ ている所は入れなくてもいいと思っていたが、入れなければならないようだった。 今回は12月だけは表示できていたのにできなくなっていたので他の月を修正して いるときにどこかおかしくなったのだと思った。 6. なかなか3人入る位置がみつからなかった。 7. 眼鏡がむずかしかった。 協同学習者 佐竹聡美 金田麻美