美文网首页
和小家伙一起学编程 006 函数

和小家伙一起学编程 006 函数

作者: 木象 | 来源:发表于2019-02-08 20:39 被阅读0次

数学上的函数,记做:

y = f(x)

是伟大的莱布尼茨(G.W.Leibniz)提出的。

在中国,最早由清代数学家李善兰翻译,其著作《代数学》中写到:“凡此变数中函彼变数者,则此为彼之函数”。

计算机中的函数也类似,不过要更宽泛,比如x可以不止一个,称为参数……

函数好像一台家用电器或者别的什么机器,空调、洗衣机、电视,我们可以通过开关、旋钮等控制它,输入数据,它会按照设计的功能执行,返回某种结果。

从另一个角度看,对于整个程序而言,函数又好像机器中的零部件、功能模块,我们把大的复杂的问题分解为更小的问题,每个函数解决一个小问题,这样像搭积木一样我们就搭起了解决大问题的程序,而且,这些小的模块还可以在其他程序中反复使用。

Scratch可以自制积木,它的功能接近于函数。

Scratch 自制积木的例子

我们先做一个“小鸟琴”:

“小鸟琴”第一只小鸟的代码 “小鸟琴”第二只小鸟的代码

后面三只小鸟的代码也类似,选择不同的音符播放就可以了,这样我们可以像弹琴那样点击小鸟来演奏音乐了。

播放“乐谱”的代码

现在在舞台上添加上图的代码,当我们按下空格键,就可以输入类似“ABCDEACACEE”这样的“乐谱”,输入以后,小鸟琴就会把乐谱演奏出来。

这时,我们可能会想到,我们有了播放不同乐谱的能力,如果我们想在别的Scratch程序中播放某段音乐,比如我们想做一个考验音乐记忆能力的小游戏,我们就可以用这段代码,于是我们可以把这个功能放到一个自制积木里:

自制积木 不需要显示小鸟,只演奏乐谱的自制积木

Python 函数的例子

哎呀,懒得自己写了,正好推荐一“本”网上的好书:

How to Think Like a Computer Scientist: Learning with Python 3

其中函数一章:

4. Functions

函数式编程

我们说过面向对象的编程,函数式编程(Functional Programming)是另一种很牛的编程思想或者方法,也是我喜爱的,就不多说了,推荐两本正儿八经的的编程学习书吧:

Learn You a Haskell for Great Good!

Haskell趣学指南(Learn You a Haskell for Great Good!)

The Little Schemer

The Little Schemer:递归与函数式的奥妙

节点目录

和小家伙一起学编程 000 出发

和小家伙一起学编程 001 条件

和小家伙一起学编程 002 循环

和小家伙一起学编程 003 随机

和小家伙一起学编程 004 编码

和小家伙一起学编程 005 对象

和小家伙一起学编程 006 函数

和小家伙一起学编程 007 算法

相关文章

  • 和小家伙一起学编程 006 函数

    数学上的函数,记做: 是伟大的莱布尼茨(G.W.Leibniz)提出的。 在中国,最早由清代数学家李善兰翻译,其著...

  • Scala(三)-①-函数式编程和异常

    入门Scala(三)-① 函数式编程和异常 函数式编程 ① Why-为什么我们要学函数式编程.这种范式的目的 无目...

  • 函数式编程(一)—— 前置知识

    为什么要学函数式编程? 什么是函数式编程?函数式编程和面向对象编程的不同对于函数式编程思维方式的理解: 函数式编程...

  • 和小家伙一起学编程 000 出发

    即便没什么用处,编程也是件有趣的事情。 这些文本的出发点,是想和小儿子一起学习编程,同时,把这些知识、经验或者仅仅...

  • 和小家伙一起学编程 007 算法

    说到编程,就不能不说一个重要概念——算法。 简单的说,算法就是解决某类问题的步骤。 比如说排序,在日常生活中,排序...

  • 和小家伙一起学编程 001 条件

    我们往往需要根据某个条件来做出选择或行动,比如:如果这本书打五折我就买了;我九点半就出发;如果走新路线更近我就走新...

  • 和小家伙一起学编程 004 编码

    编码,简单的说,就是将信息从一种表达方式转换成另一种表达方式。 例如,和小朋友约定,如果连续敲三下然后停一下,就表...

  • 和小家伙一起学编程 003 随机

    说到随机,最容易想到的例子之一便是抛硬币。 简单的说,随机是指我们无法预先知道结果。 在牛顿物理学的世界中,不考虑...

  • 和小家伙一起学编程 002 循环

    人类发明制造了许多机器来代替自己做那些重复繁琐的劳动。 在编程中,循环就是做这些重复的工作的。 Scratch 循...

  • 和小家伙一起学编程 005 对象

    学习编程的过程中,渐渐的,我们就会遇到一些更复杂抽象的概念。 比如,面向对象的编程(Object-oriented...

网友评论

      本文标题:和小家伙一起学编程 006 函数

      本文链接:https://www.haomeiwen.com/subject/hrqisqtx.html