raptor流程图赋值语句_RAPTOR流程图编程.ppt

RAPTOR程序设计基础 1 为什么要学习程序设计 由于计算思维的核心之一是算法思维 同时算法思维也是计算机科学的精髓而算法思维的实现离不开程序设计 所以对于计算思维的学习和认识 必须从程序设计开始 2 计算思维的根本内容 计算思维最根本的内容 即其本质 Essence 是抽象 Abstraction 和自动化 Automation 计算思维中的抽象完全超越物理的时空观 并完全用符号来表示抽象和自动化行为将贯彻课程的始终 3 什么是可视化程序设计 可视化 Visual 程序设计是一种全新的程序设计方法 一般可视化程序主要是指编译环境的可视化 程序设计人员利用开发环境本身提供各种可视化的控件 方法和属性等 像搭积木一样构造出应用程序的各种界面典型的可视化程序设计环境如VisualBasic 4 VisualBasic6 0界面 5 为什么要使用RAPTOR RAPTOR theRapidAlgorithmicPrototypingToolforOrderedReasoning 用于有序推理的快速算法原型工具 是一种基于流程图的可视化程序设计环境 为程序和算法设计的基础课程教学提供实验环境使用RAPTOR设计的程序和算法可以直接转换成为C C Java等高级程序语言 这就为程序和算法的初学者铺就了一条平缓 自然的学习阶梯 6 使用RAPTOR的理由 可以在最大限度地减少语法要求的情形下 帮助用户编写正确的程序指令程序就是流程图 可以逐个执行图形符号 以便帮助用户跟踪指令流执行过程容易掌握用RAPTOR可以进行算法设计和验证 从而使初学者有可能理解和真正掌握 计算思维 7 RAPTOR基本程序环境 基本界面F5 运行流程图F10 单步执行显示执行结果 8 四种基本符号 语句 9 变量 变量 variable 表示的是计算机内存中的位置 用于保存数据值在任何时候 一个变量只能容纳一个值变量的初始值决定了变量的数据类型 在流程执行过程中变量的数据类型不能更改 但变量的值可以改变 10 变量赋值过程 11 RAPTOR变量值的设置 基本原则 任何变量在被引用前必须存在并被赋初值变量的类型由最初的赋值语句所给的数据决定设置方法通过输入语句赋值通过赋值语句的中的公式运算后赋值通过调用过程的返回值赋值 12 RAPTOR数据类型 数值 Number 如12 567 4 3 1415 0 000371字符串 String 如 Hello howareyou JamesBond Thevalueofxis 字符 Character 如 A 8 13 变量报错的原因 未定义引用 14 变量报错的原因 拼写错 15 不同类型的数据不可比较 16 字符串 用双引号括起来字符 用单引号括起来 RAPTOR常量 RAPTOR定义了四个常量 Constant pi 圆周率 定义为3 1416e 自然对数的底 定义为2 7183true yes 布尔值 真 定义为1false no 布尔值 假 定义为0 17 输入 Input 语句 输入语句的编辑 Edit 对话框在提示文本框中说明所需的输入在变量文本框中输入变量名 18 输入 Input 语句 输入语句在流程图中显示的状态运行时对话框 19 赋值语句 编辑 Set文本框中输入需要赋值的变量名 To文本框中输入需要执行的表达式 表达式可以是一个值或一个公式 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 关系运算 25 内置运算符和函数 数学运算 加 减 乘 除 乘方 rem mod sqrt 求余 开平方 log abs 对数 绝对值 ceiling floor 向下取整 向上取整 26 内置运算符和函数 三角函数 sin cos tan 正弦 余弦 正切cot arcsin arccos 余切 反正弦 反余弦arctan arccot 反正切 反余切 27 内置运算符和函数 random 伪随机数Length of求数组元素个数 求字符串长度 28 过程调用语句 编辑 编辑对话框注意已有过程提示 29 过程调用语句 显示 过程调用分内置过程 子图 子程序 内置过程 子图 子程序的调用使用同样的语句 但子图没有参数 内置过程或子程序需要参数 30 输出语句 执行输出语句将在主控 MasterConsole 窗口显示输出结果必须用双引号 以便与变量区分是否换行输出结果选中表示换行 31 输出语句的设计技巧 32 注释 注释本身对计算机毫无意义 并不会被执行 注释的目的是增强程序的可读性 帮助他人理解你所设计的程序或算法 33 一个带注释的算法 注释的四种类型 1 编程标题2 分节描述3 逻辑描述4 变量说明 34 控制结构 程序员合理利用控制结构和控制语句 可以确定程序语句的执行顺序这些控制结构可以做三件事 1 按照顺序执行某些语句 2 根据条件判断结果 跳过某些语句而执行其他语句 3 条件为真时重复执行一条或多条语句主要介绍选择 Selection 和循环 Loop 命令 35 顺序控制 顺序逻辑是最简单的程序构造本质上 就是把每个语句按顺序排列 程序执行时 从开始 Start 语句顺序执行到结束 End 语句 36 顺序控制 程序员为解决问题 必须首先确定问题的解决方案 该方案需要哪些语句 以及语句的执行顺序因此 编写正确的语句以及确定语句在程序的何处放置是同样重要的例如 当要获取和处理来自用户的数据时 必须先取得数据 然后才可以使用如果交换一下这些语句的顺序 则程序根本无法执行顺序控制在英语环境中被称为 and then 结构 37 选择控制 当程序执行时 如果决策的结果是 Yes True 则执行左侧分支如果结果是 No False 则执行右侧分支 38 选择控制 注意选择控制语句的两个路径之一可能是空的 或包含多条语句选择控制结构在英语环境中被称为 if then 结构 39 级联选择控制 40 循环控制 循环 loop 控制语句允许重复执行一个或多个语句 直到某些条件变为真值 True 菱形符号中的表达式结果为 No 则执行 No 的分支 这将导致循环语句和重复要重复执行的语句可以放在菱形符号上方或下方循环控制结构在英语环境中被称为 While do 结构 41 循环测试 在循环语句中 究竟是先计算后测试 还是先测试后计算 或者在计算的过程中间进行测试 前序测试 Pre test 后续测试 Post test 中序测试 Intermediate test 42 删除图的Statement2Statement1为前置条件Statement3是主循环体如果进入了Statement3 测试条件也必须由这一部分进行修改 前序测试 43 中序测试 删除图中的Statement1Statement2是主循环体之一而测试条件也是在Statement2中产生Statement3是主循环体之二 44 后续测试 删除图中的Statement1和Statement3Statement2是主循环体而测试条件也是在Statement2中产生 45 输入验证循环 46 输入验证循环之二 47 N 10 计数循环 循环按特定的次数 来执行某个代码块一个著名的缩写I T E M Initialize Test Execute Modify 初始化 测试 执行 和修改 表示可以用来检查一个循环计数器变量使用是否正确的基本过程 48 典型的循环错误 49 输入控制循环 50 输入控制循环之二 51 RAPTOR数组变量 数组是有序数据的集合 一般分为一维数组和二维数组数组最大的好处在于用一个统一的数组名和下标 index 来唯一地确定某个数组变量中的元素 52 RAPTOR一维数组的元素表示 形式一形式二 53 数组的创建 数组变量必须在使用之前创建所创建的数组大小由赋值语句中给定的最大元素下标来决定 可以在算法运行过程中动态增加数组元素 扩展其大小 第一次给values 数组赋值 values 7 3结果如下图 54 一维数组的扩展 第二次再给该数组赋值 values 9 6则将数组进行了扩展 得到的结果如下图 但不能将一个一维数组扩展为一个二维数组 55 二维数组的创建 创建二维数组时 数组的两个维度的大小由最大的下标确定例如 numbers 3 4 13得到 56 RAPTOR数组特性 RAPTOR并不强制每个数组的元素必须具备相同的数据类型例如程序员可以将二维数组 设计成为类似像数据库那样的一种记录式结构 57 数组变量的应用 数组变量的好处来自数组符号允许RAPTOR在方括号内执行数学计算 58 什么是平行数组 计算某个班级学员的一个学期4门课程的平均成绩 应该如何保存参与计算的课程成绩可以分别使用 computer math physics history 而每个同学的编号 可以用做数组的下标 59 数组应用注意事项 在RAPTOR中 一旦某个变量名被用做数组变量 就不允许存在一个同名的非数组变量RAPTOR数组可以在算法运行过程中动态增加数组元素 但不可以将一个一维数组在算法运行中扩展成二维数组 60 RAPTOR子程序与子图定义与调用 在计算机科学中 将实际问题抽象化是解决问题的关键要素之一一项研究成果表明 人类的大脑平均只能同时积极关注约4件事情 大大少于以往研究所得的7件事情的结论为了解决复杂的问题 必须能够研究问题的 主要方面 bigissues 61 计算一个英文文章中 使用了 a 开头的单词的次数 一个英文单词的以特定字母开头 那么它的前面一定有空格所以 判断一个空格后面是否跟了一个字母 a 就可以找出一段英文中所有以a开头单词的使用次数 62 63 统计 a z 字母开头单词数 解这个问题程序似乎只要把上个例子部分程序再复制 粘贴25次 做一点修改就可以解决问题但是 为了使得设计的程序更加简练 具有更长久的生命力和更广泛的用途 可以将上一例中的程序改造成一个子程序 或者是一种抽象 其功能就是 统计一个特定字母开头的单词 在一段文字中出现了多少次 64 创建RAPTOR子程序 子程序如同一个加工厂 输入原材料 然后按设计要求处理原材料 输出产成品子程序的原材料就是一些变量 例如 in char 为统计子程序输入测试样本子程序的产成品也是变量 例如 out count 向调用它的程序返回统计结果其中 in out表示子程序的输入输出参数 65 子程序定义 子程序定义界面上的接口参数称为 形式参数 RAPTOR的子程序参数不得超过6个子程序参数可以是单个变量 也可以是数组 66 一个设计完成的子程序 67 子程序的调用 如要调用子程序 可以通过调用语句并给子程序的接口赋予 实际参数 进行实际参数的名与形式参数的可以不同实际参数的数据类型则必须与形式参数的相同 68 69 自顶向下vs自底向上 先规划子程序 然后逐个实现 为自顶向下的设计方法先实现各个子程序的功能 然后进行综合 为自底向上的设计方法 70 计算问题求解的一般过程 理解问题制定计划执行计划回顾与总结 71 使用计算机进行问题求解 程序开发周期分析问题设计程序以解决问题程序编码程序测试 72 小结与回顾 本章的内容主要涉及程序设计的一般性概念 包括变量 常量 数据类性 表达式 赋值语句 输入 输出 分支 循环与决策 子程序定义与调用以及形式参数和实际参数等由于RAPTOR是一种基本功能完备而又十分简洁的算法描述性程序设计环境 对于程序设计的入门学习 极为有利 73 小结与回顾 一般问题的求解过程属于常识范畴 本章之所以将其作为重要内容重新提出 完全是为了读者将这种感性的常识认识上升到理性如果能够自觉地加以应用 并将其与程序设计与算法问题求解结合 将形成一种强大的问题求解技能 74

展开阅读全文

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值