RAPTOR流程图编程

上传人:lcm****801 文档编号:137331257 上传时间:2020-07-07 格式:PPT 页数:51 大小:4.84MB
返回 下载 相关 举报
RAPTOR流程图编程_第1页
第1页 / 共51页
RAPTOR流程图编程_第2页
第2页 / 共51页
RAPTOR流程图编程_第3页
第3页 / 共51页
RAPTOR流程图编程_第4页
第4页 / 共51页
RAPTOR流程图编程_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《RAPTOR流程图编程》由会员分享,可在线阅读,更多相关《RAPTOR流程图编程(51页珍藏版)》请在金锄头文库上搜索。

1、RAPTOR程序设计基础,1,为什么要学习程序设计?,由于计算思维的核心之一是算法思维,同时算法思维也是计算机科学的精髓 而算法思维的实现离不开程序设计,所以对于计算思维的学习和认识,必须从程序设计开始,2,计算思维的根本内容,计算思维最根本的内容,即其本质(Essence)是抽象(Abstraction)和自动化(Automation) 计算思维中的抽象完全超越物理的时空观,并完全用符号来表示 抽象和自动化 行为将贯彻课程的始终,3,什么是可视化程序设计?,可视化(Visual)程序设计是一种全新的程序设计方法,一般可视化程序主要是指编译环境的可视化; 程序设计人员利用开发环境本身提供各种可

2、视化的控件、方法和属性等,像搭积木一样构造出应用程序的各种界面 典型的可视化程序设计环境如Visual Basic,4,Visual Basic 6.0界面,5,为什么要使用RAPTOR?,RAPTOR(the Rapid Algorithmic Prototyping Tool for Ordered Reasoning-用于有序推理的快速算法原型工具),是一种基于流程图的可视化程序设计环境,为程序和算法设计的基础课程教学提供实验环境 使用RAPTOR设计的程序和算法可以直接转换成为C+、C#、Java等高级程序语言,这就为程序和算法的初学者铺就了一条平缓、自然的学习阶梯,6,使用RAPTO

3、R的理由,可以在最大限度地减少语法要求的情形下,帮助用户编写正确的程序指令 程序就是流程图,可以逐个执行图形符号,以便帮助用户跟踪指令流执行过程 容易掌握 用RAPTOR可以进行算法设计和验证,从而使初学者有可能理解和真正掌握“计算思维”,7,RAPTOR基本程序环境,基本界面 F5:运行流程图 F10:单步执行 显示执行结果。,8,四种基本符号/语句,9,变量,变量(variable)表示的是计算机内存中的位置,用于保存数据值 在任何时候,一个变量只能容纳一个值 变量的初始值决定了变量的数据类型,在流程执行过程中变量的数据类型不能更改,但变量的值可以改变,10,变量赋值过程,11,RAPTO

4、R变量值的设置,基本原则: 任何变量在被引用前必须存在并被赋初值 变量的类型由最初的赋值语句所给的数据决定 设置方法 通过输入语句赋值 通过赋值语句的中的公式运算后赋值 通过调用过程的返回值赋值,12,RAPTOR数据类型,数值(Number): 如12,567,-4,3.1415,0.000371 字符串 (String): 如“Hello, how are you?”, “James Bond”, “The value of x is: ” 字符(Character): 如A,8,!。,13,变量报错的原因,未定义引用,14,变量报错的原因,拼写错,15,不同类型的数据不可比较,16,字符

5、串:用双引号括起来 字 符:用单引号括起来,RAPTOR常量,RAPTOR定义了四个常量(Constant) pi(圆周率) 定义为 3.1416 e (自然对数的底)定义为 2.7183 true /yes(布尔值: 真) 定义为 1 false/no(布尔值:假) 定义为 0,17,输入(Input)语句,输入语句的编辑(Edit)对话框 在提示文本框中说明所需的输入 在变量文本框中输入变量名,18,输入(Input)语句,输入语句在流程图中显示的状态 运行时对话框,19,赋值语句(编辑),Set文本框中输入 需要赋值的变量名。 To文本框中输入需要执行的表达式,表达式可以是一个值或 一个

6、公式。,20,赋值语句(显示),流程图中的赋值语句,21,表达式,可以是单个值 可以是常量或变量和运算符的组合。 例如:(1)x (3+9)/3(2)x 3+(9/3),22,表达式计算的“优先顺序”,1.计算所有函数的值, 2.计算括号中表达式, 3.计算乘幂(,*), 4.从左到右,计算乘法和除法,最后 5.从左到右,计算加法和减法。,23,运算符,逻辑运算是一组值(常量或变量)和关系运算符的结合, 期望得到YES/NO这样的结果 关系运算符(=、 / =、 、 =),必须针对两个相同的数据类型值比较 例如,3 = 4或Wayne = Sam是有效的比较,但3 = Mike则是无效的,24

7、,关系运算,25,内置运算符和函数,数学运算: +,-,*,/,*(加、减、乘、除、乘方) rem, mod, sqrt(求余,开平方) log, abs, (对数,绝对值) ceiling, floor (向下取整,向上取整),26,内置运算符和函数,三角函数: sin,cos,tan;正弦 ,余弦 ,正切 cot,arcsin,arccos;余切 ,反正弦 ,反余弦 arctan, arccot;反正切 ,反余切,27,内置运算符和函数,random,伪随机数 Length_of 求数组元素个数,求字符串长度,28,过程调用语句(编辑),编辑对话框 注意已有过程提示,29,过程调用语句(显

8、示),过程调用分内置过程,子图,子程序; 内置过程、子图、子程序的调用使用同样的语句,但子图没有参数,内置过程或子程序需要参数,30,输出语句,执行输出语句将在主控(Master Console)窗口显示输出结果 必须用双引号,以便与变量区分 是否换行输出结果选中表示换行,31,输出语句的设计技巧,32,注释,注释本身对计算机毫无意义,并不会被执行。注释的目的是增强程序的可读性,帮助他人理解你所设计的程序或算法,33,一个带注释的算法,注释的四种类型: 1.编程标题 2.分节描述 3.逻辑描述 4.变量说明,34,控制结构,程序员合理利用控制结构和控制语句,可以确定程序语句的执行顺序 这些控制

9、结构可以做三件事: 1. 按照顺序执行某些语句; 2. 根据条件判断结果,跳过某些语句而执行其他语句; 3. 条件为真时重复执行一条或多条语句 主要介绍选择(Selection)和循环(Loop)命令,35,顺序控制,顺序逻辑是最简单的程序构造 本质上,就是把每个语句按顺序排列,程序执行时,从开始(Start)语句顺序执行到结束(End)语句,36,顺序控制,程序员为解决问题,必须首先确定问题的解决方案,该方案需要哪些语句,以及语句的执行顺序 因此,编写正确的语句以及确定语句在程序的何处放置是同样重要的 例如:当要获取和处理来自用户的数据时,必须先取得数据,然后才可以使用 如果交换一下这些语句

10、的顺序,则程序根本无法执行 顺序控制在英语环境中被称为“and-then”结构,37,选择控制,当程序执行时,如果决策的结果是“Yes”(True),则执行左侧分支 如果结果是“No”(False),则执行右侧分支,38,选择控制,注意选择控制语句的两个路径之一可能是空的,或包含多条语句 选择控制结构在英语环境中被称为“if-then”结构,39,级联选择控制,40,循环控制,循环(loop)控制语句允许重复执行一个或多个语句,直到某些条件变为真值(True) 菱形符号中的表达式结果为“No”,则执行“No”的分支,这将导致循环语句和重复 要重复执行的语句可以放在菱形符号上方或下方 循环控制结

11、构在英语环境中被称为“While-do”结构,41,循环测试,在循环语句中,究竟是先计算后测试,还是先测试后计算,或者在计算的过程中间进行测试? 前序测试(Pre-test) 后续测试(Post-test) 中序测试(Intermediate-test),42,删除图的Statement 2 Statement1为前置条件 Statement 3是主循环体 如果进入了Statement3,测试条件也必须由这一部分进行修改;,前序测试,43,中序测试,删除图中的Statement 1 Statement2是主循环体之一 而测试条件也是在Statement 2中产生 Statement3是主循环体

12、之二,44,后续测试,删除图中的Statement 1和Statement3 Statement2是主循环体 而测试条件也是在Statement 2中产生;,45,输入验证循环,46,输入验证循环之二,47,(N=10),计数循环,循环按特定的次数,来执行某个代码块 一个著名的缩写 I.T.E.M (Initialize, Test, Execute, Modify,初始化,测试,执行,和修改)表示可以用来检查一个循环计数器变量使用是否正确的基本过程,48,典型的循环错误,49,输入控制循环,50,输入控制循环之二,51,RAPTOR数组变量,数组是有序数据的集合。 一般分为一维数组和二维数组

13、 数组最大的好处在于用一个统一的数组名和下标(index)来唯一地确定某个数组变量中的元素,52,RAPTOR一维数组的元素表示,形式一 形式二,53,数组的创建,数组变量必须在使用之前创建 所创建的数组大小由赋值语句中给定的最大元素下标来决定,可以在算法运行过程中动态增加数组元素,扩展其大小。 第一次给values数组赋值: values7 3 结果如下图:,54,一维数组的扩展,第二次再给该数组赋值: values9 6 则将数组进行了扩展,得到的结果如下图: 但不能将一个一维数组扩展为一个二维数组。,55,二维数组的创建,创建二维数组时,数组的两个维度的大小由最大的下标确定 例如: nu

14、mbers3,4 13 得到:,56,RAPTOR数组特性,RAPTOR并不强制每个数组的元素必须具备相同的数据类型 例如程序员可以将二维数组,设计成为类似像数据库那样的一种记录式结构,57,数组变量的应用,数组变量的好处来自数组符号允许RAPTOR在方括号内执行数学计算,58,什么是平行数组?,计算某个班级学员的一个学期4门课程的平均成绩。 应该如何保存参与计算的课程成绩 可以分别使用:computer,math,physics,history,而每个同学的编号,可以用做数组的下标,59,数组应用注意事项,在RAPTOR中,一旦某个变量名被用做数组变量,就不允许存在一个同名的非数组变量 RA

15、PTOR数组可以在算法运行过程中动态增加数组元素;但不可以将一个一维数组在算法运行中扩展成二维数组,60,RAPTOR子程序与子图定义与调用,在计算机科学中,将实际问题抽象化是解决问题的关键要素之一 一项研究成果表明,人类的大脑平均只能同时积极关注约4件事情,大大少于以往研究所得的7件事情的结论 为了解决复杂的问题,必须能够研究问题的“主要方面(big issues)”,61,计算一个英文文章中,使用了“a”开头的单词的次数,一个英文单词的以特定字母开头,那么它的前面一定有空格 所以,判断一个空格后面是否跟了一个字母“a”,就可以找出一段英文中所有以a开头单词的使用次数,62,63,统计 “a

16、z” 字母开头单词数,解这个问题程序似乎只要把上个例子部分程序再复制、粘贴25次,做一点修改就可以解决问题 但是,为了使得设计的程序更加简练、具有更长久的生命力和更广泛的用途,可以将上一例中的程序改造成一个子程序,或者是一种抽象: 其功能就是“统计一个特定字母开头的单词,在一段文字中出现了多少次”,64,创建RAPTOR子程序,子程序如同一个加工厂,输入原材料,然后按设计要求处理原材料,输出产成品 子程序的原材料就是一些变量,例如(in:char),为统计子程序输入测试样本 子程序的产成品也是变量,例如(out: count),向调用它的程序返回统计结果 其中,in, out表示子程序的输入输出参数,65,子程序定义,子程序定义界面上的接口参数称为“形式参数” RAPTOR的子程序参数不得超过6个 子程序参数可以是单个变量,也可以是数组,66,一个设计完成的子程序,67,子程序的调用,如要调用子程序,可以通过调用语句并给子程序的接口赋予“实际参数”进行 实际参数的名与形式参数的可以不同 实际参数的数据类型则必须与形式参数的相同,68,69,自顶

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号