如何设计第1个程序.pptVIP

  • 1
  • 0
  • 约2.86千字
  • 约 24页
  • 2017-04-22 发布于北京
  • 举报
如何设计第1个程序

如何设计第一个程序;目前你已经学习了一些编程基础,让我们来进一步看看如何设计一个具体的程序。当你坐下准备写一个程序,通常你对于想解决的问题,或者想模拟的情况多少有一些想法。新手程序员经常感到在解决如何把想法变换成实际代码的问题上存在困难。但结果却是,你已经从日常学习生活中获得了很多你所需要的解决问题的技术。;请记住最重要的事情是要在你开始编写代码之前设计好你的程序,而这也是最困难的。在很多注意中,编程就像是盖房子。如果你在没有建筑设计平面图的情况下试图建造一个房子,那会发生什么?除非你是个天才,否则你会得到一所问题重重的房子:漏水的屋顶,凹凸不平的墙壁等等……同样的,如果你在设计好计划之前就开始编写程序,你会发现你所编写的代码有很多问题,你必须花费很多时间来修改问题,这本来是可以通过提前设计避免的。 一个预先的计划会长远的节约你的时间,避免挫折。;第一步:明确问题;第二步:明确你的目标;第三步:将任务分出层次;让我们来看一个关于这一点的例子。我们想写一个关于胡萝卜的报告。当前的任务层次是这样的: 。写关于胡萝卜的报告 一次性写一个关于胡萝卜的报告是一个很难的任务,所以我们把它分解成子任务: 。写报告 。做调查 。写概述 。填写关于胡萝卜的细节;我们现在有三个可以分别集中研究的任务,这是很容易办到的。然而,在这种情况下,做关于胡萝卜的研究是模糊不清的,所以我们可以进一步分解: 。写关于胡萝卜的报告 。做关于胡萝卜的调查 。去图书馆找有关于胡萝卜的书 。在网上搜索有关于胡萝卜的信息 。写概述 。关于生长的信息 。关于加工的信息 。关于营养的信息 。填写关于胡萝卜的细节;现在我们有了一个任务的层次,每个子任务都不是特别困难。通过完成每个相对容易做的子项目,我们可以完成关于写一个胡萝卜报告的更困难的全部任务。 创造任务层次的另一种方法是自底向上的方法。在这种方法中,我们从一个简单任务的列表开始,通过将它们分组来构造层次。 ;举个例子,很多人必须在工作日上班或者上学,所以我们想解决“从起床到上班”的问题。如果问早上从起床到上班你要做什么任务,你也许会想到如下的列表: 。挑选衣服 。穿衣服 。吃早饭 。开车去工作 。刷牙 。起床 。准备早饭 。进入车里 。洗淋浴;使用自底向上的方法,我们可以通过寻找相似点把项目组织起来的方法,将这些整理成一个项目层次: 。从起床到上班 。卧室的事情 。起床 。挑选衣服 。浴室的事情 。洗淋浴 。刷牙 。早餐 。准备早餐 。吃早餐 。交通的事情 。进入车里 。开车去工作;结果表明,这些任务层次对程序设计非常有用,因为一旦你有了一个任务层次,你就基本明确了整个程序的结构。最高级别的任务(在本例中,“写一个关于胡萝卜的报告”或者“从起床到上班”)成为main()(因为它是你要解决的主要项目)。子项目成为程序中的函数。 如果其中一个项目(或函数)太难实现,仅仅是把这个项目分解成多个子项目,再函数调用多个子项目来实现这些新任务。最终,你应该达到的目标是在你的程序中的每一个函数实现起来都是琐碎的。;第四步:确定项目的顺序;现在你的程序有了一个结构,然后就该确定如何将所有的任务联系在一起。第一步是确定项目的执行顺序。例如,当你早上起床,是什么决定了你做以上任务的顺序?顺序或许是这样的: 。起床 。挑选衣服 。洗淋浴 。穿衣服 。准备早餐 。吃早餐 。刷牙 。进入车里 。开车去工作;这个列表基本上定义了将要进入main()函数中的东西: 01 int main() 02 { 03 GetOutOfBed(); 04 PickOutClothes(); 05 TakeAShower(); 06 GetDressed(); 07 PrepareBreakfast(); 08 EatBreakfast(); 09 BrushTeeth(); 10 GetInCar(); 11 DriveToWork(); 12 };或者在计算机的情况下: 01 int main() 02 { 03 // Get first number from user 04 GetUserInput(); 05 06 // Get mathematical operation from user 07 GetMathematicalOperation(); 08 09 // Get second number from user 10 GetUserInput(); 11

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档