ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:699.76KB ,
资源ID:11355907      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11355907.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机导论实验六可视化编程.docx)为本站会员(b****4)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

计算机导论实验六可视化编程.docx

1、计算机导论实验六可视化编程深 圳 大 学 实 验 报 告课程名称:计算机导论项目名称:实验六可视化编程基础学院:*学院专业:*报告人:某某某学号:201*班级:*01 同组人:无指导教师:王小民实验时间:2016.12.6提交时间:2016.12.10声明:本次实验内容由报告人和同组人独立完成,所有涉及到他人的工作均已说明。报告人和同组人均同意教师及学校为教学活动而引用本实验的内容,且无需事先征得同意和特别说明。教务处制一、实验目的1. 加深对算法设计和流程图的认识和理解2. 掌握算法设计工具Raptor的基本工作环境3. 掌握顺序结构、选择结构和循环结构的设计方法4. 掌握Raptor的子图

2、和子程序设计方法5. 学会自己提出问题,并得出解决问题的方法二、实验说明和实验环境1. 实验说明:本实验以熟悉可视化编程工具Raptor为主,Raptor为程序和算法设计的基础课程的教学提供了实验环境。使用Raptor设计的程序和算法可以直接转换为C+/C#/Java等高级程序语言。2. 实验环境:硬件环境:PC软件环境:Windows 10 中文企业版、Raptor4.0汉化版三、实验分析设计Raptor专门用于解决非可视化的环境的句法困难和缺点。Raptor允许我们用连接基本流程图符号来创建算法,然后可以在其环境下直接调试和运行算法,包括单步执行或连续执行的模式。该环境可以直观地显示当前执

3、行符号所在的位置,以及所有变量的内容。由于Raptor是一种基于流程图的可视化程序设计环境。而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令。符号之间的连接决定了指令的执行顺序。由于流程图是计算机基础课程首先引入的与程序、算法表达有关的基础概念,所以一旦开始使用Raptor解决问题,这些原本抽象的理念将会变得更加清晰。四、主要实验过程(或核心代码说明)1. 安装Raptor程序设计软件。2. 熟悉Raptor程序设计软件各项功能。3. 选中主界面左端的各项符号并熟悉其意义。(1)赋值语句:应用各类运算来更改变量的值。(2)调用语句:用于调用子程序、自定义函数或R

4、aptor过程。(3)返回语句:开始和结束的符号。(4)输入语句:允许用户输入数据,并将数据赋值给一个变量。(5)输出语句:显示变量的值或保存到文件中。(6)选择语句:经过条件判断后选择两种路径之一继续执行。(7)循环语句:允许重复执行一个或多个语句,直到某些条件为真值。4. 新建.rap文件(1)打开上方的“文件”(2)点击“新建”,新建一个.rap文件并命名5. 插入符号以及输入语句(1)选中左方的语句。(2)在每个箭头之间插入所需符号。(3)输入语句,双击符号栏,输入所需要的内容。6. 增加子图或者子程序在main函数窗口右键单击,可以看到弹出菜单可供选择,分别有增加一个子图、增加一个子

5、程序、删除、重命名等。子图相当于从程序中截取一部分放到另外一个地方,而在原来的主函数中使用调用语句进行调用,子图调用时无须提供参数,因为所有的Raptor子图共享所有的变量。而子程序相当于Raptor内置过程,必须提供完成任务所需要的数据,也就是所谓的参数。在我的理解中,子程序类似于高级语言,比如C语言的函数调用,调用的时候传递相关参数,在子程序中进行处理。7. 模式选择点击菜单栏的模式,可以看到Raptor提供了初级、高级、面向对象三种模式。在经过实验之后,可以发现初级模式中的调用语句可以调用Raptor内置过程和子图,而中级模式中的调用语句可以调用Raptor内置过程、子图和子程序。面向对

6、象的模式,目前不是很了解,大学计算机实验指导这本书中也没有提及相关的操作,比如对象的创建,构造函数等。五、实验结果与数据分析1. 练习1结果截图:数据分析:本程序先获得a,b,c的三个值,然后判断其是否满足三角形三边大小关系,若满足,则计算三角形的面积,依据的理论基础是海伦公式,运行结果见第一次运行。当用户输入的三角形三条边不满足“任意两边之和大于第三边的”的时候,程序输出“input error!”后结束。本程序使用到了选择分支结构。2. 练习2结果截图:数据分析:本程序先获得a,b,c的三个值,然后判断b2-4*a*c是否大于等于0,若满足,则根据韦达定理,计算出二次方程的两个根并输出结果

7、见上图2。若b2-4*a*c小于0,则告诉用户输入错误,结束程序。本程序与第一题一样,使用到了选择分支结构。3. 练习3结果截图:数据分析:本程序通过用户输入一个数据,然后程序调用is_Prime()子程序,判断该数是否是素数,是的话,flag置为1,否则flag置为0.在主程序中,若得到flag的值为1,输出Yes,否则输出No。在子程序中,用到了循环结构和选择分支结构,判断素数的时候只需要从i=0到sqrt(n)即可。4. 练习4结果截图: 数据分析:本练习采用数组存储一组数据,在main程序中,通过循环结构输入n个待排序的数,然后调用子程序sort_arr(),进行降序排列,子程序中排序

8、方法采用选择排序法,程序的运行次数受输入数据的影响,可以看到同样是5个数,只是先后顺序不同,运算的次数也就不同了。本练习涉及数组存储数据的方法,与前面几个练习稍有不同,但是也是使用到了循环结构和选择分支结构进行可视化的编程。5. 练习5结果截图:数据分析:第五题是求斐波那契数列第N项的值,采用的是递归的方法,根据斐波那契数列中数字的特点,第N个数等于第N-1个数与第N-2个数之和(N2),而第1个数和第2个数都为1,因此我们可以递归调用我们自己写的Fibonacci()函数,很容易就可以求出我们的数列第N项的值。本程序采用递归方法,当然我们也可以将其改为非递归算法。由于题目中要求递归求解,因此

9、实验截图以递归方法呈现。本程序设计选择分支结构与递归,没有用到循环结构。6. 练习6(汉诺塔,选做题)结果截图: 数据分析:汉诺塔问题是经典的递归问题,当n逐渐增大时,移动的次数是以指数级形式增长的,从程序结果来看,移动的次数是2的n次方-1,本程序中,老师给的示例是面向对象的解法,我觉得有点复杂化了,因此我采用的是面向过程的方法,在主程序中输入盘子的数量,然后调用honio(n)子程序。着重分析子程序,n=1时,我们直接将盘子从x移动到z,当有多个盘子时候,我考虑将上面n-1个盘子先移动到y,然后将剩下的一个盘子从x移动到z,再将之前的n-1个盘子从y移动到z,此过程递归调用honio()子

10、程序,便能够实现。7. 练习8(选做题,自己描述问题,解决思路)问题描述:编写程序,输入任意10个整数,分别统计其中的奇数个数,偶数个数,所有数的累加和,然后显示结果。知识要点:循环结构/分类思想解决思路:每输入一个数,判断奇偶数,分别累计,每次累计总和,输入10个数后循环退出。 结果截图:六、总结与评价本次实验收获颇大,第一次使用可视化编程工具进行编程,第一次接触,刚开始碰到了不少问题,在做两数交换练习的时候,出现了“未将对象引用设置到对象的实例”的情况。当时我有点困惑,因为我根本没有设置什么对象,后来才知道是模式的问题,模式我默认选了面向对象,改成中级模式之后就没有问题了。另外,在做求三个

11、数最大值问题的时候,我也犯了错误,一直出现“变量 not found”情况。后来仔细研究,才发现是子程序名与变量同名了,导致找不到变量的情况。此次可视化编程的实验,我发现可视化编程里面,数组的下标是从1开始,这与我们之前学的C语言不一样,老师一直强调说数组下标从0开始,因此我理所当然地以为在Raptor里面也是一样,所以在做数组练习的时候就遇到了问题。另外,子程序参数的传递,也可以像C语言一样,如果你想让结果带出子程序,可以将参数设置为输入输出。这样也类似于C语言中的指针,在主程序中通过子程序传递形参,在子程序中带出结果。总之,此次可视化编程实验,遇到的问题不少,但到最后都一一解决了,也能够独立完成老师所布置的作业,收获很大,相信会对我接下来学习其他的编程语言带来一定的作用。自我评价:98七、参考资料 无(可附页)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2