完整内容 49 / 96 · 十科学习与独立验证

信息技术:用测试核验 AI 写的程序

先明确输入输出与边界,在现有学习环境中验证程序,保留错误与修订。

开始之前

先确认这些基础;还没学过时可以直接补学。

  • 写可执行任务规格
  • 设计正常与边界测试
  • 解释关键程序步骤
01

程序先有清楚规格

写输入是什么、输出是什么、允许哪些数据和错误怎样处理。‘帮我写个好程序’无法判断完成;把需求改为明确样例和边界,才能核验。

使用现有 Python 或其他学校认可环境。程序不因能运行就安全,不能让 AI 随意安装未知软件或获得系统权限。

02

测试来自行为与边界

至少包含正常、小规模、空输入或错误输入中的适用情况。预期结果先自己算,再比较程序输出,不能把程序本身的输出当答案。

若程序失败,保留输入、预期、实际与报错。先定位具体原因,再修改一次并复测相关边界,不通过删测试把失败消失。

03

代码必须能讲明白

第一级要思路提问,第二级要伪代码提示,第三级才看局部代码。每段重要语句自己解释含义,学过的基础之外先查现有课程。

数据只用自编或匿名练习内容。私人文件、凭据和学校系统不得被代码自动读取或上传,作品交付不能夹带这些信息。

把方法放进真实情景

计算非空分数列表的平均值

练习规格:输入是由普通实数组成的列表,合法范围0至100且非空,返回平均值;空或越界应主动抛ValueError。人工待修Python:def avg(scores): return sum(scores)/len(scores)。只用自编数据。

  1. 先手算[60,80,100]→80,[0]→0,[]与[-1]均应ValueError。
  2. 原代码对空列表产生ZeroDivisionError、对[-1]返回−1,与规格不符。
  3. 在除法前检查空及范围,保留失败后在学校认可环境复测;不要求读取文件或联网。

可以得到的判断:行为规格、独立预期与实际执行三者一致,才说明这部分程序有效。

适用范围:练习未要求处理非数值类型,不是正式成绩系统;纸面追踪与实际运行须分别记录,不采集真实身份或成绩。

先尝试再对话 · 展开六步自学方法
  1. 选材料,先写自己的尝试

    每课都提供示例材料。先读案例,写出你已知什么、试过什么、卡在哪里;也可以换成获准使用的自己的材料。

  2. 复制本课提问,开始对话

    把课内完整提问复制到符合年龄、地区和账号条件的AI。示例材料可直接使用,不必先准备教师资料或付费工具。

  3. 回答一个问题,再要一个提示

    先回答AI的问题或完成一小步,说明你的理由。卡住时复制一条追问;AI一次给出全部答案时,要求退回当前步骤。

  4. 按本课检查表核验

    对照原文、题目条件、计算或实际运行检查回答。AI无法说明依据时,标记待核验,不把它写成事实。

  5. 完成实践,留下自己的产物

    按任务交出过程、作品或记录,并逐项对照完成标准。工具暂时不可用时,先用案例材料完成纸笔分析,补记未做的工具测试。

  6. 关闭AI,独立验收并复盘

    做课内的新任务,写下结果后再展开对照标准。仍有错误就回到对应步骤;次日再解释一次,记录疑问和下一步。

先自己尝试,再与 AI 对话

开始本课的AI自学对话

下方提问包含本课示例,可以直接复制。使用自己的材料时先核对题目和条件;按工具的年龄、地区及资料授权条件使用。AI不按要求等待时,提醒它退回当前步骤。

我是一名高中生,正在自学《信息技术:用测试核验 AI 写的程序》。 本课目标:写可执行任务规格;设计正常与边界测试;解释关键程序步骤。 请当我的学习陪练:先让我给出自己的尝试;每轮只问一个可回答的问题或给一个提示,然后等待我的回答。不要直接替我完成整份作业。发现错误时指出具体步骤,让我修改;不要编造资料、数据或来源。 本课任务和可直接使用的示例材料: 规格:Python avg(scores)输入普通实数列表,非空且每值0≤x≤100,返回均值;空或越界主动抛ValueError。待修代码:def avg(scores): return sum(scores)/len(scores)。测试[60,80,100]、[0]、[]、[-1]。先让我写四项独立预期并等待,不写代码;再让我追踪原程序一项失败,卡住只提示除法前需检查。等我写修订后,审查空与范围条件,给一个未见测试让我先算再运行,不读取文件、不安装软件。 第一轮请只给我一个最小任务或问题,等待我的尝试。如果我换成自己的材料,请先核对是否齐全,不收集身份信息或家庭资产。

继续追问

先回答当前问题,再按需要选一条追问。不要一次把所有追问都发出去。

  1. ZeroDivisionError为何没有满足主动ValueError的规格?

  2. 哪个测试能发现只修空列表但漏范围的程序?

检查 AI 的回答

  • 正常80和0,空与越界ValueError
  • 预期先于执行,失败保留,实际执行与纸面推演区分
记录我的问题、判断与独立验收

这里的输入不会发送给第三方 AI。未保存的输入只在当前页面,离开前请下载或保存;记录默认属于本人,不公开展示。

登录学生账号 ↗

当前页可直接练习。登录学生账号后,主动读取和保存自己的记录;公开讲授时请保持记录区收起。

亲手完成

本课实践

先写四项预期,修订本课小程序,在已有学校认可Python环境运行并填写预期/实际/是否符合/修订表。若暂不能运行,交纸面追踪并标未运行;不能宣称已实测通过。

留下这些产物

  • 规格与本人修订代码
  • 四项测试表及一次原失败记录
  • 空、范围、平均三步的解释及运行状态

完成标准

  • 不能通过删空或越界测试来过关
  • ValueError由主动检查产生,合法结果正确
  • 无文件/网络/权限操作,本人解释主要逻辑
撤去 AI,再做一次

独立验收

关掉AI。独立追踪自己的修订程序:新输入[20,80]、[100]、[101]、[],写输出或异常及先检查哪一步;有环境再运行核对。

完成后展开对照标准
  • 分别50、100、ValueError、ValueError
  • 越界与空在求均值前拒绝,不能误报ZeroDivisionError
  • 手算预期与运行结果分栏,未运行如实标记

先写自己的结果再对照,记录“已尝试、仍有疑问、已独立完成”的真实状态。自查记录不等于教师认定或正式测验通过。

讲授与讨论提示

开场

投屏本课人工待修一行函数,听众先填写四项预期。

现场示范

在教师已有Python环境运行原函数与学生修订,展示实际异常名称;若环境不可用只纸面追踪并标未运行,不称模型实测。

让听众自己判断

  • 程序能跑是否等于正确?
  • 为什么不能让程序自己给预期?

离场任务

写一个边界输入、预期行为和验证办法。