调整课次结构:前9节重新排序,新建第06课一维数组,后3节不变
This commit is contained in:
182
第11课-GESP二级真题训练一/教案-学生版.md
Normal file
182
第11课-GESP二级真题训练一/教案-学生版.md
Normal file
@@ -0,0 +1,182 @@
|
||||
# 第11课:综合练习
|
||||
|
||||
## 教学目标
|
||||
- 混合题型训练,覆盖一二级核心知识点
|
||||
- 查漏补缺,找到薄弱环节
|
||||
- 提高解题速度和准确率
|
||||
|
||||
## 核心考点:混合题的拆解与算法组合
|
||||
|
||||
### 考什么
|
||||
从综合题中识别多个________,为它们选择已经学过的代码模板并正确组合。
|
||||
|
||||
### 必须理解
|
||||
先把题目拆成“________→________→________”。看到“每个”常想到________;看到“最大/最小”想到________;看到“出现次数”想到________;看到“如果/否则”想到________。
|
||||
|
||||
### 核心写法
|
||||
```text
|
||||
1. 圈出输入、输出和________
|
||||
2. 把处理过程拆成若干________
|
||||
3. 为每个任务选择________
|
||||
4. 确定步骤顺序和________变量
|
||||
5. 用样例与________值检查
|
||||
```
|
||||
|
||||
### 常见错误
|
||||
- 为什么不能读完题就立刻写代码?________________
|
||||
- 下标、数值和次数混用会造成什么问题?____________
|
||||
- 除了题目样例,还应测试哪些情况?________________
|
||||
|
||||
### 判断是否掌握
|
||||
- [ ] 我能写出输入—处理—输出结构。
|
||||
- [ ] 我能把处理过程拆成小任务。
|
||||
- [ ] 我能说明每一步使用的代码模板。
|
||||
|
||||
---
|
||||
|
||||
## 题目一:成绩等级判断(分支 + 输入输出)
|
||||
|
||||
### 核心代码(一句话)
|
||||
> 多分支判断的核心:**`______` 链条**,从大到小或从小到大依次判断,每种情况一个分支。
|
||||
|
||||
### 自然语言思路
|
||||
|
||||
|
||||
|
||||
### 伪代码
|
||||
```
|
||||
1. 输入 score
|
||||
2. if score >= 90: 输出 ______
|
||||
3. else if score >= 80: 输出 ______
|
||||
4. else if score >= 70: 输出 ______
|
||||
5. else if score >= 60: 输出 ______
|
||||
6. else: 输出 ______
|
||||
```
|
||||
|
||||
### 真实代码
|
||||
```cpp
|
||||
|
||||
```
|
||||
|
||||
### 注意点
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 题目二:数组求最大值及下标(数组 + 循环 + 打擂台)
|
||||
|
||||
### 核心代码(一句话)
|
||||
> 带下标记录的打擂台:**用一个变量记______,另一个变量记______**,每次换擂主时两个一起更新。
|
||||
|
||||
### 自然语言思路
|
||||
|
||||
|
||||
|
||||
### 伪代码
|
||||
```
|
||||
1. 输入 n
|
||||
2. 读入数组 arr[n]
|
||||
3. maxVal = ______, maxIndex = ______
|
||||
4. for i = ______ 到 ______:
|
||||
5. if arr[i] ______ maxVal: // 严格大于
|
||||
6. maxVal = ______
|
||||
7. maxIndex = ______
|
||||
8. 输出 maxVal 和 maxIndex
|
||||
```
|
||||
|
||||
### 真实代码
|
||||
```cpp
|
||||
|
||||
```
|
||||
|
||||
### 注意点
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 题目三:字符串分类统计(string + 字符判断 + 多计数器)
|
||||
|
||||
### 核心代码(一句话)
|
||||
> 字符串分类统计的核心:**______ + 多分支判断 + 多个计数器**,每个 `if` 分支对应一个计数器。
|
||||
|
||||
### 自然语言思路
|
||||
|
||||
|
||||
|
||||
### 伪代码
|
||||
```
|
||||
1. ______ 读取字符串 s
|
||||
2. cnt1 = 0, cnt2 = 0, cnt3 = 0, cnt4 = 0
|
||||
3. for i = 0 到 ______:
|
||||
4. if ______(s[i]): cnt1++
|
||||
5. else if ______(s[i]): cnt2++
|
||||
6. else if ______(s[i]): cnt3++
|
||||
7. else: cnt4++
|
||||
8. 输出四个计数结果
|
||||
```
|
||||
|
||||
### 真实代码
|
||||
```cpp
|
||||
|
||||
```
|
||||
|
||||
### 注意点
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 限时练习(课堂完成)
|
||||
|
||||
### 练习组一(限时 30 分钟)
|
||||
1. 输入两个数,输出较大的数
|
||||
2. 输入 n,输出 n 的阶乘
|
||||
3. 输入一个字符串,判断是否为回文
|
||||
|
||||
### 练习组二(限时 30 分钟)
|
||||
1. 输入 n 个数,求平均值
|
||||
2. 找出 100 以内的所有素数
|
||||
3. 输入一个正整数,输出它的逆序数
|
||||
|
||||
### 练习组三(限时 30 分钟)
|
||||
1. 输入年份,判断是否为闰年
|
||||
2. 输入 n,打印左下直角三角形
|
||||
3. 输入一个字符串,统计其中数字的个数
|
||||
|
||||
---
|
||||
|
||||
## 解题技巧
|
||||
|
||||
### 1. 仔细审题
|
||||
|
||||
|
||||
### 2. 先想后写
|
||||
|
||||
|
||||
### 3. 测试验证
|
||||
|
||||
|
||||
### 4. 时间管理
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 常见错误检查清单
|
||||
|
||||
- [ ] 头文件是否包含
|
||||
- [ ] `using namespace std;` 是否写了
|
||||
- [ ] 变量是否初始化
|
||||
- [ ] 数组下标是否越界
|
||||
- [ ] 循环边界是否正确
|
||||
- [ ] 输出格式是否正确
|
||||
- [ ] 是否处理了边界情况
|
||||
- [ ] 整数除法是否需要转浮点数
|
||||
- [ ] string 输入是否用了 `getline`(含空格时)
|
||||
|
||||
---
|
||||
|
||||
## 课后作业
|
||||
|
||||
> 请完成本课对应的课后作业,见编程题文件。
|
||||
Reference in New Issue
Block a user