资源简介 (共31张PPT)UNIT 1 · LESSON 05 · 算法的实现浙教版 小学信息科技 · 六年级上册 · 第一单元 算法的实现算法的执行程序跑起来,才知道算法对不对主讲教师:×××学校:×××小学上一课写好的程序,这一课让它跑起来。本课导航CONTENTS本课导航跑一跑才知道对错,改一改才好用。01承接:程序写好了02运行程序:两步走03走一遍循环:计算机怎么做04调试:错在哪儿05完善:让算法有话说06练一练,理一理小浙提示先看这一课要走的六站,心里有个数。0203本课学习目标第一单元 算法的实现 · 第 5 课01会在 IDLE 里打开一段程序,并把它运行起来。02能说出 while 循环什么时候反复做、什么时候停下来。03能看着报错信息找到错误,并说出它属于哪一类。04能用变量记下“有没有解”,让算法对任何数据都有输出。一句话:跑起来、找出错、改周到。小浙提示读一遍目标,重点看“运行、调试、完善”。0304程序写好了,怎么让它跑起来第一部分 · 从上一课接到本课上一课把流程图写成了下面这六行程序。写出来还得跑起来,才知道对不对。上一课写好的程序tu = 0while tu < 36:ji = 35 - tuif ji * 2 + tu * 4 == 94:print(ji, "只鸡,", tu, "只兔。")tu = tu + 1上一课流程图变成程序六行,一行对一行。这一课让程序跑起来运行、调试、完善。小浙提示上一课写好的程序,先放在这里。0405运行程序:两步走知识建构 · 让程序跑起来要让计算机按算法做事,就得让它运行程序——打开、运行,两步。第一步打开程序在 IDLE Shell 里用 File → Open,找到保存好的程序文件,把它打开。第二步运行程序在程序编辑器里用 Run → Run Module,计算机就照着程序一步一步做。计算机执行算法的特点:按既定步骤,高速、准确、不知疲倦。运行完,结果会显示在 Shell 窗口里。小浙提示打开、运行,两步就够了。0506再看循环语句:它是怎么跑的知识建构 · 循环的执行循环能让一段程序反复做。要看清两点:反复做什么、什么时候停。while tu < 36:ji = 35 - tuif ji * 2 + tu * 4 == 94:print(ji, "只鸡,", tu, "只兔。")tu = tu + 11怎么反复条件成立,就一遍一遍执行循环体。2什么时候停条件不成立,循环立刻停下来。小浙提示反复做什么、什么时候停——循环就看这两点。0607走一遍循环:计算机是怎么做的核心页 · 执行过程把程序跑起来,计算机就是这样一步一步做的。循环跑到第几次tuji = 35 tu脚数判断结果第 1 次03570不成立,继续第 2 次13472不成立,继续第 3 次23374不成立,继续第 12 次112492不成立,继续第 13 次122394成立,输出结果第 13 次判断成立,把结果输出;tu 加到 36 时条件不成立,循环就停了。小浙提示第 13 次才算对,循环就是这样一步步试的。0708程序出错了:三类原因知识建构 · 调试(一)程序写出来,不一定一次就写得对。出错的原因主要有三类。第一类录入错误想写 tu,写成了 Tu。Python 区分大小写,Tu 和 tu 是两个变量。第二类语法错误少了冒号、标点用了中文,计算机读不懂,程序跑不起来。第三类逻辑错误程序能跑,结果却不对:缩进层次错了,或者条件写反了。不管哪一类,都得靠一行一行地看、一遍一遍地试——这个过程叫调试。报错不可怕,它是计算机在告诉我们哪里没写对。小浙提示出错有三类:录错了、写错格式、想错逻辑。0809调试实战:看着屏幕找问题知识建构 · 调试(二)程序出错时,屏幕上会给出线索。把线索读清楚,错就好找了。屏幕上出现什么问题出在哪儿怎么改SyntaxError : expected ':'while 那行末尾少了冒号补一个英文冒号NameError: name 'Tu' ...大小写写错了:tu 写成 Tu改回小写 tuSyntaxError: invalid character标点用了中文全角换成英文半角能运行,但结果不对循环体的缩进层次错了缩进按层次调整读到报错不要慌:先看它指的是哪一行,再一句一句念出来。小浙提示先读屏幕上的线索,再一句一句念程序。0910试一试:换一组数据试一试 · 改了数据再运行把程序里的 35 和 94 换掉,看看屏幕上会变出什么。程序里的数据要改哪几处屏幕上出现什么35 头 94 脚不用改,就是上一课那一段23 只鸡, 12 只兔。30 头 88 脚tu < 36 改 31;ji = 30 - tu;== 8816 只鸡, 14 只兔。35 头 95 脚只把 94 改成 95(什么都没有)前两组都对上了,第三组却一句话也没有——这就是新问题。第三组为什么不给一点提示?小浙提示改数据要顺着一路改到底,别漏了条件。1011新问题:这组数据,一句提示也没有发现问题 · 为完善算法做准备35 个头、95 只脚。程序跑完了,屏幕上干干净净,什么也没有。想一想鸡和兔的脚数一只鸡 2 只脚,一只兔 4 只脚,都是偶数,加起来一定是偶数。比一比95 是奇数怎么试都对不上 95,一次也没对上,就没有任何输出。问题在哪儿算法少一句话找不到解的时候,也该告诉用户一声。这样的算法,不符合“算法要有输出”的要求。下一部分把它改周到。找不到解,也该说一声。小浙提示95 是奇数,怎么试都对不上。1112把算法改得更周到第二部分 · 先想三个问题换一组数据就一句话也没有。这不是程序写错了,是算法还少交代三件事。问题一找不到解时屏幕上什么也没有,用户不知道是没解,还是程序坏了。问题二换个数据呢数据一换要改的地方不止一处,很容易漏掉。问题三谁来记录计算机不会自己判断“有没有找到”,得让它记下来。下面两页,把这三个问题一个个解决掉。三个问题一起看着想。小浙提示三个问题先想一想,答案在下面两页。1213完善算法(一):用 jie 记下来完善算法 · 记录有没有解加一个变量 jie,专门记录“有没有找到符合条件的解”。01循环之前先说没有解:jie = 0。02循环里面找到了解,就把它改成 jie = 1。03循环之后再看一眼:jie 还是 0,就输出“没有解”。循环结束后补上这两行if jie == 0:print("没有符合条件的答案。")小浙提示jie 就是“有没有解”的记号。1314完善后的程序:两种结果都有话说核心页 · 完善后的运行结果还是那道题,只多了三处,程序就变得周到了。完善后的程序 · 鸡兔同笼tu = 0jie = 0while tu < 36:ji = 35 - tuif ji * 2 + tu * 4 == 94:print(ji, "只鸡,", tu, "只兔。")jie = 1tu = tu + 1if jie == 0:print("没有符合条件的答案。")35 头 94 脚有解屏幕上出现:23 只鸡, 12 只兔。35 头 95 脚没有解屏幕上出现:没有符合条件的答案。小浙提示同样一道题,两种结果都要说得清。1415活动一:把程序跑起来,记下结果学生活动 · 任务单活动一在 IDLE 里打开程序、运行,把屏幕上显示的内容照原样抄下来。序号程序里的数据我看到的输出(照原样抄)135 头 94 脚230 头 88 脚335 头 95 脚三行抄完,把你发现的问题写在任务单上,等下一部分一起解决。小浙提示抄的是屏幕上真实出现的内容,别凭记忆写。1516活动二:这段程序错在哪儿学生活动 · 任务单活动二下面这段程序有四处错。先自己找,再把错法和类型填进右边的表。小明写的程序tu = 0while tu < 36ji = 35 - tuif ji * 2 + tu * 4 = 94:print(ji, "只鸡,", tu, "只兔。")Tu = Tu + 1处错在哪儿哪一类1少了英文冒号语法错误2用了 = 判断语法错误3Tu 和 tu 混用录入错误4缩进多了一层逻辑错误小浙提示一句一句念,念不通的地方就有问题。1617活动三:给“没有解”补上提示学生活动 · 任务单活动三下面这段程序缺了三处。把该填的地方补上,让它找不到解也说一句话。补完整这段程序tu = 0______ = 0while tu < 36:ji = 35 - tuif … == 94:______ = 1tu = tu + 1if ______ == 0:print("没有符合条件的答案。")处该填什么①循环之前,先让 jie 等于 0②找到解时,把 jie 改成 1③循环之后,看 jie 是不是 0小浙提示三处填上,程序就有话说了。1718想一想:好的算法能解决一类问题议一议思维 · 本课的落点同一段程序,换成 30 头 88 脚能用,换成 35 头 95 脚也不会哑口无言。比一比只解一道题题目一改,算法就作废了。再比一比能解一类题数据怎么换,都还是这套做法。所以把话说全能找到解要说,找不到解也要说。好的算法,往往能解决同一类问题,而不是只解决某一个特定问题。改了数据还照样能用,才叫好算法。小浙提示数据怎么换都能用,才叫好算法。1819辨一辨练一练说法对 / 错我的理由程序写好了,不运行也能知道它做得对不对。Python 里 while 那一行的末尾要写英文冒号。循环体靠缩进和循环头区分层次。程序能运行,结果就一定是对的。换了数据后屏幕上没有任何输出,说明算法一定错了。好的算法往往能解决同一类问题。说清理由,比只写一个“对”或“错”更重要。小浙提示重点看第 1、5 句,理由要写出来。1920议一议:是算法错了,还是程序错了议一议35 头 95 脚的程序一句提示也没有——到底是谁的问题?算法没错枚举法照样能用一只一只试过去,方法本身没有错。程序没错六行照着流程图写一行对一行,写法和上一课一样。缺的是什么那句“没有解”算法没交代找不到解时该怎么办。完善算法,就是让它对任何一组数据都有话说——这正是调试之后要做的事。要改的是算法,不是怪计算机。小浙提示要改的是算法,不是怪计算机。2021练习与小结:再走一遍第三部分 · 练一练,理一理01练习14 题分三层:基础 1—5、提升 6—10、综合 11—14。02讲评重点讲第 4、5、6、9、13 题,说清为什么。03小结理一理:运行 → 调试 → 完善。做完就讲,讲完就理——这一课才算收口。小浙提示拿不准的题,回到“跑起来—找错—改周到”上想。2122随堂练习(一)基础题 1—5题号题目和选项我的答案1计算机执行算法,靠的是?A 运行程序 B 读一遍流程图 C 手动计算2Python 里 while 循环头部以什么结束?A 英文冒号 B 分号 C 句号3循环体靠什么和循环头区分层次?A 空行 B 缩进 C 序号4程序运行后屏幕上没有任何提示,最可能是?A 计算机坏了 B 这组数据没有解 C 忘了按回车5Python 里 tu 和 Tu 是?A 两个不同的变量 B 同一个变量 C 都不能用小浙提示第 4、5 题最容易错,先想清楚再说答案。2223随堂练习(二)提升题 6—10题号题目和选项我的答案6下面哪一行会让程序报错?A while tu < 36: B while tu < 36 C while(tu<36):7判断“脚数等于 94”,程序里应该写成?A ji*2+tu*4 == 94 B ji*2+tu*4 = 94 C ji*2+tu*4 > 948变量 jie 用来记录什么?A 循环跑到第几次 B 有没有找到符合条件的解 C 鸡的只数9while 循环什么时候停止?A 判断条件不成立时 B 循环体写完时 C 程序保存时10把 35 头 94 脚改成 30 头 88 脚,要改哪几处?A 只改 35 这一处 B 循环条件、ji 的算式、判断条件三处 C 都不用改小浙提示第 6、9 题看条件,第 10 题要说全三处。2324随堂练习(三)综合题 11—14题号题目和选项我的答案11判断:程序能运行,结果就一定是对的。A 对 B 错12判断:Python 里的标点要用英文半角输入。A 对 B 错13判断:调整数据后程序没有任何输出,说明这个算法一定错了。A 对 B 错14判断:好的算法往往能解决同一类问题,而不是只解决某一个特定问题。A 对 B 错小浙提示判断题也要写清理由。2425参考答案对一对题号1234567答案AABBABA题号891011121314答案BABBABA讲评要点第 4 题:没有输出不一定是程序坏了,也可能是这组数据没有解。第 5、6、9 题:Python 区分大小写;while 行末要有英文冒号;条件不成立时循环才停。第 13 题:算法没错,是算法还缺一句“找不到解”的提示。小浙提示重点讲评第 4、5、6、9、13 题。2526课堂小结本课回顾1承接上一课把流程图写成了六行程序。2运行程序在 IDLE 里打开、运行,计算机就按步骤执行算法。3循环条件成立就反复做,条件不成立就停下来。4调试出错有三类:录入错误、语法错误、逻辑错误。5完善算法用变量 jie 记下有没有解,让算法对任何数据都有输出。好的算法,能解决一类问题。小浙提示一句话:好的算法,能解决一类问题。2627关键概念记一记1运行程序让计算机按算法一步一步执行,靠的是运行程序。2循环的停止while 后面的条件不成立时,循环就结束。3调试根据报错信息和运行结果,找错、改错的过程。4完善算法让算法对任何一组数据都有输出,能解决一类问题。跑起来、找出错、改周到——这三步,每写一个程序都要走一遍。小浙提示把这四个词抄进笔记本。2728学习评价评一评评价内容自评互评师评会在 IDLE 里打开并运行一段程序☆☆☆☆☆☆☆☆☆能说出 while 循环什么时候反复做、什么时候停☆☆☆☆☆☆☆☆☆能看着报错信息找到错误,并说出属于哪一类☆☆☆☆☆☆☆☆☆能用变量记下“有没有解”,让算法对任何数据都有输出☆☆☆☆☆☆☆☆☆☆☆☆ 能独立完成并说清理由;☆☆ 需要一点提示;☆ 需要同伴帮助。没到三星的那一项,就是课后的复习重点。小浙提示没到三星的,就是复习重点。2829课后作业分层完成01基础(必做)在 IDLE 里运行鸡兔同笼的程序,把输出抄在任务单上。02提高(选做)改成 30 头 88 脚,运行并核对是不是 16 只鸡、14 只兔。03拓展(选做)把 94 改成 95,看程序有什么反应,再补上“没有解”的提示。04阅读读《屏幕上的红字,是帮手不是敌人》。作业里的数据要写明“示例”,不出现真实同学的姓名。小浙提示数据要标“示例”,不写真实姓名。2930拓展阅读读一读屏幕上的红字,是帮手不是敌人程序出错时,屏幕上会出现一行红色的报错信息。很多人第一反应是关掉重来;其实那行红字是线索,它常常直接指出出错的行。常见的原因就那么几类:大小写写错、标点用了中文、少了冒号、缩进层次不对。还有一种情况不报错,结果却不对——那要回到流程图,一步一步查。好算法还要经得起换数据:能找到解要说,找不到解也要说。读后想一想:你的程序报过什么错?后来是怎么找到的?小浙提示读后想一想:你的程序报过什么错?30本课结束 谢谢观看课后想一想:你的程序出过错吗?你是怎么找到的?浙教版 小学信息科技 · 六年级上册《算法的执行》教学设计第一单元 算法的实现 · 第 5 课 · 1 课时(40 分钟) · 配套课件 31 页课题 算法的执行 教材版本 浙教版六年级上册单元 第一单元 算法的实现 课时 1 课时(40 分钟)执教教师 学校课型 新授课 授课时间一、教材分析《算法的执行》是浙教版小学信息科技六年级上册第一单元“算法的实现”的第五课,上接第 4 课《用程序设计语言描述算法》。上一课已经按流程图写好了鸡兔同笼的六行程序:tu = 0;while tu < 36:;ji = 35 - tu;if ji * 2 + tu * 4 == 94:;print(ji, "只鸡,", tu, "只兔。");tu = tu + 1。程序写成了,可它躺在文件里不动。本课就做三件事:让它跑起来,看看计算机是怎么一步一步做的;跑出问题时学会读线索、找错改错;再换几组数据,把算法改得更周到。教材给出的核心内容有四件事:一是运行程序,计算机按算法一步一步执行,靠的是运行程序——在 IDLE Shell 里用 File→Open 打开程序文件,在程序编辑器里用 Run→Run Module 运行;二是条件循环语句 while,后面接判断条件、行末写英文冒号、下面缩进的部分是循环体,条件成立就重复执行,不成立就停止;三是调试,程序出错有三类原因(录入错误、语法错误、逻辑错误),Python 严格区分大小写、标点要用英文半角、用缩进和冒号区分层次,出错时屏幕会给出线索;四是完善算法,用变量 jie 记录有没有找到解(jie = 1 有解、jie = 0 无解),没有解时输出提示,使算法对任何一组数据都有输出。教材的“试一试”让学生改总头数与总脚数再运行,体会好的算法能解决一类问题。二、学情分析六年级学生已经会读程序、能照着流程图写出六行代码,但“程序跑起来以后计算机到底做了什么”是新的。学生的困难主要有四处:一是看不见循环的执行过程,不知道该盯着 tu、ji、脚数哪几个量看;二是分不清出错的三类原因,只要一报错就觉得“程序全错了”;三是不明白“换一组数据要顺着一路改到底”,改漏一处就得不到结果;四是想不到“找不到解也是一种结果”,以为屏幕上没有输出就是计算机坏了。因此本课的设计要点是“一条线走到底,一次只解决一个问题”。全课只有一道题:鸡兔同笼。第一步让它跑起来,看清循环是怎么转的;第二步故意把数据换成 35 头 95 脚,让它一句提示也没有,由此发现问题;第三步加三处 jie,把算法补周到。每一站都配一个当堂动笔的小活动:把三次运行的输出照原样抄下来、给四处错误分分类、把缺的三处补齐。全课的题目数据、程序与练习情境均为示例数据,不出现真实的未成年人姓名与照片。三、教学目标信息意识· 知道计算机通过运行程序来执行算法,愿意在动手改之前先看程序跑成什么样。· 看到屏幕上的报错和空白结果时,知道它们是线索、不是“坏了”,愿意顺着线索去找原因。计算思维· 能读懂 while 循环的执行过程,说出循环体反复做什么、循环什么时候停。· 能说出程序出错的三类原因,并能根据屏幕上的线索判断属于哪一类。· 知道用变量 jie 记录“有没有找到解”,理解找不到解时也该有输出。数字化学习与创新· 能在 IDLE 里打开并运行程序,把屏幕上显示的内容照原样记录下来。· 能换一组数据并找出要改的几处,运行核对结果;能给缺了三处的程序补全,让它找不到解时也说一句话。信息社会责任· 知道程序出错是常事,愿意静下心来找原因、改程序,不因为报错就放弃。· 知道写程序要按计算机能认的规矩来(英文半角标点、缩进、区分大小写),做事讲规范。· 活动与作业中的题目数据、程序均为示例数据,不出现真实同学的姓名与照片。四、教学重点与难点教学重点:知道计算机通过运行程序来执行算法;能看懂 while 循环的执行过程,说出循环什么时候停;知道程序出错有录入、语法、逻辑三类原因。教学难点:把一个具体的算法改造成能解决一类问题的算法——认识到“找不到解”也是一种结果,会用变量 jie 记录并在循环结束后给出提示。五、教学准备教师:教学课件(31 页)、核心动画(5 分 03 秒,带配音)、“走一遍循环”执行过程表(自制)、找错卡与补全卡(自制)、学生活动任务单、学习评价表。学生:活动任务单、笔;有条件的在机房电脑上打开 IDLE 同步运行程序。六、教学方法与学法指导教法:任务驱动法、演示法、对比教学法、发现式教学法。以“程序写好了,让它跑起来”这一个任务贯穿全课,用一张执行过程表把循环转动的过程摊开给学生看,用一个“明明该有答案、屏幕上却什么也没有”的意外引出发问。学法:观察记录法、填表整理法、动手改错法、讨论辨析法。学生先看程序怎么跑,再动手把三次运行的结果抄下来,然后给错误分类、把缺的三处补齐,最后议一议是谁的问题。七、教学过程环节 教师活动 学生活动 设计意图 时间一、承接与导入 回扣上一课写好的六行程序,一行一行念一遍。追问:程序写完了,它自己会动吗?——不会,程序躺在文件里不动,计算机不会自己去做。交代本课的三件事:跑起来、找出错、改周到。 跟着念一遍六行程序;说出“写在纸上的程序不动手就什么也不会发生”;明确本课要解决的三件事。 用上一课的成品开课,不重新读题、不重复讲算法,一句话就把学生带到“程序要运行”这个新问题上。 3 分钟二、运行程序:两步走 演示运行程序的两步:第一步在 IDLE Shell 里用 File→Open 打开保存好的程序文件;第二步在程序编辑器里用 Run→Run Module 运行,结果会显示在 Shell 窗口里。归纳一句:计算机执行算法,靠的就是运行程序——按既定步骤,高速、准确,不知疲倦。 在自己的电脑上跟着做两步,指一指结果出现在哪个窗口;说出“打开”和“运行”各是哪一步的活儿。 把“程序怎么跑起来”讲清楚,后面的观察、改错、完善才有落点;两条指令看得见、摸得着,学生回到机房就能自己再做一遍。 4 分钟三、核心:走一遍循环 出示执行过程表,带学生一行一行看循环是怎么转的:tu 是 0 时 ji 是 35、脚数 70,不成立;tu 是 1 时脚数 72,还不成立;一直试到 tu 是 12,ji 是 23,脚数正好 94——成立,把结果输出;tu 再加一变成 36,36 小于 36 不成立,循环就停下来。点明:冒号下面缩进的那几行才是循环体,条件成立就反复做,不成立就停。 对照表格说出每一次的 tu、ji、脚数;说出第 13 次判断成立、屏幕上出现“23 只鸡, 12 只兔。”;说出循环是在 tu 加到 36 时停下来的。 这是本课的第一个核心页。学生第一次“看见”循环在转,知道该盯着哪几个量看,后面出错时才有办法一句一句念着找。 6 分钟四、调试:错在哪儿 讲清三类原因:第一类录入错误(想写 tu 写成了 Tu,Python 区分大小写,这是两个变量);第二类语法错误(少了冒号、标点用了中文,程序跑不起来);第三类逻辑错误(程序能跑,结果却不对,多半是缩进层次错了或条件写反了)。再带学生读屏幕上的线索:expected ':' 指向缺冒号,NameError 指向名字找不到(多半是大小写),invalid character 指向标点用了全角。 把三类原因抄在任务单上;对照“屏幕上出现什么—问题出在哪儿—怎么改”逐条读一遍;说出“报错不可怕,它是计算机在告诉我们哪里没写对”。 把最容易慌的一件事拆成三条能对上号的线索,学生以后照着线索找,不用凭感觉乱改。 7 分钟五、试一试:换一组数据 把数据换成 30 头 88 脚,带学生找出要改的三处:循环条件 tu < 36 改成 tu < 31、ji = 35 - tu 改成 ji = 30 - tu、判断的 == 94 改成 == 88;运行后屏幕上应是 16 只鸡、14 只兔。再只把 94 改成 95,运行——屏幕上什么也没有。追问:为什么一句提示也没有?点明鸡 2 只脚、兔 4 只脚都是偶数,脚数一定是偶数,95 是奇数,怎么试都对不上。随即组织活动一:把三组数据运行后的输出照原样抄在任务单上。 找出三处要改的地方并说明“为什么一改就要顺着一路改到底”;观察第三组没有任何输出;动手抄三次运行的输出;说出发现的新问题。 前两组是“对得上”的正例,第三组是“什么也没有”的反例。一个意外的空白页,比老师讲十遍“算法要有输出”都管用,活动一的三行记录又成了下一环节的讨论材料。 6 分钟六、完善算法:用 jie 记下来 承接发现的问题:这不是程序写错了,是算法还少交代一件事——找不到解的时候也该说一声。带学生加三处:循环之前先说没有解 jie = 0;循环里面找到解就改成 jie = 1;循环之后再看一眼,jie 还是 0 就输出“没有符合条件的答案。”出示完善后的程序,对照两种结果:35 头 94 脚有解,35 头 95 脚输出“没有符合条件的答案。”随即组织活动三:把这段程序里缺的三处补上。 说出“缺的是那句没有解”的提示;把三处改动的位置说清楚;在任务单上补齐缺的三处,再对照完善后的程序核对。 这是本课的第二个核心页。学生看到“多这三处,结果就不一样了”,第一次体会到:调试不只是改错,还可以让算法更周到。 6 分钟七、活动二与辨析:辨一辨、议一议 组织活动二:出示小明写的程序,四处错——while 那行末尾少了英文冒号、判断用了 = 、Tu 和 tu 混用、tu = tu + 1 缩进多了一层;让学生先自己找,再分别归到三类原因里,最后说明改法。再议一议:35 头 95 脚的程序一句提示也没有,到底是谁的问题?(算法没错、程序没错,缺的是“没有解”那句话。) 独立找出四处错,把错法和类型填进表格;同桌交流找到几处、归到哪一类;围绕“是算法错了还是程序错了”说明自己的理由。 把三类错误放到一段真实程序里辨析,比逐条背诵管用;议一议把落点顶到“好的算法能解决一类问题”,为后面的练习与下一课留出接口。 5 分钟八、练习、小结与评价 交代 14 题分三层(基础 1—5、提升 6—10、综合 11—14)与讲评重点(第 4、5、6、9、13 题),对答案后顺着板书理一遍全课路线:运行 → 调试 → 完善;核对学习评价表,布置分层作业。 独立完成基础题,提升题与综合题同桌互查;对答案后订正;对照板书复述“跑起来—找出错—改周到”;完成自评,记下没到三星的那一项。 用练习检验三件事是否真的落地;整课收口成一句话——好的算法,能解决一类问题,而不是只解决某一个特定问题。 3 分钟八、板书设计算法的执行承接:上一课写好了六行程序——程序躺在文件里不动,计算机不会自己去做运行程序:File → Open 打开 │ Run → Run Module 运行 │ 结果出现在 Shell 窗口循环的执行:条件成立 → 一遍一遍做循环体;条件不成立 → 立刻停下来执行路线:tu 从 0 试到 12 │ 第 13 次:ji = 23,脚数 94,成立,输出调试三类:录入错误(Tu ≠ tu) │ 语法错误(缺冒号、中文标点) │ 逻辑错误(缩进、条件)换数据:35 头 94 脚 → 23 只鸡, 12 只兔 │ 30 头 88 脚 → 16 只鸡, 14 只兔 │ 35 头 95 脚 → 什么也没有完善算法:jie = 0(循环前)→ jie = 1(找到解)→ if jie == 0: 输出提示一句话:好的算法,能解决一类问题,而不是只解决某一个特定问题。九、作业设计(分层)基础题(必做):在 IDLE 里打开鸡兔同笼的程序并运行一遍,把屏幕上显示的运行结果照原样抄在任务单的记录区里;再把程序里的 35、94 改成 30、88,运行并核对结果。提高题(选做):只把程序里的 94 改成 95,运行一次,说说屏幕上为什么什么也没有;再把完善后的程序输进去跑一遍,看看这次屏幕上出现了什么。拓展题(选做):给完善后的程序再加一句提示,让有解的时候也能先说一句“找到了”;说说这句话应该写在循环之前、循环里面,还是循环之后。阅读任务:读《报错是计算机在跟你说话》,想一想你写程序时遇到过哪一条报错信息,后来是怎么找到问题的。作业要求:数据要标明“示例”,不出现真实同学的姓名;程序里的标点一律用英文半角,循环体、分支体要缩进。任务单练习参考答案:题号 1 2 3 4 5 6 7答案 A A B B A B A题号 8 9 10 11 12 13 14答案 B A B B A B A讲评要点:第 4 题让学生说清“没有输出”不等于“程序坏了”,也可能是这组数据本身没有解;第 5 题考查 Python 区分大小写(tu 和 Tu 是两个变量);第 6、9 题考查 while 的写法与停止时机——行末要有英文冒号,条件不成立时循环才停;第 13 题是本课的难点,要引导学生说出“算法没错、程序也没错,少的是那句‘没有解’的提示”。活动二的四处错(缺英文冒号、用 = 判断、Tu 与 tu 混用、tu = tu + 1 缩进多一层)建议只讲错得多的题,把时间留给学生说理由。十、学习评价说明本课采用自评、互评、师评相结合的方式,评价维度包括:能否说出计算机靠运行程序来执行算法,并知道运行程序的两步;能否说出 while 循环反复做什么、什么时候停;能否说出程序出错的三类原因并读得懂屏幕上的线索;能否理解用 jie 记录有没有解、让算法对任何一组数据都有输出。星级标准:☆☆☆ 能独立完成并说清理由;☆☆ 能完成但需要提示;☆ 需要在老师或同伴帮助下完成。十一、教学反思(课后对照以下问题填写)· 学生能不能说清“程序写好了为什么还要运行”?· 对照执行过程表时,有多少学生能自己说出第 13 次判断成立?· 三类错误里,哪一类学生最不容易分清楚?· 换数据时,有多少学生想到了“三处都要顺着一路改到底”?· 35 头 95 脚这一组,有多少学生自己想出了“脚数一定是偶数”?· 活动三里,有多少学生能独立把三处 jie 都补对?· 有条件的班级里,学生在 IDLE 里亲手运行过程序的人占多少?浙教版小学信息科技六年级上册 · 第 5 课《算法的执行》学习任务单班级:__________ 姓名:__________ 日期:__________本单中的题目数据与程序都是示例数据;请你也只写示例,不出现真实同学的姓名。认一认 运行、循环、调试与完善先把要认的东西认清楚,再动手运行程序。要认清的 我填计算机执行算法,靠的是______程序。运行程序两步:先在 IDLE Shell 里用 File → _____ 打开程序;再在程序编辑器里用 Run → _________ 运行。while 循环:条件____就一遍一遍执行循环体;条件____就停下来。程序出错的三类原因:_____错误、_____错误、_____错误。变量 jie 记录的是:有没有找到符合条件的___;jie = 1 表示___,jie = 0 表示___。我的疑问:________________________。活动一 把程序跑起来,记下结果在 IDLE 里打开程序、运行,把屏幕上显示的内容照原样抄下来;三行抄完,再和“对一对”那一列核对。序号 程序里的数据 我看到的输出(照原样抄) 对一对1 35 头 94 脚 23 只鸡, 12 只兔。2 30 头 88 脚 16 只鸡, 14 只兔。3 35 头 95 脚 (什么都没有)我发现的问题:第三组为什么一句提示也没有?____________________________。活动二 这段程序错在哪儿下面是一段同学写的程序,一共四处错。先自己找出来,再判断属于哪一类,最后写下改法。While tu < 36 / ji = 35 - tu / if ji * 2 + tu * 4 = 94: / print(ji, "只鸡,", tu, "只兔。") / tu = tu + 1处 这一行错在哪儿 属于哪一类 应该怎么改1 While tu < 362 (这一行末尾少了什么)3 if ji * 2 + tu * 4 = 94:4 tu = tu + 1我的方法:一句一句______出来,______的地方就有问题。活动三 给“没有解”补上提示下面这段程序缺了三处,补上以后,找不到解的时候它也会说一句话。tu = 0____ = 0while tu < 36: ji = 35 - tu if … == 94: ____ = 1 tu = tu + 1if ____ == 0: print("没有符合条件的答案。")处 这句话说的是哪一步 该填什么① 循环之前,先说没有解② 找到解时,把它记下来③ 循环之后,看看到底有没有解补完之后,35 头 95 脚这组数据运行的结果是:____________。辨一辨 下面说法对不对先判断对错,再写清理由。理由比结论更重要。说法 对 / 错 我的理由程序写好了,不运行也能知道它做得对不对。Python 里 while 那一行的末尾要写英文冒号。循环体靠缩进和循环头区分层次。程序能运行,结果就一定是对的。换了数据后屏幕上没有任何输出,说明算法一定错了。好的算法往往能解决同一类问题。练一练 随堂练习基础题 1—5 全班必做;提升题 6—10、综合题 11—14 同桌互查。题号 题目 我的答案1 计算机执行算法,靠的是?A 运行程序 B 读一遍流程图 C 手动计算2 Python 里 while 循环头部以什么结束?A 英文冒号 B 分号 C 句号3 循环体靠什么和循环头区分层次?A 空行 B 缩进 C 序号4 程序运行后屏幕上没有任何提示,最可能是?A 计算机坏了 B 这组数据没有解 C 忘了按回车5 Python 里 tu 和 Tu 是?A 两个不同的变量 B 同一个变量 C 都不能用6 下面哪一行会让程序报错?A while tu < 36: B while tu < 36 C while(tu<36):7 判断“脚数等于 94”,程序里应该写成?A ji*2+tu*4 == 94 B ji*2+tu*4 = 94 C ji*2+tu*4 > 948 变量 jie 用来记录什么?A 循环跑到第几次 B 有没有找到符合条件的解 C 鸡的只数9 while 循环什么时候停止?A 判断条件不成立时 B 循环体写完时 C 程序保存时10 把 35 头 94 脚改成 30 头 88 脚,要改哪几处?A 只改 35 这一处 B 循环条件、ji 的算式、判断条件三处 C 都不用改11 判断:程序能运行,结果就一定是对的。A 对 B 错12 判断:Python 里的标点要用英文半角输入。A 对 B 错13 判断:调整数据后程序没有任何输出,说明这个算法一定错了。A 对 B 错14 判断:好的算法往往能解决同一类问题,而不是只解决某一个特定问题。A 对 B 错评一评 学习评价在对应的星级上打钩,三星表示做得很好。评价内容 自评 互评 师评我能说出计算机靠运行程序来执行算法,知道运行程序的两步 ☆☆☆ ☆☆☆ ☆☆☆我能看懂 while 循环在做什么,能说出它什么时候停 ☆☆☆ ☆☆☆ ☆☆☆我能说出程序出错的三类原因,读得懂屏幕上的线索 ☆☆☆ ☆☆☆ ☆☆☆我明白 jie 是用来记录有没有解的,能让算法对任何一组数据都有输出 ☆☆☆ ☆☆☆ ☆☆☆课后作业1. 基础(必做):在 IDLE 里打开鸡兔同笼的程序并运行一遍,把屏幕上显示的运行结果照原样抄在记录区;再把程序里的 35、94 改成 30、88,运行并核对结果。2. 提高(选做):只把程序里的 94 改成 95,运行一次,说说屏幕上为什么什么也没有;再把完善后的程序输进去跑一遍,看看这次屏幕上出现了什么。3. 拓展(选做):给完善后的程序再加一句提示,让有解的时候也能先说一句“找到了”;说说这句话应该写在循环之前、循环里面,还是循环之后。4. 阅读:读一读《报错是计算机在跟你说话》,想一想你写程序时遇到过哪一条报错信息,后来是怎么找到问题的。5. 提醒:数据要标明“示例”,不出现真实同学的姓名;程序里的标点一律英文半角,循环体、分支体要缩进。我的运行记录 / 记录区:________________________________________________________________________________________________________________________________________________________________ 展开更多...... 收起↑ 资源列表 第05课_算法的执行_学习任务单.docx 第05课_算法的执行_教案.docx 第05课_算法的执行_核心动画.mp4 第05课_算法的执行_课件.pptx