第 13回 自由課題準備(3) レポート課題
氏名:山野 駿
学籍番号:c1111429
語学クラス:英語2
コース:社会福祉
チーム名:やすおかさんちの冷蔵庫
チームホームページアドレス:
部門:お役立ち情報部門
プロジェクトコード名:
チーム SNS アドレス:http://cms.is.koeki-u.ac.jp/sns/community/47
1.
私は、自由課題のプログラムを担当することとなった。プログラムの軸となる仕
組みは完成した。あとは、体裁や見えやすさを考慮したウェブページを作成する
のみとなった。
◯作成したもの
・分類を選択させるページ(html)
・食材を選択させるページ(rb)
・結果を表示させるページ(rb)
最初に
分類を選択させるページ(html)の URL とソースを載せる。
http://roy.e.koeki-u.ac.jp/~c111142/yonin/syokuzai.html
食材の保存方法検索
食材保存検索トップへ
やすおかさんちの冷蔵庫トップへ
次に
食材を選択させるページ(rb)について
作成したプログラム
#!/usr/bin/env ruby
#coding: euc-jp
require'cgi' #CGIを使用するという宣言
require'kconv' #ライブラリを加える
cgi = CGI.new(:accept_charset => "EUC-JP") #cgiはCGIを関連付ける
print("Content-type: text/html; charset=EUC-JP\n\n") #日本語を取って来る。
syurui = cgi["kubun"]
syoku = Array.new #食材
bunrui = Array.new #分類
yomi = Array.new #読み
#hoho = Array.new
if syurui == "麺"
fairu = Dir.pwd + "/hozon_menrui.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "いも・でんぷん類"
fairu = Dir.pwd + "/hozon_imo_denpun.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "大豆"
fairu = Dir.pwd + "/hozon_daizu.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "種実"
fairu = Dir.pwd + "/hozon_syujitu.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "野菜"
fairu = Dir.pwd + "/hozon_yasai.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "果実"
fairu = Dir.pwd + "/hozon_kajitu.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "きのこ"
fairu = Dir.pwd + "/hozon_kinoko.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "藻"
fairu = Dir.pwd + "/hozon_mo.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "魚介類"
fairu = Dir.pwd + "/hozon_gyokai.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "肉類"
fairu = Dir.pwd + "/hozon_nikurui.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "卵"
fairu = Dir.pwd + "/hozon_tamago.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "乳類"
fairu = Dir.pwd + "/hozon_nyurui.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "油脂類"
fairu = Dir.pwd + "/hozon_yusi.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
elsif syurui == "調味料・香辛料"
fairu = Dir.pwd + "/hozon_tyoumiryo.dat" #fairuにhozon.datを入れる
open(fairu,"r:euc-jp") do |hozon| #fairu にいれたものを開く
while select = hozon.gets
# p select
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/=~ select
syoku << $1.toeuc.chomp #日本語文字コードが異なる場合に使用
bunrui << $2
yomi << $3
end
end
end
end
#p fairu
#p syoku
#p yomi
#p bunrui
#p syurui
print("\n")
print("\n")
print("保存方法一覧\n")
print("\n")
print("\n")
print("\n")
printf("%s
\n",syurui)
# #for sentaku in syoku
# # printf("%s
\n",sentaku)
# #end
print("\n")
print("\n")
print("食材保存検索ページへ\n")
print("食材保存検索トップへ\n")
print("やすおかさんちの冷蔵庫トップへ\n")
print("
\n")
print("\n")
print("\n")
前回との変更点
・体裁を整える為にcssを付け加えた
実行結果
ソース
保存方法一覧
いも・でんぷん類
食材保存検索ページへ
食材保存検索トップへ
やすおかさんちの冷蔵庫トップへ
kterm
pan{c111142}% ./syokuzai.rb [~/public_html/yonin]
(offline mode: enter name=value pairs on standard input)
kubun="いも・でんぷん類"
保存方法一覧
いも・でんぷん類
食材保存検索ページへ
食材保存検索トップへ
やすおかさんちの冷蔵庫トップへ
考察
ソースとktermでの結果が同じであったため、このプログラムは正しい。
最後に
検索結果を表示するページ((rb)を載せる。
作成したプログラム
#!/usr/bin/env ruby
#coding: euc-jp
require'cgi'
require'kconv'
cgi = CGI.new(:accept_charset => "EUC-JP")
print("Content-type: text/html; charset=EUC-JP\n\n")
imo = cgi["imo_denpun"]
kaji = cgi["kajitu"]
kino = cgi["kinoko"]
gyoka = cgi["gyokai_rui"]
syuji = cgi["syujitu"]
daiz = cgi["daizu_rui"]
tama = cgi["tamago_rui"]
tyomi = cgi["tyoumiryo_rui"]
niku = cgi["niku_rui"]
nyu = cgi["nyu_rui"]
men = cgi["men_rui"]
moru = cgi["mo_rui"]
yasai = cgi["yasai_rui"]
yushi = cgi["yusi_rui"]
name = Array.new
hoho = Array.new
syosai = Hash.new
file = Dir.pwd + "/hozon.dat"
open(file,"r:euc-jp") do |hyouji|
while data = hyouji.gets
if /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/ =~ data
name << $1
hoho << $4
syosai[$1] = $4
end
end
end
#p hoho
#p syosai
print("\n")
print("\n")
print("保存方法\n")
print("\n")
print("\n")
print("\n")
print("検索結果
\n")
if syosai[name] = imo
printf("%s
\n",imo)
printf("%s
\n",syosai[imo])
end
if syosai[name] = kaji
printf("%s
\n",kaji)
printf("%s
\n",syosai[kaji])
end
if syosai[name] = kino
printf("%s
\n",kino)
printf("%s
\n",syosai[kino])
end
if syosai[name] = gyoka
printf("%s
\n",gyoka)
printf("%s
\n",syosai[gyoka])
end
if syosai[name] = syuji
printf("%s
\n",syuji)
printf("%s
\n",syosai[syuji])
end
if syosai[name] = daiz
printf("%s
\n",daiz)
printf("%s
\n",syosai[daiz])
end
if syosai[name] = tama
printf("%s
\n",tama)
printf("%s
\n",syosai[tama])
end
if syosai[name] = tyomi
printf("%s
\n",tyomi)
printf("%s
\n",syosai[tyomi])
end
if syosai[name] = niku
printf("%s
\n",niku)
printf("%s
\n",syosai[niku])
end
if syosai[name] = nyu
printf("%s
\n",nyu)
printf("%s
\n",syosai[nyu])
end
if syosai[name] = men
printf("%s
\n",men)
printf("%s
\n",syosai[men])
end
if syosai[name] = moru
printf("%s
\n",moru)
printf("%s
\n",syosai[moru])
end
if syosai[name] = yasai
printf("%s
\n",yasai)
printf("%s
\n",syosai[yasai])
end
if syosai[name] = yushi
printf("%s
\n",yushi)
printf("%s
\n",syosai[yushi])
end
print("
\n")
print("\n")
print("食材保存検索ページへ\n")
print("食材保存検索トップへ\n")
print("やすおかさんちの冷蔵庫トップへ\n")
print("
\n")
print("\n")
print("\n")
実行結果
ソース
保存方法
検索結果
こんにゃく
水の入った包装のまま冷蔵で保存する。
食材保存検索ページへ
食材保存検索トップへ
やすおかさんちの冷蔵庫トップへ
kterm
pan{YAMANO Shun}% ./syokuzai_hozon.rb [~/public_html/yonin]
(offline mode: enter name=value pairs on standard input)
imo_denpun="こんにゃく"
保存方法
検索結果
こんにゃく
水の入った包装のまま冷蔵で保存する。
食材保存検索ページへ
食材保存検索トップへ
やすおかさんちの冷蔵庫トップへ
考察
ソースとktermの結果が一致していたため、このプログラムは正しい。
2.
発表するプロジェクトは保存検索に決まった。その理由として扱っているデータ
の量が多いからである。デモ版については、須藤さんに担当して頂き、プログラ
ムが完成し次第、報告する予定だ。ポスターは小野さんから作成して頂いたため、
パンフレットを誰が作成するのか決め、完成させることが必要である。
3.
http://roy/~c111088/yonin/demae.redme
4.
5.
http://cms.is.koeki-u.ac.jp/sns/diary/1094
6.
7.
よく、「熊っぽい」と呼ばれるので熊をイメージして描いた。