Subject: 第2回 プログラミングの練習 From: c118215@f.koeki-u.ac.jp To: ruby-1-02@e.koeki-u.ac.jp Date: Fri, 19 Apr 2019 13:36:47 +0900 (JST) 氏名: greenriv 学籍番号: c118215 クラス: F 1.体重が50キログラムの人がいる。この人の体重が2年ごとに3%ずつ増加するとした 場合、体重が150キログラムになるのは何年後か。 なお、開始から2年目までは計測を忘れていたため結果は3年目からとする。 2. #!/usr/koeki/bin/ruby # -*- coding: utf-8 -*- p=p0=50 y=1 while p < 3*p0 p *=1.03 printf("%3d年\t%dキログラム\n", y+=2, p) end 3.(1)最初に、今回の講義中で用いた都市の人口を参考(元のプログラム)にして 体重が2年ごとに3%増加する状況を考えた。 (2)元のプログラム4行目(p=p0=100000)の100000は増加する前の値であること から今回の増加する前の体重60キログラムに置き換えた(p=p0=60)。 (3)元のプログラム5行目(y=0)は開始する年数であることから 今回は計測を3年目まで忘れていたという状況を考え、 値を0から1に変えた(y=1) (4)元のプログラム6行目(while p < 2*p0)の2は答えの値が増加する前の値の 何倍かを表しているため、今回は体重50キログラムが150キログラムに増加 するまでなので、値を3とした(while p < 3*p0) (5)元のプログラム7行目(p *= 1.1)は問題で使用する倍率であることから、 今回の3%となる1.03に変えた(p *=1.03) (6)元のプログラム8行目{printf("%3d年\t%d人\n", y+=1, p)}は、 答えの表示が〜年、〜キログラムとなるように文字を変えた。 そして、y+=1の1は今回でいうと何年ごとの結果かを表しているため 2年ごとになるよう、値を2とした。 ( printf("%3d年\t%dキログラム\n", y+=2, p) 4.sime{c118215}% ./karada.rb [~/Ruby] 3年 51キログラム 5年 53キログラム 7年 54キログラム 9年 56キログラム 11年 57キログラム 13年 59キログラム 15年 61キログラム 17年 63キログラム 19年 65キログラム 21年 67キログラム 23年 69キログラム 25年 71キログラム 27年 73キログラム 29年 75キログラム 31年 77キログラム 33年 80キログラム 35年 82キログラム 37年 85キログラム 39年 87キログラム 41年 90キログラム 43年 93キログラム 45年 95キログラム 47年 98キログラム 49年 101キログラム 51年 104キログラム 53年 107キログラム 55年 111キログラム 57年 114キログラム 59年 117キログラム 61年 121キログラム 63年 125キログラム 65年 128キログラム 67年 132キログラム 69年 136キログラム 71年 140キログラム 73年 144キログラム 75年 149キログラム 77年 153キログラム 5. 問題: ruby2 - 1回中 1番目の記録 得点: 9/9 時間: 146.29杪 ミス: 9回 6.今回で基礎プログラミングの講義は2回目だが、まだ基礎操作に慣れない場面 が多く見受けられた。前回に引続き先輩方のサポートで何とか着いていけている が特にktermとemacsを行き来する操作では混乱してしまうため、今回の講義 のホームページを読み直すなどをして、自分で理解するところから復習を始めて いきたい。