课程 F——条件语句 1——条件与天气预测

这个课程介绍了编程中最基础的条件判断工具

  • Computer science
  • conditionals
Print lesson
  • 年龄 10+
  • 65+ 分钟
  • JavaScript Blocks

课程介绍

这个课程介绍了编程中最基本的条件判断工具。If条件语句使我们能根据我们的数据做出决定。

在很多情况下,我们可能会比较2个数字或字符串(单词)。那么根据我们所发现的,我们能使我们的程序用一种只能的方式做出反应。

在我们的现实生活中,我们每天看外面的时候都在做“如果...那么...”的决定。 天气决定了我们穿什么和做什么。 如果天气多风,我们可能会穿上一件轻便的夹克或者是放风筝。 如果天气看起来要下雨,我们可能会拿起一把雨伞。 这个课程使用了现实生活中的天气的例子来实验“if...then...else”的逻辑积木块。

第一课允许两种情况,但是第二课允许更多情况。 “If...then...else“逻辑积木块可以被扩展来解决一个无限数字的情况。 请随意使用“if...then...else”逻辑块的技巧来扩展更多可能。

我们的micro:bit课程是根据Code.org CS 基础课程知识应用而量身定做的。 在学生们开始这些课程之前,我们鼓励学生们首先完成所有的CS基础知识。 学生应该熟悉 Code.org CS 基本原理的条件。

教学指南

打开

课堂活动

你将需要这些:

  • 1块micro:bit
  • 1根USB线
  • 1个AAA电池组(可选)
  • 2节AAA电池(可选)

编写文本

if (true) {

} else if (false) {

} else {

}

if

条件代码是否运行取决于布尔条件是真还是假。


让 项目= 0
项目 = 0
            

设置项目

用一个等号让一个变量存储数字或你指定的字符串。

让项目 = 数学.随机数(5)

随机

返回 0 到限值之间的伪随机数。

basic.showIcon(IconNames.Heart)

显示图标

在LED屏幕上显示所选的图标

basic.showString("Hello!")

显示字符串

在LED屏幕上显示数字。如果数字比屏幕大,它将会往左滑动。

输入.当按钮被按下(按钮.A, () => {})

当按钮被按下

启动一个事件处理器(当事情发生,例如一个按钮被按下,部分程序将会运行)。

4个步骤

指导练习

我们将在网上提供micro:bit教程或代码示例。接下来,去到https://makecode.microbit.org


let Random_Weather = 0
input.onButtonPressed(Button.A, () => {
    Random_Weather = Math.random(2)
    if (Random_Weather == 0) {
        basic.showString("Raining")
    } else {
        basic.showString("Play Outside!")
    }
    SmoothOut_Animation()
})
function SmoothOut_Animation()  {
    basic.pause(1000)
    basic.clearScreen()
}
        

Micro:bit可以预测天气了哦!

当按钮A被按下,就选择了一个随机数。这个数字要么是一个0或者是一个1。

如果数字是0,它意味着在下雨。

如果数字是1,那么没有下雨,我们应该出去玩。

注释:代码底部未使用的积木块将会在挑战赛里面用到。

在此查看完整代码。

挑战

挑战1

你能添加更多的动画来使下雨的输出变得更有意义吗?

提示:使用雨伞图标。你也可以试着使用滑冰图标。

查看代码

let Random_Weather = 0
input.onButtonPressed(Button.A, () => {
    Random_Weather = Math.random(2)
    if (Random_Weather == 0) {
        basic.showString("Raining")
        basic.showIcon(IconNames.Umbrella)
    } else {
        basic.showString("Play Outside!")
        basic.showIcon(IconNames.Rollerskate)
    }
    SmoothOut_Animation()
})
function SmoothOut_Animation()  {
    basic.pause(1000)
    basic.clearScreen()
}
          

在此查看完整代码。

挑战2

改变if语句来预测天气是否会变晴或变暖?添加单词、图标、显示LED来制作图片...

提示:你将会需要改变“if...then...else”积木块里面的内容。不需要改变任何数字或和Random_Weather有关的东西。

查看代码

let Random_Weather = 0
input.onButtonPressed(Button.A, () => {
    Random_Weather = Math.random(2)
    if (Random_Weather == 0) {
        basic.showString("Sunny / Warm")
        basic.showIcon(IconNames.TShirt)
    } else {
        basic.showString("Play Outside!")
        basic.showIcon(IconNames.Rollerskate)
    }
    SmoothOut_Animation()
})
function SmoothOut_Animation()  {
    basic.pause(1000)
    basic.clearScreen()
}
          

在此查看完整代码。

挑战3

改变if语句来预测天气是否会下雪或变冷?添加单词、图标、显示LED来制作图片...

查看代码

let Random_Weather = 0
input.onButtonPressed(Button.A, () => {
    Random_Weather = Math.random(2)
    if (Random_Weather == 0) {
        basic.showString("Snowy / Cold")
        basic.showIcon(IconNames.Chessboard)
    } else {
        basic.showString("Play Outside!")
        basic.showIcon(IconNames.Rollerskate)
    }
    SmoothOut_Animation()
})
function SmoothOut_Animation()  {
    basic.pause(1000)
    basic.clearScreen()
}
          

在此查看完整代码。

独立练习

重新创作天气预报器。 创建可以预测某事或者做决定的代码。 准备将一个关于你的代码的故事。 Rename Random_Weather和其他的单词来连接你的主题。

举例:你可以预测你未来的工作或者你可以做决定去购物或者是读一本书。可能是无限的。

问答

在活动和挑战上使用这些问题。

问题 1

我们还没有谈论过的可以用一个“if...then...else”语句判断的另一个现实生活情景是什么?

显示答案

答案是多种多样的,但是...举个例子:如果老师生气了,那么就安静下来,不然就说话。

问题 2

下面的代码将显示什么?


Set DONUTS to 12

if DONUTS > 20 then
   show string "SHARE"
else
   show string "EAT ALONE"
        
显示答案

代码可能显示“EAT ALONE”

问题 3

完成这个if语句


If I_AM_HUNGRY THEN
   your_answer
else
   your_answer
        
显示答案

答案多种多样,例如:


If I_AM_HUNGRY THEN
   show string "I eat food"
else
   show string "I don't eat"