《“笨办法”学Ruby》(第3版)—习题3数字和数学计算

    xiaoxiao2024-01-04  158

    本节书摘来自异步社区《“笨办法”学Ruby》(第3版)一书中的习题3数字和数学计算,作者【美】Zed A. Shaw(泽德 A. 肖),更多章节内容可以访问云栖社区“异步社区”公众号查看。

    习题3 数字和数学计算“笨办法”学Ruby(第3版)每一种编程语言都包含处理数字和进行数学计算的方法。不必担心,程序员经常谎称他们是多么牛的数学天才,其实他们根本不是。如果他们真是数学天才,他们早就去从事数学相关的行业了,而不会为了能开得起跑车,吭哧吭哧写各种毛病多多的Web框架了。

    这个习题里有很多数学符号。我们来看一遍它们都叫什么名字。你要一边写一边念出它们的名字来,直到你念烦了为止。名字如下:

    加号

    − 减号

    / 斜杠

    星号

    % 百分号

    < 小于号

    大于号

    <= 小于等于号

    = 大于等于号

    有没有注意到以上只是些符号,没有给出具体的运算呢?写完下面的练习代码后,再回来写出每个符号的作用,完善这个表。例如,+是用来做加法运算的。

    ex3.rb 1  puts "I will now count my chickens:" 2 3  puts "Hens #{25 + 30 / 6}" 4  puts "Roosters #{100 - 25 * 3 % 4}" 5 6  puts "Now I will count the eggs:" 7 8  puts 3 + 2 + 1 - 5 + 4 % 2 - 1 / 4 + 6 9 10  puts "Is it true that 3 + 2 < 5 - 7?" 11 12  puts 3 + 2 < 5 - 7 13 14  puts "What is 3 + 2? #{3 + 2}" 15  puts "What is 5 - 7? #{5 - 7}" 16 17  puts "Oh, that's why it's false." 18 19  puts "How about some more." 20 21  puts "Is it greater? #{5 > -2}" 22  puts "Is it greater or equal? #{5 >= -2}" 23  puts "Is it less or equal? #{5 <= -2}"

    应该看到的结果习题3 会话

    $ ruby ex3.rb I will now count my chickens: Hens 30 Roosters 97 Now I will count the eggs: 7 Is it true that 3 + 2 < 5 - 7? false What is 3 + 2? 5 What is 5 - 7? -2 Oh, that's why it's false. How about some more. Is it greater? true Is it greater or equal? true Is it less or equal? false

    巩固练习1.在每一行的上面使用#为自己写一个注释,说明一下这一行的作用。

    2.记得习题0吧?用里边的方法运行Ruby,然后使用刚才学到的数学运算符把Ruby当做计算器玩玩。

    3.自己找个想要计算的东西,写一个.rb文件把它计算出来。

    4.有没有发现计算结果是“错的”呢?计算结果只有整数,没有小数部分。这里你应该使用“浮点数”(floating point number),也就是带小数点的数,如10.5或者0.89,就连3.0也是一个浮点数。

    5.使用浮点数重写一遍ex3.rb,让它的计算结果更准确。(提示:20.0是一个浮点数。)

    常见问题回答为什么%是求余数符号,而不是百分号?很大程度上只是因为设计人员选择了这个符号而已。正常写作时它是百分号没错,在编程中除法我们用了/,而求余数又恰恰选择了%这个符号,仅此而已。

    %是怎么工作的?换个说法就是“X除以Y余数是J”,例如“100除以16余数是4”。%运算的结果就是J这部分。

    运算优先级是怎样的?在美国,我们用PEMDAS这个简称来辅助记忆,它代表的是Parentheses(括号)、Exponents(指数)、Multiplication(乘)、Division(除)、Addition(加)、Subtraction(减),这就是Ruby里的运算优先级。

    本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)