《算法设计工具实验报告》由会员分享,可在线阅读,更多相关《算法设计工具实验报告(13页珍藏版)》请在金锄头文库上搜索。
1、算法设计工具实验报告深圳大学实验报告课程名称计算机基础项目名称算法设计工具学院专业指导教师报告人学号实验时间 2016.12.01 提交时间 2016.12.08教务处制 一、实验目的与要求 1加深对算法设计和流程图的认识和理解;2掌握算法设计工具Raptor的基本工作环境;3掌握顺序结构、选择结构和循环结构的设计方法;4掌握Raptor的子图和子程序设计方法。二、实验内容与方法1.Raptor的工作环境2.控制结构(1)顺序结构案例一(2)选择结构案例2(3)循环结构案例33.子图和子程序案例44.练习题三、实验步骤与过程1.Raptor的工作环境1)Raptor的下载与安装在Interne
2、t上查找Raptor4.0.5.0003汉化版并下载,或访问Raptor官网(http:/http:/ /)下载,按照Raptor汉化版安装向导的说明进行安装即可。2)Raptor的窗口组成启动Windows系统后,选择“开始”“所有程序”“Raptor汉化版”命令,或双击桌面上的Raptor快捷图标,打开Raptor的应用窗口,如图1所示。 图1(1) 标题栏。标题栏位于Raptor 窗口的顶部,显示该软件的图标,应用程序名称(Raptor 汉化版)以及当前正在处理的Raptor 的文件名。标题栏最左端是Raptor 图标,单击该图标可以打开该软件的控制菜单,包括“还原”、“移动”、“移动”
3、、“大小”、“最大化”、“最小化”和“关闭”等命令。右边的三个按钮分别是“最小化”按钮、“最大化”/ “还原”按钮和“关闭”按钮。(2) 菜单栏。菜单栏位于标题栏的下方,包括“文件”、“编辑”、“比例”、“视图”、“运行”、“模式”、“画笔”、“窗口”、“生成”、“帮助”等10个菜单选项。单击每一个菜单选项都会激活一个下拉菜单,列出有关此项功能的具体操作命令。其中,“模式”菜单选项包含“初级”、“中级”、和“面向对象”3种模式。(3) 工具栏。工具栏位于菜单栏的下方,显示常用的Raptor 命令选项,用于快速启动这些应用,如“新建”、“打开”、“保存”、“运行”、“单步运行”以及“画笔”等。(
4、4) 符号区。Raptor 有6种基本符号,每个符号代表一个特定的语句类型。各类语句的功能如下。 赋值语句:用于各类运算以更改变量的值。 调用语句:用于调用Raptor 内置过程、子图和子程序。 输入语句:允许用户输入数据,并将数据赋值给一个变量。 输出语句:用于显示变量的值或保存到文件中。 选择语句:经过条件判断后选择两条路径之一,并继续执行。 循环语句:允许重复执行一个或多个语句,知道某些条件为真值。工具栏 (5)工作区。工作区就是编制流程图的地方,用于显示当前编辑的程序。初级模式下,右击main程序可建立子图或子程序。 (6)主控台。在Raptor中,当输出语句执行时,会将数据输出到“主
5、控台”窗口上。每当程序运行结束时,在主控台上均会显示程序执行了多少条语句。Raptor的“主控台”窗口如图2所示。图2 Raptor的“主控台”窗口退出Raptor的方法有多种,常用的方法是在Raptor应用程序窗口中选择“文件”“退出”命令,或直接单击Raptor应用程序窗口上标题栏右端的“关闭”按钮。2.控制结构编写程序的重要工作之一就是控制语句的执行流程,控制结构含有3种基本类型,它们是顺序结构、选择结构和循环结构。1)顺序结构顺序结构是最简单的程序构造,它把每条语句按顺序排列,执行时程序从开始(Start)语句顺序执行到结束(End)语句,箭头连接着语句并指示程序的执行方向。案例1已知
6、某圆的半径radius,求该圆的面积Area。首先确定计算圆的面积公式:Area=pi*radius*radius然后在Raptor中编制相应的流程图,如图3所示。 图3 计算圆的面积其运行结果如图4图4注意:在Raptor中目前没有提供为用户定义常量的功能,而只是在系统内部定义了若干符号来表示常用的数值型常数。当用户需要相应的值时,可直接使用代表这些常数的符号(这些符号也被称为保留字,保留字不可以再作为变量或者子图、子程序的名字)。圆周率pi被定义为3.1416(Raptor默认精度为4位)。 2)选择结构 很多情况下,仅使用顺序结构进行程序控制是无法得到针对现实世界问题的解决方案的。有时需
7、要根据某些条件是否满足来决定程序执行的方向,或者从给定的两种操作中选择其一,这就是选择结构要解决的问题。选择语句可以使程序根据数据的当前状态选择两条可以选择的路径中一条继续执行。案例2已知某圆的半径radius,求该圆的面积Area。如果输入圆的半径radius是负数,那就没有意义了。请设计程序,当输入的半径radius为负数时,输出错误提示信息。分析题目可知,当输入半径radius之后,如果半径radius小于零,则输出相应的错误提示信息:如果半径不小于零,则进行相应半径radius的圆面积计算。根据数据当前状态选择两条可以选择的路径中的一条继续执行,显然要用到选择结构。在Raptor中编制
8、相应的流程图,如图5图5 计算圆的面积 当输入半径radius小于零的时候,得到运行结果如下: 当输入半径radius不小于零的时候,得到运行结果如下:3)循环结构循环结构就是反复执行某段程序,直到某种条件满足时才结束执行的控制结构。一个循环语句允许重复执行一个或多个语句,直到某种条件为真。控制循环体执行次数的方法有以下两种。(1)采用计数器方法:设置一个计数器,通过判断计数器的数值来控制循环体是否继续进行。(2)采用“哨兵法”:这种方法在“事先不知道要循环多少次”的情况下特别有效。通过“对数据内容的判断”来控制循环是否继续。哨兵法的实现:在被处理数据序列的尾部安放一个“哨兵”即事先知道的数据
9、。所以,每次循环体执行时,都会通过判断哨兵是否出现来控制循环体是否继续进行,一旦发现“哨兵”,则结束循环体的执行。案例3 接着案例2的问题,如果要在一个程序中多次进行半径radius 的输入并计算圆的面积Area,该如何实现? 题目要求多次进行半径radius的输入并计算圆的面积Area,因此重复执行某段程序,直到某种条件满足时才结束该段程序执行,显然,使用循环结构较为合适。 考虑到有两种循环的情况:第一,事先知道有多少组数据要进行测试;第二,事先不知道有多少组数据要测试。因此,通过两种方式来控制循环的条件,从而实现程序求解问题。(1)事先知道有多少组数据要进行测试。可以通过输入要测试数据的组
10、数来控制循环,在Raptor中编制相应的流程图,如图6所示。 图6 计算圆的面积(计数法) 按照提示信息输入待测试的数据组数为2,接着输入两个半径radius的值为10和100,运行结果如图7:图7(2)事先不知道有多少组数据要测试,这种情况下,可以利用“哨兵法”,即在要测试的最后一组数据后边做上标记,像“哨兵”一样来提示循环的结束。这里用0来作为“哨兵”,即当输入的半径radius等于0时,循环结束。在Raptor中编制相应的流程图,如图8所示按照提示信息依次输入2、3/10/0,得到的运行结果如下: 图8 计算圆的面积3子图和子程序Raptor模式有初级、中级和面向对象3种形式可供选择。其中,初级模式和中级模式没有太大的查边,唯一不同的地方就是初级模式中的调用语句可以调用语句进行调用,子图调用时无须提供参数,因为所有的Raptor子图共享 所有的变量。而子程序相当于Raptor的内置过程,必须提供完成任务所需要的数据,也就是所谓的参数。 Raptor的子图和子程序之间的最大差别在于不能给子图传递参数,子图也不会返回任何值。所有Raptor子图共享所有的变量,而子程序的所有变量“自成系统”。案例4输入两个数a和b,交换之后输出。在Raptor中编制相应的流程图,main子图的实现如图9所示,swap子图的实现如图10所示。 -全文完-2