10/26 数の計算と関数・配列による画像の表示


前回の感想,質問より

Q.
フィート→cmのところで、
 def feet_to_cm(f,i)
  30.48*(f+i/12)
 end
とするとなぜか
feet_to_cm(5,11)=152.4となりました。(正しい値は180.34)
ほぼ同じ形の式であるpound_to_kgは上手くいったので原因がよく分かりませんでした。
A.
feet_to_cmの定義の
 30.48*(f+i/12)
fを5に,iを11に置き換えてみると,
 30.48*(5+11/12)
になりますが,この式を見て何か気が付きませんか?
 11/12
の部分が整数同士の除算になっているので,答えが整数の0になり,
 30.48*5
を計算して152.4になってしまったわけです.iが整数でも正しい答えを出すようにするには, feet_to_cmの定義の12を12.0に置き換えて,
 30.48*(f+i/12.0)
としてみてください.12を12.0に置き換えても,数学的には整数のままですが,プログラム上は「除算の際には実数同士の除算をおこなうように」という指示になります.
Q.
講義で扱ったbmi,feet_to_cm,pound_to_kgのプログラムはうまく実行されたが、なぜかbmi_ypだけうまくいか なかった。bmi_ypのプログラミングに用いる3つの関数はきちんと定義されていたはずだが、関数の中に関数を 入れるプログラムがきちんと実行されなかった。原因がよく分からない。
A.
どのような入力を実行して,どのようなエラーが出たかをコピー& ペーストして掲示板に書いてもらえると,原因も分かるかもしれません.考えられる原因としては, などいろいろ考えられます.
Q.
キーボードが使いづらいというのは押したときにたまに引っ掛かって押せてないことがあるということのような。 後は時々処理落ちで文章がうててないことがある。
A.
なるほど,キーボードも4年目でそろそろへたってきているのかもしれませんね. あまりにひどい場合は,導入業者に頼んで交換してもらうことも可能なので(1週間位はかかると思いますが),場所を教えてください.
Q.
投票をしないと点数が下がりますか?
A.
平常点は成績評価の約25% ですが,その中には投票も含まれます.ただし,平常点の中でも課題の配点の方が投票よりも大きいので,1回の講義で投票をするのとしない場合の違いは,最終的な成績評価においては1% をかなり下回ります.
Q.
 1)irb(main):002:0> def distance(x,y,u,v)
  irb(main):003:1> sqrt((x-u)**2+(y-v)**2)
  irb(main):004:1> end
(1)の作成途中以下のようなエラーが出ました。原因は何なのでしょうか。
irb(main):020:0> def distance(x,y,u,v,)
irb(main):021:1> ((x-u)**2+(y-v)**2)**0.5
irb(main):022:1> end
SyntaxError: compile error
(irb):20: syntax error, unexpected ')'
(irb):22: syntax error, unexpected kEND, expecting $end
from (irb):22
from :0
A.
プログラムの最初の行が
 distance(x,y,u,v,)
となっていますが,vのあとの「,」が余計です.irbは「,」の次に「v」などと同じような名前が来ることを期待(expect)しますが,想定外の「)」が来たので,
(irb):20: syntax error, unexpected ')'
というエラーメッセージを出したということになります.
Q.
今日の課題の文章は何をして欲しいのか全くわからないので、もっと明瞭な指示をお願いします。
A.
「皆さんが書き込んでいるような内容を書いて欲しい」という意図です.この課題は,「ある進度に達していない人は提出できない」ような内容ではなく,「できる範囲で自分のわかっていること,分かっていないことを確認できる」場の提供のためのものなので,「何々をせよ」という明瞭な指示ではなく,「ゆるい」指示になっています.とはいえ,「(100文字以上)」がどこまでを指すかわかりにくいなどの問題はあるので,今回からは少し文章を変更しました.

前回の課題について


前回までの補足


投票システム

vote.rbをダウンロードして,ホームディレクトリに保存してください.ドックからターミナルを起動して,
ruby vote.rb 選択肢番号
のように使います.

今日の練習,投票

関連リンク


教科書の補足


今日の課題