【Scheme归纳】2 算数运算

quotient、remainder、modulo和sqrt

函数quotient用于求商数(quotient)。
函数remainder和modulo用于求余数(remainder)。
函数sqrt用于求参数的平方根(square root)。
以下是一些示例:

(quotient73)
;Value:2
(modulo73)
;Value:1
(sqrt 10)
;Value:3.1622776601683795

sin、cos、tan、asin、acos和atan

atan接受1个或2个参数。如果期望atan的结果是1/2π,就使用第二个参数指明使用弧度制。
以下依旧是一些示例:

(atan1)
;Value:0.7853981633974483
(atan 1 0)
;Value:1.5707963267948966
(*4 (atan 1.0))
;Value:3.141592653589793

指数和对数

指数通过exp函数运算,对数通过log函数运算。a的b次幂可以通过(expt a b)来计算。

(exp2/3)
;Value:1.9477340410546757
(expt3 4)
;Value:81
(log1000)
;Value:6.907755278982137

数值变换

函数exact->inexact用于把分数转换为浮点数。

(exact->inexact(/2937))
;Value:1.380952380952381



感谢访问,希望对您有所帮助。 欢迎关注或收藏、评论或点赞。



为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp


时间: 2024-10-30 15:28:42

【Scheme归纳】2 算数运算的相关文章

编程-Eclipse环境下编写Java程序,使用float类型的数据为什么无法进行算数运算?

问题描述 Eclipse环境下编写Java程序,使用float类型的数据为什么无法进行算数运算? float f=5+5.5; 或者 float f ; f= 1*5.5; 这两个均会报错,我就纳闷了.为什么这样不行?后来我又试了: int a= 5; float f ; f= a*5.5; 还是不行,报错的语句就是给f赋值的语句. 请问为什么?C++下亲测这三者均可运行,难道这是Java的特性吗?不可能啊,如果这种操作都会编译报错,那这float基本上就没用处了,这太不科学了. 为了避免一些网

【Scheme归纳】3 比较do, let, loop

对象的比较 eq? 这个函数用来比较2个对象的地址,如果相同的话就返回#t.在Scheme中真用#t表示,假则用#f. 例如,(eq? str str)返回#t,因为str本身的地址的是一样的,但是"scheme"和"scheme"则被存储在不同的地址中,因此函数返回#f.注意,不要用eq?来比较数字,因为在R5RS和MIT-Scheme中均没有被指定返回值,建议使用eqv?或者=代替.以下是一些示例: (define str "scheme")

【Scheme归纳】4 高阶函数

高阶函数的介绍 高阶函数的英文名称是Higher Order Function,它们是以函数为参数的函数.主要用于映射(mapping).过滤(filtering).归档(folding)和排序(sorting)表.高阶函数让程序更具模块性,让函数更加通用. 函数sort具有2个参数,一个是需要排序的表,另一个是定序(Ordering)函数.下面展示了按照大小将一个整数表正序排序.而<函数就是本例中函数的定序函数. (sort'(420 -130 138 983 0298 783 -783) <

Java实现中文算数验证码(算数运算+-*/)

为了防止,页面向数据库暴力注册入力,用户登录暴力破解,所以加入验证码,验证码无法被软件获取上边的内容(加入算数计算,更加安全),所以在现在技术,暂时安全. 先看效果图: 第一次加载比较慢,防止无法加载验证码显示,后台获取准备好的默认正在加载图片(静态图片),后台图片获取好后,替代. 验证码效果图:                后台Java图片实现类VerificationCodeTool: package com.tsXs.fileshare.tools; import java.awt.Co

【Scheme归纳】5 数据结构

Scheme的数据结构 在前面的博文中我们使用了list等等,像其他的编程语言一样,Scheme也有字符(Character),字符串(String),符号(Symbol),向量(Vector)等数据结构.下面我们来一一介绍. 字符 在某个字符前添加#\来表面该物是一个字符.例如,#\a表示字符a. \Space,#\Tab,#\Linefeed,#\Return分别代表空格(Space),制表符(Tab),换行(linefeed)和返回(Return). (char-whitespace?#\

【Scheme归纳】6 赋值

赋值 因为Scheme是函数式语言,通常来说,你可以编写不使用赋值的语句.然后如果使用赋值的话,有些算法就可以轻易实现了.尤其是内部状态和继续(continuations)需要赋值. R5RS中规定的用于赋值的特殊形式是set!,set-car!,set-cdr!,string-set!,vector-set!等. 因为赋值改变了参数的值,因此它具有破坏性(destructive). 在Scheme中,具有破坏性的方法都以!结尾,以警示程序员. set!可以为一个参数赋值.与Common Lis

【Scheme归纳】1 使用Edwin

Edwin介绍 Edwin是MIT Scheme系统的一个窗口式的编辑使用前端.启动Edwin实际是先启动Scheme系统,再启动也给Edwin前端.Edwin是一个使用Scheme写的交互式编辑器,其特点是支持Scheme表达式的编辑和求职. 两种模式 Edwin模式: 编辑Scheme文件的模式,如果装入一个.scm文件,相应的Edwin的这个编辑区处于Edwin模式.这种模式下可以编写Scheme程序,也可以对表达式求值.正常求出的值显示在最下面交互行,但不会显示出错信息,也不能进入调试系

详解Ruby当中的算数运算_ruby专题

 Ruby支持一系列丰富的运算符的一个现代化的语言.大多数运算符实际上是方法调用.例如,a + b的被解释为a, +(b)变量引用的对象的方法被称为一个用b作为它的参数. 对于每个运算符 (+ - * / % ** & | ^ << >> && ||), 有相应的赋值运算符缩写形式 (+= -= 等)Ruby算术运算符: 假设变量a=10,变量b=20:  Ruby比较操作符: 假设变量a=10,变量b=20:  Ruby赋值运算符: 假设变量a=10,变量

【Scheme归纳】7 常用关键字

display 在common lisp中有format,在scheme中则有display,轻松应对各种输出. (display(+ 1 2 3 4)) 10 ;Unspecifiedreturn value (display'(1 2 3 4)) (12 3 4) ;Unspecifiedreturn value newline 换行符一枚 trace trace可以用来跟踪函数的调用.我们用一个简单的例子来展示: (define(cube x) (* x x x)) (define(sum