《Two Dozen Short Lessons in Haskell》(二十)分数

《Two Dozen Short Lessons in Haskell》(Copyright © 1995, 1996, 1997 by Rex Page,有人翻译为Haskell二十四学时教程,该书如果不用于赢利,可以任意发布,但需要保留他们的copyright)这本书是学习 Haskell的一套练习册,共有2本,一本是问题,一本是答案,分为24个章节。在这个站点有PDF文件。几年前刚开始学习Haskell的时候,感觉前几章还可以看下去,后面的内容越来越难以理解。现在对函数式编程有了一些了解后,再来看这些题,许多内容变得简单起来了。

初学Haskell之前一定要记住:

把你以前学习面向过程的常规的编程语言,如Pascal、C、Fortran等等统统忘在脑后,函数式编程完全是不一样的编程模型,用以前的术语和思维来理解函数式编程里的概念,只会让你困惑和迷茫,会严重地影响你的学习进度。

这个学习材料内容太多,想把整书全面翻译下来非常困难,只有通过练习题将一些知识点串起来,详细学习Haskell还是先看其它一些入门书籍吧,这本书配套着学学还是不错的。

第二十章 分数

1 The Haskell class Fractional includes

a  integral, real, and complex numbers

b  numbers between zero and one, but not numbers bigger than one

c  both floating point and rational numbers

d  the Mandelbrot set 指的分形图形

 

2 The mantissa of a floating point number determines 

a  where the decimal point goes

b  the range of the number and its sign

c  the magnitude and precision of the number

d  the sign of the number and the digits in its decimal numeral

 

3  The exponent of a floating point number determines

a where the decimal point goes

b the range of the number and its sign

c the magnitude and precision of the number

d the sign of the number and the digits in its decimal numeral

 

4  The following denote floating point numbers as the should appear in a Haskell script

a 1.89533e+25, 18.01528974, 1.05522e-24, +27.0

b 1.89533 × 1025, 18.01528974, 1.05522 × 10-24, -27.0

c 1.89533e+25, 18.01528974, 1.05522e-24, -27.0

d all of the above

 

5  Analog to digital conversion converts a number

a  from a set containing a great many numbers to a number from a much smaller set

b  to zero or one

c  to a pattern of zeros and ones

d  by a digital analogy process

 

6  Which of the following formulas would useful for analog to digital conversion?

a  floor((x - a)/dx)

b  floor(n∗(x - a)/(b - a))

c  floor . (/ dx) . (+(- a))

d  all of the above

 

7  Numbers of type Rational in Haskell scripts are

a  compatible with floating point numbers in arithmetic operations

b  constructed from two integers by putting a percent-sign between them

c  especially useful when precision is not the most important factor

d  all of the above

=============================

=============================

1 c

书中答案是a,不知道是怎么回事?

 

2 d

类型Float和Double的数都包括2个部分:mantissa小数部分,exponent指数部分。

小数部分决定了该数的正负号和有效数字个数。

关于详情可以看看IEEE754浮点数表示。

 

3 a

指数部分决定了小数点的位置。

 

4 c

+27.0是错误的表示法,不能把加号放在前面。另外1. 和 .1 也都不是正确的表示法。

 

5 a

模数转换就是把范围很大的数转换到一定范围内的数。

image

 

6 d

有点迷惑性,书中的公式对应着答案a。

答案c是另一种表示法。

答案b是把dx=(b-a)/n代入a中。

 

7 b

Haskell的分数可以用两个整数,在中间放一个百分号来表示。例如:3%5,5%3,-232%365

直接在ghci中输入上面的表达式会出现Not in scope: `%'错误,需要加载Data.Ratio模块。

:m Data.Ratio

转载于:https://www.cnblogs.com/speeding/archive/2013/05/01/3015218.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378480.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle 查询不能重复,oracle – 如何防止在选择查询中选择重复行?

我被赋予了从Oracle数据库中选择关键数据的任务,但我注意到我的select正在返回重复的行.我不需要它们用于我的报告但我不希望它们删除它们.有人可以帮助只获取我需要的数据.我尝试了以下代码,但这没有用.SELECT distinct bbp.SUBCAR "Treadwell",bbp.BATCH_ID "…

数字图像课程工程大作业分析

试题分析: 在连续的视频中对火焰及水柱的轨迹检测,效果如图。 ** 提示: 1、火焰可利用亮度和颜色 2、水柱的轨迹需要先用背景差分获得水柱的连通域,然后利用连通域上的像素点进行曲线的拟合,水枪的位置视为已知&#…

设计电子商务网站的10个技巧(转自ITEye)

导读:随着先进科学技术的应用,人们无需外出逛几个小时来“猎”东西,直接坐在家里就可以购买所需商品,支付服务费用。你只需一台电脑就能搞定。人们习惯了周到的服务和漂亮的橱窗,对网店的选择也不例外。因此&#xff0…

分析酸对酸性染料染羊毛染色性能的影响?举例说明酸性染料染羊毛时,如何选择合适的染浴pH值?并说明原因。

分析酸对酸性染料染羊毛染色性能的影响?举例说明酸性染料染羊毛时,如何选择合适的染浴pH值?并说明原因。 标准答案: 羊毛属于蛋白质纤维,属于两性纤维,酸影响羊毛的解离程度,带电性及带电量,影响热力学性能。等电点以下,羊毛带正电荷,与阴离子酸性染料之间存在静电引…

ORACLE连接数据库(备忘)

常用命令: conn sys/密码 as sysdba 连接数据库转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/01/3053787.html

stl swap函数_vector :: swap()函数以及C ++ STL中的示例

stl swap函数C vector :: swap()函数 (C vector::swap() function) vector::swap() is a library function of "vector" header, it is used to swap the content of the vectors, it is called with a vector and accepts another vector as an argument and swaps…

C++语法:vector的使用

【1】vector的创建与元素插入【2】vector元素的访问【3】vector的基本使用技巧【4】vector的几个重要操作【1】vector的创建与元素插入 std::vector<cv::Point> points; //vector容器中保存的类型是Point for (int i 0;i < 10;i) {float x rng.uniform(0, img.cols…

一、经含氟防水剂整理的织物主要存在的不足?

经含氟防水剂整理的织物主要存在的不足? 收集资料阶段 含氟防水剂有哪些优缺点 一、含氟防水剂的优点 1、防水效果好,等级高。而无氟防水剂效果相对来说要差一些; 2、兼具防油的功能。无氟防水剂是不具备防油功能的; 3、稳定性好、与其他助剂的配伍好,工艺适应性强;有机…

Apache Web Login Authentication

Apache Web Login Authentication: Adding password protection to a web site using Apache web server authentication. AuthLDAPURL ldap://ldap.your-domain.com:389/ostooges?uid?subAuthLDAPBindDN "cnStoogeAdmin,ostooges"AuthLDAPBindPassword secret1Aut…

oracle中的with的用法,oracle中with子句的用法(转)

语法&#xff1a;WITH query_name AS (subquery)[, query_name AS (subquery) ]...使用在主select关键字前&#xff0c;oracle将其当做一个内联视图或者临时表使用。例子&#xff1a;1.最简单的使用方法&#xff1a;如查询部门名称包含“A”的所有员工信息--with clausewith a …

模拟一个排队系统

现在有一个数据源&#xff0c;有两种状态&#xff08;ON OFF&#xff09;&#xff0c;ON的持续时间服从均值为T_on的指数分布&#xff0c;OFF的持续时间服从均值为T_off的指数分布&#xff0c;源只在ON的时候产生数据包&#xff0c;服从均值为λ的指数分布 模拟一个排队系统 每…

stl中copy()函数_std :: copy_if()函数以及C ++ STL中的示例

stl中copy()函数C STL std :: copy_if()函数 (C STL std::copy_if() function) copy_if() function is a library function of algorithm header, it is used to copy the elements of a container, it copies the certain elements (which satisfy the given condition) of a…

C++语法:求vector中的最大值及其位置

代码&#xff1a; #include <iostream> #include <vector> #include <algorithm> using namespace std;int main(){vector<int> a { 2,4,6,7,1,0,8,9,6,3,2 };auto maxPosition max_element(a.begin(), a.end());cout << *maxPosition <&l…

二、织物具备超级防水效果的条件?

织物具备超级防水效果的条件? 收集资料阶段 莲花效应(Lotus Effect),指莲叶表面具有超疏水(superhydrophobicity)以及自洁(self-cleaning)的特性。 由于莲叶具有疏水、不吸水的表面,落在叶面上的雨水会因表面张力的作用形成水珠,换言之,水与叶面的接触角(contacta…

C#编码简单性之函数篇(如何编写简短的C#代码,随时更新)

作者&#xff1a;陈勇出处&#xff1a;blog.csdn.net/cheny_com这是编码简单性系列中的其中一篇&#xff0c;之前几篇包括代码篇和语义篇。因为要积累案例&#xff0c;会随时更新。之前提到&#xff1a;编码简单性的“心法”就是&#xff1a;只要屏幕上有任何两部分代码看上去相…

R学习笔记(1):R是什么

本文最新版已更新至http://thinkinside.tk/2013/05/03/r_notes_1_what.html 在学习量化投资的时候&#xff0c;我发现了R&#xff08;www.r-project.org&#xff09;。R到底是什么呢&#xff1f;在开始之前&#xff0c;先看看R的神奇之处。 1. R初窥 从CRAN&#xff08;The Co…

oracle网卡,Oracle_bond网卡配置

***************************loyu*******************************************************双网卡创建bond虚拟网卡实验*************************cat > /etc/sysconfig/network-scripts/ifcfg-bond0 << EofDEVICEbond0BOOTPROTOstaticONBOOTyesIPADDR172.16.116.60N…

Python | 展示一个break语句示例

break is a keyword in python just like another programming language and it is used to break the execution of loop statement. 就像另一种编程语言一样&#xff0c; break是python中的关键字&#xff0c;用于中断loop语句的执行。 In the given example, loop is runni…

数字图像处理知识总结

一&#xff1a;基本概念 数字图像&#xff1a;指由被称作像素的小块区域组成的二维矩阵。将物理图像行列划分后&#xff0c;每个小块区域称为像素&#xff08;pixel&#xff09;。每个像素包括两个属性&#xff1a;位置和灰度。图像数字化一般分为采样、量化与编码三个步骤。数…

三、“涤纶纤维和棉纤维两组分纤维在涤/棉混纺织物燃烧过程中有着明显的物理相互作用和化学相互作用”,解释这两种作用。

“涤纶纤维和棉纤维两组分纤维在涤/棉混纺织物燃烧过程中有着明显的物理相互作用和化学相互作用”,解释这两种作用。 收集资料阶段 棉纤维燃烧后炭化,而涤纶燃烧时熔融滴落,由于棉纤维成为支持体,可使熔融纤维聚集,并阻止其滴落,使熔融纤维燃烧更加剧烈,即所谓"支架效应…