【实验4】熟悉可视化算法描述软件(RAPTOR)使用及结构化程序设计

【实验目的及要求】

1.掌握可视化程序设计工具RAPTOR软件运行界面。

2.掌握RAPTOR的图形符号的使用方法。

3.掌握使用RAPTOR绘制算法流程图的设计方法。

4.掌握RAPTOR常量、变量、函数、表达式。

5.掌握结构化(顺序、选择、循环)算法的设计方法。

【实验内容与步骤】

Raptor是一种以流程图为算法描述来实现算法设计和程序运行的一种可视化算法设计软件,各国内外高校广泛应用于算法设计学习的教学软件。

一、RAPTOR软件的运行界面如图4-1所示

图4-1RAPTOR软件运行界面

二、

流程图基本图符功能和使用

Raptor有六种基本图符,每个图符代表一个独特的指令类型。基本图符如图4-2所示。有赋值(assignment)、调用(Call)、输入(Input)、输出(Output)、选择(Selection)和循环(Loop)

三、Raptor软件的基本使用

例 4-1输出“HELLO WORLD!”

(1)

单击选中输出图符

(2)单击START和END之间连线,添加输出图符

(3)双击添加的输出图符,弹出对话框,如图4-3所示输入待输出的内容。“HELLO WORLD!”,注意:双引号为英文且不能省略

(4)单击“完成”按钮,产生如下流程图如图4-4所示

(5)运行、保存生成源程序

■运行:菜单栏à运行、工具栏

,单击

运行按钮,运行结果在主控台中显示,如图4-5所示。

图4- 2 RAPTOR 主控台

■保存:菜单栏à文件、工具栏à保存

文件扩展名为.RAP文件。

■生成源程序:菜单栏à生成

选择所需生成的源程序。

(6)注释

语句注解、说明是非执行语句。

四、RAPTOR常量、变量、函数和表达式

1、常量:值是固定不变

(1)数值常量

■数值(Number):如12,567,-4,3.1415,0.000371

■字符串 (String):如“Hello, how are you?”, “James Bond”

■字符(Character):如’A’,’8’,’!’

(2)符号常量

■pi(圆周率) 定义为 3.1416

■e(自然对数的底)定义为 2.7183

■true /yes(布尔值: 真)  定义为 1

■false/no(布尔值:假)  定义为 0

⑶日期、时间常量

Current_Day、Current_Hour、Cureent_minute、Current_Month、Cureent_Second、Current_Time、Current_Year

2、变量

计算机内存空间的符号表示,一个内存变量存放一个值,其变量的数据类型由所赋的值决定的。程序执行过程中,变量的值和类型均可改变。

内存变量的类型有3种,即数值型变量、字符型变量、字符串变量。

(1)变量命名规则:

■必须由字母开头,由字母、数字和下划线组成。

■变量名不区分大小写。

■保留字不能作变量如:e、pi和red等。

一般应给予变量有意义的和具有描述性的名称。变量名应该与该变量在程序中的作用有关。表4-1显示了一些好的、差的和非法的变量名的例子。

表 4-1变量名实例

好的变量名

差的变量名

非法的变量名

tax_rate

sales_tax

dis   tance_in_mi les

mpg

a   (没有描述)

mi   lesperhour (添加下划线)

my4to   (没有描述)

4sale   (不可以字母开头) sales tax (包括空格) sales$ (包括无效字符)

(2)变量的赋值

■基本原则:

●任何变量在被引用前必须存在并被赋值

●变量的类型由最初的赋值语句所给的数据决定

■设置方法

●通过输入语句赋值

●通过赋值语句的中的公式运算后赋值

●通过调用过程的返回值赋值

3、函数

系统提供的可直接调用使用的程序集。基本调用方法:函数名(参数1……N),部分函数使用也有例外。

(1)数学函数

取余函数:rem、mod 例如:7 rem 3 或 7 mod 3

表4-2 rem和mod

X

Y

rem

mod

7

3

1

1

7

-3

1

-2

-7

3

-1

2

-7

-3

-1

-1

(2) 常用函数表

表4-3常用数学函数

函数

说明

范例

Abs

绝对值

Abs(-9)=9

ceiling

向上取整

Ceiling(3,4)=4,ceiling(-3.1)=-3

floor

向下取整

Floor(3,9)=3,floor(-3,9)=-4

log

自然对数(以e为底)

Log(e)=1

max

两个数的最大数

Max(5,7)=7

min

两个数的最小数

Min(5,7)=5

powermod

乘方取余

Powermod(5,7)=5

random

生成一个[0.0,1.0)之间的随机数

Random*100 ,产生0-99.9999的随机数

Length_of

数组或字符串的长度

Str=”sell now”

Length_of(str)=8

Arra[10]=56

Length_of(arra)=10

sqrt

平方根

Sqrt(4)=2

(3)三角函数

表4-4 常用三角函数

函数

说明

范例

Sin

正弦(以弧度表示)

Sin(pi/6)=0.5

Cos

余弦(以弧度表示)

Cos(pi/3)=0.5

Tan

正切(以弧度表示)

Tan(pi/4)=1.0

Cot

余切(以弧度表示)

Cot(pi/4)=1

Arcsin

反正弦,返回弧度

Arcsin(0.5)=pi/6

Arccos

反余弦,返回弧度

Arcos(0.5)=pi/3

arctan

反正切,返回弧度

Arctan(10,3)=1.2793

arccot

反余切,返回弧度

Arccot(10,3)=0.2915

(4)转换函数

To_ascii(字符)、TO_character(ASCII)

(5)类型检测函数:IS_Array(变量名)、IS_Character()、IS_Number()、IS_String()

4、表达式

(1)算术运算符他算术表达式

算术运算符:-(负号)、^、**、*、/、(rem、mod)、+、-

(2)字符运算符及字符表达式

字符运算符:+(字符串连接运算符)

例如:“ABC”+”EFG” 结果为:”ABCEFG”

“ABC”+123结果为:”ABC123”

设B=123 则 “X=”+b+”!”  结果为:”x=123!”

(3) 关系运算符和关系表达式

关系运算符:、>=

(4)布尔运算符和布尔表达式:

Not(非)、and(与)、or(或)、xor(异或),逻辑关系见表2-5所示。

表4-5 逻辑关系表

X

Y

Not X

X AND Y

X OR Y

X XOR y

0

0

1

0

0

0

0

1

1

0

1

1

1

0

0

0

1

1

1

1

0

1

1

0

Raptor运算符优先顺序:①计算所有函数;②计算括号中的所有表达式;③计算乘幂(^或**);④计算乘法和除法;⑤计算余运算;⑥计算加法和减法;⑦not、and、xor、or逻辑运算从高到低的顺序。

五、结构化程序基本控制结构

1、Raptor顺序结构控制语句

顺序结构控制语句有:

(1)变量赋值语句

赋值流程图图符,如图4-6所示

图4-6 赋值流程图图符              图4- 7赋值对话框

②赋值对话框,如图4-7所示

SET:变量或数组名

TO:表达式

③赋值后的流程图中语句形式,如图4-8所示

图4-3 赋值语句

(2)键盘输入语句

①输入流程图图符:如图4-9所示。

图4- 9 输入流程图图符

②双击输入流程图弹出如图4-10所示输入对话框,输入提示信息和变量。

图4- 10 输入语句对话框

③输入内容后的语句在流程图中的状态窗如图4-11所示。

图4-11 输入语句流程图

④输入语句对话框运行如图4-12所示。

图4- 12 输入语句运行状态

(3)输出流程图

①输出流程图图符如图:4-13所示

②输出流程图设置对话框,如图4-14所示,

End current line输出后换行或不换行。

④输出语句使用技巧(“提示信息”+变量),如图4-15所示。

图4- 15 输出技巧

例4-2:输入半径值,计算相应的圆周长和圆面积的流程图如图4-16所示。

图4-16 例4-2算法流程图

2、Raptor选择结构控制语句

(1)选择结构分单向分支结构,如图4-17所示、双向分支结构,如图4-18所示和多项分支结构,如图4-19所示算法流程图。

(2)RAPTOR的选择结构语句图符,如图4-20所示

图4-20 RAPTOR选择图图符

例4-3:计算分段函数RAPTOR流程图如图4-21所示

图 4-21 例4-3算法流程图

3、Raptor循环结构控制语句

(1)

常用循环结构流程图有:前测循环,先判断后执行如图4-22所示、后测循环,先执行后判断如图4-23所示。

(2)RAPTOR循环结构图符如图4-24所示。

图4- 24 RAPTOR 循环结构流程图

例4-4:求S=1+2+3+……+N,RAPTOR流程图如图4-25所示。

图 4-25 例4-4 算法流程图

六.实验作业

1.“鸡兔同笼”问题。在一个笼中装有鸡和兔,鸡有2只脚,兔有4只脚,如果已知鸡和兔的总头数为h,总脚数为f。问笼中鸡和兔各有多少只?

提示:

这样一个简单问题,我们很容易的列出两个方程:

假设笼中鸡X只,兔Y只,鸡和兔的数量为总头数h, 即 x+y=h

另一个根据脚的数量得出 2x+4y=f

从方程可以得出求解X,Y公式。

2.任意输入三个数X,Y,Z,按大小顺序输出X,Y,Z。

3.求100到999之间的水仙花数(穷举法)。

raptor算法流程图例题_【实验4】熟悉可视化算法描述软件(RAPTOR)使用及结构化程序设计...相关推荐

  1. XAI之ALE:基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法进而实现模型可解释性案例

    XAI之ALE:基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法进而实现模型可解释性案例 目录 基于titanic泰坦尼克数据集对RF算法利用ALE累积局部效应图可视化算法 ...

  2. raptor算法流程图例题_RAPTOR流程图+算法程序设计教程

    第1章 程序设计与算法 1.1 为什么要学习程序设计 1.2 认识算法 1.2.1 什么是算法 1.2.2 算法的基本条件 1.2.3 算法的描述工具 1.3 程序设计 1.3.1 程序 1.3.2 ...

  3. k均值聚类算法考试例题_一文读懂K-means聚类算法

    1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...

  4. louvian算法 缺点 优化_机器学习中的优化算法(1)-优化算法重要性,SGD,Momentum(附Python示例)...

    本系列文章已转至 机器学习的优化器​zhuanlan.zhihu.com 优化算法在机器学习中扮演着至关重要的角色,了解常用的优化算法对于机器学习爱好者和从业者有着重要的意义. 这系列文章先讲述优化算 ...

  5. em算法 实例 正态分布_【机器学习】EM算法详细推导和讲解

    今天不太想学习,炒个冷饭,讲讲机器学习十大算法里有名的EM算法,文章里面有些个人理解,如有错漏,还请读者不吝赐教. 众所周知,极大似然估计是一种应用很广泛的参数估计方法.例如我手头有一些东北人的身高的 ...

  6. raptor算法流程图例题_raptor程序设计例题参考答案

    RAPTOR 程序设计 一.顺序结构编程 1 .输入任意一个华氏温度值,然后将其转换成摄氏温度输出.算法: c = 5 / 9 (f - 32) 2 .输入任意三角形的三边之长存入变量 a . b . ...

  7. k近邻算法原理c语言,实验二 K-近邻算法及应用

    作业信息 一.[实验目的] 理解K-近邻算法原理,能实现算法K近邻算法: 掌握常见的距离度量方法: 掌握K近邻树实现算法: 针对特定应用场景及数据,能应用K近邻解决实际问题. 二.[实验内容] 实现曼 ...

  8. 推荐算法的先验算法的连接_数据挖掘专注于先验算法

    推荐算法的先验算法的连接 So here we are diving into the world of data mining this time, let's begin with a small ...

  9. paxos算法java实现_基于python的Paxos算法实现

    理解一个算法最快,最深刻的做法,我觉着可能是自己手动实现,虽然项目中不用自己实现,有已经封装好的算法库,供我们调用,我觉着还是有必要自己亲自实践一下. 这里首先说明一下,python这种动态语言,对不 ...

  10. 线性回归算法python实现_用python实现线性回归算法

    本文是根据https://blog.csdn.net/dqcfkyqdxym3f8rb0/article/details/79767043这篇博客写出来的.其中的公式什么的能够去这个博客里面看. 本文 ...

最新文章

  1. python怎么安装各种模块_Python2.7安装和常用模块安装
  2. easymock 图片_easy-mock的使用
  3. git学习笔记(四)—— 分支管理
  4. C语言文件操作函数的编写
  5. java类的成员组成_Java类的组成:类的三个组成部分
  6. Python—— *与** 参数说明
  7. scrapy setting
  8. python 下采样和上采样
  9. 创业6年,网络营销真的很重要
  10. Decide what you want,and go after it with everything you got!
  11. erp框架 saas_2020管理软件:分析saas系统与erp系统之间的区别
  12. 计算机专业窗体的事件何时触发,高三计算机专业VB试题(六)1
  13. fiddler抓包教程
  14. php动态网页倒计时代码,js如何实现动态倒计时效果
  15. 【PS专题】PS钢笔压力有感叹号怎么消除
  16. 读书狂想之《平凡的世界》不平凡的人生
  17. [JZOJ6347] 【NOIP2019模拟2019.9.8】ZYB玩字符串
  18. Ubuntu iwlwifi网卡驱动
  19. python文本字符分析
  20. 笔记:文澜:桥接视觉和语言的大规模多模态预训练 WenLan: Bridging Vision and Language by Large-Scale Multi-Modal Pre-Training

热门文章

  1. 计算机考试试题及答案
  2. STM32+IAP方案 实现网络升级应用固件
  3. 战斗在 VUCA 时代
  4. html风琴图片展示,炫酷的jQuery手风琴图片和菜单插件及源码
  5. 十分钟超简单完成百度地图3.0离线功能
  6. 差分法求一阶导数二阶导数,matlab
  7. CAN波特率与负载率
  8. 学生党如何拿到阿里技术offer
  9. 手机布局rem的使用(rem)
  10. vscode远程连接服务器,编写python代码无法补全