内容正文:
学校:
教师:
必修1 1.2 数据的计算
(解决问题的基本方式)
课前准备
阅读材料1-1计算工具的发展,了解人类计算工具的发展历程。
计算的方式
笔算、心算和口算
人工计算
计算机计算
使用现有的软件—大众软件计算
自己编程序—编程计算
教学目标
了解计算的基本方式和发展过程。
根据问题需求,选择恰当的计算方式。
感受计算机在处理计算时的优势。
教学重点
掌握计算的基本方式。根据问题需求,选择恰当的计算方式。
利用大众软件和编程来解决生活中的一些数学问题。
教学难点
“鸡兔同笼”问题
《孙子算经》记载:“今有雉兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?” 请思考该问题的解决方法。
探究1:对于“鸡兔同笼”问题,试阐述你的计算步骤。
今有雉兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?
探究学习
抬脚法
假设法
方程法
列表法
算法
解决问题的具体步骤和方法
抬脚法
让兔子和鸡同时抬起两只脚,这样笼子里的脚就减少了总头数×2只,由于鸡只有2只脚,所以笼子里只剩下兔子的两只脚,再÷2就是兔子只数。
公式:兔的只数=(总脚数-总头数×鸡旳脚数)÷(兔的脚数-鸡的脚数)
兔的只数 (94-35×2)÷2=12(只)
鸡的只数 35-12=23(只)
假设法
假设这35个头都是兔子,那么脚数就应该是35×4=140。比94多的脚数是因为把两条腿的鸡看成了四条腿的兔子了。所以多的脚数÷2就是鸡的只数。
公式:鸡的只数=(总头数×兔的脚数-总脚数)÷(兔的脚数-鸡的脚数)
鸡的只数 (35×4-94)÷(4-2)=23(只)
方程法
解:设有x只鸡,那么兔有(35-x)只
兔的只数×兔的脚数+鸡的只数×鸡的只数=总脚数
4×(35-x)+2x=94
x=23
兔的只数 35-23=12只
答:鸡有23只,兔有12只。
列表法
表格怎样列?
可以用什么工具代替手工?
探究2:运用Excel电子表格解决“鸡兔同笼”问题
大众软件计算
尝试并思考
35头,118脚,鸡兔各几何?
72头,168脚,鸡兔各几何?
200头,620脚,鸡兔各几何?
想一想,当数据量大的时候用刚才的人工计算或表格计算是否适合呢?
比较思想
print('这是一个有关鸡兔同笼问题的程序')
heads=float(input('请输入总的头数:'))
legs=float(input('请输入总的脚数:'))
tu=int((legs-heads*2)/(4-2))
print('兔子有:',tu,'头')
print('鸡有:',int(heads-tu),'头')
input("运行完毕,请按回车键退出...")
print('这是一个有关鸡兔同笼问题的程序')
heads=int(input('请输入总的头数:'))
legs=int(input('请输入总的脚数:'))
for tu in range(1,heads-1):
leg=4*tu+2*(heads-tu)
if leg==legs:
print('兔子有:',tu,'头')
print('鸡有:',int(heads-tu),'头')
input("运行完毕,请按回车键退出...")
抬脚法
列表法
编程计算
编程(Programming)是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。
为了使计算机能够理解(understand)人的意图,人类就必须将需解决问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。
练习
“百鸡百钱”问题是一个典型的数学问题。内容是:公鸡5文钱一只,母鸡3文钱一只,而小鸡是1文钱三只,用100文钱买一百只鸡,其中公鸡、母鸡和小鸡必须要有。问公鸡、母鸡和小鸡各多少只?
解决“百鸡百钱”问题时,你会选择( )方式呢?
A. 人工计算 B. 大众软件计算 C. 编程计算
请在相应的选项区域完成此问题的解决步骤。
5x+3y+z/3=100
x+y+z=100
1<=x<20
1<=y<33
3<=z<99 z应该为3的倍数
编程计算
money=100 #一共100文钱
num=100 #一共100只鸡
cock_price=5 #公鸡价格5文
hen_price=3 #母鸡价格3文
threechick_price=1 #3只小鸡1文
for cock_num in range(1,money//cock_price+1): #公鸡只数可能为1-20
for hen_num in range(1,money//hen_price+1): #母鸡只数可能为1-33
for chick_num in range(1,money//threechick_price+1): #(3小鸡)只数可能为1-100
money1=cock_num*cock_price+hen_num*hen_price+chick_num*threechick_price
num1=cock_num+hen_num+chick_num*3
if money1==money and num1==num:
print (cock_num,hen_num,chick_num*3)
input("运行完毕,请按回车键退出...")
课堂小结——三种计算方式
人工计算——方便,便捷,适合数据量、计算量比较少的问题情境。
大众软件计算——现有的软件可以解决当前的问题需求。
编程计算——数据量、计算量比较大的问题情境。
计算机计算
数据抽象
自动化处理
布置作业
考察方面
计算方式 使用成本 使用方便性 计算速度 方法通用性
人工计算
借助电子表格
软件计算
编程计算
$$