# 任务管理系统——条件判断与循环处理 教学设计
| **课题** | **任务管理系统——条件判断与循环处理** |
|:---|:---|
| **课时** | 1课时(40分钟) |
| **教学目标** | **知识目标**:掌握 `if...else` 条件判断、比较运算、逻辑运算、数组和 `for...of` 循环的基本用法。
**技能目标**:能够根据完成状态和优先级生成不同任务提示,使用数组保存多项任务并循环输出任务清单和统计结果。
**素养目标**:建立“条件决定分支、循环处理重复”的算法思维,培养先分析规则再编码、使用测试数据验证边界的习惯。 |
| **教学重难点** | **重点**:布尔条件;多分支判断;数组;循环遍历;计数统计。
**难点**:把任务管理规则转化为互斥条件,在循环中正确更新待办和已完成数量。 |
| **教学资源准备** | 上节课项目、任务规则表、流程图卡、不同状态测试数据、Visual Studio Code、浏览器控制台。 |
## 教学过程
| 教学环节 | 教学内容 | 教师活动 | 学生活动 | 设计意图 |
|:---|:---|:---|:---|:---|
| **1. 批量处理导入**
(5分钟) | 从单个任务扩展到多个任务,提出自动分类和统计需求。 | **需求演示**
展示十项任务,提问:“逐条写输出代码会有什么问题?”
**规则发布**
给出已完成、待完成、高优先级三类提示规则。 | **问题分析**
识别重复代码和人工判断的低效。
**规则转述**
用自然语言说明三类任务判断条件。 | 以任务数量增长引出控制结构,突出自动决策和重复处理的价值。 |
| **2. 条件结构探究**
(10分钟) | 学习比较、逻辑表达式和 `if...else if...else` 执行流程。 | **流程讲解**
绘制任务分类流程图,先判断是否完成,再判断优先级。
**代码演示**
根据 `isDone` 和 `priority` 输出“已完成”“优先处理”或“普通待办”。 | **流程追踪**
代入三组数据,沿流程图判断输出结果。
**跟随编码**
完成分支代码并测试真假值变化。 | 用流程图建立条件顺序,避免分支重叠和遗漏。 |
| **3. 数组循环示范**
(8分钟) | 使用数组保存任务名称并通过循环逐项处理。 | **概念讲解**
说明数组是有顺序的数据集合,演示创建数组、读取长度和 `for...of` 遍历。
**统计示范**
在循环中累加任务总数,输出编号和名称。 | **代码跟随**
建立包含四个任务名称的数组并循环输出。
**执行观察**
在每轮输出当前任务,理解循环变量变化。 | 从简单数组开始理解批量处理,为后续任务对象和页面渲染降低难度。 |
| **4. 分类统计实践**
(13分钟) | 综合条件和循环,对任务状态数组进行分类与统计。 | **任务分解**
提供名称数组和对应状态数组,要求循环输出每项状态并统计完成数量;进阶任务统计高优先级待办。
**巡回指导**
检查循环范围、计数器初值、条件顺序和数组长度对应问题。 | **算法设计**
先在任务单写出输入、处理和输出,再编写循环与判断。
**数据测试**
使用全未完成、部分完成、全完成三组数据验证统计结果。 | 通过多组边界数据检验逻辑正确性,培养从规则到算法再到测试的完整思维。 |
| **5. 成果总结评价**
(4分钟) | 展示分类结果,归纳条件与循环的职责。 | **代码点评**
比较重复判断和循环处理两种方案,指出计数器未初始化等常见错误。
**知识总结**
概括“条件负责选择,循环负责重复,二者结合处理清单”。 | **成果说明**
解释自己的分支顺序和一组测试结果。
**自查修正**
确认三组测试数据均得到正确统计。 | 用解释和测试证据评价程序逻辑,为后续封装功能做准备。 |
## 板书设计
```text
任务处理逻辑
任务 → 是否完成?
├── 是:已完成
└── 否 → 是否高优先级?
├── 是:优先处理
└── 否:普通待办
数组:保存多项任务
循环:逐项处理
计数器:统计结果
测试:全否 / 混合 / 全是
```
## 教学成效与反思
| | |
|:---|:---|
| **教学成效** | 学生能够使用分支判断任务状态,并用循环批量输出和统计任务。三组测试数据帮助多数学生发现条件顺序或计数器错误,算法表达更有条理。 |
| **教学反思** | 使用平行数组虽便于入门,但学生容易出现长度不一致。课堂中应明确它是过渡方案,并把重点放在循环与条件组合;调试时要求先手算预期结果,再与控制台对比。 |