课评: 转出学生归档(王子墨/张立坤/黄俊博)+ 周四班级总结 + 新生章梓皓档案 + C++示例代码
This commit is contained in:
211
.pi/skills/class-feedback-report/samples/report-sample.html
Normal file
211
.pi/skills/class-feedback-report/samples/report-sample.html
Normal file
@@ -0,0 +1,211 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<!-- 样式参考样例:AI 生成报告时,完整复用本文件的 CSS、卡片结构与文案风格,仅替换内容 -->
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>学习反馈单 · 王小明</title>
|
||||
<style>
|
||||
:root{
|
||||
--ink:#334155; --strong:#1e293b; --sub:#64748b;
|
||||
--paper:#faf8f4; --card:#ffffff; --line:#e8e4dc;
|
||||
--green:#059669; --green-soft:#ecfdf5; --green-line:#a7f3d0;
|
||||
--amber:#b45309; --amber-soft:#fffbeb; --amber-line:#fde68a;
|
||||
--orange:#c2410c; --orange-soft:#fff7ed;
|
||||
--blue:#2563eb; --blue-soft:#eff6ff;
|
||||
--violet:#6d28d9; --violet-soft:#f5f3ff;
|
||||
}
|
||||
*{box-sizing:border-box;margin:0;padding:0}
|
||||
body{
|
||||
font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;
|
||||
color:var(--ink); background:var(--paper);
|
||||
line-height:1.95; font-size:16.5px; padding:20px 12px 40px;
|
||||
}
|
||||
.wrap{max-width:820px;margin:0 auto}
|
||||
.draft{
|
||||
text-align:center;color:#a8a29e;font-size:12px;margin-bottom:10px;
|
||||
}
|
||||
.hero{
|
||||
background:linear-gradient(135deg,#0f766e 0%,#0e7490 55%,#4f46e5 130%);
|
||||
color:#fff;border-radius:20px;padding:30px 30px 24px;margin-bottom:18px;
|
||||
}
|
||||
.hero .hello{font-size:14px;opacity:.85;letter-spacing:2px}
|
||||
.hero h1{font-size:27px;font-weight:700;margin-top:2px}
|
||||
.hero .sub{opacity:.9;font-size:14px;margin-top:6px}
|
||||
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
|
||||
.chip{
|
||||
background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.28);
|
||||
border-radius:999px;padding:4px 14px;font-size:13.5px;
|
||||
}
|
||||
.chip b{font-size:14.5px}
|
||||
.card{
|
||||
background:var(--card);border:1px solid var(--line);border-radius:16px;
|
||||
padding:24px 26px;margin-bottom:18px;
|
||||
}
|
||||
.card h2{font-size:20px;color:var(--strong);margin-bottom:14px}
|
||||
.praise{background:var(--green-soft);border:1.5px solid var(--green-line)}
|
||||
.praise h2{color:var(--green)}
|
||||
.praise li{margin:8px 0 8px 18px}
|
||||
.praise b{color:var(--green)}
|
||||
.bars{display:flex;flex-direction:column;gap:12px;margin-top:4px}
|
||||
.bar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
|
||||
.bar-label{flex:none;width:88px;font-size:15px;color:var(--strong)}
|
||||
.bar{flex:1;min-width:180px;height:14px;background:#eee9e0;border-radius:999px;overflow:hidden}
|
||||
.bar i{display:block;height:100%;border-radius:999px}
|
||||
.bar-num{flex:none;width:56px;font-size:14.5px;color:var(--sub);text-align:right}
|
||||
.prob{
|
||||
border:1px solid var(--line);border-radius:14px;
|
||||
padding:18px 20px;margin:14px 0;background:#fffdf9;
|
||||
}
|
||||
.prob .phead{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px}
|
||||
.prob .pname{font-weight:700;font-size:16.5px;color:var(--strong)}
|
||||
.prob .pmeta{color:var(--sub);font-size:13px}
|
||||
.tl{list-style:none;margin-top:10px}
|
||||
.tl li{
|
||||
display:flex;gap:10px;align-items:flex-start;
|
||||
padding:8px 0;border-top:1px dashed var(--line);font-size:15.5px;
|
||||
}
|
||||
.tl li:first-child{border-top:none}
|
||||
.pill{
|
||||
flex:none;min-width:104px;text-align:center;border-radius:999px;
|
||||
font-size:13px;font-weight:600;padding:3px 10px;margin-top:3px;white-space:nowrap;
|
||||
}
|
||||
.pill.ce{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line)}
|
||||
.pill.wa{background:var(--orange-soft);color:var(--orange);border:1px solid #fed7aa}
|
||||
.pill.tle{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}
|
||||
.pill.ac{background:var(--green-soft);color:var(--green);border:1px solid var(--green-line)}
|
||||
.note{
|
||||
background:var(--blue-soft);border-left:4px solid var(--blue);
|
||||
border-radius:0 12px 12px 0;padding:12px 16px;margin-top:12px;
|
||||
font-size:14.5px;color:#1e40af;
|
||||
}
|
||||
.obj-intro{
|
||||
background:var(--violet-soft);border:1px solid #ddd6fe;border-radius:12px;
|
||||
padding:12px 16px;font-size:15px;color:#5b21b6;margin-bottom:16px;
|
||||
}
|
||||
.summary p{margin:9px 0;font-size:16px}
|
||||
.footer{
|
||||
text-align:center;color:#a8a29e;font-size:12.5px;margin-top:8px;line-height:2;
|
||||
}
|
||||
@media (max-width:640px){
|
||||
body{font-size:15.5px;padding:12px 8px 30px}
|
||||
.card{padding:18px}
|
||||
.hero{padding:22px 20px}
|
||||
.hero h1{font-size:23px}
|
||||
.bar-label{width:74px;font-size:14px}
|
||||
.tl li{flex-direction:column;gap:4px}
|
||||
.pill{min-width:0;align-self:flex-start}
|
||||
}
|
||||
@media print{
|
||||
body{background:#fff;padding:0;font-size:14px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
|
||||
.card,.hero{box-shadow:none;border-radius:10px;break-inside:avoid}
|
||||
.hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}
|
||||
.export-btn{display:none}
|
||||
.draft{display:none}
|
||||
}
|
||||
.export-btn{
|
||||
position:fixed;right:18px;bottom:20px;z-index:9;
|
||||
border:none;background:#0f766e;color:#fff;cursor:pointer;
|
||||
border-radius:999px;padding:11px 20px;font-size:15px;font-family:inherit;
|
||||
box-shadow:0 6px 18px rgba(15,118,110,.35);
|
||||
}
|
||||
.export-btn:hover{background:#115e59}
|
||||
.export-btn:active{transform:scale(.97)}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrap">
|
||||
|
||||
<div class="draft">教师审核稿 · 审阅后转发家长</div>
|
||||
|
||||
<button class="export-btn" onclick="window.print()">🖨️ 导出 PDF</button>
|
||||
|
||||
<div class="hero">
|
||||
<div class="hello">学 习 反 馈 单</div>
|
||||
<h1>王小明 同学 · 克力周日0830CSP02-01「基础回顾」</h1>
|
||||
<div class="sub">克力周日0830CSP02 班 | 2026-09-10 | 本讲共 17 题(课堂 7 + 作业 3 + 拓展 7)</div>
|
||||
<div class="chips">
|
||||
<div class="chip">🎉 动过的 3 道题 <b>全部订正通过</b></div>
|
||||
<div class="chip">提交 <b>9</b> 次 · <b>零放弃</b></div>
|
||||
<div class="chip">解题思路 <b>全部正确</b></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card praise">
|
||||
<h2>🌟 老师的表扬</h2>
|
||||
<ul>
|
||||
<li><b>三道题最终全部订正通过,9 次提交没有一次放弃</b>——这股不搞定不罢休的劲头,非常了不起!</li>
|
||||
<li><b>看得懂编译器的报错</b>:每次报错后都朝着正确的方向修,思路一步都没乱。</li>
|
||||
<li><b>死循环是自己找到的</b>:把 <code>1<=T</code> 改成 <code>i<=T</code>,说明循环三要素真的理解了。</li>
|
||||
<li>三道题的<b>解题思路最终都是对的</b>——差的只是「把代码写规范」这一层,这层最容易补!</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>📊 本讲完成情况</h2>
|
||||
<div class="bars">
|
||||
<div class="bar-row"><span class="bar-label">课堂练习</span><span class="bar"><i style="width:43%;background:linear-gradient(90deg,#fbbf24,#f59e0b)"></i></span><span class="bar-num">3/7</span></div>
|
||||
<div class="bar-row"><span class="bar-label">课后作业</span><span class="bar"><i style="width:0%;background:#cbd5e1"></i></span><span class="bar-num">0/3</span></div>
|
||||
<div class="bar-row"><span class="bar-label">拓展练习</span><span class="bar"><i style="width:0%;background:#cbd5e1"></i></span><span class="bar-num">0/7</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h2>💻 编程题:每一次提交都看过了</h2>
|
||||
|
||||
<div class="prob">
|
||||
<div class="phead"><span class="pname">🛍️ 商店折扣</span><span class="pmeta">4 次提交</span></div>
|
||||
<ul class="tl">
|
||||
<li><span class="pill ce">✍️ 第 1 次</span><span>变量没有定义——x、y、n、p 直接拿来用,忘了先声明</span></li>
|
||||
<li><span class="pill ce">✍️ 第 2 次</span><span>补了一半——x y n p 都声明了,但 m1 还是漏了</span></li>
|
||||
<li><span class="pill ce">✍️ 第 3 次</span><span>变量重复定义——补 m1 的时候没注意 m2 之前已经声明过了</span></li>
|
||||
<li><span class="pill ac">🎉 第 4 次</span><span><b>通过!</b>声明整理干净,逻辑一点没改就对了</span></li>
|
||||
</ul>
|
||||
<div class="note">📌 三次编译错误其实都是同一件事——「<b>先声明、再使用</b>」。第四次你把声明排得整整齐齐,代码马上就通了,说明你完全有能力一次写好!</div>
|
||||
</div>
|
||||
|
||||
<div class="prob">
|
||||
<div class="phead"><span class="pname">🚀 小杨的爱心快递</span><span class="pmeta">2 次提交</span></div>
|
||||
<ul class="tl">
|
||||
<li><span class="pill ce">✍️ 第 1 次</span><span>语法混入了其他写法——cin V 少了 >>、把 if 当成公式赋值、用了 C++ 里不存在的 print()</span></li>
|
||||
<li><span class="pill ac">🎉 第 2 次</span><span><b>通过!</b>一次把三处全部改对</span></li>
|
||||
</ul>
|
||||
<div class="note">📌 第一次的写法像是把解题思路直接「翻译」成了代码——<b>思路其实是对的!</b>第二次一口气改对三处,理解力没问题。接下来练的就是「落笔就用 C++ 的标准写法」。</div>
|
||||
</div>
|
||||
|
||||
<div class="prob">
|
||||
<div class="phead"><span class="pname">🔋 手机电量显示</span><span class="pmeta">3 次提交</span></div>
|
||||
<ul class="tl">
|
||||
<li><span class="pill ce">✍️ 第 1 次</span><span>函数名写错——又用了 print()(C++ 里是 cout)</span></li>
|
||||
<li><span class="pill tle">⏱️ 第 2 次</span><span>运行超时——循环条件写成 1 <= T(永远成立,程序停不下来),应该是 i <= T</span></li>
|
||||
<li><span class="pill ac">🎉 第 3 次</span><span><b>通过!</b>循环条件和输出全部修正</span></li>
|
||||
</ul>
|
||||
<div class="note">📌 超时不可怕,它说明程序已经在「跑」了——而且是你自己把 1<=T 找出来改成 i<=T 的,<b>循环三要素你是懂的</b>,下次落笔前默念一遍就行。</div>
|
||||
</div>
|
||||
|
||||
<div class="prob">
|
||||
<div class="phead"><span class="pname">📝 选择题 / 判断题</span><span class="pmeta">还没开始</span></div>
|
||||
<ul class="tl">
|
||||
<li><span class="pill tle">小提醒</span><span>本节课的客观题还没有开始做。<b>不着急,先把编程补上就是很大的进步。</b>做到的时候记得:错题直接看讲解,不要反复试答案。</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card summary">
|
||||
<h2>📖 老师的整体评价</h2>
|
||||
<p>王小明同学本节课可以概括为:<b>逻辑没问题,规范要跟上</b>。</p>
|
||||
<p>💪 <b>值得肯定的</b>:三道题 9 次提交全部坚持订正到通过;报错读得懂、修改方向一直是对的;三题的解题逻辑最终全对——「会不会」的问题不存在,纯粹是「怎么把代码写规范」的问题。</p>
|
||||
<p>🔧 <b>接下来要养的三个小习惯</b>:</p>
|
||||
<p style="margin:6px 0 6px 12px">① <b>先编译、后提交</b>——编译器说 0 error 才点提交,这一条就能把本次 6 次错误全部消灭;</p>
|
||||
<p style="margin:6px 0 6px 12px">② <b>动笔前先列变量清单</b>——名字、类型、初值三样写齐再写逻辑(漏声明、重复声明都是这么防住的);</p>
|
||||
<p style="margin:6px 0 6px 12px">③ <b>C++ 标准写法对照一遍</b>——输出 cout <<、输入 cin >>、条件只写成语句,把第一讲的代码抄一遍当字帖;循环写完默跑一圈三个数字(i=1、i<=T、i++)。</p>
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
数据来源:OJ 课程反馈接口(教师视角,只读)| 生成:2026-09-10<br>
|
||||
本反馈由授课教师审核后发放;内容只描述学习习惯与方法,与孩子的人格评价无关。
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
69
.pi/skills/class-feedback-report/samples/report-sample.md
Normal file
69
.pi/skills/class-feedback-report/samples/report-sample.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# 学生反馈报告 · 王小明(克力周日0830CSP02-01 基础回顾)【样式与结构参考样例】
|
||||
|
||||
> 班级:克力周日0830CSP02(2026 秋季班 CSP02)| 章节:01 基础回顾
|
||||
> 生成日期:2026-09-10 | 数据来源:OJ 课程反馈接口(教师视角)
|
||||
> **本报告为教师审核稿,发送给学生/家长前请先审阅措辞**
|
||||
|
||||
📊 **总览**:课堂练习 3/7 | 课后作业 0/3 | 拓展练习 0/7 | 首刷通过率 0% | **最终 3 道题全部订正通过** | 提交 9 次
|
||||
|
||||
---
|
||||
|
||||
## 🌟 值得表扬的地方
|
||||
|
||||
1. **三道题最终全部订正通过,9 次提交没有一次放弃**——这股不搞定不罢休的劲头,非常了不起!
|
||||
2. **看得懂编译器的报错**:每次报错后都朝着正确的方向修——先补上了 x、y、n、p 的声明,再补 m1,思路一步都没乱。
|
||||
3. **死循环是自己找到的**:循环条件 `1<=T` 改成 `i<=T`,说明循环三要素真的理解了。
|
||||
4. 三道题的**解题思路最终都是对的**——折扣比较、爱心快递的选择判断、电量分段显示,逻辑全对,差的只是「把代码写规范」这一层。
|
||||
|
||||
---
|
||||
|
||||
## 💻 编程题逐题诊断
|
||||
|
||||
### 商店折扣(4 次提交)
|
||||
|
||||
- 第 1 次提交:**变量没有定义**——`x y n p` 直接拿来用,忘了先声明
|
||||
- 第 2 次提交:**补了一半**——x y n p 都声明了,但 `m1` 还是漏了
|
||||
- 第 3 次提交:**变量重复定义**——补 m1 的时候没注意 `m2` 之前已经声明过了
|
||||
- 第 4 次提交:✅ **通过!** 声明整理干净,逻辑一点没改就对了
|
||||
|
||||
> 📌 复盘:三次编译错误其实都是同一件事——「先声明、再使用」。第四次你把声明排得整整齐齐,代码马上就通了,说明你完全有能力一次写好!
|
||||
|
||||
### 小杨的爱心快递(2 次提交)
|
||||
|
||||
- 第 1 次提交:**语法混入了其他写法**——`cin V` 少了 `>>`、把 `if` 当成公式赋值给变量、用了 C++ 里不存在的 `print()`
|
||||
- 第 2 次提交:✅ **通过!** 一次把三处全部改对
|
||||
|
||||
> 📌 复盘:第一次的写法像是把解题思路直接「翻译」成了代码——思路其实是对的!第二次一口气改对三处,理解力没问题。接下来练的就是「落笔就用 C++ 的标准写法」。
|
||||
|
||||
### 手机电量显示(3 次提交)
|
||||
|
||||
- 第 1 次提交:**函数名写错**——又用了 `print()`(C++ 里是 `cout`)
|
||||
- 第 2 次提交:**运行超时**——循环条件写成了 `1 <= T`(永远成立,程序停不下来),应该是 `i <= T`
|
||||
- 第 3 次提交:✅ **通过!** 循环条件和输出全部修正
|
||||
|
||||
> 📌 复盘:超时不可怕,它说明程序已经在「跑」了——而且是你自己把 `1<=T` 找出来改成 `i<=T` 的,循环三要素(从几开始、到几结束、怎么走)你是懂的,下次落笔前默念一遍就行。
|
||||
|
||||
---
|
||||
|
||||
## 📝 选择题 / 判断题
|
||||
|
||||
本节课的客观题你还没有开始做(课堂后 4 题里的选择题、判断题),**不着急,先把编程补上就是很大的进步**。等做到的时候记得:错题直接看讲解,不要反复试答案。
|
||||
|
||||
---
|
||||
|
||||
## 📖 整体分析
|
||||
|
||||
王小明同学本节课可以概括为:**逻辑没问题,规范要跟上**。
|
||||
|
||||
- 💪 **亮点**:三道题 9 次提交全部坚持订正到通过;报错读得懂、修改方向一直是对的;三题的解题逻辑最终全对——「会不会」的问题不存在,纯粹是「怎么把代码写规范」的问题。
|
||||
- 🔧 **问题一:变量「先声明、再使用」的习惯还没建立**。三题里两次栽在声明上(漏声明、重复声明),这是本次最集中的失分点,也是最容易改的。
|
||||
- 🔧 **问题二:写完没有先编译就提交**。6 次编译错误全部可以用「提交前本地编译一遍」拦住。
|
||||
- 🔧 **问题三:语法混用了别的写法**(`print()`、`if` 当公式)。C++ 的标准表达需要一点时间适应,练两节课就会顺。
|
||||
|
||||
## ✅ 给王小明的建议
|
||||
|
||||
1. **立一条铁规矩:先编译、后提交**——编译器说 0 error 才点提交,这一条就能把本次 6 次错误全部消灭。
|
||||
2. **动笔前先列变量清单**:用到的变量写三样——名字、类型、初值,声明写齐再写逻辑。
|
||||
3. **C++ 标准写法对照**:输出用 `cout <<`,输入 `cin >> a >> b`,条件只能写成语句——把第一讲的代码抄写一遍当字帖。
|
||||
4. **循环写完默跑一圈**:从几开始(i=1)、到几结束(i<=T)、怎么走(i++),三个数字对了再交。
|
||||
5. 把课堂后 4 题和课后作业补完——你的订正能力已经证明「补上就能会」,老师等着你的好消息!💪
|
||||
Reference in New Issue
Block a user