diff --git a/.gitignore b/.gitignore index 742ba49..1ca9ec5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,8 +2,11 @@ /* /*/ -# 保留以下内容 +# 保留课程教案 !/GESP暑假班大纲.md +!/GESP暑假集训教案.md +!/GESP考试大纲整理.md +!/教案调整计划书.md !/第01课-C++自带函数/ !/第02课-循环结构/ !/第03课-自定义函数/ @@ -17,7 +20,7 @@ !/第11课-GESP二级真题训练二/ !/第12课-模拟考试/ -# 保留各课内的 .md 文件及子文件 +# 保留所有.md文件 !*.md !**/*.md !.gitignore diff --git a/GESP暑假集训教案.md b/GESP暑假集训教案.md new file mode 100644 index 0000000..d841e70 --- /dev/null +++ b/GESP暑假集训教案.md @@ -0,0 +1,114 @@ +# GESP暑假集训教案 + +## 课程信息 + +- **课程目标**:巩固GESP一级内容,备战9月等级考试,融入二级核心知识 +- **适合学生**:学过一学年C++,已学完三级左右内容,基础较好 +- **课时安排**:12节课 × 2小时 +- **考试目标**:9月GESP一级全员通过,1人冲刺二级 + +## 教学方法论 + +每道经典题目按五步教学: + +``` +① 核心代码 → ② 自然语言 → ③ 伪代码 → ④ 真实代码 → ⑤ 注意点 +``` + +| 步骤 | 内容 | 说明 | +|------|------|------| +| ① 核心代码 | 提炼解决该类问题的核心代码模式 | 一句话点明关键 | +| ② 自然语言 | 用大白话描述解题思路 | 让学生先"想清楚"再"写出来" | +| ③ 伪代码 | 半代码半自然语言 | 搭骨架,降低跳跃感 | +| ④ 真实代码 | 课堂上带学生一起完成 | 现场编写 | +| ⑤ 注意点 | 易错点、边界条件 | 学完就复盘 | + +## 课程大纲 + +| 节次 | 内容 | +|------|------| +| **1** | **C++自带函数**(sqrt、abs、pow、max/min、swap、sort + 字符判断函数) | +| **2** | **自定义函数**(定义/调用/声明、参数传递、返回值、函数重载、局部/全局变量) | +| **3** | **数据类型**(int、char、double、bool、string)+ ASCII码 | +| **4** | **分支结构**(if、else if、else)+ 打擂台(含二次打擂台) | +| **5** | **循环**(for、while、数位拆解、回文数、水仙花数) | +| **6** | **嵌套循环与图形打印**(外层管行、内层管列、图形规律) | +| **7** | **数组基础**(遍历、查找、统计、逆序、冒泡排序) | +| **8** | **字符数组与 string**(遍历、统计、查找、回文判断) | +| **9** | **数组计数法**(频次统计、最高频查找、去重升序输出) | +| **10** | **枚举与模拟**(枚举范围、条件判断、过程模拟) | +| 11 | 综合练习 | +| 12 | 模拟考试 + 查漏补缺 | + +> 每节课含 2-3 道经典题目,其中 1 道由橙子(我)完整编写,其余由橙子自选补充。 + +## 教案文件结构 + +每节课一个文件夹,内含教师版和学生版两个文件: + +``` +第01课-C++自带函数/ +├── 教案-教师版.md ← 完整内容 +└── 教案-学生版.md ← 关键内容留空(学生填写) +``` + +### 教师版 vs 学生版 + +| 内容模块 | 教师版 | 学生版 | +|----------|--------|--------| +| 教学目标 | ✅ 完整 | ✅ 完整 | +| 题目 · 核心代码 | ✅ 完整 | ⬜ 挖空 | +| 题目 · 自然语言 | ✅ 完整 | ⬜ 留空 | +| 题目 · 伪代码 | ✅ 完整 | ⬜ 给框架(关键步骤挖空) | +| 题目 · 真实代码 | ✅ 完整 | ⬜ 留空 | +| 题目 · 注意点 | ✅ 完整 | ⬜ 留空 | +| 打油诗口诀 | ✅ 完整 | ⬜ 整段留空 | +| 课后作业 | ✅ 完整 | ✅ 题目保留,答案区留空 | + +--- + +## 打油诗口语汇总 + +### 自带函数篇 +> 自带函数真方便,头文件里全找见。 +> 省心省力少出错,一行代码就实现。 + +### 自定义函数篇 +> 函数写好存身旁,起名调用响当当。 +> 参数传进返结果,少写重复心不慌。 + +### 数据类型篇 +> int 存整数范围广,char 单字符本质藏。 +> double 小数保精度,bool 对错分两旁。 +> string 处理字符串,五种类型记心上。 + +### 打擂台篇(普通打擂台) +> 擂台之上比高矮,先请一位站上台。 +> 逐一挑战谁更大,赢者留下当王牌。 + +### 二次打擂台篇 +> 二次擂台比谁快,先定目标再比赛。 +> 相同距离怎么办,谁的数小谁出彩。 + +### 数位拆解篇 +> 循环取位倒着排,个位拼到新数来。 +> 除十去尾继续转,正反相等回文哉。 + +### 回文数判断篇 +> 反转数字比原数,相等就是回文数。 +> 备份原数不能忘,拆完再比才无误。 + +--- + +## 备注 + +- 学生已学过一年,重点是**回顾核心代码思路**,节奏可以快 +- 有些知识点不单独讲,融入题目中带出(如 sort) +- 打油诗最后一句最后一个字必须押韵,押 a/an/ang/ao 等开口韵 +- 打油诗学生版留空,课堂讲解后学生自行补全 + +## 参考资料 + +- [GESP官方网站](https://gesp.ccf.org.cn) +- [GESP考试大纲整理](./GESP考试大纲整理.md) +- [洛谷](https://www.luogu.com.cn) diff --git a/GESP考试大纲整理.md b/GESP考试大纲整理.md new file mode 100644 index 0000000..474f152 --- /dev/null +++ b/GESP考试大纲整理.md @@ -0,0 +1,155 @@ +# GESP C++ 考试大纲整理 + +## 一、GESP简介 + +GESP(Grade Examination of Software Programming)是中国计算机学会(CCF)主办的编程能力等级认证。 + +- **官方网站**:https://gesp.ccf.org.cn +- **刷题平台**:https://www.luogu.com.cn(洛谷) +- **考试语言**:C++、Python等 + +--- + +## 二、GESP C++ 一级 + +### 考试形式 +| 项目 | 内容 | +|------|------| +| 考试时长 | 120分钟 | +| 满分 | 100分 | +| 合格线 | 60分 | + +### 题型分布 +| 题型 | 数量 | 分值 | 说明 | +|------|------|------|------| +| 单选题 | 15题 | 30分 | 计算机基础、编程基础 | +| 判断题 | 10题 | 20分 | 基础概念判断 | +| 程序阅读题 | 若干 | 20分 | 读程序写输出 | +| 编程题 | 2题 | 30分 | 简单程序编写 | + +### 考核知识点 + +#### 1. 计算机基础(约20%) +- 计算机基本组成(CPU、内存、存储) +- 二进制、八进制、十六进制转换 +- ASCII码基本概念('A'=65, 'a'=97, '0'=48) +- 程序设计语言分类 + +#### 2. 变量与数据类型(约15%) +- `int`、`float`/`double`、`char`、`bool` +- 变量声明与初始化 +- 常量定义 + +#### 3. 输入输出(约10%) +- `cin` 输入 +- `cout` 输出 +- 格式控制 + +#### 4. 运算符与表达式(约15%) +- 算术运算:`+` `-` `*` `/` `%` +- 赋值运算:`=`、`+=`、`-=`等 +- 关系运算:`>` `<` `==` `>=` `<=` `!=` +- 逻辑运算:`&&` `||` `!` +- 运算符优先级 + +#### 5. 流程控制(约30%) +- **顺序结构** +- **选择结构**:`if`、`if-else`、嵌套if +- **循环结构**:`for`循环、`while`循环 +- `break`和`continue` + +#### 6. 基本算法(约10%) +- 累加、累乘 +- 简单数学运算 +- 枚举思想(简单应用) + +### 一级易错点 +1. 变量未初始化就使用 +2. 整数除法与浮点除法混淆(`5/2=2` vs `5.0/2=2.5`) +3. `==`(比较)与`=`(赋值)混淆 +4. 循环边界错误(多一或少一) +5. `if`语句忘记加大括号 + +--- + +## 三、GESP C++ 二级 + +### 题型分布 +| 题型 | 数量 | 分值 | 说明 | +|------|------|------|------| +| 单选题 | 15题 | 30分 | 基础概念和语法 | +| 判断题 | 10题 | 10分 | 判断对错 | +| 编程题 | 5题 | 60分 | 现场编写代码 | + +### 考核知识点(在一级基础上增加) + +#### 1. 数组(约20%) +- 一维数组定义、初始化 +- 数组遍历、查找 +- 数组增删操作 +- 数组计数法 + +#### 2. 字符串(约15%) +- char数组与字符 +- string类使用 +- 字符串常用操作(长度、查找、截取) + +#### 3. 函数(约15%) +- 函数定义、调用、声明 +- 形参与实参 +- 返回值 +- 局部变量与全局变量 + +#### 4. 进制转换(约10%) +- 十进制转其他进制 +- 其他进制转十进制 +- 二进制与八进制/十六进制互转 + +#### 5. 算法基础(约20%) +- 枚举算法 +- 模拟算法 +- 简单排序(冒泡排序) +- 简单查找(顺序查找、二分查找) + +#### 6. 综合应用(约20%) +- 循环嵌套 +- 图形打印 +- 数位处理 +- 素数判断 +- 最大公约数/最小公倍数 + +### 二级易错点 +1. 数组下标越界 +2. 数组初始化遗漏 +3. 字符串结束符'\0'处理 +4. 函数参数传递理解不清 +5. 嵌套循环变量混乱 + +--- + +## 四、备考策略 + +### 一级备考重点 +1. **打牢基础**:变量、输入输出、运算符必须熟练 +2. **多读程序**:练习手算程序输出结果 +3. **掌握循环**:`for`循环是重点中的重点 +4. **注意细节**:分号、括号、边界条件 + +### 二级备考重点 +1. **熟练数组**:定义、遍历、操作要熟练 +2. **理解函数**:参数传递、返回值概念清晰 +3. **多写代码**:编程题占60分,必须多练 +4. **掌握算法**:枚举、模拟是常考题型 + +### 推荐刷题资源 +- **洛谷**:https://www.luogu.com.cn(搜索"GESP"标签) +- **GESP官网**:https://gesp.ccf.org.cn(官方样题) +- **B站**:搜索"GESP真题解析"看视频讲解 + +--- + +## 五、参考资料 + +- [GESP官方网站](https://gesp.ccf.org.cn) +- [中国计算机学会(CCF)](https://www.ccf.org.cn) +- [洛谷](https://www.luogu.com.cn) diff --git a/教案调整计划书.md b/教案调整计划书.md new file mode 100644 index 0000000..c2a3b6e --- /dev/null +++ b/教案调整计划书.md @@ -0,0 +1,167 @@ +# GESP暑假集训教案 · 调整计划书 + +## 一、背景 + +### 学生实际情况 +- 已学C++ **一学年**,学完**三级左右**内容,基础较好 +- 9月目标:**一级全员通过**,有1名学生冲刺**二级** +- 变量/输入输出等已熟练,无需单独占用课时 + +### 调整方向 +- 砍掉过于基础的独立课时 +- **前置函数教学**,尽早建立模块化思维 +- 教案分**教师版**(完整)和**学生版**(留空) + +--- + +## 二、教学方法论(核心!) + +### 每道经典题目的教学流程 + +``` +① 核心代码 → ② 自然语言 → ③ 伪代码 → ④ 真实代码 → ⑤ 注意点 +``` + +| 步骤 | 内容 | 说明 | +|------|------|------| +| **① 核心代码** | 提炼解决该类问题的核心代码模式 | 一句话点明关键,如"回文数的核心:反转数字" | +| **② 自然语言** | 用大白话描述解题思路 | 像讲故事一样,让学生先"想清楚"再"写出来" | +| **③ 伪代码** | 半代码半自然语言 | 搭好骨架,填上核心逻辑 | +| **④ 真实代码** | 橙子带学生一起完成 | 课堂现场编写,学生跟着敲 | +| **⑤ 注意点** | 易错点、边界条件、常见坑 | 学完就复盘,趁热打铁 | + +### 为什么这个顺序? + +> 学生做题最怕"不知道从哪里开始想"。 +> 先给核心代码模式 → 学生知道"这种题的套路是什么" +> 再用自然语言讲 → 学生大脑里先"跑通"一遍逻辑 +> 接着写伪代码 → 把想法翻译成半代码,降低跳跃感 +> 最后真实代码 → 橙子带写,水到渠成 + +--- + +## 三、教案文件格式 + +### 每节课文件夹结构 + +``` +第01课-C++自带函数/ +├── 教案-教师版.md ← 完整内容,橙子讲课用 +└── 教案-学生版.md ← 关键内容留空,学生填写 +``` + +### 教师版 vs 学生版 + +| 内容模块 | 教师版 | 学生版 | +|----------|--------|--------| +| 教学目标 | ✅ 完整 | ✅ 完整 | +| 题目 · 核心代码 | ✅ 完整 | ⬜ **核心代码挖空** | +| 题目 · 自然语言 | ✅ 完整 | ⬜ **留空**(学生记要点) | +| 题目 · 伪代码 | ✅ 完整 | ⬜ **留空**(学生尝试写) | +| 题目 · 真实代码 | ✅ 完整 | ⬜ **留空**(学生跟着敲) | +| 题目 · 注意点 | ✅ 完整 | ⬜ **留空**(学生自己总结) | +| 打油诗口诀 | ✅ 完整 | ⬜ **整段留空**(只保留标题) | +| 课后作业 | ✅ 完整(含提示) | ✅ 题目保留,答案区留空 | + +--- + +## 四、打油诗规范 + +- **押韵**:每首最后一句的**最后一个字**必须押韵,押 a/an/ang/ao 等开口韵 +- **句式**:四句或六句,每句7字左右 +- **作用**:概括核心算法思路,方便记忆 +- **学生版**:整首留空,只保留标题 + +--- + +## 五、新课表(12节) + +| 节次 | 内容 | +|------|------| +| **1** | **C++自带函数** | +| **2** | **自定义函数** | +| **3** | **数据类型**(int、char、double、bool、string) | +| **4** | **分支结构**(if、else if、else、switch)+ 打擂台 | +| **5** | **循环**(for、while、数位拆解、回文数) | +| **6** | **嵌套循环与图形打印** | +| **7** | **数组基础** | +| **8** | **字符数组与 string** | +| **9** | **数组计数法** | +| **10** | **枚举与模拟** | +| 11 | 综合练习 | +| 12 | 模拟考试 | + +> 每节课 2-3 道经典题目,题目由橙子提供。 + +--- + +## 六、每节课结构模板 + +```markdown +# 第X课:课程名称 + +## 教学目标 +- 目标1 +- 目标2 + +--- + +## 题目一:XXX + +### 核心代码(一句话) +> 解决XXX问题的核心代码模式:…… + +### 自然语言思路 +第一步,…… +第二步,…… +…… + +### 伪代码 +1. 输入 n +2. 初始化 …… +3. 循环 …… +4. 输出结果 + +### 真实代码 +​```cpp +// 橙子带写,课堂完成 +​``` + +### 注意点 +- 易错点1 +- 边界条件2 +- …… + +--- + +## 题目二:XXX +(同上结构) + +--- + +## 本课打油诗 + +> 七字一句朗朗口, +> 核心算法记心头。 +> 每句结尾要押韵, +> 考场之上不用愁。 + +--- + +## 课后作业 +1. 题目1 +2. 题目2 +``` + +--- + +## 七、待确认 + +1. 每节课2小时,2-3道题目,时间分配:讲解+带写约60分钟,练习约60分钟? +2. 学生版中**伪代码**是完全留空,还是给个开头/框架让学生补全? +3. 课后作业量:2-3道? +4. 第6-10节课已确定,后续根据课堂情况调整题目难度。 + +--- + +> **版本**:v3.0 | **日期**:2026-06-26 | **状态**:待橙子审阅