《可视化计算》第1章RAPTOR程序设计基础(A).ppt
第1章 RAPTOR程序设计基础PART A,可视化计算,1,学习目标,为什么要学习程序设计?什么是可视化的程序设计环境?为什么要使用可视化程序设计环境?程序设计那些基本要素?RAPTOR程序设计环境有那些基本概念?如何使用程序设计进行计算问题的求解?,2,为什么要学习程序设计?,本课程的主要内容是建立和训练计算思维的能力;由于计算思维的核心之一是算法思维,同时算法思维也是计算机科学的精髓而算法思维的实现离不开程序设计,所以对于计算思维的学习和认识,必须从程序设计开始,3,名人名言,我们所使用的工具深刻地影响我们的思考习惯,从而也影响了我们的思考能力-埃德斯加狄克斯特拉,4,计算思维的根本内容,计算思维最根本的内容,即其本质(Essence)是抽象(Abstraction)和自动化(Automation)计算思维中的抽象完全超越物理的时空观,并完全用符号来表示抽象和自动化 行为将贯彻课程的始终,5,计算思维的特征,是概念化的抽象思维而不只是程序设计是基本的而不是死记硬背的技能是人的而不是计算机的思维方式,是数学和工程思维的互补与融合是思想而不是人造品面向所有的人和所有地方关注依旧亟待理解和解决的智力上极有挑战性并且引人入胜的科学问题,6,什么是可视化程序设计?,可视化(Visual)程序设计是一种全新的程序设计方法,一般可视化程序主要是指编译环境的可视化;程序设计人员利用开发环境本身提供各种可视化的控件、方法和属性等,像搭积木一样构造出应用程序的各种界面典型的可视化程序设计环境如Visual Basic,7,Visual Basic 6.0界面,8,为什么要使用RAPTOR?,RAPTOR(the Rapid Algorithmic Prototyping Tool for Ordered Reasoning-用于有序推理的快速算法原型工具),是一种基于流程图仿真的可视化的程序设计环境,为程序和算法设计的基础课程的教学提供实验环境使用RAPTOR设计的程序和算法可以直接转换成为C+、C#、Java等高级程序语言,这就为程序和算法的初学者铺就了一条平缓、自然的学习阶梯,9,使用RAPTOR的理由,可以在最大限度地减少语法要求的情形下,帮助用户编写正确的程序指令程序就是流程图,可以逐个执行图形符号,以便帮助用户跟踪指令流执行过程容易掌握用RAPTOR可以进行算法设计和验证,从而使初学者有可能理解和真正掌握“计算思维”,10,程序设计语言有哪些基本要素?,程序设计语言很多方法和术语来自于语言学。比如:语法(Syntax)指用字符组合成合法语句的规则集语义(semantics)指定一条合法语句的含义语用(Pragmatics)指实现的简易性、应用的效率和程序设计方法论等,11,程序的两类基本要素,对数据对象的运算和操作程序的控制结构,12,程序的基本运算和操作,算术运算:加、减、乘、除等逻辑运算:“与”、“或”、“非”等关系运算:“大于”、“小于”、“等于”、“不等于”数据传输:赋值、输入、输出等,13,程序的控制结构,顺序结构:,选择结构:,14,程序的控制结构,(a)直到型循环结构,(b)当型循环结构,15,RAPTOR基本程序环境,基本界面,16,四种基本符号/语句,17,变量,变量(variable)表示的是计算机内存中的位置,用于保存数据值在任何时候,一个变量只能容纳一个值在程序执行过程中,变量的值可以改变,18,变量赋值过程,19,RAPTOR变量值的设置,基本原则:任何变量在被引用前必须存在并被赋值变量的类型由最初的赋值语句所给的数据决定设置方法通过输入语句赋值通过赋值语句的中的公式运算后赋值通过调用过程的返回值赋值,20,RAPTOR数据类型,数值(Number):如12,567,-4,3.1415,0.000371字符串(String):如“Hello,how are you?”,“James Bond”,“The value of x is:”字符(Character):如A,8,!。,21,变量报错的原因,未定义引用,22,变量报错的原因,拼写错,23,不同类型的数据不可比较,24,RAPTOR常量,RAPTOR定义了四个常量(Constant)pi(圆周率)定义为 3.1416e(自然对数的底)定义为 2.7183true/yes(布尔值:真)定义为 1false/no(布尔值:假)定义为 0,25,输入(Input)语句,输入语句的编辑(Edit)对话框提示部分变量部分,26,输入(Input)语句,输入语句在流程图中显示的状态运行时对话框,27,赋值语句(编辑),Set部分为接受赋值的变量或数组元素To部分为表达式,28,赋值语句(显示),流程图中的赋值语句,29,表达式,可以是任何计算单个值的简单或复杂公式是值(无论是常量或变量)和运算符的组合。例如,考虑下面的两个例子:(1)x(3+9)/3(2)x 3+(9/3),30,表达式计算的“优先顺序”,1.计算所有函数的值,然后;2.计算括号中表达式,然后;3.计算乘幂(,*),然后;4.从左到右,计算乘法和除法,最后5.从左到右,计算加法和减法。,31,内置运算符和函数,数学运算:+,-,*,/,*(加、减、乘、除、乘方)rem,mod,sqrt(求余,开平方)log,abs,(对数,绝对值)ceiling,floor(向下取整,向上取整),32,内置运算符和函数,三角函数:sin,cos,tan;正弦,余弦,正切 cot,arcsin,arccos;余切,反正弦,反余弦 arctan,arccot;反正切,反余切,33,内置运算符和函数,random,伪随机数 Length_of 求数组元素个数,求字符串长度,34,过程调用语句(编辑),编辑对话框注意已有过程提示,35,过程调用语句(显示),注意,内置过程,子图,子程序的调用使用同样的语句,但子图没有参数;内置过程或子程序需要参数,36,输出语句,执行输出语句将在主控(Master Console)窗口显示输出结果输出的结果可以使用或不使用换行操作,37,输出语句的设计技巧,38,注释,注释本身对计算机毫无意义,并不会被执行。注释的目的是增强程序的可读性,帮助他人理解你所设计的程序或算法,39,一个带注释的算法,注释的四种类型:1.编程标题2.分节描述3.逻辑描述4.变量说明,40,End of ch1-1,41,