内容正文:
第三章 算法基础
3.1 体验计算机解决问题的过程
一、情境导入
鸡兔同笼问题的探讨
一个笼子里有鸡和兔,现在只知道里面一共有个10头,
30个脚,鸡和兔各有多少只?请每个小组将你们的所有求
解的方法和步骤写到学习任务单学习卡1指定位置中。
ꢀꢀ高中信息技术必修1第三章《算法基础
一、情境导入
鸡兔同笼问题的探讨
方法一:方程法
设所求的鸡数是x,兔数是y,已知笼子里的头数是10,脚数是30,
依题意得到如下的方程组:
x+y=10
解方程组得: x=5
2x+4y=30
y=5
ꢀꢀ高中信息技术必修1第三章《算法基础
》
一、情境导入
鸡兔同笼问题的探讨
方法二:假设法:
方法三:抬腿法:
假设把兔子的两条腿抬起来,则少了很
多腿。
假设都是兔子,则多出很多腿。
则鸡有:(4×10-30)÷2=5(只)
兔子:10-5=5(只)
则有兔子:(30-10×2)÷2=5(只)
鸡:10-5=5(只)
方法四:列表法
方法……
鸡 1 2 3 4 5 6 7 8 9
兔 9
脚 38 36 34 32 30 28 26 24 22
8
7
6
5
4
3
2
1
ꢀꢀ高中信息技术必修1第三章《算法基础
》
二、归纳总结
人工解决问题的过程
• 明确所要解决的问题和给出的条件
•根据已有的经验和知识确定解决问题的方法
•解决问题。
1
2
3
4
•验证正确性。
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程
当有12345个头,45678个脚时,鸡、兔各多少只?
当数据量很大,人工处理效率很低时,我们可以借助计算
机,来解决问题。
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程:
分析
问题
设计
算法
分析问题的需求情况,已知条件和需要解决的问题。
我们把给出解决问题的详细方法和步骤,这一过程称之为设计算法。
我们首先试着模拟数学方程法看看能不能解决这个问题。
根据要求完成学习任务单中学习卡2中数学方程法的探讨。
实践活动:
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程:
分析
问题
设计
算法
编写
程序
利用Python语
言编写程序
根据学习卡2我们利用数学方程法得到:
heads=int(input('请输入头数:'))
① 输入鸡兔共heads个头,legs个脚。 legs=int(input('请输入脚数:'))
2×heads-legs/2
legs/2-heads
② chickesns=
③ rabbits=
。 chickens=int(2*heads-legs/2)
。 rabbits=int(legs/2-heads)
④ 输出鸡的数量chickens只,兔子的数 print ("鸡的数量为",chickens)
量rabbits只。 print ( "兔的数量为",rabbits)
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程:
分析
问题
设计
算法
编写
程序
可以选择一种计算机语言工具来编写程序,实现算法。
只要算法确定,对计算机程序设计语言的选择没有特别的限定。
通常根据问题的特性和编程人员对语言的熟悉程度来选定编写程序。
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程:
分析
问题
设计
算法
编写
程序
调试
运行
请同学们打开分发的“数学方程法.py”这个程序,输入
多组数据,看看是不是能快速的解决鸡兔同笼问题,并将运
行结果输入到学习卡3表格左边相应的位置中。
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程:
分析
问题
设计
算法
编写
程序
调试
运行
如果程序语法有错误,程序运行时计算机会给出提示信息,人
们可根据提示修改程序,直到无错.
我们还需要对结果进行验证,因为逻辑错误或计算方法错误计
算机无法检查。所以若出现这种情况,可能需要返回前几步进一
步修改,直到满意。
ꢀꢀ高中信息技术必修1第三章《算法基础
》
三、探索新知
计算机解决问题的过程:
调试运行
•如果程序语法
有错误,程序
运行时计算机
会给出提示信
息,人们可根
据提示修改程
序,直到无错。
•逻辑错误和计
算方法错误需
要我们去查找。
编写程序
•选择一种计算
机语言工具来
编写程序,实
现算法。
设计算法
•需要给出解决
问题的详细方
法和步骤。
分析问题
•需求情况,已
知条件和需要
解决的问题。
ꢀꢀ高中信息技术必修1第三章《算法基础
》
四、自主探究
计算机解决问题的过程:
分析
问题
设计
算法
编写
程序
调试
运行
请同学完成学习卡2表格中右边列表法划线
部分的探讨。
ꢀꢀ高