《Python程序设计》——1.2 程序开发周期

本节书摘来自华章计算机《Python程序设计》一书中的第1章,第1.2节,作者:[美]戴维 I.施奈德(David I. Schneider)著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

1.2 程序开发周期

1.1节提过,硬件是指计算机系统中的机电设备(如显示器、键盘和CPU等),软件是指令的集合,也称作程序,用其指挥硬件。程序用于在计算机上解决问题或者执行任务。程序员将问题解决方案或者任务翻译成计算机能够理解的一种语言。当我们写程序时,我们必须牢记计算机只能做我们指示它做的事情。因此,在编写指令时,我们必须非常小心和认真。
1.2.1 在计算机上执行任务
编写指令执行任务的第一步是确定输出是什么—也就是说,明确此任务应该产生什么。第二步是明确获得输出所需的数据或输入。最后一步是确定如何处理输入以获得输出—也就是说,确定使用什么公式或者做事的方法以获得输出。
此解决问题的方法与在代数课上解决现实世界问题所使用的方法相同。例如,考虑以下代数问题:
如果一辆汽车在2小时内行驶了50英里,它的速度是多少?
第一步是确定所需答案的类型。答案应该是一个以英里/每小时为单位的速度值(输出)。获取答案所需的信息是该车移动的距离和时间(输入)。公式
速度 = 距离/时间
用于处理行驶的距离和所花费的时间,以确定速度。也就是说,
速度 = 50英里/2小时

   = 25 英里/小时

该问题求解过程的图示化表示如图1-2所示。

screenshot


我们将所希望获得的作为输出,然后获取所需的输入并且处理该输入以产生所期望的输出。
后续章节将讨论如何编写程序实现上述操作。但是首先我们看一下编写程序的一般过程。
1.2.2 程序规划
一个烘焙食谱提供了规划的范例。原料和所需的数量由想要烘焙的东西所决定。也就是说,输出决定输入和处理。食谱或者方案,减少了你可能犯的错误。虽然很难想象一个建桥或者建工厂的建筑师会没有一个详细的计划,但是许多程序员(特别是第一门编程课上的学生)试图不事先制定一个细致的计划就编写程序。问题越复杂,计划就应该越复杂。如果你精心设计出一个一步步的计划并且在实际写程序之前测试它,你将在程序上花少得多的时间。
许多程序员使用一系列步骤作为他们程序的计划,称作软件开发生命周期。以下步骤将使你更有效地利用时间,并且帮助你设计能产生所期望输出的、零错误的程序。

  1. 分析:定义问题。
    明确你理解程序应该做什么—也就是说,输出应该是什么。对给定的数据(或输入)以及输入和期望输出之间的关系做到心中有数。
  2. 设计:制定解决问题的计划。
    找到解决问题的一系列精确的逻辑步骤。这一系列步骤称作算法(algorithm)。包括明显的步骤在内的每个细节都应出现在算法中。下一节将讨论三个用于制定逻辑计划的方法:流程图、伪代码和层次结构图。这些工具帮助程序员将一个问题分解为计算机能执行的一系列小任务,从而解决问题。制定计划也包含手工使用有代表性的数据来测试算法的逻辑性,以确定算法的正确性。
  3. 编码:将算法翻译为编程语言。
    编码(coding)是编写程序的术语。在此步骤中,把使用Python编写的程序输入计算机中。程序员使用步骤2设计的算法以及Python的知识。
  4. 测试和纠错:定位并删除程序中的任何错误。
    测试是找到程序中错误的过程。(程序中的错误称作bug,测试和纠错通常称作调试。)随着程序键入,Python会指出程序中的某些类错误。当程序执行的时候,Python会检测出一些其他类型的错误—然而,许多错误,如输入错误、算法的瑕疵或者Python语言规则的不正确使用等,并不能被发现,只能通过认真的检测工作才能得到纠正。例如,本应使用乘号的地方使用了加号。
  5. 完成文档:组织全部描述程序的材料。
    文档的目的是让其他人或者程序员将来能理解此程序。内部文档(注释)包括程序中不执行的语句,但是指出了程序各部分的目的。文档也可能包括程序能做什么事情以及如何使用它的详细描述(例如,所期望输入的类型)。对于商用程序,文档包括使用手册和在线帮助。其他类型的文档包括构建此程序的流程图、伪代码和层次结构图等。虽然文档被列为程序开发周期的最后一部分,但是它应该发生在程序编码之际。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值