第 13 回 自由課題準備 (3) レポート課題 氏名:五十嵐兼一 学籍番号:c100153 語学クラス:英語2 コース(系):社会福祉コース チーム名:さやか〜る チームホームページアドレス:http://roy.e.koeki-u.ac.jp/~c110125/sayaka-ru/ プロジェクト名:1.アレルギー検索 2.健康管理システム 1.自分の役割と進展具合 役割 : 健康管理システムのプロジェクトでプログラムを担当。 進展具合 : 朝食、昼食、夕食と3食分の計算が出来るように改良した。 また、カロリー計算の部分でおかずの項目が多かったため、 野菜、肉、魚、揚げ物、その他の分類に分けて選びやすくした。 カロリーの結果表示の部分では食べ物の画像を出すように工夫した。 2.全体の進み具合 2つのプロジェクトともほぼ完成している状態である。レイアウトなど細かい部分 でもう少し調整が必要だと考えている。 3.各プロジェクトのプログラムの説明書が掲載してある URL 1.アレルギーチップス(http://roy.e.koeki-u.ac.jp/~c110026/kaisetu.txt) 2.健コーン(http://roy.e.koeki-u.ac.jp/~c110026/kenkoukaisetu.txt) 4.自分の行ったパートについて ●作成したプログラム #!/usr/bin/env ruby require 'cgi' # CGI を使う宣言 cgi = CGI.new("html4") # html 文章で CGI を使用 print("Content-type: text/html; charset=EUC-jp\n\n") # 日本語コードを使用 def taizyu(tall) # 適正体重 = 身長 * 身長 * 22 (tall/100) * (tall/100) * 22 # cm を m に直すので、a を 100 で割る end def taisya1(wei1,tall1,age1) # 男性: 66+13.7×体重kg+5.0×身長cm−6.8×年齢 66 + 13.7 * wei1 + 5.0 * tall1 - 6.8 * age1 end def taisya2(wei2,tall2,age2) # 女性: 665+9.6×体重kg+1.7×身長cm−7.0×年齢 665 + 9.6 * wei2 + 1.7 * tall2 - 7.0 * age2 end def bmi(wei,tall) # BMI = 体重 / (身長)**2 wei / (tall * tall) * 10000 end e = cgi["erabu"] # Ruby に CGI でもらってきた値を代入 s = cgi["sex"] # Ruby に CGI でもらってきた値を代入 a = cgi["age"] # Ruby に CGI でもらってきた値を代入 t = cgi["tall"] # Ruby に CGI でもらってきた値を代入 w = cgi["weight"] # Ruby に CGI でもらってきた値を代入 g = cgi["gohan1"] p = cgi["pan1"] m = cgi["men1"] y = cgi["yasai1"] n = cgi["niku1"] s1 = cgi["sakana1"] a1 = cgi["age1"] h = cgi["hoka1"] te = cgi["teisyoku1"] na = cgi["nabe1"] i = cgi["in1"] f = cgi["food1"] d = cgi["drink1"] ok = cgi["okasi1"] wa = cgi["wagasi1"] k = cgi["kudamono1"] g2 = cgi["gohan2"] p2 = cgi["pan2"] m2 = cgi["men2"] y2 = cgi["yasai2"] n2 = cgi["niku2"] s2 = cgi["sakana2"] a2 = cgi["age2"] h2 = cgi["hoka2"] te2 = cgi["teisyoku2"] na2 = cgi["nabe2"] i2 = cgi["in2"] f2 = cgi["food2"] d2 = cgi["drink2"] ok2 = cgi["okasi2"] wa2 = cgi["wagasi2"] k2 = cgi["kudamono2"] g3 = cgi["gohan3"] p3 = cgi["pan3"] m3 = cgi["men3"] y3 = cgi["yasai3"] n3 = cgi["niku3"] s3 = cgi["sakana3"] a3 = cgi["age3"] h3 = cgi["hoka3"] te3 = cgi["teisyoku3"] na3 = cgi["nabe3"] i3 = cgi["in3"] f3 = cgi["food3"] d3 = cgi["drink3"] ok3 = cgi["okasi3"] wa3 = cgi["wagasi3"] k3 = cgi["kudamono3"] a = a.to_i # a を数値に変換 t = t.to_f # t を数値に変換 w = w.to_f # w を数値に変換 gohan2 = Hash.new gohan2["たべてません"] = 0 gohan2["ご飯"] = 250 gohan2["餠"] = 120 gohan2["赤飯"] = 285 gohan2["おにぎり"] = 180 gohan2["そぼろご飯"] = 627 gohan2["雑炊"] = 274 gohan2["お茶漬"] = 282 gohan2["炊き込みご飯"] = 392 pan2 = Hash.new pan2["たべてません"] = 0 pan2["食パン"] = 160 pan2["あんパン"] = 300 pan2["クリームパン"] = 299 pan2["ジャムパン"] = 266 pan2["メロンパン"] = 433 pan2["フランスパン"] = 90 pan2["クロワッサン"] = 180 pan2["バターロール"] = 90 pan2["アップルパイ"] = 395 pan2["カレーパン"] = 395 pan2["焼きそばパン"] = 290 pan2["コロッケパン"] = 266 pan2["ピザ"] = 606 pan2["マルゲリータ"] = 720 pan2["ホットケーキ"] = 564 pan2["ハムサンド"] = 410 pan2["タマゴサンド"] = 480 pan2["ホットドック"] = 447 men2 = Hash.new men2["たべてません"] = 0 men2["かけうどん"] = 341 men2["きつねうどん"] = 398 men2["鍋焼うどん"] = 504 men2["焼きうどん"] = 508 men2["天ぷらうどん"] = 459 men2["そうめん"] = 180 men2["そば"] = 350 men2["ざるそば"] = 282 men2["天ぷらそば"] = 586 men2["月見そば"] = 414 men2["焼きそば"] = 527 men2["あんかけ焼きそば"] = 900 men2["醤油ラーメン"] = 500 men2["味噌ラーメン"] = 819 men2["とんこつラーメン"] = 496 men2["塩ラーメン"] = 489 men2["チャーシューメン"] = 576 men2["担担麺"] = 800 men2["マーボーラーメン"] = 680 men2["冷やし中華"] = 713 men2["冷麺"] = 471 men2["ワンタンメン"] = 560 men2["スパゲッティ"] = 340 men2["タラコスパゲッティ"] = 410 men2["トマトソースパスタ"] = 582 men2["ミートソース"] = 680 men2["ナポリタン"] = 650 men2["カルボナーラ"] = 895 men2["ペペロンチーノ"] = 556 men2["イカスミパスタ"] = 660 yasai2 = Hash.new yasai2["たべてません"] = 0 yasai2["トマト"] = 40 yasai2["ミニトマト"] = 3 yasai2["梅干し"] = 3 yasai2["たくあん"] = 20 yasai2["茄子漬け"] = 5 yasai2["白菜漬け"] = 5 yasai2["らっきょう"] = 25 yasai2["きんぴらごぼう"] = 94 yasai2["カボチャの煮物"] = 136 yasai2["ふろふき大根"] = 65 yasai2["焼き茄子"] = 25 yasai2["ホウレンソウのおひたし"] = 29 yasai2["サラダ"] = 219 yasai2["キムチ"] = 46 yasai2["ナムル"] = 128 yasai2["シーザーサラダ"] = 330 yasai2["ポテトサラダ"] = 270 yasai2["マカロニサラダ"] = 250 yasai2["ゴボウサラダ"] = 470 yasai2["ひじき"] = 100 yasai2["ロールキャベツ"] = 132 yasai2["もずく"] = 33 yasai2["切り干し大根"] = 112 yasai2["卯の花(おから)"] = 134 yasai2["筑前煮"] = 254 yasai2["里芋の煮っころがし"] = 133 yasai2["野菜炒め"] = 350 yasai2["八宝菜"] = 295 yasai2["チンジャオロース"] = 270 yasai2["ゴーヤチャンプル"] = 272 yasai2["マーボー茄子"] = 284 yasai2["マーボー豆腐"] = 327 niku2 = Hash.new niku2["たべてません"] = 0 niku2["ハンバーグ"] = 342 niku2["肉じゃが"] = 302 niku2["生姜焼き"] = 350 niku2["餃子"] = 450 niku2["シュウマイ"] = 210 niku2["ショウロンポウ"] = 240 niku2["豚の角煮"] = 350 niku2["焼き鳥"] = 97 niku2["ローストビーフ"] = 120 niku2["肉団子"] = 206 niku2["ウインナー"] = 164 niku2["ベーコン"] = 41 niku2["サーロインステーキ"] = 610 niku2["ピーマンの肉詰め"] = 327 niku2["レバニラ"] = 500 niku2["回鎬肉"] = 289 sakana2 = Hash.new sakana2["たべてません"] = 0 sakana2["サンマの塩焼き"] = 328 sakana2["ブリの照り焼き"] = 271 sakana2["アジの塩焼き"] = 198 sakana2["カツオのたたき"] = 168 sakana2["カレイの煮付け"] = 164 sakana2["サバの塩焼き"] = 157 sakana2["マグロの刺身"] = 105 sakana2["フカヒレの煮込み"] = 135 sakana2["塩鮭"] = 159 sakana2["辛子明太子"] = 88 sakana2["ししゃも"] = 41 sakana2["かまぼこ"] = 37 sakana2["笹かま"] = 49 sakana2["ちくわ"] = 36 sakana2["つみれ"] = 42 sakana2["ぶり大根"] = 375 sakana2["いわしのみりん干し"] = 95 age2 = Hash.new age2["たべてません"] = 0 age2["がんもどき"] = 160 age2["天ぷら"] = 830 age2["ヒレカツ"] = 814 age2["エビフライ"] = 101 age2["春巻き"] = 184 age2["酢豚"] = 450 age2["エビチリ"] = 300 age2["唐揚げ"] = 286 age2["竜田揚げ"] = 262 age2["白身魚フライ"] = 360 age2["アジフライ"] = 280 age2["トンカツ"] = 550 age2["チキンカツ"] = 470 age2["コロッケ"] = 185 age2["揚げだし豆腐"] = 126 hoka2 = Hash.new hoka2["たべてません"] = 0 hoka2["豆腐"] = 110 hoka2["卵焼き"] = 90 hoka2["目玉焼き"] = 94 hoka2["オムレツ"] = 181 hoka2["スクランブルエッグ"] = 112 hoka2["茶碗蒸し"] = 63 hoka2["卵豆腐"] = 88 hoka2["ゆで卵"] = 151 hoka2["グラタン"] = 508 hoka2["ハムエッグ"] = 190 hoka2["納豆"] = 100 hoka2["はるさめ"] = 70 hoka2["ところてん"] = 16 hoka2["冷奴"] = 97 hoka2["胡麻豆腐"] = 129 teisyoku2 = Hash.new teisyoku2["たべてません"] = 0 teisyoku2["すき焼き定食"] = 925 teisyoku2["生姜焼き定食"] = 906 teisyoku2["アジフライ定食"] = 770 teisyoku2["サバ味噌煮定食"] = 755 teisyoku2["ブリの照り焼き定食"] = 720 teisyoku2["サンマの塩焼き定食"] = 645 teisyoku2["アジの塩焼き定食"] = 720 teisyoku2["刺身定食"] = 608 teisyoku2["カツ丼"] = 1020 teisyoku2["テン丼"] = 880 teisyoku2["うな重"] = 794 teisyoku2["牛丼"] = 720 teisyoku2["親子丼"] = 690 teisyoku2["鉄火丼"] = 620 teisyoku2["豚丼"] = 691 teisyoku2["ちらし寿司"] = 610 teisyoku2["にぎり寿司"] = 550 teisyoku2["太巻き"] = 720 teisyoku2["かんぴょう巻き"] = 183 teisyoku2["鉄火巻き"] = 147 teisyoku2["キーマカレー"] = 600 teisyoku2["ドリア"] = 536 teisyoku2["ピラフ"] = 418 teisyoku2["カツカレー"] = 1090 teisyoku2["ハヤシライス"] = 900 teisyoku2["カレー"] = 700 teisyoku2["シーフードカレー"] = 760 teisyoku2["オムライス"] = 860 teisyoku2["オムハヤシ"] = 1080 teisyoku2["チーズリゾット"] = 540 teisyoku2["チャーハン"] = 750 teisyoku2["天津飯"] = 780 teisyoku2["中華丼"] = 670 teisyoku2["マーボー丼"] = 700 teisyoku2["ビビンバ"] = 671 nabe2 = Hash.new nabe2["たべてません"] = 0 nabe2["キムチ鍋"] = 570 nabe2["もつ鍋"] = 348 nabe2["ちゃんこ鍋"] = 541 nabe2["すき焼き"] = 897 nabe2["しゃぶしゃぶ"] = 691 nabe2["寄せ鍋"] = 259 nabe2["ジンギスカン"] = 444 nabe2["湯豆腐"] = 112 nabe2["おでん"] = 380 nabe2["チゲ"] = 474 in2 = Hash.new in2["たべてません"] = 0 in2["コーンフレーク"] = 150 in2["カップラーメン"] = 364 in2["チキンラーメン"] = 394 in2["カップ焼きそば"] = 436 in2["焼きそば大盛り"] = 700 in2["カロリーメイト"] = 200 in2["クリーム玄米ブラン"] = 368 in2["ソイジョイ"] = 133 food2 = Hash.new food2["たべてません"] = 0 food2["フライドポテト"] = 400 food2["フライドチキン"] = 240 food2["ナゲット"] = 230 food2["オニオンリング"] = 285 food2["テリヤキバーガー"] = 480 food2["ダブルチーズバーガー"] = 451 food2["ハンバーガー"] = 290 food2["フレッシュバーガー"] = 360 food2["エッグマフィン"] = 265 food2["ライスバーガーきんぴら"] = 215 food2["肉まん"] = 422 food2["アメリカンドッグ"] = 242 drink2 = Hash.new drink2["たべてません"] = 0 drink2["豆乳"] = 130 drink2["ジンジャエール"] = 111 drink2["コーラ"] = 130 drink2["オレンジジュース"] = 130 drink2["ファンタグレープ"] = 153 drink2["フカヒレスープ"] = 70 drink2["ワンタンスープ"] = 120 drink2["コーンスープ"] = 172 drink2["味噌汁"] = 41 drink2["牛乳"] = 141 drink2["生ビール"] = 200 drink2["焼酎"] = 250 drink2["ウイスキー"] = 150 drink2["日本酒"] = 200 drink2["サワー"] = 140 drink2["ワイン"] = 100 drink2["シャンパン"] = 80 drink2["ブランデー"] = 75 drink2["バーボン"] = 65 drink2["ウーロンハイ"] = 90 drink2["ポトフ"] = 340 drink2["ビーフシチュー"] = 736 drink2["クリームシチュー"] = 400 okasi2 = Hash.new okasi2["たべてません"] = 0 okasi2["アメ"] = 17 okasi2["ガム"] = 9 okasi2["マシュマロ"] = 62 okasi2["スナック菓子"] = 435 okasi2["クッキー"] = 104 okasi2["チョコレート"] = 395 okasi2["マフィン"] = 274 okasi2["プリン"] = 200 okasi2["プリンアラモード"] = 300 okasi2["ゼリー"] = 100 okasi2["ショートケーキ"] = 300 okasi2["チョコレートケーキ"] = 330 okasi2["チーズケーキ"] = 355 okasi2["モンブラン"] = 280 okasi2["ミルフィーユ"] = 320 okasi2["フルーツタルト"] = 360 okasi2["バニラアイス"] = 180 okasi2["チョコアイス"] = 237 okasi2["イチゴアイス"] = 130 okasi2["ソフトクリーム"] = 148 okasi2["シャーベット"] = 130 okasi2["バニラシェイク"] = 320 okasi2["フルーツポンチ"] = 190 okasi2["ヨーグルト"] = 93 okasi2["ドーナツ"] = 210 okasi2["パフェ"] = 416 okasi2["シュークリーム"] = 245 okasi2["エクレア"] = 212 okasi2["ワッフル"] = 233 okasi2["クレープ"] = 417 okasi2["タルト"] = 293 okasi2["ラスク"] = 56 okasi2["カステラ"] = 156 wagasi2 = Hash.new wagasi2["たべてません"] = 0 wagasi2["かき氷"] = 113 wagasi2["どら焼き"] = 180 wagasi2["団子"] = 150 wagasi2["大福"] = 134 wagasi2["あんみつ"] = 250 wagasi2["ぜんざい"] = 360 wagasi2["ゴマ団子"] = 130 wagasi2["杏仁豆腐"] = 60 wagasi2["かりんとう"] = 198 wagasi2["柏餠"] = 124 wagasi2["わらびもち"] = 174 wagasi2["ようかん"] = 178 wagasi2["笹巻き"] = 76 wagasi2["まんじゅう"] = 125 kudamono2 = Hash.new kudamono2["たべてません"] = 0 kudamono2["イチゴ"] = 33 kudamono2["オレンジ"] = 24 kudamono2["キウイ"] = 45 kudamono2["グレープフルーツ"] = 54 kudamono2["スイカ"] = 50 kudamono2["バナナ"] = 126 kudamono2["メロン"] = 42 kudamono2["みかん"] = 37 kudamono2["りんご"] = 46 kudamono2["もも"] = 46 kudamono2["ぶどう"] = 98 kudamono2["さくらんぼ"] = 32 kudamono2["プルーン"] = 36 kudamono2["レーズン"] = 30 kudamono2["ブルーベリー"] = 6 sum1 = gohan2[g] + pan2[p] + men2[m] + yasai2[y] + niku2[n] + sakana2[s1] + age2[a1] + hoka2[h] + teisyoku2[te] + nabe2[na] + in2[i] + food2[f] + drink2[d] + okasi2[ok] + wagasi2[wa] + kudamono2[k] sum2 = gohan2[g2] + pan2[p2] + men2[m2] + yasai2[y2] + niku2[n2] + sakana2[s2] + age2[a2] + hoka2[h2] + teisyoku2[te2] + nabe2[na2] + in2[i2] + food2[f2] + drink2[d2] + okasi2[ok2] + wagasi2[wa2] + kudamono2[k2] sum3 = gohan2[g3] + pan2[p3] + men2[m3] + yasai2[y3] + niku2[n3] + sakana2[s3] + age2[a3] + hoka2[h3] + teisyoku2[te3] + nabe2[na3] + in2[i3] + food2[f3] + drink2[d3] + okasi2[ok3] + wagasi2[wa3] + kudamono2[k3] sum4 = sum1 + sum2 + sum3 # ここからは web で出力 print("") print("") print("") print("結果発表") print("") print("") printf("

測定結果

") print("

--------------------------------------------------

\n") printf("

性別 : %s

",s) # 性別を表示 printf("

年齢 : %d 歳

",a) # 年齢を表示 printf("

身長 : %0.1f cm

",t) # 身長を表示 printf("

体重 : %0.1f kg

",w) # 体重を表示 if e == "適正体重" # 適正体重が選択された場合 printf("

結果 : 適正体重は %0.1f [kg] です。

",taizyu(t)) elsif e == "基礎代謝" # 基礎代謝が選択された場合 if s == "男性" # 性別が男性だった場合 printf("

結果 : 基礎代謝量は %0.1f [kcal] です。

",taisya1(w,t,a)) elsif s == "女性" # 性別が女性だった場合 printf("

結果 : 基礎代謝量は %0.1f [kcal] です。

",taisya2(w,t,a)) else print("測定不能です。正しく入力して下さい。") end # s の if に対する end print("

これは生命を維持するために最低限必要なエネルギー量です。

") elsif e == "BMI指数" printf("

結果 : BMI指数は [%0.2f] です。

",bmi(w,t)) if bmi(w,t) < 18.5 # bestbmi が 18.5 未満のとき print("

「低体重」です。 もっと食べて!!

") elsif bmi(w,t) > 18.5 && bmi(w,t) < 25 # bestbmi が 18.5 以上 25 未満のとき print("

「普通」です。 健康です!!

") elsif bmi(w,t) > 25 # bestbmi が 25 以上のとき print("

「肥満」です。 メタボ注意!!

") end bestbmi2 = bmi(taizyu(t),t) printf("

ちなみに、適正体重 %0.1f [kg] でのBMI指数は [%0.2f] です。

",taizyu(t),bestbmi2) print("

BMI指数は22で、最も病気になりにくいようです。

肥満度が高くなると、高血圧や糖尿病などの生活習慣病を発症する確率が高くなるので注意!!

") end # e の if に対する end print("

--------------------------------------------------

\n") print("

朝食の計算結果

") print("\n") print("") printf("",gohan2[g]) printf("",pan2[p]) printf("",men2[m]) printf("",yasai2[y] + niku2[n] + sakana2[s1] + age2[a1] + hoka2[h]) print("") print("") printf("",teisyoku2[te]) printf("",nabe2[na]) printf("",in2[i]) printf("",food2[f]) print("") print("") printf("",drink2[d]) printf("",okasi2[ok]) printf("",wagasi2[wa]) printf("",kudamono2[k]) print("") print("
ご飯 %d kcalパン %d kcal麺 %d kcalおかず %d kcal
定食 %d kcal鍋 %d kcalインスタント等 %d kcalファーストフード %d kcal
飲み物・スープ %d kcalスイーツ %d kcal和菓子 %d kcal果物 %d kcal
") printf("

合計 %d kcal

",sum1) print("

--------------------------------------------------

\n") print("

昼食の計算結果

") print("\n") print("") printf("",gohan2[g2]) printf("",pan2[p2]) printf("",men2[m2]) printf("",yasai2[y2] + niku2[n2] + sakana2[s2] + age2[a2] + hoka2[h2]) print("") print("") printf("",teisyoku2[te2]) printf("",nabe2[na2]) printf("",in2[i2]) printf("",food2[f2]) print("") print("") printf("",drink2[d2]) printf("",okasi2[ok2]) printf("",wagasi2[wa2]) printf("",kudamono2[k2]) print("") print("
ご飯 %d kcalパン %d kcal麺 %d kcalおかず %d kcal
定食 %d kcal鍋 %d kcalインスタント等 %d kcalファーストフード %d kcal
飲み物・スープ %d kcalスイーツ %d kcal和菓子 %d kcal果物 %d kcal
") printf("

合計 %d kcal

",sum2) print("

--------------------------------------------------

\n") print("

夕食の計算結果

") print("\n") print("") printf("",gohan2[g3]) printf("",pan2[p3]) printf("",men2[m3]) printf("",yasai2[y3] + niku2[n3] + sakana2[s3] + age2[a3] + hoka2[h3]) print("") print("") printf("",teisyoku2[te3]) printf("",nabe2[na3]) printf("",in2[i3]) printf("",food2[f3]) print("") print("") printf("",drink2[d3]) printf("",okasi2[ok3]) printf("",wagasi2[wa3]) printf("",kudamono2[k3]) print("") print("
ご飯 %d kcalパン %d kcal麺 %d kcalおかず %d kcal
定食 %d kcal鍋 %d kcalインスタント等 %d kcalファーストフード %d kcal
飲み物・スープ %d kcalスイーツ %d kcal和菓子 %d kcal果物 %d kcal
") printf("

合計 %d kcal

",sum3) print("

--------------------------------------------------

\n") printf("

3食の合計摂取カロリーは %d kcal です

",sum4) if sum4 > 3000 print("

食べすぎ!! 成人男性の摂取目安は約2500kcal 成人女性の摂取目安は約2000kcal です。

") elsif taisya1(w,t,a) > sum4 print("

男ならもっと食えー!!

") print("

成人男性の摂取目安は約2500kcal 成人女性の摂取目安は約2000kcal です。

") elsif taisya2(w,t,a) > sum4 print("

あら? ダイエット中かしら? もっと食べてね!!

") print("

成人男性の摂取目安は約2500kcal 成人女性の摂取目安は約2000kcal です。

") elsif sum4 > taisya1(w,t,a) && sum4 < 2600 # bestbmi が 18.5 以上 25 未満のとき print("

おーけー!! この調子!!

") elsif sum4 > taisya2(w,t,a) && sum4 < 2100 print("

いいじゃない!! 最高よ!!

") end print("") print("
  • 戻る
  • ") print("") print("") 5.活動風景 katudou1.jpg と katudou2.jpg を添付しました。 掲載しているページの URL (http://roy.e.koeki-u.ac.jp/~c110015/) 6.チームパンフレット 菅原彩花さんが作成しました。 ダウンロードできる URL http://roy.e.koeki-u.ac.jp/~c110125/sayaka-ru/ 7.自画像 髪型とメガネを意識して描いた。 全体的な雰囲気は掴めていると思う。