天天看点

《易学C++》第12章 如何编写程序代码第12章 如何编写程序代码

第12章 如何编写程序代码

当我们学会如何阅读代码,如何调试程序后,就要更进一步了——学习如何编写程序。如果说之前是扶着旁物蹒跚学步,那么现在才真正地迈出第一步。本章主要介绍如何把实际问题用一个程序来解决,也让大家对程序设计有一个简单的认识。

本章的知识点有:

  • 程序设计基本步骤
  • 程序设计的3类主要问题
  • 字符串查找的算法
  • 栈及其操作
  • 函数调用机制
  • 递归函数

12.1 程序设计的基本步骤

现实生活中遇到的问题,往往是不能直接用程序代码描述的问题。例如,统计销售量和利润,寻找出行的公交线路,将中文翻译成英语等。所以先要把实际问题转化成一个计算机能够解决的问题,而大多数问题一般分为3类。

(1)算:计算利润,计算一元二次方程的根,计算一个数列的和等。

(2)找:找最大的一个数,找最短的一条路径,找一个字符串的位置等。

(3)实现功能:实现撤销、重做的功能,实现模拟某种操作的功能等。有时候“实现功能”问题可以拆解为若干个“算”和“找”的问题。

正确分析了实际问题,并将其转化为上述3种计算机能够解决的问题之后,便要开始设计解决问题的方案了。设计解决问题的方案需要考虑算法和数据结构两方面。在第1章讲到过,算法是解决一类问题的过程和方法。而数据结构,目前可以简单地理解为数据的存储形式,如是变量、数组还是链表等。

设计完之后,还要将一整套复杂的方案拆解为一个个简单的小模块。拆解的程度根据代码的可读性和可写性来决定。如果某个模块过