女孩和机器人一起思考

一起动脑筋 · 先看一个小故事

机器人每天都要问好三次,女孩不想在很多地方重复写同样的动作。她给这组动作取了名字。

把过程摊开来看

沿着编号看一遍,再用自己的话讲一遍
  1. 打包动作定义 greet
  2. 需要时调用 greet
  3. 执行完回到原来的位置

函数给一段任务明确的名字和边界,让程序可以复用这段逻辑。

定义像写好一张任务卡,调用才是照卡执行。名字要能让读者猜到它负责什么。

01如果一段代码要用很多次怎么办?

假设程序需要在很多地方计算两个数中的较大值。如果每次都把同样的判断代码重新写一遍,程序会越来越长,也更容易改漏。

函数可以把这段任务单独取一个名字,需要时直接调用。

02函数到底是什么?

函数(Function)是一段有名字、可以被调用来完成特定任务的程序代码。

int maxValue(int a, int b) {
    if (a > b) {
        return a;
    }
    return b;
}

这个函数接收两个整数,并返回较大的那个。

名字

maxValue,告诉人它做什么。

输入

参数 ab

输出

返回一个 int

03函数能减少重复代码吗?

int x = maxValue(3, 8);
int y = maxValue(20, 5);

同一份函数代码可以被调用很多次,每次使用不同的数据。

04函数为什么能让程序更容易读?

所有代码挤在 main 里

读者必须同时理解很多细节。

拆成多个函数

函数名先告诉读者“这一块在做什么”。

例如 readInput()calculate()printResult() 比一大段连续代码更容易理解。

05函数是不是越多越好?

不是。函数应该围绕清楚、相对完整的任务来划分。

如果把每一行代码都拆成一个函数,反而会让程序跳来跳去,很难阅读。

06函数怎样帮助我们解决大问题?

大问题拆成几个小任务每个函数负责一部分

这就是程序结构设计的重要思想:分解问题,再组合结果。

你已经知道了什么

  • 函数是一段可以被调用、完成特定任务的代码。
  • 函数可以有名字、参数和返回值。
  • 函数能减少重复并让程序结构更清楚。
  • 函数不是越多越好,应该围绕明确职责划分。
  • 函数是把大问题拆成小问题的重要工具。

下一篇:怎样定义和调用一个函数?

轮到你来试一试

写好了问好函数,却从没调用,会自动问好吗?

想好了吗?点开看解释

不会。定义告诉程序有哪些任务可用,调用才触发这一次任务。