单元三

第11课 数字公交-单刷卡机扣费

任务场景:数字公交-单刷卡机扣费
任务场景:数字公交-单刷卡机扣费

一、任务目标

读出余额减去车费写回卡里,同一张卡不连扣。

二、我们要学什么

  • 学习要点:扣费写回|同一张卡不连扣
  • 本课过关:能完成:说出扣费就是余额减去车费再写回;载入编程体验,指出刷到有余额的卡就把余额减 2 写回并显示新余额;再运行完整程序,指出还要新卡号和旧卡号不同、并且余额大于等于车费,才扣费并把旧卡号改成这张卡。
  • 示例对齐:编程体验对应 3-3-1 数字公交-单刷卡机扣费.mix;完整程序对应 3-3-2 数字公交-防重复单刷卡机扣费.mix。

三、本节要点

本课要利用RFID公交卡认识扣费写回:余额减去车费 2,写回后屏上显示新余额。重难点是分清两套——编程体验刷到就扣;完整程序同一张卡不连扣,余额不足也不扣。要点对齐「扣费写回|同一张卡不连扣」。

1读场景上车刷卡扣车费,同一张卡不要连扣
2对要点扣费写回|同一张卡不连扣
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用RFID公交卡,用两套程序认识刷卡扣费——余额减车费后写回。编程体验刷到就扣 2;完整程序还要换了一张卡、余额够,才扣。请对照彩屏新余额和叉。

本课主要用到:RFID 读写;蜂鸣器;彩屏 TFT。

  1. 1利用RFID公交卡,观察刷卡后余额有没有减 2,同一张卡会不会连扣。
  2. 2车费写成 2。刷卡读出余额。
  3. 3编程体验把余额减 2 写回,成功则屏显新余额并发声,失败显示叉。
  4. 4完整程序记下旧卡号:新卡号不同且余额大于等于车费才扣,成功后更新旧卡号;对照新余额;完整程序再连刷同一张卡,确认不会连扣。
  5. 5完成补全与从头编写,并对照现象。

流程示意

车费写成2读出余额准备减编程体验刷到就扣完整程序防同一张连扣完成补全与从头编写并对照现象

五、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

扣费写回把余额减去车费再写回卡内。完整程序比较新旧卡号,同一张卡不连扣;余额小于车费也不扣。

先弄清:先读余额,再减车费,再写回;完整程序还要换卡才扣。再进编程练习对照。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木均来自 MixGo SANT 十学期兴趣课程/学期6。若题目带外设 design,载入时会自动导入接线。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

十学期兴趣课程:3-3-1 数字公交-单刷卡机扣费.mix。载入后运行。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:编程体验刷到有余额的卡,会把余额减 2 写回并显示新余额。

  2. 判断:完整程序连刷同一张卡,每次都会再减 2。

  3. 本课说的「扣费写回」指的是?

  4. 编程体验和完整程序的主要差别是?

  5. 运行完整程序,余额小于车费时会?

九、本节小结

本课认识扣费写回:余额减去车费再写回。编程体验刷到就扣 2;完整程序同一张卡不连扣,余额不够也不扣。