第一单元 第5课 算法的执行 课件+教案+学习单 浙教版(2026)信息科技六年级上册

资源下载
  1. 二一教育资源

第一单元 第5课 算法的执行 课件+教案+学习单 浙教版(2026)信息科技六年级上册

资源简介

(共31张PPT)
UNIT 1 · LESSON 05 · 算法的实现
浙教版 小学信息科技 · 六年级上册 · 第一单元 算法的实现
算法的执行
程序跑起来,才知道算法对不对
主讲教师:×××
学校:×××小学
上一课写好的程序,这一课让它跑起来。
本课导航
CONTENTS
本课导航
跑一跑才知道对错,
改一改才好用。
01
承接:程序写好了
02
运行程序:两步走
03
走一遍循环:计算机怎么做
04
调试:错在哪儿
05
完善:让算法有话说
06
练一练,理一理
小浙提示
先看这一课要走的六站,心里有个数。
02
03
本课学习目标
第一单元 算法的实现 · 第 5 课
01
会在 IDLE 里打开一段程序,并把它运行起来。
02
能说出 while 循环什么时候反复做、什么时候停下来。
03
能看着报错信息找到错误,并说出它属于哪一类。
04
能用变量记下“有没有解”,让算法对任何数据都有输出。
一句话:跑起来、找出错、改周到。
小浙提示
读一遍目标,重点看“运行、调试、完善”。
03
04
程序写好了,怎么让它跑起来
第一部分 · 从上一课接到本课
上一课把流程图写成了下面这六行程序。写出来还得跑起来,才知道对不对。
上一课写好的程序
tu = 0
while tu < 36:
ji = 35 - tu
if ji * 2 + tu * 4 == 94:
print(ji, "只鸡,", tu, "只兔。")
tu = tu + 1
上一课
流程图变成程序
六行,一行对一行。
这一课
让程序跑起来
运行、调试、完善。
小浙提示
上一课写好的程序,先放在这里。
04
05
运行程序:两步走
知识建构 · 让程序跑起来
要让计算机按算法做事,就得让它运行程序——打开、运行,两步。
第一步
打开程序
在 IDLE Shell 里用 File → Open,找到保存好的程序文件,把它打开。
第二步
运行程序
在程序编辑器里用 Run → Run Module,计算机就照着程序一步一步做。
计算机执行算法的特点:按既定步骤,高速、准确、不知疲倦。
运行完,结果会显示在 Shell 窗口里。
小浙提示
打开、运行,两步就够了。
05
06
再看循环语句:它是怎么跑的
知识建构 · 循环的执行
循环能让一段程序反复做。要看清两点:反复做什么、什么时候停。
while tu < 36:
ji = 35 - tu
if ji * 2 + tu * 4 == 94:
print(ji, "只鸡,", tu, "只兔。")
tu = tu + 1
1
怎么反复
条件成立,就一遍一遍执行循环体。
2
什么时候停
条件不成立,循环立刻停下来。
小浙提示
反复做什么、什么时候停——循环就看这两点。
06
07
走一遍循环:计算机是怎么做的
核心页 · 执行过程
把程序跑起来,计算机就是这样一步一步做的。
循环跑到第几次
tu
ji = 35 tu
脚数
判断结果
第 1 次
0
35
70
不成立,继续
第 2 次
1
34
72
不成立,继续
第 3 次
2
33
74
不成立,继续
第 12 次
11
24
92
不成立,继续
第 13 次
12
23
94
成立,输出结果
第 13 次判断成立,把结果输出;tu 加到 36 时条件不成立,循环就停了。
小浙提示
第 13 次才算对,循环就是这样一步步试的。
07
08
程序出错了:三类原因
知识建构 · 调试(一)
程序写出来,不一定一次就写得对。出错的原因主要有三类。
第一类
录入错误
想写 tu,写成了 Tu。Python 区分大小写,Tu 和 tu 是两个变量。
第二类
语法错误
少了冒号、标点用了中文,计算机读不懂,程序跑不起来。
第三类
逻辑错误
程序能跑,结果却不对:缩进层次错了,或者条件写反了。
不管哪一类,都得靠一行一行地看、一遍一遍地试——这个过程叫调试。
报错不可怕,它是计算机在告诉我们哪里没写对。
小浙提示
出错有三类:录错了、写错格式、想错逻辑。
08
09
调试实战:看着屏幕找问题
知识建构 · 调试(二)
程序出错时,屏幕上会给出线索。把线索读清楚,错就好找了。
屏幕上出现什么
问题出在哪儿
怎么改
SyntaxError : expected ':'
while 那行末尾少了冒号
补一个英文冒号
NameError: name 'Tu' ...
大小写写错了:tu 写成 Tu
改回小写 tu
SyntaxError: invalid character
标点用了中文全角
换成英文半角
能运行,但结果不对
循环体的缩进层次错了
缩进按层次调整
读到报错不要慌:先看它指的是哪一行,再一句一句念出来。
小浙提示
先读屏幕上的线索,再一句一句念程序。
09
10
试一试:换一组数据
试一试 · 改了数据再运行
把程序里的 35 和 94 换掉,看看屏幕上会变出什么。
程序里的数据
要改哪几处
屏幕上出现什么
35 头 94 脚
不用改,就是上一课那一段
23 只鸡, 12 只兔。
30 头 88 脚
tu < 36 改 31;ji = 30 - tu;== 88
16 只鸡, 14 只兔。
35 头 95 脚
只把 94 改成 95
(什么都没有)
前两组都对上了,第三组却一句话也没有——这就是新问题。
第三组为什么不给一点提示?
小浙提示
改数据要顺着一路改到底,别漏了条件。
10
11
新问题:这组数据,一句提示也没有
发现问题 · 为完善算法做准备
35 个头、95 只脚。程序跑完了,屏幕上干干净净,什么也没有。
想一想
鸡和兔的脚数
一只鸡 2 只脚,一只兔 4 只脚,都是偶数,加起来一定是偶数。
比一比
95 是奇数
怎么试都对不上 95,一次也没对上,就没有任何输出。
问题在哪儿
算法少一句话
找不到解的时候,也该告诉用户一声。
这样的算法,不符合“算法要有输出”的要求。下一部分把它改周到。
找不到解,也该说一声。
小浙提示
95 是奇数,怎么试都对不上。
11
12
把算法改得更周到
第二部分 · 先想三个问题
换一组数据就一句话也没有。这不是程序写错了,是算法还少交代三件事。
问题一
找不到解时
屏幕上什么也没有,用户不知道是没解,还是程序坏了。
问题二
换个数据呢
数据一换要改的地方不止一处,很容易漏掉。
问题三
谁来记录
计算机不会自己判断“有没有找到”,得让它记下来。
下面两页,把这三个问题一个个解决掉。
三个问题一起看着想。
小浙提示
三个问题先想一想,答案在下面两页。
12
13
完善算法(一):用 jie 记下来
完善算法 · 记录有没有解
加一个变量 jie,专门记录“有没有找到符合条件的解”。
01
循环之前
先说没有解:jie = 0。
02
循环里面
找到了解,就把它改成 jie = 1。
03
循环之后
再看一眼:jie 还是 0,就输出“没有解”。
循环结束后补上这两行
if jie == 0:
print("没有符合条件的答案。")
小浙提示
jie 就是“有没有解”的记号。
13
14
完善后的程序:两种结果都有话说
核心页 · 完善后的运行结果
还是那道题,只多了三处,程序就变得周到了。
完善后的程序 · 鸡兔同笼
tu = 0
jie = 0
while tu < 36:
ji = 35 - tu
if ji * 2 + tu * 4 == 94:
print(ji, "只鸡,", tu, "只兔。")
jie = 1
tu = tu + 1
if jie == 0:
print("没有符合条件的答案。")
35 头 94 脚
有解
屏幕上出现:23 只鸡, 12 只兔。
35 头 95 脚
没有解
屏幕上出现:没有符合条件的答案。
小浙提示
同样一道题,两种结果都要说得清。
14
15
活动一:把程序跑起来,记下结果
学生活动 · 任务单活动一
在 IDLE 里打开程序、运行,把屏幕上显示的内容照原样抄下来。
序号
程序里的数据
我看到的输出(照原样抄)
1
35 头 94 脚
2
30 头 88 脚
3
35 头 95 脚
三行抄完,把你发现的问题写在任务单上,等下一部分一起解决。
小浙提示
抄的是屏幕上真实出现的内容,别凭记忆写。
15
16
活动二:这段程序错在哪儿
学生活动 · 任务单活动二
下面这段程序有四处错。先自己找,再把错法和类型填进右边的表。
小明写的程序
tu = 0
while tu < 36
ji = 35 - tu
if ji * 2 + tu * 4 = 94:
print(ji, "只鸡,", tu, "只兔。")
Tu = Tu + 1
处
错在哪儿
哪一类
1
少了英文冒号
语法错误
2
用了 = 判断
语法错误
3
Tu 和 tu 混用
录入错误
4
缩进多了一层
逻辑错误
小浙提示
一句一句念,念不通的地方就有问题。
16
17
活动三:给“没有解”补上提示
学生活动 · 任务单活动三
下面这段程序缺了三处。把该填的地方补上,让它找不到解也说一句话。
补完整这段程序
tu = 0
______ = 0
while tu < 36:
ji = 35 - tu
if … == 94:
______ = 1
tu = tu + 1
if ______ == 0:
print("没有符合条件的答案。")
处
该填什么
①
循环之前,先让 jie 等于 0
②
找到解时,把 jie 改成 1
③
循环之后,看 jie 是不是 0
小浙提示
三处填上,程序就有话说了。
17
18
想一想:好的算法能解决一类问题
议一议思维 · 本课的落点
同一段程序,换成 30 头 88 脚能用,换成 35 头 95 脚也不会哑口无言。
比一比
只解一道题
题目一改,算法就作废了。
再比一比
能解一类题
数据怎么换,都还是这套做法。
所以
把话说全
能找到解要说,找不到解也要说。
好的算法,往往能解决同一类问题,而不是只解决某一个特定问题。
改了数据还照样能用,才叫好算法。
小浙提示
数据怎么换都能用,才叫好算法。
18
19
辨一辨
练一练
说法
对 / 错
我的理由
程序写好了,不运行也能知道它做得对不对。
Python 里 while 那一行的末尾要写英文冒号。
循环体靠缩进和循环头区分层次。
程序能运行,结果就一定是对的。
换了数据后屏幕上没有任何输出,说明算法一定错了。
好的算法往往能解决同一类问题。
说清理由,比只写一个“对”或“错”更重要。
小浙提示
重点看第 1、5 句,理由要写出来。
19
20
议一议:是算法错了,还是程序错了
议一议
35 头 95 脚的程序一句提示也没有——到底是谁的问题?
算法没错
枚举法照样能用
一只一只试过去,方法本身没有错。
程序没错
六行照着流程图写
一行对一行,写法和上一课一样。
缺的是什么
那句“没有解”
算法没交代找不到解时该怎么办。
完善算法,就是让它对任何一组数据都有话说——这正是调试之后要做的事。
要改的是算法,不是怪计算机。
小浙提示
要改的是算法,不是怪计算机。
20
21
练习与小结:再走一遍
第三部分 · 练一练,理一理
01
练习
14 题分三层:基础 1—5、提升 6—10、综合 11—14。
02
讲评
重点讲第 4、5、6、9、13 题,说清为什么。
03
小结
理一理:运行 → 调试 → 完善。
做完就讲,讲完就理——这一课才算收口。
小浙提示
拿不准的题,回到“跑起来—找错—改周到”上想。
21
22
随堂练习(一)
基础题 1—5
题号
题目和选项
我的答案
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 都不能用
小浙提示
第 4、5 题最容易错,先想清楚再说答案。
22
23
随堂练习(二)
提升题 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 > 94
8
变量 jie 用来记录什么?A 循环跑到第几次 B 有没有找到符合条件的解 C 鸡的只数
9
while 循环什么时候停止?A 判断条件不成立时 B 循环体写完时 C 程序保存时
10
把 35 头 94 脚改成 30 头 88 脚,要改哪几处?A 只改 35 这一处 B 循环条件、ji 的算式、判断条件三处 C 都不用改
小浙提示
第 6、9 题看条件,第 10 题要说全三处。
23
24
随堂练习(三)
综合题 11—14
题号
题目和选项
我的答案
11
判断:程序能运行,结果就一定是对的。A 对 B 错
12
判断:Python 里的标点要用英文半角输入。A 对 B 错
13
判断:调整数据后程序没有任何输出,说明这个算法一定错了。A 对 B 错
14
判断:好的算法往往能解决同一类问题,而不是只解决某一个特定问题。A 对 B 错
小浙提示
判断题也要写清理由。
24
25
参考答案
对一对
题号
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、6、9 题:Python 区分大小写;while 行末要有英文冒号;条件不成立时循环才停。
第 13 题:算法没错,是算法还缺一句“找不到解”的提示。
小浙提示
重点讲评第 4、5、6、9、13 题。
25
26
课堂小结
本课回顾
1
承接
上一课把流程图写成了六行程序。
2
运行程序
在 IDLE 里打开、运行,计算机就按步骤执行算法。
3
循环
条件成立就反复做,条件不成立就停下来。
4
调试
出错有三类:录入错误、语法错误、逻辑错误。
5
完善算法
用变量 jie 记下有没有解,让算法对任何数据都有输出。
好的算法,能解决一类问题。
小浙提示
一句话:好的算法,能解决一类问题。
26
27
关键概念
记一记
1
运行程序
让计算机按算法一步一步执行,靠的是运行程序。
2
循环的停止
while 后面的条件不成立时,循环就结束。
3
调试
根据报错信息和运行结果,找错、改错的过程。
4
完善算法
让算法对任何一组数据都有输出,能解决一类问题。
跑起来、找出错、改周到——这三步,每写一个程序都要走一遍。
小浙提示
把这四个词抄进笔记本。
27
28
学习评价
评一评
评价内容
自评
互评
师评
会在 IDLE 里打开并运行一段程序
☆☆☆
☆☆☆
☆☆☆
能说出 while 循环什么时候反复做、什么时候停
☆☆☆
☆☆☆
☆☆☆
能看着报错信息找到错误,并说出属于哪一类
☆☆☆
☆☆☆
☆☆☆
能用变量记下“有没有解”,让算法对任何数据都有输出
☆☆☆
☆☆☆
☆☆☆
☆☆☆ 能独立完成并说清理由;☆☆ 需要一点提示;☆ 需要同伴帮助。
没到三星的那一项,就是课后的复习重点。
小浙提示
没到三星的,就是复习重点。
28
29
课后作业
分层完成
01
基础(必做)
在 IDLE 里运行鸡兔同笼的程序,把输出抄在任务单上。
02
提高(选做)
改成 30 头 88 脚,运行并核对是不是 16 只鸡、14 只兔。
03
拓展(选做)
把 94 改成 95,看程序有什么反应,再补上“没有解”的提示。
04
阅读
读《屏幕上的红字,是帮手不是敌人》。
作业里的数据要写明“示例”,不出现真实同学的姓名。
小浙提示
数据要标“示例”,不写真实姓名。
29
30
拓展阅读
读一读
屏幕上的红字,是帮手不是敌人
程序出错时,屏幕上会出现一行红色的报错信息。
很多人第一反应是关掉重来;其实那行红字是线索,它常常直接指出出错的行。
常见的原因就那么几类:大小写写错、标点用了中文、少了冒号、缩进层次不对。
还有一种情况不报错,结果却不对——那要回到流程图,一步一步查。
好算法还要经得起换数据:能找到解要说,找不到解也要说。
读后想一想:你的程序报过什么错?后来是怎么找到的?
小浙提示
读后想一想:你的程序报过什么错?
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 < 36
2 (这一行末尾少了什么)
3 if ji * 2 + tu * 4 = 94:
4      tu = tu + 1
我的方法:一句一句______出来,______的地方就有问题。
活动三 给“没有解”补上提示
下面这段程序缺了三处,补上以后,找不到解的时候它也会说一句话。
tu = 0
____ = 0
while tu < 36:
  ji = 35 - tu
  if … == 94:
    ____ = 1
  tu = tu + 1
if ____ == 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 > 94
8 变量 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. 提醒:数据要标明“示例”,不出现真实同学的姓名;程序里的标点一律英文半角,循环体、分支体要缩进。
我的运行记录 / 记录区:
________________________________
________________________________
________________________________
________________________________
________________________________

展开更多......

收起↑

资源列表