1、17 常见程序结构常见程序结构 程序设计基础 2 home back first prev next last 本节目标本节目标 我们这节课即将学习:我们这节课即将学习: 语句语句 布尔表达式布尔表达式 分支结构(条件执行)分支结构(条件执行) 循环结构(多次执行)循环结构(多次执行) 变量变量 线程线程 事件事件 Oscartime游戏游戏 3 home back first prev next last 语句语句 语句是一条指令,用于告诉计算机完成指定语句是一条指令,用于告诉计算机完成指定 的操作或任务。的操作或任务。 语句是编程语言中,可以独立执行的最小的语句是编程语言中,可以独立执行的
2、最小的 单元。在单元。在Scratch中,任何图块的标签如果读中,任何图块的标签如果读 起来像一条命令,那么它就是一条语句。起来像一条命令,那么它就是一条语句。 例如,例如, 命令角色说话的图块就是一条语句:命令角色说话的图块就是一条语句: 另一个例子是命令角色移动到指定位置的图块另一个例子是命令角色移动到指定位置的图块: 4 home back first prev next last 布尔表达式布尔表达式 2-1 有时,你希望语句只在某种条件下执行。这些条有时,你希望语句只在某种条件下执行。这些条 件通过布尔表达式(或叫做逻辑表达式)来定义件通过布尔表达式(或叫做逻辑表达式)来定义 表达式
3、是一个由运算符和操作数连接而成的一个表达式是一个由运算符和操作数连接而成的一个 字串,例如字串,例如100+2*10是一个算数表达式是一个算数表达式 表达式不能够独立执行,只能作为语句的一部分。表达式不能够独立执行,只能作为语句的一部分。 表达式是可以计算求值的,计算完成后,表达式表达式是可以计算求值的,计算完成后,表达式 的结果一定是一个值。的结果一定是一个值。 根据取值的类型,表达式分为算数表达式、字符根据取值的类型,表达式分为算数表达式、字符 串表达式、布尔表达式等串表达式、布尔表达式等 5 home back first prev next last 布尔表达式布尔表达式 2-2 布尔
4、表达式的结果是一个布尔量,取值只有布尔表达式的结果是一个布尔量,取值只有 两种可能:真或假。在两种可能:真或假。在Scratch中,形状类似中,形状类似 拉长的钻石(菱形)的图块,代表逻辑表达拉长的钻石(菱形)的图块,代表逻辑表达 式。例如:式。例如: 鼠标按键要么按下,要么没有,所以图块的鼠标按键要么按下,要么没有,所以图块的 取值要么为真,要么为假。再看一个例子:取值要么为真,要么为假。再看一个例子: 两个数比较,前面数字是否小于后面数字,结两个数比较,前面数字是否小于后面数字,结 果也是要么为真,要么为假。果也是要么为真,要么为假。 通过逻辑表达式,我们可以构造出条件,下通过逻辑表达式,
5、我们可以构造出条件,下 面我们就来看条件。面我们就来看条件。 6 home back first prev next last 分支结构(条件执行)分支结构(条件执行)3-1 在编程中,条件是为了执行某些操作必须为在编程中,条件是为了执行某些操作必须为 真的逻辑表达式。真的逻辑表达式。 我们经常说条件为真或条件为假,条件成立或我们经常说条件为真或条件为假,条件成立或 条件不成立。条件不成立。 在在Scratch中,任何标签中含有“如果”、中,任何标签中含有“如果”、 “当”、“直到”等字眼的图块都是条件结构。“当”、“直到”等字眼的图块都是条件结构。 例如:例如: 上面的结构通常称为“上面的结
6、构通常称为“If 结构”结构” 7 home back first prev next last 分支结构(条件执行)分支结构(条件执行) 3-2 if-else 结构结构 这些结构可以嵌套,这些结构可以嵌套, 从而允许更多的条从而允许更多的条 件判断件判断 8 home back first prev next last 分支结构(条件执行)分支结构(条件执行) 3-3 下面图块也是条件结构下面图块也是条件结构 9 home back first prev next last 循环结构(多次执行)循环结构(多次执行) 循环结构中的语句会重复执行多次循环结构中的语句会重复执行多次 在在 Scr
7、atch 中,标签以“重复”开头的图块是循中,标签以“重复”开头的图块是循 环结构。例如:环结构。例如: 下面图块允许指定循环的次数,即结构中语句下面图块允许指定循环的次数,即结构中语句 重复执行的次数:重复执行的次数: 下面图块允许重复执行图块中的语句直到给定下面图块允许重复执行图块中的语句直到给定 条件为真才结束循环:条件为真才结束循环: 10 home back first prev next last 变量变量 2-1 在编程中,变量是用来存放某个值的占位符,在编程中,变量是用来存放某个值的占位符, 很像代数里常见的变量如很像代数里常见的变量如 x和和y。 在在 Scratch 中,变
8、量用拉长的圆形图块来表示,中,变量用拉长的圆形图块来表示, 标签由你来指定标签由你来指定 变量通常分为局部(变量通常分为局部(local) 和和 全局(全局(global) 变量。在变量。在 Scratch中,局部变量只能被一个角色中,局部变量只能被一个角色 使用,全局变量在所有角色的代码中都可以使使用,全局变量在所有角色的代码中都可以使 用用 如果一个变量的值只能是真(可用如果一个变量的值只能是真(可用1表示)或假表示)或假 (可用(可用0表示),这种变量就被称为逻辑变量表示),这种变量就被称为逻辑变量 (或布尔变量)(或布尔变量) 11 home back first prev next
9、last 变量变量 2-2 你希望多次执行某些语句,每次执行时,语你希望多次执行某些语句,每次执行时,语 句并不是完全的重复,而是行为有一点变化,句并不是完全的重复,而是行为有一点变化, 这时我们就会需要用到变量这时我们就会需要用到变量 12 home back first prev next last 线程线程 2-1 在编程中,线程就像是一个微型程序在编程中,线程就像是一个微型程序 一个程序可以包含多个线程,每个线程可以和一个程序可以包含多个线程,每个线程可以和 其他线程同时执行其他线程同时执行 多线程的程序可以同时做多件事情,例如,一多线程的程序可以同时做多件事情,例如,一 边使角色移动
10、,一边播放背景音乐边使角色移动,一边播放背景音乐 在在 Scratch 中,标签以“当”开头的图块,就代中,标签以“当”开头的图块,就代 表着线程的开始;在表着线程的开始;在 Scratch 中,每个“脚本”中,每个“脚本” (script)就是一个线程)就是一个线程 一个程序中如果有两个这样的图块,就会有两一个程序中如果有两个这样的图块,就会有两 个线程运行个线程运行 13 home back first prev next last 线程线程 2-2 下面代码中,左边线程负责播放声音,右边线程下面代码中,左边线程负责播放声音,右边线程 不断检测用户是否按下了空格键,用于判断用户不断检测用户
11、是否按下了空格键,用于判断用户 是否要关闭或打开声音是否要关闭或打开声音 14 home back first prev next last 事件事件 3-1 在编程中,不同线程之间可以通过广播和处在编程中,不同线程之间可以通过广播和处 理事件来彼此交互通信。事件就像一个线程理事件来彼此交互通信。事件就像一个线程 发送给其它线程的消息发送给其它线程的消息 在在 Scratch 中,标签以“广播”开始的图块用于中,标签以“广播”开始的图块用于 发送事件;标签以“当”开始的图块用于处理发送事件;标签以“当”开始的图块用于处理 事件,这也代表一个线程的开始,这种线程叫事件,这也代表一个线程的开始,这
12、种线程叫 “事件处理程序”“事件处理程序” 广播发送事件的图块如下:广播发送事件的图块如下: 处理事件的图块如下:处理事件的图块如下: 15 home back first prev next last 事件事件 3-2 事件不仅可以通过图块发送,而且也可以通事件不仅可以通过图块发送,而且也可以通 过用户的行为产生。过用户的行为产生。 例如,点击例如,点击 Scratch 窗口的绿旗,就会产生一个窗口的绿旗,就会产生一个 事件,该事件可被下面的图块接收和处理:事件,该事件可被下面的图块接收和处理: 16 home back first prev next last 事件事件 3-3 在在 Sc
13、ratch 中,事件不仅可用于线程之间的中,事件不仅可用于线程之间的 通信,也可用于不同角色之间的通信和交互通信,也可用于不同角色之间的通信和交互 例如,两个角色或许想玩例如,两个角色或许想玩 Marco Polo,左边是,左边是 一个角色的脚本,右边是另一个角色的脚本:一个角色的脚本,右边是另一个角色的脚本: 这样可以实现左边角色说这样可以实现左边角色说Marco后,右边角色说后,右边角色说 Polo 17 home back first prev next last Oscartime 游戏游戏 21-1 利用语句,逻辑表达式,条件,循环,变量,利用语句,逻辑表达式,条件,循环,变量, 线
14、程和事件,可以构建出有趣的程序线程和事件,可以构建出有趣的程序 下面,我们来看下面,我们来看 Oscartime 游戏程序,这个游戏程序,这个 程序第一眼看上去好像很复杂,但是实际上,程序第一眼看上去好像很复杂,但是实际上, 我们通过研究其内部组成会发现,这个程序我们通过研究其内部组成会发现,这个程序 也只是上面我们所学习的这些积木块的一个也只是上面我们所学习的这些积木块的一个 应用应用 18 home back first prev next last Oscartime 游戏游戏 21-2 Oscartime 是用是用Scratch编写的一个游戏。在编写的一个游戏。在Oscar唱唱 完一首
15、经典歌曲前,玩家要将掉下来的垃圾尽可完一首经典歌曲前,玩家要将掉下来的垃圾尽可 能多地拖入能多地拖入Oscar的垃圾箱中的垃圾箱中 19 home back first prev next last Oscartime 游戏游戏 21-3 Oscartime 有有9个角色,每个角色使用了一至个角色,每个角色使用了一至 三个线程三个线程 下面我们在下面我们在Oscartime中来研究一下上面我们学中来研究一下上面我们学 过的程序结构,这样我们就不仅知道如何玩这过的程序结构,这样我们就不仅知道如何玩这 个游戏,而且知道如何自己做一个这样的游戏个游戏,而且知道如何自己做一个这样的游戏 20 home
16、 back first prev next last Oscartime 游戏游戏 21-4 Instructions 角色角色 负责在游戏开始时,简单显示一些游戏的玩法负责在游戏开始时,简单显示一些游戏的玩法 这个角色仅使用一个线程来显示游戏的开始画这个角色仅使用一个线程来显示游戏的开始画 面,这个画面实际上是通过角色的一个造型来面,这个画面实际上是通过角色的一个造型来 实现的,在屏幕上居中显示实现的,在屏幕上居中显示4秒钟:秒钟: 21 home back first prev next last Oscartime 游戏游戏 21-5 Instructions 角色角色 非常简单,是不是
17、?非常简单,是不是? 角色显示了游戏名称,作者,作者的电子邮箱,以角色显示了游戏名称,作者,作者的电子邮箱,以 及游戏的玩法:及游戏的玩法:Drag as much falling trash as you can to Oscars trash can before his song ends! 这句话的意思就是“在这句话的意思就是“在Oscar唱完一首经典唱完一首经典 歌曲前,玩家要将掉下来的垃圾尽可能多地拖入歌曲前,玩家要将掉下来的垃圾尽可能多地拖入 Oscar的垃圾箱中”的垃圾箱中” 22 home back first prev next last Oscartime 游戏游戏 21
18、-6 Trash 角色角色 Trash(垃圾垃圾)角色被设计为从天空中的任意位置角色被设计为从天空中的任意位置 掉落到地面上掉落到地面上 一旦玩家将垃圾捡起来并拖入垃圾箱,角色就一旦玩家将垃圾捡起来并拖入垃圾箱,角色就 会从一个新位置重新掉落。这个过程会不断地会从一个新位置重新掉落。这个过程会不断地 重复重复 每次将垃圾拖入垃圾箱,玩家会得一分每次将垃圾拖入垃圾箱,玩家会得一分 23 home back first prev next last Oscartime 游戏游戏 21-7 Trash 角色角色 这个角色的第一个线程这个角色的第一个线程 这个线程在用户点击这个线程在用户点击Scrat
19、ch的绿旗后开始执行的绿旗后开始执行 24 home back first prev next last Oscartime 游戏游戏 21-8 第一部分代码将角色隐藏,运动方向设置为垂第一部分代码将角色隐藏,运动方向设置为垂 直向下(直向下(180度),初始高度是固定的(度),初始高度是固定的(y坐标坐标 180),左右位置即横坐标是在),左右位置即横坐标是在-100到到220之间的之间的 一个随机位置,一个随机位置,4秒后,角色显示出来:秒后,角色显示出来: 25 home back first prev next last Oscartime 游戏游戏 21-9 线程的循环结构中的第一个
20、条件结构线程的循环结构中的第一个条件结构 如果玩家按下了鼠标左键,而且鼠标指针碰到了这个角色,就如果玩家按下了鼠标左键,而且鼠标指针碰到了这个角色,就 需要做进一步的判断:需要做进一步的判断: 1. 玩家是刚刚点中这个角色吗?玩家是刚刚点中这个角色吗? (如果是,我们需要进入如果是,我们需要进入 拖放模式。如果不是,玩家就已经进入拖放模式了!这一点是拖放模式。如果不是,玩家就已经进入拖放模式了!这一点是 靠靠my_click=0来判断的,局部变量来判断的,局部变量my_click的作用是记住当的作用是记住当 前角色被点中。局部变量前角色被点中。局部变量my_click在每个掉落的垃圾角色中都在
21、每个掉落的垃圾角色中都 有一个,是不同的变量。也就是说有有一个,是不同的变量。也就是说有7个不同的个不同的my_click变量,变量, 这些变量虽然名字相同,但其取值可以是不同的。在这个程序这些变量虽然名字相同,但其取值可以是不同的。在这个程序 中,如果中,如果Trash角色的角色的my_click变量为变量为1,则,则Sneaker、 Trombone等其他角色的等其他角色的my_click变量为变量为0) 26 home back first prev next last Oscartime 游戏游戏 21-10 2. 之前玩家是否没有点中其他角色?之前玩家是否没有点中其他角色? (我们要
22、确保我们要确保 玩家一次只能捡起一个角色,即使有多个角色在屏玩家一次只能捡起一个角色,即使有多个角色在屏 幕上是重叠在一起的,这一点是靠幕上是重叠在一起的,这一点是靠good_click=0来来 保证的,全局变量保证的,全局变量good_click的作用是记住有一个的作用是记住有一个 角色被点中。全局变量角色被点中。全局变量good_click对所有角色来说对所有角色来说 都是可见的,变量只有一个,在都是可见的,变量只有一个,在Trash角色中修改了角色中修改了 good_click的值,其他角色也都看得到这种变化的值,其他角色也都看得到这种变化) 。 变量变量bad_click在程序中没有用
23、到,是可以删除的在程序中没有用到,是可以删除的 27 home back first prev next last Oscartime 游戏游戏 21-11 如果上述条件都满足,角色设置全局变量如果上述条件都满足,角色设置全局变量 good_click和局部变量和局部变量my_click为真(为真(1),这样),这样 程序就能够记住当前角色被点中,该角色可以开始程序就能够记住当前角色被点中,该角色可以开始 被拖动。接下来,线程广播了一个事件,名字叫被拖动。接下来,线程广播了一个事件,名字叫 “trash_click”,该角色的另一个线程接收到此事,该角色的另一个线程接收到此事 件后开始处理实际
24、的拖动操作件后开始处理实际的拖动操作 28 home back first prev next last Oscartime 游戏游戏 21-12 如果上面的条件没有都满足,角色不能进行拖如果上面的条件没有都满足,角色不能进行拖 动,循环中的第二个条件结构命令角色向下跌动,循环中的第二个条件结构命令角色向下跌 落一步,直到角色跌落到地面(落一步,直到角色跌落到地面(y坐标高度为坐标高度为- 165)上为止)上为止 29 home back first prev next last Oscartime 游戏游戏 21-13 循环中的最后一个条件结构判断角色是否已经循环中的最后一个条件结构判断角色
25、是否已经 被拖动到离被拖动到离Oscar的垃圾箱足够近的距离(小于的垃圾箱足够近的距离(小于 20),如果足够近,垃圾被收进垃圾箱,玩家),如果足够近,垃圾被收进垃圾箱,玩家 得一分得一分 30 home back first prev next last Oscartime 游戏游戏 21-14 1. 程序是否仍在运行?程序是否仍在运行? (这靠全局变量这靠全局变量playing=1来判断。来判断。 Oscar 唱完歌,唱完歌,playing的值被设置为的值被设置为0,就不能再将垃圾,就不能再将垃圾 放入垃圾箱了。放入垃圾箱了。) 2. 角色离垃圾箱距离是否小于角色离垃圾箱距离是否小于20个
26、像素?个像素? (如果是,垃如果是,垃 圾就可以放入垃圾箱圾就可以放入垃圾箱) 3. 玩家是否松开了(没有按下)鼠标左键玩家是否松开了(没有按下)鼠标左键? (只有你松开只有你松开 鼠标左键时,垃圾才能被放入垃圾箱!鼠标左键时,垃圾才能被放入垃圾箱!) 如果所有三个条件满足,角色隐藏如果所有三个条件满足,角色隐藏(看起来的效果就像看起来的效果就像 是被放入了垃圾箱是被放入了垃圾箱),然后广播一个名为,然后广播一个名为scored的事件,的事件, 通知通知 Oscar角色的一个线程显示得分的画面效果,等待角色的一个线程显示得分的画面效果,等待 大约大约2秒,秒, 再移动到天空中的一个新的位置,然
27、后再显再移动到天空中的一个新的位置,然后再显 示出来,重新开始从天空掉落示出来,重新开始从天空掉落 因为上面的三个条件结构都嵌套于“重复执行”循环结因为上面的三个条件结构都嵌套于“重复执行”循环结 构中,角色会一直按照上面的要求运动,直到游戏结束构中,角色会一直按照上面的要求运动,直到游戏结束 31 home back first prev next last Oscartime 游戏游戏 21-15 拖动角色的视觉效果是由下面第二个线程实现的:拖动角色的视觉效果是由下面第二个线程实现的: 只要玩家一直按下鼠标左键,角色就会跟随鼠标指针移只要玩家一直按下鼠标左键,角色就会跟随鼠标指针移 到,从
28、而显示被鼠标拖动的效果。到,从而显示被鼠标拖动的效果。 一旦玩家松开鼠标左键,此线程将变量一旦玩家松开鼠标左键,此线程将变量good_click设为设为0, 表示没有角色被点中,再将变量表示没有角色被点中,再将变量my_click设为设为0,表示当,表示当 前角色没有被点中。此线程“死掉”,结束本次运行。前角色没有被点中。此线程“死掉”,结束本次运行。 当本角色再次被“捡起”时,线程才会重新运行当本角色再次被“捡起”时,线程才会重新运行 32 home back first prev next last Oscartime 游戏游戏 21-16 Oscartime 游戏中游戏中 Sneaker
29、, Newspaper, Clock, Telephone, Umbrella, 和和Trombone 角色的行为方式和角色的行为方式和 Trash 角色在本质上是相同的,代码只有以下几个角色在本质上是相同的,代码只有以下几个 区别:区别: 1. 角色第一次出现的时间不同,靠显示之前等待的不同角色第一次出现的时间不同,靠显示之前等待的不同 秒数来实现秒数来实现(当当Oscar 唱歌时,在歌中第一次提到角色时,唱歌时,在歌中第一次提到角色时, 角色才开始显示角色才开始显示) 2. 代码中代码中my_click代表不同的变量,但作用是相同的代表不同的变量,但作用是相同的 3. 被点中时,广播的事件
30、名称是不同的被点中时,广播的事件名称是不同的 因此,可以通过拖动因此,可以通过拖动Trash 角色的代码到其他角色实现角色的代码到其他角色实现 代码的复制,然后再去修改上面不同的部分,实现快速代码的复制,然后再去修改上面不同的部分,实现快速 的开发的开发 33 home back first prev next last Oscartime 游戏游戏 21-17 Oscar角色角色 Oscar 角色使用三个不同的线程来记录玩家的得角色使用三个不同的线程来记录玩家的得 分并显示玩家得分的画面分并显示玩家得分的画面 第一个线程实现了游戏的主控框架:第一个线程实现了游戏的主控框架: 34 home
31、back first prev next last Oscartime 游戏游戏 21-18 开始时,此线程将角色显示为默认造型,开始时,此线程将角色显示为默认造型, (垃圾垃圾 箱盖子没有打开的造型箱盖子没有打开的造型);将角色移动到指定位;将角色移动到指定位 置(置(-140,-122)并显示;)并显示; 将全局变量将全局变量playing 设设 为真(为真(1),这样,其它角色就可以知道程序正),这样,其它角色就可以知道程序正 在运行,在运行,Oscar 正在唱歌;然后,开始播放正在唱歌;然后,开始播放 Oscar的歌曲,玩家开始玩游戏。歌曲一旦唱完的歌曲,玩家开始玩游戏。歌曲一旦唱完
32、(134秒之后,这是歌曲的播放时间长度秒之后,这是歌曲的播放时间长度),设置,设置 全局变量全局变量playing 设为假(设为假(0),),这样,其它),),这样,其它 角色就可以知道程序结束;接下来,切换角色角色就可以知道程序结束;接下来,切换角色 造型,宣布玩家得分,然后结束游戏中的所有造型,宣布玩家得分,然后结束游戏中的所有 线程线程 35 home back first prev next last Oscartime 游戏游戏 21-19 第二个线程实时跟踪显示玩家的每一次得分:第二个线程实时跟踪显示玩家的每一次得分: 每次其它角色广播每次其它角色广播scored 事件时,本线程处
33、理此事事件时,本线程处理此事 件。设置局部逻辑变量件。设置局部逻辑变量 scoring 为真,表示正在显为真,表示正在显 示得分,这样角色的其它线程可以知道这件事,从示得分,这样角色的其它线程可以知道这件事,从 而不再改变而不再改变Oscar的造型,以免引起混乱。接下来,的造型,以免引起混乱。接下来, 从垃圾箱中弹出从垃圾箱中弹出Oscar,宣布玩家当前得分,宣布玩家当前得分 36 home back first prev next last Oscartime 游戏游戏 21-20 第三个线程实现:每当垃圾接近垃圾箱时(距第三个线程实现:每当垃圾接近垃圾箱时(距 离小于离小于40像素),升起
34、垃圾箱的盖子像素),升起垃圾箱的盖子 盖子升起需要三个条件:盖子升起需要三个条件: 1. 程序正在运行;程序正在运行;2. Oscar没有正在宣布得分;没有正在宣布得分;3. 垃圾离垃圾箱距离小于垃圾离垃圾箱距离小于40像素像素 37 home back first prev next last Oscartime 游戏游戏 21-21 上面我们介绍了上面我们介绍了Oscartime 的工作原理。游的工作原理。游 戏中包含了很多图块,但本质上,游戏只是戏中包含了很多图块,但本质上,游戏只是 我们将前面讲的语句、变量、分支结构、循我们将前面讲的语句、变量、分支结构、循 环结构、表达式、线程、事件
35、等程序结构组环结构、表达式、线程、事件等程序结构组 合在一起的结果合在一起的结果 虽然,虽然,Scratch的确支持很多编程语言中常见的确支持很多编程语言中常见 的一些程序结构,但它并不支持所有的编程的一些程序结构,但它并不支持所有的编程 结构。结构。 38 home back first prev next last 总结总结 4-1 大多数编程语言中都有但是大多数编程语言中都有但是Scratch 中没有中没有 的程序结构包括:的程序结构包括: 方法:通过方法,允许你将代码的执行控制从方法:通过方法,允许你将代码的执行控制从 一个语句序列传递到另一个语句序列。方法可一个语句序列传递到另一个语
36、句序列。方法可 以被多次调用。方法可实现代码重用,从而简以被多次调用。方法可实现代码重用,从而简 化程序代码的实现化程序代码的实现 参数:方法调用代码通过参数和方法交换数据,参数:方法调用代码通过参数和方法交换数据, 从而影响方法的行为从而影响方法的行为 返回值:允许方法将计算结果返回给调用代码返回值:允许方法将计算结果返回给调用代码 39 home back first prev next last 总结总结 4-2 大多数编程语言中都有但是大多数编程语言中都有但是Scratch 中没有中没有 的程序结构包括:的程序结构包括: 类、继承和多态:允许定义一类有共同特征的类、继承和多态:允许定义
37、一类有共同特征的 对象的创建模板。通过类可以创建多个对象。对象的创建模板。通过类可以创建多个对象。 比如,比如,Oscar游戏中,所有垃圾对象可看作一类,游戏中,所有垃圾对象可看作一类, 有相同的行为特征,只是图片属性不同。类的有相同的行为特征,只是图片属性不同。类的 静态特征可用属性变量表示,动态行为特征可静态特征可用属性变量表示,动态行为特征可 用类的方法表示。类可以在更高的层次上重用用类的方法表示。类可以在更高的层次上重用 代码,而且是概念更清晰。继承和多态表达的代码,而且是概念更清晰。继承和多态表达的 就是类之间、类的对象之间的关系就是类之间、类的对象之间的关系 40 home bac
38、k first prev next last 总结总结 4-3 Scratch 优点优点 尽管尽管Scratch缺少一些编程结构,缺少一些编程结构,Scratch对编程对编程 的初学者还是很有价值的的初学者还是很有价值的 Scratch 提供了一个直觉的、有趣的环境,在这提供了一个直觉的、有趣的环境,在这 个环境中,你可以忽略掉语法和编译错误,来个环境中,你可以忽略掉语法和编译错误,来 探索编程的基本方法和原则探索编程的基本方法和原则 在在Scratch中,你可以忽略分号,集中精力学习中,你可以忽略分号,集中精力学习 如何来解决问题如何来解决问题 希望希望Scratch能够帮助你,编程的初学者,未来能够帮助你,编程的初学者,未来 的软件工程师的软件工程师 41 home back first prev next last 总结总结 4-4 这节课我们学习了:这节课我们学习了: 语句语句 布尔表达式布尔表达式 分支结构(条件执行)分支结构(条件执行) 循环结构(多次执行)循环结构(多次执行) 变量变量 线程线程 事件事件 Oscartime游戏游戏
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。