View
367
Download
12
Embed Size (px)
Citation preview
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 个象素,起点坐标为( 1
0,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
任务 请在教材、试验指导书之外,从其他参考书或者网络等你能接触到的资源中寻找一个较为复杂的使用变量与函数的例子,理解并能制作出来。