diff --git a/AI/D1_Config.py b/AI/D1_Config.py new file mode 100644 index 00000000..800a48da --- /dev/null +++ b/AI/D1_Config.py @@ -0,0 +1,2 @@ +# markDown文件的默认模板路径 +mdWorkingPath = r'D:\dsWork\QingLong\AI\md-file\readme' diff --git a/AI/D1_GenerateMarkdown.py b/AI/D1_GenerateMarkdown.py index d76cad67..1c1daa26 100644 --- a/AI/D1_GenerateMarkdown.py +++ b/AI/D1_GenerateMarkdown.py @@ -2,7 +2,7 @@ import time from pathlib import Path from typing import Iterator, Optional - +from D1_Config import * import dashscope from dashscope import Generation from dashscope.api_entities.dashscope_response import DashScopeAPIResponse @@ -12,8 +12,8 @@ class MarkdownGenerator: """Markdown教学大纲生成器""" # 固定配置项 - DEFAULT_TEMPLATE = Path(r"D:\dsWork\QingLong\AI\md-file\readme\default.md") - DEFAULT_OUTPUT_DIR = Path(r"D:\dsWork\QingLong\AI\md-file\readme") + DEFAULT_TEMPLATE = Path(mdWorkingPath + r'\default.md') + DEFAULT_OUTPUT_DIR = Path(mdWorkingPath) MODEL_R1 = "deepseek-r1" API_KEY = "sk-01d13a39e09844038322108ecdbd1bbc" @@ -134,6 +134,6 @@ if __name__ == "__main__": # 使用示例(实际使用时参数可写在此处) dashscope.api_key = MarkdownGenerator.API_KEY generate_document( - course_name="小学数学三角形内角和", - output_path=r"D:\dsWork\QingLong\AI\md-file\readme\5.md" - ) \ No newline at end of file + course_name="小学数学三角形面积", + output_path=mdWorkingPath + r"\5.md" + ) diff --git a/AI/D2_MarkdownToPptx.py b/AI/D2_MarkdownToPptx.py index 26586a93..941b148e 100644 --- a/AI/D2_MarkdownToPptx.py +++ b/AI/D2_MarkdownToPptx.py @@ -1,6 +1,7 @@ from pptx.dml.color import RGBColor -from run import default +from run import default +from D1_Config import * # 模板配置 model_dict = { # 对于通用模板的相关配置,其它的模板未进行正确配置 @@ -28,19 +29,11 @@ def generate(model_name, out_file_path, md_file_path): if __name__ == "__main__": # 硬编码配置参数 - #FIXED_MD_PATH = r"D:\dsWork\ppt-generator-master\md-file\readme\default.md" - #FIXED_MD_PATH = r"D:\dsWork\ppt-generator-master\md-file\readme\3.md" - FIXED_MD_PATH = r"D:\dsWork\ppt-generator-master\md-file\readme\4.md" + FIXED_MD_PATH =mdWorkingPath+ r"\5.md" # 模板名称 TEMPLATE_NAME = "通用" # 输出路径 - OUTPUT_PATH = "D:\dsWork\ppt-generator-master\output.pptx" + OUTPUT_PATH = "D:\dsWork\QingLong\output5.pptx" # 执行生成 - try: - # 调用生成逻辑 - generate(TEMPLATE_NAME, OUTPUT_PATH, FIXED_MD_PATH) - print(f"PPT生成成功!保存路径:{OUTPUT_PATH}") - except FileNotFoundError: - print(f"错误:Markdown文件不存在 {FIXED_MD_PATH}") - except Exception as e: - print(f"生成失败:{str(e)}") + generate(TEMPLATE_NAME, OUTPUT_PATH, FIXED_MD_PATH) + print(f"PPT生成成功!保存路径:{OUTPUT_PATH}") diff --git a/AI/D3_MarkdownToDocx.py b/AI/D3_MarkdownToDocx.py index 2fc42552..1252e3fc 100644 --- a/AI/D3_MarkdownToDocx.py +++ b/AI/D3_MarkdownToDocx.py @@ -1,7 +1,7 @@ import subprocess from pathlib import Path from typing import Optional - +from D1_GenerateMarkdown import * def convert_md_to_docx( input_md: str, @@ -65,9 +65,9 @@ def convert_md_to_docx( if __name__ == "__main__": try: convert_md_to_docx( - input_md=r"D:\dsWork\QingLong\PptGenerator\md-file\readme\4.md", - output_docx=r"D:\dsWork\QingLong\PptGenerator\output.docx", - reference_template=r"D:\dsWork\QingLong\PptGenerator\left-aligned-template.docx" + input_md=mdWorkingPath+r"\5.md", + output_docx=r"D:\dsWork\QingLong\AI\output.docx", + reference_template=r"D:\dsWork\QingLong\AI\left-aligned-template.docx" ) print("转换成功!") except Exception as e: diff --git a/AI/__pycache__/D1_Config.cpython-310.pyc b/AI/__pycache__/D1_Config.cpython-310.pyc new file mode 100644 index 00000000..a2040ffa Binary files /dev/null and b/AI/__pycache__/D1_Config.cpython-310.pyc differ diff --git a/AI/__pycache__/D1_GenerateMarkdown.cpython-310.pyc b/AI/__pycache__/D1_GenerateMarkdown.cpython-310.pyc new file mode 100644 index 00000000..90a8ab78 Binary files /dev/null and b/AI/__pycache__/D1_GenerateMarkdown.cpython-310.pyc differ diff --git a/AI/md-file/readme/5.md b/AI/md-file/readme/5.md index dc4f6ab2..4b23d6a2 100644 --- a/AI/md-file/readme/5.md +++ b/AI/md-file/readme/5.md @@ -1,114 +1,147 @@ --- -Title: 三角形的内角和 -Author: 小学数学教研组 +Title: 小学数学三角形面积 +Author: 东师理想小学数学教研组 -Date: 2023.11.20 +Date: 2023.09.01 --- # 课程基本信息 -## 教学目标 +## 课程目标 -> 通过观察、操作、验证等活动理解三角形内角和 +> 通过本课学习,学生将掌握三角形面积计算方法 -- 知识与技能:掌握三角形内角和是180°,能计算简单角度 -- 过程与方法:经历量、拼、折等操作活动培养推理能力 -- 情感态度:感受数学与生活的联系,增强探究意识 +- 知识目标:理解三角形面积公式推导过程 +- 能力目标:能正确计算各类三角形面积 +- 情感目标:培养空间观念与合作探究精神 -## 教学重难点 +## 教学重点与难点 -> 重点突破与思维培养 +> 重点突破公式推导,化解转化思想的理解 -- 重点:三角形内角和定理的理解与应用 -- 难点:多边形内角和的推理方法 -- 关键点:通过操作验证突破"角变形不变和"的认知 +- 重点:三角形面积计算公式的应用 +- 难点:理解"等底等高"的转化关系 +- 关键点:平行四边形与三角形的面积关系 # 教学准备 -## 教具学具 +## 教具准备 -> 构建直观认知的辅助工具 +![三角形教具](D:\教学资源\图形教具\三角形组合套装.jpg) +- 不同规格的三角形纸片(锐角/直角/钝角) +- 可拼接的磁性平行四边形教具 - 多媒体课件(含动画演示) -- 各类三角形纸板(锐角/直角/钝角) -- 量角器、剪刀、胶棒 -- 探究学习单 +- 学生用剪刀、胶棒、方格纸 # 教学过程 -## 一、情境导入(5分钟) +## 1. 情境导入(5分钟) -> 创设认知冲突激发探究欲望 +> 从生活实际引出问题,激发探究欲望 -- 展示金字塔、自行车架等实物图片 -- 设问引导:这些结构为什么都采用三角形? -- 抛出问题:任意三角形的三个角相加是多少度? +```markdown +同学们,学校要为新修建的花坛制作警示牌 +每个警示牌都是三角形,怎么计算需要多少材料呢? +``` -## 二、探究新知(20分钟) +![花坛警示牌](D:\教学资源\生活实例\三角形警示牌.jpg) -### 活动1:量角验证 +## 2. 新知讲授(15分钟) -> 初步感知内角和规律 +### 操作探究 -- 分组测量三类三角形内角(记录在学习单) -- 汇报发现:测量结果接近180° -- 引导思考:测量误差产生的原因 +> 通过剪拼活动理解转化思想 -### 活动2:拼角实验 +- 分发等底等高三角形和平行四边形纸片 +- 指导沿对角线剪开平行四边形 +- 观察比较拼成的三角形与原图形关系 -> 直观验证定理 +![剪拼演示](D:\教学资源\动画截图\平行四边形转化三角形.gif) -- 操作指导: - 1. 剪下三角形三个角 - 2. 将角顶点对齐拼成平角 -- 小组展示:直角/锐角/钝角三角形拼图 +### 公式推导 -### 活动3:推理证明 +> 建立数学模型,归纳计算公式 -> 发展几何直观 +1. 原平行四边形面积 = 底 × 高 +2. 每个三角形面积 = 平行四边形面积 ÷ 2 +3. 得出公式:三角形面积 = (底 × 高) ÷ 2 -- 动画演示:帕斯卡的折叠证明法 -- 几何画板动态展示角度变化 -- 归纳结论:任意三角形内角和=180° +## 3. 巩固练习(12分钟) -## 三、巩固应用(12分钟) +### 基础训练 -> 分层练习促进知识迁移 +> 掌握基本计算方法 -- 基础题:已知两角求第三角(直角三角形示例) -- 变式题:等边三角形各角度数计算 -- 拓展题:四边形内角和探究(连接对角线转化) +- 计算直角三角形的警示牌面积(底5cm,高3cm) +- 求等腰三角形风筝布料用量(底40cm,高25cm) -## 四、课堂小结(3分钟) +### 拓展提升 -> 构建知识网络 +> 发展空间想象能力 -- 思维导图梳理: - 测量发现 → 操作验证 → 推理证明 → 实际应用 -- 延伸思考:五边形内角和怎么计算? +![组合图形](D:\教学资源\练习题\组合图形面积题.jpg) -# 作业设计 +- 计算由多个三角形组成的七巧板面积 +- 解决梯形田地被分割后的三角形地块面积 + +## 4. 总结延伸(8分钟) + +### 课堂小结 -## 实践性作业 +> 构建知识网络,强化记忆 -> 让数学回归生活 +- 利用思维导图整理公式推导过程 +- 学生复述"转化-找关系-推导"的探究步骤 -- 测量红领巾三个角的度数 -- 观察生活中三角形结构实例 -- 设计创意图形验证内角和 +### 生活应用 -# 板书设计 +> 将数学与生活实际相结合 -![板书示意图](板书设计图路径) +- 测算红领巾用布量(展示实物测量) +- 计算三角警示架的反光膜用量 + +# 作业设计 -- 左侧:探究流程图 -- 中部:核心公式区 -- 右侧:学生作品展示区 +## 分层作业 + +> 满足不同层次学生需求 + +- 基础题:教材P45练习九1-3题 +- 提高题:设计三个不同场景的面积应用题 +- 实践题:测量家中三角形物品计算面积 # 教学反思 -> 预设与生成的平衡 +> (课后填写) + +- 学生操作活动的有效性评估 +- 不同三角形类型的教学处理 +- 课堂生成资源的利用情况 + +# 拓展延伸 + +## 数学文化 + +> 介绍古代数学家的智慧 + +- 《九章算术》中的"圭田术" +- 希腊数学家海伦的三角形面积公式 +- 现代GIS技术中的面积测算方法 + +# 附录 + +## 教学资源 + +> 辅助教学材料清单 + +1. 自制几何动画演示课件 +2. 可打印的方格纸模板 +3. 三角形面积计算微课视频 +4. 课堂练习题库(含答案解析) + +## 参考书目 -- 成功点:拼角活动有效突破认知难点 -- 改进点:学困生指导策略需加强 -- 创新点:融入数学史激发探究兴趣 \ No newline at end of file +- 《义务教育数学课程标准(2022年版)》 +- 《小学数学教学设计与实施》 +- 《几何原本》(欧几里得著) \ No newline at end of file diff --git a/AI/output.docx b/AI/output.docx index d41e9971..520d122e 100644 Binary files a/AI/output.docx and b/AI/output.docx differ diff --git a/AI/run/__pycache__/default.cpython-310.pyc b/AI/run/__pycache__/default.cpython-310.pyc index b16e2703..87c5f173 100644 Binary files a/AI/run/__pycache__/default.cpython-310.pyc and b/AI/run/__pycache__/default.cpython-310.pyc differ diff --git a/AI/run/default.py b/AI/run/default.py index fd638045..93883279 100644 --- a/AI/run/default.py +++ b/AI/run/default.py @@ -343,16 +343,16 @@ def gen_page(prs, title, content_list, second_title_rgb, text_img_path, content_ font.bold = True top_tag += 0.5 # 下移位置 - elif content['type'] == "image": # 处理图片 - detail_img_path = content['detail'] - # 根据布局状态选择图片位置 - if len(content_list) >= 3 and not is_have_img: - oneSlide.shapes.add_picture(detail_img_path, Inches(0.3), Inches(top_tag), width=Inches(6)) - is_have_img = True - elif is_have_img: - oneSlide.shapes.add_picture(detail_img_path, Inches(7), Inches(top_tag), width=Inches(6)) - else: - oneSlide.shapes.add_picture(detail_img_path, Inches(1.5), Inches(top_tag), height=Inches(5)) + # elif content['type'] == "image": # 处理图片 + # detail_img_path = content['detail'] + # # 根据布局状态选择图片位置 + # if len(content_list) >= 3 and not is_have_img: + # oneSlide.shapes.add_picture(detail_img_path, Inches(0.3), Inches(top_tag), width=Inches(6)) + # is_have_img = True + # elif is_have_img: + # oneSlide.shapes.add_picture(detail_img_path, Inches(7), Inches(top_tag), width=Inches(6)) + # else: + # oneSlide.shapes.add_picture(detail_img_path, Inches(1.5), Inches(top_tag), height=Inches(5)) return prs diff --git a/output5.pptx b/output5.pptx new file mode 100644 index 00000000..a6e105d6 Binary files /dev/null and b/output5.pptx differ