目录 / laomeng-zhc-tutorial
laomeng-zhc-tutorial
--- name: laomeng-zhc-tutorial description: 老孟带你学编程系列教程技能。当用户想学中文编程、要从零入门、要按课次系统练习,或需要讲解 ZHC 语法(输出/变量/条件/循环/函数/文本与列表/表格统计)并配可运行示例时使用本技能。适用于零基础入门教学、按课次陪练、语法点讲解、练习题设计与批改场景。7 课示例均在当前内核实测 rc=0。 license: 见 LICENSE.txt(语言内核与标志体系归 BY LAOMENG 网络工作室) metadata: version: 1.0.12 contract: ZHC-LANG-2.0 / 契约族 1.8 / 内部修订 2.6 frozen: 2026-11-15 lessons: 7 samples: 7 --- # 老孟带你学编程(ZHC 入门教程) > **1.0.12(2026-11-15)** 首次随生态发版。与 `laomeng-zhc`、`laomeng-zhc-agent` **同版本号、同口径**:`ZHC-LANG 2.0` / 契约族 1.8 / 内部修订 2.6 / 唯一码位 39 / 关键字 44 · 保留词 72 · 内置 39 · 类型 11。 一套**从零到能写小工具**的中文编程教程。7 课、7 份讲解文档、7 个可编译运行的 `.zc` 示例,全部在当前内核实测通过(`rc=0`),代码与运行结果一一对应。 > **本包只含教程与示例源码,不含语言内核。** 要真正编译运行,需同时安装 `laomeng-zhc`(含内核 `zhc.py`)。查契约与错误码口径用 `laomeng-zhc-kb`。 ## 何时使用 - 用户说"学中文编程""带我学""老孟带你学编程""从零入门 ZHC"。 - 用户要按课次系统练:第几课、下一课、给我练习。 - 用户问某个基础语法怎么写,且属于这 7 课覆盖范围。 - 用户写得不对,需要按课次知识点指出错在哪并给出正确写法。 不适用:查契约字段/错误码出处 → `laomeng-zhc-kb`;真实编译排障(环境、目标、桥)→ `laomeng-zhc`。 ## 一、课表(教学主线,顺序不可乱) | 课次 | 主题 | 讲解文档 | 示例源码 | 学到什么 | |---|---|---|---|---| | 第01课 | 你好,中文编程 | `lessons/第01课_你好中文编程.md` | `samples/第01课_你好中文编程.zc` | 输出、注释、字符串转义,跑通第一条链路 | | 第02课 | 变量与类型 | `lessons/第02课_变量与类型.md` | `samples/第02课_变量与类型.zc` | `定义`/`设`、整数浮点文本逻辑、四则运算 | | 第03课 | 条件判断 | `lessons/第03课_条件判断.md` | `samples/第03课_条件判断.zc` | 如果/否则如果/否则/结束、且或非 | | 第04课 | 循环 | `lessons/第04课_循环.md` | `samples/第04课_循环.zc` | 计数循环、前测循环、无 break 的退出设计 | | 第05课 | 函数 | `lessons/第05课_函数.md` | `samples/第05课_函数.zc` | 带/不带返回值、多参数、递归 | | 第06课 | 文本与列表 | `lessons/第06课_文本与列表.md` | `samples/第06课_文本与列表.zc` | 连接/长度/比较、列表增改查与遍历 | | 第07课 | 综合练习:成绩统计 | `lessons/第07课_综合练习_成绩统计.md` | `samples/第07课_综合练习_成绩统计.zc` | 表与记录、遍历聚合、转 JSON | 教学前必读 `lessons/README.md`(导引、运行方式、后续课程规划)。 ## 二、每课固定讲法(七步,不要省) 1. **说目标**:这一课学完能写出什么。 2. **给语法表**:本课新语法的中文关键字 + 形态 + 一句作用说明。 3. **贴完整代码**:给可整段复制运行的 `.zc`,不要给片段。 4. **给实测输出**:贴真实运行结果,让学员能自我对照。 5. **点易错处**:把本课最容易写错的两三处单独列,附正确写法。 6. **布置练习**:一到两题,基于本课语法,不引入未学内容。 7. **接下一课**:一句话说明下一步会解决本课遗留的限制。 ## 三、运行方式(学员机上) ```powershell cd <工程根目录> $env:PYTHONIOENCODING='utf-8' # 编译并立即运行 python -X utf8 zhc.py samples\第01课_你好中文编程.zc --run # 只做词法语法检查(输出 JSON 诊断) python -X utf8 zhc.py samples\第01课_你好中文编程.zc --诊断 # 查内置函数手册与全部关键字 python -X utf8 zhc.py --api ``` 报错一律形如 `[Exxx] 中文说明`,拿码位去 `laomeng-zhc-kb` 的错误码表查成因与修法。 ## 四、必须提前告知学员的三条限制 这三条是实测踩出来的,不是猜测,讲课时先讲清楚可省大量返工: 1. **类型词只能写在变量名后面**:写 `定义 总分 为 整数 600`;写 `定义 整数 总分 为 600` 会报 `[E012]`(类型词不能前置)。 2. **逻辑量要写全类型**:`定义 没缺考 为 逻辑 真`;只写 `为 真` 报 `[E205]`,报错会直接给出正确写法。 3. **无返回值函数只能单独成句**:写进 `输出` 参数或表达式里报 `[E307]`。 > 早期"紧跟带函数调用的输出会报构建期 `C2155`"的问题已在 `ZHC-LANG 2.0` 实现修订中修复,不再作为限制讲授。 ## 五、学完七课的能力边界 能做:读既有 `.zc` 源码;写计算类、文本处理类、表格统计类小工具;看懂中文报错并定位成因。 还不能做(属进阶课):文件读写、命令行参数、表与 JSON 互转、Office 导出、内存与指针。被问到时如实说明属进阶内容,不要越界硬讲。 ## 六、批改与答疑口径 - 学员代码报错 → 先按 `[Exxx]` 码位定性,再指到**对应课次的知识点**,最后给最小改正。 - 学员问"为什么不支持某写法" → 区分三种情况:① 契约未定义(改代码);② 预留关键字(如 `接受` 无语法作用,禁止用于函数定义);③ 已知限制(见第四节)。禁止把三者混为一谈。 - 学员问版本 → 一律回答 `ZHC-LANG 2.0`(契约族 1.8 / 内部修订 2.6),不得引用旧版本号。
这是模型对公开材料的总结,不是官方声明,请以原链内容为准。
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-11-16 00:22 | d973b06b | 可取 |
版本索引永久保留;内容副本只保留最新 1 份,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。