240 likes | 389 Views
Lesson 6. 计算图标 变量和函数. 计算图标. 功能: 1 、能够调用函数、变量和添加程序注释 2 、 作为其他图标的附加图标 掌握: 1 、计算图标和附加计算图标的打开、删除 2 、调用函数、变量 3 、添加注释语句. 变量和函数. 变量 是一个其值可以改变的量 系统变量 自定义变量 函数 主要用于执行某一特定的操作 系统函数 自定义函数. 变量和函数运用的场合. 运算窗口 对话框 :在对话框中函数或变量主要用来设置控制条件,当条件成立,则完成第一类任务;当该条件不成立,则完成另一类任务 插入至正文对象中 表达式中.
E N D
Lesson 6 计算图标 变量和函数
计算图标 • 功能: 1、能够调用函数、变量和添加程序注释 2、作为其他图标的附加图标 • 掌握: 1、计算图标和附加计算图标的打开、删除 2、调用函数、变量 3、添加注释语句
变量和函数 • 变量是一个其值可以改变的量 • 系统变量 • 自定义变量 • 函数主要用于执行某一特定的操作 • 系统函数 • 自定义函数
变量和函数运用的场合 • 运算窗口 • 对话框 :在对话框中函数或变量主要用来设置控制条件,当条件成立,则完成第一类任务;当该条件不成立,则完成另一类任务 • 插入至正文对象中 • 表达式中
系统变量的使用 • 系统变量是Authorware自身所提供的一套变量,他们主要用来跟踪各图标中的相关信息或系统信息 ; • 每一个变量都有唯一的名称 ; • 系统变量的名字由大写字母开头,一个或几个单词组成 ; • 变量后面可以跟一个“@”字符再加上一个图标的标题名,这种变量称为引用变量 。
自定义变量的使用 • 要求:变量名是唯一的,必须是一个除了系统变量名和已经存在的自定义变量名以外的新名称。其使用方法和系统变量一样 。 • 定义变量的方式 • 自定义变量的初始化赋值 赋值的方法 : 定义新的变量时在变量对话框中给变量赋值 ; 在运算图标设置对话框中使用赋值符号给变量赋值: “变量名”:=“初始值” • 初始化值的修改、名字的修改、以及删除
函数的使用 • 系统函数的分类 、使用 ; • 自定义函数的使用 :先要加载 加载的方式
赋值运算符 := 将运算符右边的值赋给运算符左边的变量 关系运算符 = 表示运算符两边的值相等 <> 表示运算符两边的值不相等 < 表示运算符左边的值小于右边的值 > 表示运算符左边的值大于右边的值 <= 表示运算符左边的值小于等于右边的值 >= 表示运算符左边的值大于等于右边的值 逻辑运算符 ~ 逻辑非 & 逻辑与 | 逻辑或 算术运算符 + 将运算符左右两边的值相加 - 将运算符左右两边的值相减 * 将运算符左右两边的值相乘 / 用运算符左边的值除以运算符右边的值 ** 运算符右边的值是左边的值的指数 连接运算符 ^ 将左右两边的字符串连接为一个字符串 运算符类型以及相应的含义
赋值运算符使用实例 表达式 含义 Pathnumber:=4 将述值4赋给变量Pathnumber Location:=”beijing” 将字符串beijing赋给变量Location Movable@”circle”:=false 将逻辑值false赋给系统变量Movable,结果circle显示图标中的对象将被锁定,用户无法移动 Topic:=Topic+1 将Topic当前值加1,然后将新的值赋给变量
表达式 含义 Linenumber=10 如果自定义变量linenumber的值等于10,则该表达式返回一个逻辑值true,否则返回false Number>0 将自定义变量Number的值和0比较,如果Number的值大于0, 则该表达式返回一个逻辑值true,否则返回false Finishplay=TRUE 将逻辑变量Finishplay的值与TRUE比较,如果Finishplay的值为TRUE , 则该表达式返回一个逻辑值true,否则返回false 关系运算符使用实例
表达式 含义 Switch:=~ Switch 这个表达式用于改变自定义变量Switch的状态,如果Switch的值先前为TRUE,经过运算后其值为False,反之亦然 Status:=Con1&Con2 如果变量con1和con2同时为TRUE,那么Status也为TRUE,否则Status为False Status:=Con1|Con2 只要变量con1和con2中有一个为TRUE, 那么Status也为TRUE,只有con1和con2同时为false时,Status才为False 逻辑运算符使用实例
条件语句使用格式if 条件1 then任务1else任务2end if 循环语句使用格式repeat with 条件 任务end repeat 语句介绍
几个范例分析 • 一、控制视频播放 • 1、使用函数: • MediaPlay(IconID@"IconTitle") • MediaPause(IconID@"IconTitle", pause) • pause=1或者为真,则停止播放 • pause=0或者为假,则从当前位置继续播放 • MediaSeek(IconID@"IconTitle", position) • 从指定的(position)位置开始播放
几个范例分析 • 一、控制视频播放 • 2、思路: • 四个按钮(播放、暂停、停止、继续)的控制:用变量a和b来控制 • 若用3个按钮(播放、暂停、停止) • 通过播放按钮来实现暂停后的继续播放:利用变量pause来判断
一个小游戏(按键响应) • 1、首先主流程上放一些显示图标来显示封面、提示信息和要移动的小球。并加入一个计算图标获取游戏开始时的时间。 • 2、两组交互 • 一组是问题——用于在移动小球过程中向学生提出问题 • 一组是按键响应——用于改变决定小球位置的变量以及让小球移动到指定位置 • 利用a、b变量的值来设定条件响应提不同的问题。(共15个问题),不同的路径有不同的问题。回答问题则用文本响应。 • 按键响应交互中,小球移动设置在“TRUE”群组图标中,注意,这个响应为“条件”响应。 • 再增加一个计算图标,跳转到“反馈”群组图标中。 • 3、 “反馈”群组图标中,计算图标用于获取游戏结束时的时间,并与开始时间相减获得完成游戏的总时间。 • 利用显示图标将总时间显示出来。 • 考虑:要重新来一次如何设置? • 4、 “反馈”群组图标中增加一个按钮交互,设置擦除图标擦除时间显示,设置计算图标返回到程序开始处。
绘制正弦曲线 • authorware的作图函数Line(penseze,x1,y1,x2,y2),利用这个函数配合适当的算法,几乎可以做出任何类型的函数图象。 • 在authorware中,Line(penseze,x1,y1,x2,y2)函数可以在给定的两点之间绘制一条线段,如果让函数的自变量连续以一个很小的值变化(x),并得到一个连续的返回值(y),利用Line函数连接这许多的点,就可以产生一个接近连续的图象 • 操作步骤: • 1、首先绘制坐标,确定原点 • ResizeWindow(500,400)——设置窗口大小为500*400 • SetFrame(1, RGB(100,100,100))-----设置线的颜色,具体颜色由RGB的值决定 • SetLine(2)----设置线条为带右、向上箭头的样式 • Line(3, 10,200,450,200)----画一条线,线宽为3个象素,起点坐标为(10,200),终点坐标为(450,200),实际上就是画横坐标。窗口的左上角为原点(0,0) • Line(3, 50,400,50,0)----画一条线,线宽为3个象素,起点坐标为(50,400),终点坐标为(50,0),实际上就是画纵坐标。窗口的右下角坐标为(500,400) • ----这个坐标是以(50,200)为原点的。
绘制正弦曲线 • 2、绘制函数图像 • SetFrame(1,RGB(255,0,0)) ————设置线的类型为填充,颜色为红色 • repeat with x:=0 to 2*Pi*50——循环语句使x连续取值,设置x坐标的变化范围为0到2*Pi*50,产生一个周期的图像,并且注意x的取值不超过x轴。 • pensize:=2——设置线宽为2个像素 • y1:=SIN(x/50)——————与x对应的y的值 • x:=x+0.01————x值步进增加0.01,较小的增量值会使曲线更加平滑 • SetLine(0)————————————设置画出的线条不带箭头Line(pensize,x+50,200-100*y1,x+50,200-100*y1)————在两点之间画线 • end repeat——————————结束循环
绘制正弦曲线 • 思考1:其他的如抛物线、三角函数、指数函数、对数函数等的图像如何绘制? • 思考2: y=asin(bx+c),如何根据用户输入a,b,c值来绘制图像?
两位数的加减乘法练习题 • 三个关键 • 1、为了统计学生学习的成绩,必须设定相应的变量存储这些结果(比如:n—总题数,n1-加法题数,n2-减法题数,n3-乘法题数) • 2、必须确保被减数大于减数 • 3、由于所做的题目数量是学生设定的,答题所用时间不能事先设定。(通过5*题数确定)
两位数的加减乘法练习题 • 关键步骤1: • 在“变量初始值”计算图标中输入以下内容: • x:=0———代表第一个加数,被减数或被乘数 • y:=0———代表第二个加数,减数或乘数 • calcu:=0——代表两个数的运算结果 • input:=0——代表输入的答案 • mark:=0——代表得分 • n:=0————代表所做的总题数 • n1:=0————代表所做对的加法题数 • n2:=0————代表所做对的减法题数 • n3:=0————代表所做对的乘法题数 • Titem:=0———代表选择的题数
两位数的加减乘法练习题 • 2、利用文本交互接受用户输入的题数,并利用Titem:=EntryText语句将用户输入的题目数量赋值给Titem变量 • 3、在“开始计时”计算图标内键入以下内容: • Tlaps:=SystemSeconds ——将系统运行到目前的时间值(单位:秒)赋给Tlaps变量 • 4、利用判断图标来出三种题型。 设置判断图标时间限制为5*Titem,即整个练习所用的时间为用户所选择的题目数量乘以5秒(平均每题5秒)
两位数的加减乘法练习题 • 5、“出题”计算图标 • x:=Random(10,99,1)————从10-99之间任意出一个两位数,间隔为1,并将其赋给x • y:=Random(10,99,1) ————从10-99之间任意出一个两位数,间隔为1,并将其赋给y • calcu:=x+y ————将x+y的和赋给calcu • n:=n+1————题目数量加1,即表明已出了一道题 • 6、用户利用文本交互输入答案后 • input:=EntryText————将用户输入的计算结果赋值给input • if calcu=input then————检测答案是否正确(input是否等于calcu) • mark:=mark+l————若正确,得分加1分 • n1:=n1+1————若正确,做对的加法类型的题目数加一个 • end if————结束一个if语句 • if n>=Titem then • GoTo(IconID@"结果”)——该句检测所做的题目数是否已大于等于用户所事先设定的题目数,如果超过,就转到“结果”图标处 • end if——结束if语句 • 减法、乘法一样操作,减法中如何保证减数大于被减数?
两位数的加减乘法练习题 • 6、“结果”计算图标 • T:=SystemSeconds-Tlaps————计算答题所有的时间 • if mark/Titem=1 then • GoTo(IconlD@"结果1”) • else if mark/Titen>=0.8 then • GoTo(IconlD@"结果2”) • else if mark/Titem>=0.6 then • GoTo(IconlD@"结果3") • else if mark/Titem<=0.5 then • GoTo(IconID@“结果4”) • end if
任务 • 请在教材、试验指导书之外,从其他参考书或者网络等你能接触到的资源中寻找一个较为复杂的使用变量与函数的例子,理解并能制作出来。