内容正文:
算 法 的 执 行
六 年 级 第 一 单 元 第 5 课
o●o 说一说:每条语句的含义 。 ●0
鸡兔同笼
while
条件循环语句
xtu=0
while tu <35:
→ji=35-tu
if ji*2+tu*4==94:
print (ji, " 只鸡,",tu, "只兔。")
tu=tu+1
if
单分支条件语句
print
输出语句
赋值语句
o●o 说一说:每条语句的含义。●o
鸡兔同笼
枚举对象为兔子的数量,枚举范围为0-35
tu=0 ———
while tu <35: 如果符合正确解条件,则输出鸡兔的只数
ji=35-tu 否则不输出,兔的数量增加1,循环语句
if ji*2+tu*4==94:
print (ji, " 只鸡,",tu, " 只兔。")
tu=tu+1
编好程序后,执行程序的最终结果是?
o ●o 跑一跑:运行程序看结果o●0
步骤一:看微课,打开一鸡免同笼”一程
序
DLE S
Python 3.11 Module Docs (64-bit) +N :a Help 2022. 19:44:02)[MSC v.1934
edita'or 'licenseO'for pore informm on.
IDLE (Python 3.1164-bit)
鸡免同 py (3.1
Python 3.11 (64-bit) 0 Ed
C oUE Ctr -,9 数
tu +(ji 只鸡,,tu," 只 兔 。 )
1. 观 看 “IDLE 运行python 程序”微课
2.打开“鸡兔同笼.py”程序并运行
Ln:9
tu
rint
,
量
出鸡兔的只
范围为0-35
输:
畢
则4
枚
解tu条*
的数
i#
lej
举
shi
#枚
Q
F4
I
nt
st
s
ri
E
o
P
tu
Fil
0
o
5
d
4
n
7a
W
预期结果 执行结果 验证算法是否正确
o●o 跑一跑:运行程序看结果o●
步骤二:运行程序,记录结果
tu=0
while tu<35:
ji=35-tu
if ji*2+tu*4==94:
print(ji,"只鸡,",tu,"只兔。") tu=tu+1
Run 快捷键F5
“跑程序”
Eile Edit Format Run pptions Window Help
o●o 跑一跑:运行程序看结果o● o
步骤二:运行程序,记录结果
Run 快捷键F5
win32
"help","copyright","credits"or
=RESTART:[G:\ 鸡 兔 同 笼 .py
23 只鸡,12只兔。
Python_3.11.5(tags/v3.11.5:cce6ba9,Aug
242023,14:3
"license()"for
程序结果输出
AMD64 )]on Type
文件信息
Python 语言严格要求区分大小写
Tu≠tu
Eile Edit Format Run Options Window Hel
tu=0
while Tu<35:
ji=35-tu
if ji*2+tu*4==94:
print (ji, " 只 鸡 ,",tu, " 只兔。
=RESTART:G:\ 鸡 兔 同 笼 .py
Traceback(most recent call last):
File "G:\鸡兔同笼.py",line 2,in <module>
while Tu<35:
NameError:name 'Tu'is not defined.Did you mean: 'tu'?
" )
问题1:录入错误,变量大小写要区分
o●o 反复调试:找到问题的解决方法。 ●0
Python 3.11.5(tags/v3.11.5:cce6ba9,Aug 242023,14:38:34)[MSC v.1936
AMD64)]on win32
Type "help","copyright","credits"or "license()"for more information.
鸡兔同笼.py-G:\ 鸡兔同笼py(3.11.5)
Eile Edit Shell Debug Qptions Window Help
tu=tu+1
中文状态下
英文状态下
所有的标点符号都要
英文状态下输入
问题2:语法错误,非英文状态输入
Format Run Options Window
while tu <35:
ji=35-tu
if ji*2+tu*4==94:
print(ji, “只鸡, ”,tu,"
tu=tu+1
0
Edit
tu
Fi
Help
#假设:免初始值为0 #总头数为35,则兔的 #鸡头则是35减兔头
#总脚数为94,利用头
只兔。")#输出“X 只鸡,X 只兔 #不符合条件,假设兔
o●o 反复调试:找到问题的解决方法。 ●0
Python 语言使用缩进和 :”区分代码之间的层
次
鸡免同笼py-G:\ 鸡免同笼.py (3.11.5)
Eile Edit Format Bun Qptions Window Help
tu=0
/35:
ii =35-tu
Jr tu*4==94:
print(ji," 只鸡 ,",tu," 只兔。")
tu=tu+1
问题3:逻辑错误,缩进影响代码层次
o●o 反复调试:找到问题的解决方法。●o
任意调整参数时可能会出现没有解的情况,程序不输出任何结果
每次都要修改python 源代码后再重新运行,不方便四年级学生使用。
在修改和记录的过程中,发现了什么问题?
修改总头数和总脚数的值,有什么结果?
o●o 小组探究:修改数据观察结果。●o
■■
■
合 作 : 完 善 算 法 。●0
问题:任意调整参数时可能会出现没有解 的情况,程序不输出任何结果
针对提出的问题,小组讨论解决办法, 合作修改流程图
o●o 小 组
开始
结来
初次设计的算法流程图
是
出ji、tu 的值
2+tu×
否
否
Eile Edit Format Bun Qptions Window Help
tu=0
#用变量jie 跟踪是否有解,初始赋值为0
jie=0
#枚举的对象为兔子的数量,枚举范围为0-35
while tu <36:
ji=35-tu
#如果符合正确解条件,则输出鸡兔的只数 if ji*2+tu*4==94:
#若有解,将变量jie赋值为1
jie=1
print(ji," 只鸡,”,tu," 只兔。“)
tu=tu+1
#无解时输出无解提示
if jie==0:
print( ”此题无解”)
开始
户输入
否
jie =0
输出“此题无解”
i×2+tu 4=jiuo?
结来
o●o 小 组 合 作 : 完 善 程 序 。●o
鸡免同笼【完善】 G/ 鸡免同笼【完善】 py(3 5)
修改流程图,完善程序
修改后的算法流程图
.11.
否
py-
否
发现的问题 解决问题的创意
o●o 小 组 探 究 : 完 善 新 创 想o●
发现问题 —→ 改进算法 —→ 修改程序—→运行调试验证
o●o 总 结 本 课 :交 流 分 享 。●o
六 年 级 第 一 单 元 第 5 课
谢 谢
$$