• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

  • Jira替代方案
目录

编程中的函数和数学中的函数有什么区别

编程中的函数和数学中的函数是一样的,即将每一输入元素映射到输出元素的一种关系。编程中的函数,可以有多个参数;其实数学中也有多个参数的函数。编程中的函数,有时候可以返回多个值组成的一个数组。

一、编程中的函数和数学中的函数

编程中的函数和数学的函数是一样的,即将每一输入元素映射到输出元素的一种关系。

编程中的函数,可以有多个参数;其实数学中也有多个参数的函数。

编程中的函数,有时候可以返回多个值组成的一个数组;数学中也常有这样的例子,比如复变函数,返回一个复数。

编程中的函数,还可以是函数的函数,我们称为高阶函数;数学中也有这样的高阶函数。

但是,编程中的函数除了映射之外,还可能做一些其他事情,比如在屏幕上输出一些东西出来;这个就不象数学上的函数了,这种额外的功能,称为旁效。

Lua本身有函数式编程的元素,如果你有兴趣以后可以学习一些函数式编程语言,如Haskell或Scala,在这种编程思维下,所有的电脑运算都看作函数。

较传统的指令式编程将程序看作是一条条指令执行的集合体,函数式编程则将程序看作是输入和输出之间的映射关系。其基础λ验算本身就是一个严格的数学概念。

函数式编程有几个优点:

  • 有完备的数学基础,更容易理解其逻辑
  • 测试更容易,而且不太容易出错
  • 非常强大,可以简单实现高度抽象化
  • 和平行计算等概念很兼容

因为这些优点,即使不是函数式编程语言最近也有越来越偏向于函数式的趋势,例如Java从7到8就增加了大量函数式功能。

函数式编程有一些表面的缺点,

  • 门槛高,感觉难学,这其实主要因为很多人在学校较早接触的编程都是指令式的
  • 性能差,这主要因为早期函数编程没有专门相应的数据结构,使用一般指令式编程的数据结构会导致性能变慢


延伸阅读:

二、为什么会有库函数

1.我们知道我们在学习C语言编程的时候,总是在一个代码编写完成之后迫不及待的想知道结果,想把这个结果打印到我们的屏幕上看看,这个时候我们会频繁的使用一个功能,将信息按照一定的格式打印到屏幕上(printf)

2.在编程的过程中我们会频繁的做一些字符串的拷贝工作(strcpy)

3.在编程时我们也计算,总会计算n的k次方这样的运算(pow)

 像上面我们描述的基本功能,它们不是业务性的代码,我们在开发的过程中每个程序员都可能用得到,为了支持可移植性和提高程序的效率,所以C语言的基础库中提供了一系列类似的库函数,方便程序员进行软件开发

以上就是关于编程中的函数和数学中的函数有什么区别的内容希望对大家有帮助。

一站式研发项目管理平台 PingCode

一站式研发项目管理平台 PingCode

支持敏捷\瀑布、知识库、迭代计划&跟踪、需求、缺陷、测试管理,同时满足非研发团队的流程规划、项目管理和在线办公需要。

相关文章

网站数据库(oracle、mysql)以及各种编程语言(php、python、perl、lisp)的区别

百科

驼峰式大小写中 StudlyCaps 和 Camel-Case 有什么区别

百科

范畴论和类型论的区别和联系是什么

百科

JAVA和C语言多维数组的实质是什么有什么区别

百科

MFC做的界面和python做的,有什么区别

百科

对于QFile,delete,deletelater(),close()有什么区别

百科

A算法和A*算法的区别是什么

百科

随机优化、鲁棒优化和分布鲁棒优化有什么联系和区别

百科

机器学习算法中GBDT与Adaboost的区别与联系是什么

百科

kNN里面的两种优化的数据结构:kd-tree和ball-tree,在算法实现原理上有什么区别

百科