当前课程知识点:程序设计基础 > 第四章 筛法与查找 > 师生问答 > 师生问答一:函数与面向过程编程
老师 您在第一章答疑的时候提到过
说函数反应的是定义的问题
数学函数反应的是调用的问题
现在想一想我觉得我明白了
其实还不只是第一章给你们提到的那一点
不知道你有没有注意
我这节课演示的过程中
我是先写了这个主函数 把主函数写完了
然后发现没有定义 然后再去补的函数的定义
你觉得这说明什么呢
额……我觉得 说明 主函数和自定义函数 是没有顺序的问题
额 还不只是这样
既然说这两个函数呢 主函数和自定义的函数
可以不按照任意的顺序写
同时也可以说明它其实也可以是给不同人写的
实际上随着软件领域的产业越来越大
这个程序也是越写越大
所以一个人 后来就很难独立的完成一个很大的程序了
所以这个时候呢 就需要有一个依据
来做这个分工
那么函数实际上就给我们提供了这种
分工的依据
你可以想象一下这样一个场景吧
比如说 我现在有一个 10个人的小组
然后要做一个很大的程序
大概他们会怎么做呢?
就是我第一天先开个会
10个人聚到一块讨论一下
说 大家讨论了一番 说
这一个任务很大
大概需要写1000个函数
然后呢 大家再讨论一下 根据以往的经验
把这1000个函数排排顺序
分成工作量比较相当的10份
然后这10份当中 大概比方说
每一份里面有100个函数吧 假设说
那这100个函数呢 我再排一排时间
分成10天 一天每个人完成10个函数
然后呢 当然这个
是有顺序的,第一天我可能10个人分别去工作了
第一天我可能完成的是 类似我们讲到的
排序啊 查找啊 这样比较基础的函数
这种函数呢 我只需要配一个简单的主函数
那我就可以去测试这个功能是不是正确了
第二天呢我就可以再用这个 前一天已经实现好的这个函数
比如说 查找啊 排序啊 这些函数
再去完成一个 稍微更复杂一点的功能
然后逐步逐步 一天一天的 可能更复杂
直到第10天的时候
我可能所有人聚到一块
最后把主函数写完了
那整个一起运行一下
那么整个大的程序也就完成了
那其实 你想象一下
不允许自定义函数的话
那我10个人 想要完成这个1000个函数相当的这么个功能的话
其实是很困难的 没有办法分工
除了这一点呢 咱们软件越来越发展嘛
那么后来呢 我们以函数为分工单位的方式 也逐渐显示出了一些弊端
所以后来我们发展出了更多的这种 我们叫编程思想
有一些词 可能同学们底下听说过
比如说面向对象啦
面向构建啦
或者说 面向侧面啊 等等 有一系列的编程的思想
可能适用于不同的问题
那么相对的 我们刚才说的这种
以函数为分工单位的这种编程思想
我们管它叫做 面向过程的编程思想
-1.1 基础知识
-1.2 买菜问题
-1.3 数学运算
-1.4 补充说明
-1.5 总结
--1.5 总结
-程设论道
--程设论道
-师生问答
-第一章 编程初步--语法自测
-2.1 关于超级计算器的几点思考
-2.2 电子秤模拟 — 背景介绍及需求分析
-2.3 电子秤模拟 — 代码实现
-2.4 变量定义与变量类型
-2.5 猜数游戏与数据表示
-2.6 关于变量的讨论
--公告
-2.7 变量体现的计算思维
-程设论道
--程设论道
-师生问答
--师生问答
-第二章 变量与代数思维--语法自测
-3.1 谁做的好事——语义表示
-3.2 谁做的好事——真假检查
-3.3 谁做的好事——循环枚举
-3.4 谁是嫌疑犯——多重循环枚举
-3.5 谁是嫌疑犯——破案线索表示
-3.6 谁是嫌疑犯——用二进制枚举
-程设论道
--程设论道一
--程设论道二
--程设论道三
-师生问答
-第三章 逻辑推理与枚举解题--语法自测
-4.1 插花游戏
-4.2 筛法
-4.3 线性查找
-4.4 折半查找
--4.4.1 提问
-4.5 排序问题
-4.6 总结
--4.6.1 总结
-程设论道
--程设论道二:筛法
-师生问答
-第四章 筛法与查找--语法自测
-5.1 阶乘
-5.2 排序
-5.3 矩阵填充
-5.4 分书与八皇后
-5.5 青蛙过河
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答一
--师生问答二
-第五章 分治思想与递归--语法自测
-6.1 兔子数列问题
-6.2 分鱼问题
-6.3 橱窗的插花问题
-6.4 最长公共子序列问题
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答
-第六章 递推与动态规划--语法自测
-7.1 统计记录总数
-7.2 统计活跃用户数
-7.3 统计在线时长
--7.3.2 结构
-7.4 总结
--7.4.1 总结
-程设论道
--程设论道
-师生问答
--师生问答
-第七章 文本数据处理--语法自测
-8.1 将数据组织成链表
-8.2 提高链表访问效率 —— 哈希链表
-8.3 以二进制文件存储链表
-程设论道
--程设论道一
--程设论道二
-师生问答
--师生问答
-第八章 非文本数据处理--语法自测
-9.1 自动售卖程序
-9.2 配制水果信息
-9.3 指定界面语言
-程设论道
--程设论道
-师生问答
--师生问答
-第九章 可配置的程序设计--语法自测