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

上传人:b****4 文档编号:11355907 上传时间:2023-05-31 格式:DOCX 页数:12 大小:699.76KB
下载 相关 举报
计算机导论实验六可视化编程.docx_第1页
第1页 / 共12页
计算机导论实验六可视化编程.docx_第2页
第2页 / 共12页
计算机导论实验六可视化编程.docx_第3页
第3页 / 共12页
计算机导论实验六可视化编程.docx_第4页
第4页 / 共12页
计算机导论实验六可视化编程.docx_第5页
第5页 / 共12页
计算机导论实验六可视化编程.docx_第6页
第6页 / 共12页
计算机导论实验六可视化编程.docx_第7页
第7页 / 共12页
计算机导论实验六可视化编程.docx_第8页
第8页 / 共12页
计算机导论实验六可视化编程.docx_第9页
第9页 / 共12页
计算机导论实验六可视化编程.docx_第10页
第10页 / 共12页
计算机导论实验六可视化编程.docx_第11页
第11页 / 共12页
计算机导论实验六可视化编程.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《计算机导论实验六可视化编程.docx》由会员分享,可在线阅读,更多相关《计算机导论实验六可视化编程.docx(12页珍藏版)》请在冰点文库上搜索。

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

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

深圳大学实验报告

课程名称:

计算机导论

项目名称:

实验六可视化编程基础

学院:

**学院专业:

********************

报告人:

某某某学号:

201*******班级:

***01

同组人:

指导教师:

王小民

实验时间:

2016.12.6提交时间:

2016.12.10

声明:

本次实验内容由报告人和同组人独立完成,所有涉及到他人的工作均已说明。

报告人和同组人均同意教师及学校为教学活动而引用本实验的内容,且无需事先征得同意和特别说明。

教务处制

一、实验目的

1.加深对算法设计和流程图的认识和理解

2.掌握算法设计工具Raptor的基本工作环境

3.掌握顺序结构、选择结构和循环结构的设计方法

4.掌握Raptor的子图和子程序设计方法

5.学会自己提出问题,并得出解决问题的方法

二、实验说明和实验环境

1.实验说明:

本实验以熟悉可视化编程工具Raptor为主,Raptor为程序和算法设计的基础课程的教学提供了实验环境。

使用Raptor设计的程序和算法可以直接转换为C++/C#/Java等高级程序语言。

2.实验环境:

硬件环境:

PC

软件环境:

Windows10中文企业版、Raptor4.0汉化版

三、实验分析设计

Raptor专门用于解决非可视化的环境的句法困难和缺点。

Raptor允许我们用连接基本流程图符号来创建算法,然后可以在其环境下直接调试和运行算法,包括单步执行或连续执行的模式。

该环境可以直观地显示当前执行符号所在的位置,以及所有变量的内容。

由于Raptor是一种基于流程图的可视化程序设计环境。

而流程图是一系列相互连接的图形符号的集合,其中每个符号代表要执行的特定类型的指令。

符号之间的连接决定了指令的执行顺序。

由于流程图是计算机基础课程首先引入的与程序、算法表达有关的基础概念,所以一旦开始使用Raptor解决问题,这些原本抽象的理念将会变得更加清晰。

四、主要实验过程(或核心代码说明)

1.安装Raptor程序设计软件。

 

2.熟悉Raptor程序设计软件各项功能。

3.选中主界面左端的各项符号并熟悉其意义。

(1)赋值语句:

应用各类运算来更改变量的值。

(2)调用语句:

用于调用子程序、自定义函数或Raptor过程。

(3)返回语句:

开始和结束的符号。

(4)输入语句:

允许用户输入数据,并将数据赋值给一个变量。

(5)输出语句:

显示变量的值或保存到文件中。

(6)选择语句:

经过条件判断后选择两种路径之一继续执行。

(7)循环语句:

允许重复执行一个或多个语句,直到某些条件为真值。

4.新建.rap文件

(1)打开上方的“文件”

(2)点击“新建”,新建一个.rap文件并命名

5.插入符号以及输入语句

(1)选中左方的语句。

(2)在每个箭头之间插入所需符号。

(3)输入语句,双击符号栏,输入所需要的内容。

6.增加子图或者子程序

在main函数窗口右键单击,可以看到弹出菜单可供选择,分别有增加一个子图、增加一个子程序、删除、重命名等。

子图相当于从程序中截取一部分放到另外一个地方,而在原来的主函数中使用调用语句进行调用,子图调用时无须提供参数,因为所有的Raptor子图共享所有的变量。

而子程序相当于Raptor内置过程,必须提供完成任务所需要的数据,也就是所谓的参数。

在我的理解中,子程序类似于高级语言,比如C语言的函数调用,调用的时候传递相关参数,在子程序中进行处理。

7.模式选择

点击菜单栏的模式,可以看到Raptor提供了初级、高级、面向对象三种模式。

在经过实验之后,可以发现初级模式中的调用语句可以调用Raptor内置过程和子图,而中级模式中的调用语句可以调用Raptor内置过程、子图和子程序。

面向对象的模式,目前不是很了解,大学计算机实验指导这本书中也没有提及相关的操作,比如对象的创建,构造函数等。

五、实验结果与数据分析

1.练习1

结果截图:

数据分析:

本程序先获得a,b,c的三个值,然后判断其是否满足三角形三边大小关系,若满足,则计算三角形的面积,依据的理论基础是海伦公式,运行结果见第一次运行。

当用户输入的三角形三条边不满足“任意两边之和大于第三边的”的时候,程序输出“inputerror!

!

!

”后结束。

本程序使用到了选择分支结构。

 

2.练习2

结果截图:

数据分析:

本程序先获得a,b,c的三个值,然后判断b^2-4*a*c是否大于等于0,若满足,则根据韦达定理,计算出二次方程的两个根并输出结果见上图2。

若b^2-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(),进行降序排列,子程序中排序方法采用选择排序法,程序的运行次数受输入数据的影响,可以看到同样是5个数,只是先后顺序不同,运算的次数也就不同了。

本练习涉及数组存储数据的方法,与前面几个练习稍有不同,但是也是使用到了循环结构和选择分支结构进行可视化的编程。

 

5.练习5

结果截图:

数据分析:

第五题是求斐波那契数列第N项的值,采用的是递归的方法,根据斐波那契数列中数字的特点,第N个数等于第N-1个数与第N-2个数之和(N>2),而第1个数和第2个数都为1,因此我们可以递归调用我们自己写的Fibonacci()函数,很容易就可以求出我们的数列第N项的值。

本程序采用递归方法,当然我们也可以将其改为非递归算法。

由于题目中要求递归求解,因此实验截图以递归方法呈现。

本程序设计选择分支结构与递归,没有用到循环结构。

6.练习6(汉诺塔,选做题)

结果截图:

数据分析:

汉诺塔问题是经典的递归问题,当n逐渐增大时,移动的次数是以指数级形式增长的,从程序结果来看,移动的次数是2的n次方-1,本程序中,老师给的示例是面向对象的解法,我觉得有点复杂化了,因此我采用的是面向过程的方法,在主程序中输入盘子的数量,然后调用honio(n)子程序。

着重分析子程序,n=1时,我们直接将盘子从x移动到z,当有多个盘子时候,我考虑将上面n-1个盘子先移动到y,然后将剩下的一个盘子从x移动到z,再将之前的n-1个盘子从y移动到z,此过程递归调用honio()子程序,便能够实现。

7.练习8(选做题,自己描述问题,解决思路)

问题描述:

编写程序,输入任意10个整数,分别统计其中的奇数个数,偶数个数,所有数的累加和,然后显示结果。

知识要点:

循环结构/分类思想

解决思路:

每输入一个数,判断奇偶数,分别累计,每次累计总和,输入10个数后循环退出。

结果截图:

六、总结与评价

本次实验收获颇大,第一次使用可视化编程工具进行编程,第一次接触,刚开始碰到了不少问题,在做两数交换练习的时候,出现了“未将对象引用设置到对象的实例”的情况。

当时我有点困惑,因为我根本没有设置什么对象,后来才知道是模式的问题,模式我默认选了面向对象,改成中级模式之后就没有问题了。

另外,在做求三个数最大值问题的时候,我也犯了错误,一直出现“变量notfound”情况。

后来仔细研究,才发现是子程序名与变量同名了,导致找不到变量的情况。

此次可视化编程的实验,我发现可视化编程里面,数组的下标是从1开始,这与我们之前学的C语言不一样,老师一直强调说数组下标从0开始,因此我理所当然地以为在Raptor里面也是一样,所以在做数组练习的时候就遇到了问题。

另外,子程序参数的传递,也可以像C语言一样,如果你想让结果带出子程序,可以将参数设置为输入输出。

这样也类似于C语言中的指针,在主程序中通过子程序传递形参,在子程序中带出结果。

总之,此次可视化编程实验,遇到的问题不少,但到最后都一一解决了,也能够独立完成老师所布置的作业,收获很大,相信会对我接下来学习其他的编程语言带来一定的作用。

自我评价:

98

七、参考资料

(可附页)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 简洁抽象

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

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