1、03 变量和计算变量和计算 程序设计基础 2 home back first prev next last 本节目标本节目标 认识和使用变量认识和使用变量 四则运算四则运算 简单累加计算简单累加计算 求阶乘求阶乘 科学计数法科学计数法 测试测试 随机数应用随机数应用 3 home back first prev next last 小猫数数小猫数数 怎样让小猫数数字,从怎样让小猫数数字,从1数到数到100呢?呢? 4 home back first prev next last 变量变量 5-1 在编程中,变量是用来存放某个值的占位符,在编程中,变量是用来存放某个值的占位符, 很像代数里常见的
2、变量如很像代数里常见的变量如 x 和和 y 在在 Scratch 中,变量用拉长的圆形图块来表中,变量用拉长的圆形图块来表 示,名称由你来指定示,名称由你来指定 变量通常分为局部(变量通常分为局部(local) 和和 全局(全局(global) 变量。变量。 在在 Scratch中,局部变量只能被一个角色使用中,局部变量只能被一个角色使用 全局变量在所有角色的代码中都可以使用全局变量在所有角色的代码中都可以使用 5 home back first prev next last 变量变量 5-2 变量可以暂时存放数据,如变量可以暂时存放数据,如 输入、输出、临时(中间)结果等输入、输出、临时(中
3、间)结果等 变量可以作为参数传递数据变量可以作为参数传递数据 6 home back first prev next last 变量变量 5-3 变量有不同的类型,叫变量的数据类型变量有不同的类型,叫变量的数据类型 有的变量是数字类型,如有的变量是数字类型,如1、2.5、-3.4,0等等 如果一个变量的值只能是真(可用如果一个变量的值只能是真(可用1表示)或假表示)或假 (可用(可用0表示),这种变量就被称为逻辑变量表示),这种变量就被称为逻辑变量 (或布尔变量)(或布尔变量) 有的变量是字符或字符的集合(字符串),如有的变量是字符或字符的集合(字符串),如 Hello 7 home back
4、 first prev next last 变量变量 5-4 数字变量可以进行加、减、乘、除四则运算数字变量可以进行加、减、乘、除四则运算 运算结果可以保存到相同或不同的变量中运算结果可以保存到相同或不同的变量中 如果现在如果现在n为为10,执行右面指令后,执行右面指令后,n是多少?是多少? 复杂算式可以嵌套实现复杂算式可以嵌套实现 a = (n + 1) x 5 8 home back first prev next last 变量变量 5-5 怎样让小猫数数字,从怎样让小猫数数字,从1数到数到100且仅数偶数且仅数偶数 呢?呢? 怎样让小猫数数字,从怎样让小猫数数字,从1数到数到100且仅
5、数奇数且仅数奇数 呢?呢? 9 home back first prev next last 高斯的难题高斯的难题 谁知道谁知道1+2+.100的结果?的结果? 谁能编程让小猫计算出结果?谁能编程让小猫计算出结果? 10 home back first prev next last 变量的显示变量的显示 变量有三种显示方式,鼠标双击可切换变量有三种显示方式,鼠标双击可切换 第三种,可通过拖动滚动条改变变量值第三种,可通过拖动滚动条改变变量值 变量在舞台上可以显示或隐藏变量在舞台上可以显示或隐藏 方法一:勾选变量名前复选框方法一:勾选变量名前复选框 方法二:通过命令方法二:通过命令 11 hom
6、e back first prev next last 练习练习 小练习:编程计算小练习:编程计算20的阶乘,即的阶乘,即20!或!或 123420? 答案是:答案是:2432902008176640000,你算对了吗?,你算对了吗? 50 的阶乘比较大,自动显示为科学计数法的阶乘比较大,自动显示为科学计数法 代表代表3.041409320171337乘乘10的的64次方次方 12 home back first prev next last 代码走查代码走查 13 home back first prev next last 测试测试 2-1 实际问题的答案是不可能事先知道的,那怎实际问题的
7、答案是不可能事先知道的,那怎 样才能知道程序结果对不对呢?样才能知道程序结果对不对呢? 检查程序正确性的方法是测试:检查程序正确性的方法是测试: 选取有限的,有代表性的输入,如果程序输出选取有限的,有代表性的输入,如果程序输出 有错误,就代表程序有错误有错误,就代表程序有错误 例如,计算阶乘的程序可计算例如,计算阶乘的程序可计算3的阶乘,测试一的阶乘,测试一 下结果是否正确,如果结果不等于下结果是否正确,如果结果不等于6,说明程序,说明程序 计算有错误计算有错误 14 home back first prev next last 测试测试 2-2 因为测试所有可能的输入是不可能或无意义因为测试
8、所有可能的输入是不可能或无意义 的,所以测试一般只能证明程序有错,不能的,所以测试一般只能证明程序有错,不能 证明程序是正确的证明程序是正确的 程序必须进行测试程序必须进行测试 15 home back first prev next last 边界问题边界问题 计算计算1+2+.100的结果,容易出错的地方:的结果,容易出错的地方: 加数和和的初始值设置为多少加数和和的初始值设置为多少 重复的次数为多少?重复的次数为多少? 所谓边界问题,就是怎样开始和怎样结束的问所谓边界问题,就是怎样开始和怎样结束的问 题题 例如,在路边栽树,每隔例如,在路边栽树,每隔3米载一棵,路长米载一棵,路长30米,
9、米, 共栽几棵树?如果是围绕湖边栽树呢?共栽几棵树?如果是围绕湖边栽树呢? 测试中,边界值一般是必须要测试的测试中,边界值一般是必须要测试的 16 home back first prev next last 作业作业 编程计算编程计算1至至100所有奇数的和所有奇数的和 编程计算编程计算1至至100所有偶数的和所有偶数的和 17 home back first prev next last 随机数应用随机数应用 随机数随机数 在一个范围内,以相同的机会、机率出现的数在一个范围内,以相同的机会、机率出现的数 字字 在动画和游戏编程中,随机数的应用非常广泛在动画和游戏编程中,随机数的应用非常广泛 作业作业 绘制随机位置出现的、随机改变颜色的、同等绘制随机位置出现的、随机改变颜色的、同等 机率出现的正方形、圆和五角星机率出现的正方形、圆和五角星 本作业中需要在三个地方使用随机数:位置、本作业中需要在三个地方使用随机数:位置、 颜色、图形种类颜色、图形种类 18 home back first prev next last 总结总结 认识和使用变量认识和使用变量 四则运算四则运算 简单累加计算简单累加计算 求阶乘求阶乘 科学计数法科学计数法 测试测试 随机数应用随机数应用