ryuchan00 / basic_programing

UEC
0 stars 0 forks source link

1 #1

Open ryuchan00 opened 5 years ago

ryuchan00 commented 5 years ago

よーし

ryuchan00 commented 5 years ago
⋊> ~/basic_programing on master ◦ ruby 1/6_a.rb                                                                                                                                                            20:50:56
0.1234500000000000596855898038484156131744384765625
1.23450000000246973286266438663005828857421875e-06
1.0012345000000000272422084890422411262989044189453125
1.0000000001234499169555647313245572149753570556640625
1
ryuchan00 commented 5 years ago

活動内容報告 #01 学籍番号:1920031 氏名:山川竜太郎 ペア学籍番号・氏名(または「個人作業」):1920031・山川竜太郎 提出日付:2019/10/07

[作成したプログラム] 課題6の情報落ち、桁落ちを実現させるプログラムを書きました。

def kadai6(a, b, op)
  printf("%.100g\n", eval("#{a} #{op} #{b}"))
end

# 桁落ち
kadai6(1.12345, 1.0, '-')
kadai6(1.1234512345, 1.12345, '-')

# 情報落ち
kadai6(1.0, 0.0012345,'+')
kadai6(1.0, 0.00000000012345,'+')
kadai6(1.0, 0.000000000000000000012345,'+')

[実行例]

⋊> ~/basic_programing on master ◦ ruby 1/6_a.rb                                                                                                                                                            20:50:56
0.1234500000000000596855898038484156131744384765625
1.23450000000246973286266438663005828857421875e-06
1.0012345000000000272422084890422411262989044189453125
1.0000000001234499169555647313245572149753570556640625
1

[簡単な説明]

kadai6メソッドは、aとbの数値を渡して、第三引数にオペランドを渡してaとbをオペランドで計算します。結果としては桁落ち、情報落ちがそれぞれ再現できて野ではないかと思います。ただもうちょっと検証が必要な機がします。

[アンケート] Q1. プログラム、って恐そうですか? 第2外国語と比べてどう? 難しいです。

Q2. Ruby言語のプログラムを打ち込んで実行してみて、どのような感想を持ちましたか? Rubyは書きやすいと思います

Q3. リフレクション (今回の授業で分かったこと)・感想・要望をどうぞ。 あまり小数点を扱うことはないので、新鮮でした

hayato0718 commented 5 years ago

すごい。。。 演習6はなにやってるのかすら理解できてません。。。

hayato0718 commented 5 years ago

防備録

くそなので見ないでいただきたい。。。


    s = a + b
    return s
end

irb(main):001:0> load 'ensyuu3a.rb'
=> true
irb(main):002:0> tashizan 5,5
=> 10
irb(main):003:0> tashizan 15,8
=> 23
irb(main):004:0> tashizan 158,9
=> 167

def kakezan(a,b)
    s = a * b
    return s
end

irb(main):005:0> load 'ensyuu3a*.rb'
=> true
irb(main):006:0> kakezan 5,5
=> 25
irb(main):007:0> kakezan 15,8
=> 120
irb(main):008:0> kakezan 158,9
=> 1422

def hikizan(a,b)
    s = a - b
    return s
end

irb(main):009:0> load 'ensyuu3a-.rb'
=> true
irb(main):010:0> hikizan 5,5
=> 0
irb(main):011:0> hikizan 15,8
=> 7
irb(main):012:0> hikizan 158,9
=> 149

def warizan(a,b)
    s = a / b
    return s
end

irb(main):013:0> load 'ensyuu3awaru.rb'
=> true
irb(main):014:0> warizan 5,5
=> 1
irb(main):015:0> warizan 15,8
=> 1
irb(main):016:0> warizan 158,9
=> 17
hayato0718 commented 5 years ago

[i1920003@itc050 ~/fp19]$ irb
irb(main):001:0> load 'ensyuu3a.rb'
SyntaxError: ensyuu3a.rb:1: syntax error, unexpected tINTEGER, expecting ')'
def tashizan(5,5)
              ^
    from (irb):1:in `load'
    from (irb):1
    from /usr/bin/irb:12:in `<main>'
irb(main):002:0> quit
[i1920003@itc050 ~/fp19]$ irb
irb(main):001:0> load 'ensyuu3a.rb'
SyntaxError: ensyuu3a.rb:1: syntax error, unexpected tINTEGER, expecting ')'
def tashizan(5,5)
              ^
    from (irb):1:in `load'
    from (irb):1
    from /usr/bin/irb:12:in `<main>'
irb(main):002:0> quit
[i1920003@itc050 ~/fp19]$ irb
irb(main):001:0> load 'ensyuu3a.rb'
=> true
irb(main):002:0> tashizan 5,5
=> 10
irb(main):003:0> tashizan 15,8
=> 23
irb(main):004:0> tashizan 158,9
=> 167
irb(main):005:0> load 'ensyuu3a*.rb'
=> true
irb(main):006:0> kakezan 5,5
=> 25
irb(main):007:0> kakezan 15,8
=> 120
irb(main):008:0> kakezan 158,9
=> 1422
irb(main):009:0> load 'ensyuu3a-.rb'
=> true
irb(main):010:0> hikizan 5,5
=> 0
irb(main):011:0> hikizan 15,8
=> 7
irb(main):012:0> hikizan 158,9
=> 149
irb(main):013:0> load 'ensyuu3awaru.rb'
=> true
irb(main):014:0> warizan 5,5
=> 1
irb(main):015:0> warizan 15,8
=> 1
irb(main):016:0> warizan 158,9
=> 17
irb(main):017:0> 
ryuchan00 commented 5 years ago

ensyuu3a.rb 、アップロードしちゃいましょう

ryuchan00 commented 5 years ago

トップページの upload file とか選択すれば、上げられますよ!!

image

ryuchan00 commented 5 years ago

そのうちGitとGitHubの使い方もやりたいですねー(授業でやってほしい)

ryuchan00 commented 5 years ago

@hayato0718

hayato0718 commented 5 years ago

このしょっぱいコードを上げるのは恥ずかしいです。。。

hayato0718 commented 5 years ago

GitHubの使い方、講義でやって頂けたら嬉しいですね! より理解が深まりそう。

ryuchan00 commented 5 years ago

丸め誤差

irb(main):021:0>   printf("%.20g\n", 0.9/10.0)
0.089999999999999996669
=> nil
irb(main):022:0>   printf("%.20g\n", 0.9*0.1)
0.090000000000000010547
=> nil
irb(main):023:0>