欢迎来到天天文库
浏览记录
ID:1503064
大小:359.00 KB
页数:17页
时间:2017-11-12
《计算机基础自学{算法,伪代码}》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、通过计算机解决问题的方法要点分析问题图:问题的初步分析结构图:解决方案的总体布局和结构IPO图:给出模块的输入、处理过程和输出算法:解决方案的指令序列内部和外部文档:程序相关信息测试解决方案:编程:用于辅助获得问题解决方案的基本工具计算机能解决的问题是能通过一种算法来描述的问题。该问题可以通过一些简单的指令序列来描述。这些指令必须用计算机能够理解的方式书写,计算机以程序中指定的顺序执行它们。如果这些指令以适当的规则书写,严格地遵循计算机语言的语法,那么计算机就可以顺利地解决问题。计算机只会简单的按顺序地执行输入的指令,它没有发
2、现程序中算法错误的能力。计算机不懂人类的语言,想要计算机为人类工作,必须学习它的语言。为了让计算机懂得我们的信息,必须提供根据规则编写的指令。如果不指令正确,。。。如果指令的顺序不正确,。。。高级计算机语言类似自然语言,当然更形式化、格式更严格,没有歧义。词法、语法、语义词法错误、语法错误、语义错误同一个问题,会有多个不同的正确算法(不同效率)。同一个问题,会有多个不同的正确算法(不同程序员)。(计算机只是一台机器,但操作它人不是。)一、分析问题(ProblemAnalysis)为了很好地解决问题,程序员应该首先进
3、行需求分析。分析问题的一种有效方法是它分成4个部分:1、已知数据2、所需结果3、所需处理4、备选方案问题分析图(PAC--ProblemAnalysisChart)已知数据所需结果第一部分:问题中给出的数据或用户提供的数据。可以填写具体的数值或数据项的名称。第二部分:问题要求解的目标。包括需要的信息和格式。所需处理备选方案第三部分:需要对数据进行的处理。包括公式或其他形式的处理过程。第四部分:备选方案。求解思想等。问题分析图的目的在于理清思路,它帮助程序员抓住问题中的主要数据和信息,忽略次要信息,问题分析图是一种很有用的
4、分析工具。例:计算一个员工的总薪水计算公式:总薪水=工作时间*单位时间薪水已知数据所需结果工作时间,单位时间薪水总薪水所需处理备选方案总薪水=工作时间*单位时间薪水1、工作时间和单位时间薪水定义为常量2、工作时间和单位时间薪水定义为变量,在运行时输入二、结构图(交互图)问题求解的下一步是把一个大而复杂的问题分解为若干个子问题,称为模块(module),并把模块连在一起表示出模块间的相互关系。每个模块完成一项功能;模块中有一个用于控制的模块,称为控制模块(controlmodule)或主模块(mainmodule)。Struc
5、tureChart,interactivityChart交互图的绘制方法采用自上而下的方法。自上而下是把一个问题分解为若干子问题,并按照从图的顶部执行到底部的顺序来说明和阐述这些子问题。概括了整个解决方案的模块称为控制模块,它控制所有的数据处理。该模块要完成的子任务列在其下方。注意:交互图描述了要解决的子问题,显示出了问题各个部分之间的相互关系,但没有给出解决方法。顶层的模块编号最小0000下一层的模块编号1000、2000、3000、…,递增1000递增的步长随层数的降低而减少。再下一层编号以100递增,依次类推。三、IP
6、O图(Input-Processing-Output)IPO图将问题分析图中描述的信息进一步细化。它更详细地指出哪些数据项是输入数据,对这些数据要做什么处理,哪些信息作为最终结果输出。输入处理模块引用编号输出所有的输入数据(问题分析图第一栏)顺序列出处理过程(问题分析图第三、第四栏)结构图中的模块引用编号所有需要输出的数据项(问题分析图第一、第二栏)填写顺序:1、输出;2、输入;3、处理;例:计算员工总薪水的IPO图输入处理模块引用编号输出工作时间单位时间薪水1、输入工作小时数2、输入单位小时薪水3、计算薪水4、打印薪水5、
7、结束10001000200030000000总薪水四、写算法写出结构图中每个模块的指令序列。为了让计算机能够理解,指令必须遵循特定的规则书写,这些规则后面章讲解。算法综合了结构图和IPO图的信息,给出了一个详细的解决方案。算法有很多表示方法:伪代码(pseudo-code)、流程图、NS图、PAD图等。算法流程图注解测试内部文档外部文档填写算法和流程图的注释、变量、注意事项,等。测试数据、测试方法算法和流程图表格五、内部和外部文档内部文档:阐述程序的相关信息。内部文档可以使其他程序员在最短的时间内读懂程序(可读)。包括:程序
8、员、程序的概要说明、程序修改信息、开发该程序的注意事项等。编程的同时撰写。外部文档:由帮助手册或帮助菜单组成。是为用户编写的。良好的外部文档可以帮助用户在最短的时间内知道如何使用该系统,并解答用户在使用过程中可能遇到的问题。包括:使用指南、输入定义、安装指南、命令解释。
此文档下载收益归作者所有