《12数据的计算.pptx》由会员分享,可在线阅读,更多相关《12数据的计算.pptx(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1.2 数据的计算 打开编程之门课前准备 阅读材料1-1 计算工具的发展,了解人类计算工具的发展历程。“鸡兔同笼”问题 孙子算经记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?” 请思考解决该问题的计算方式。探究1:对于“鸡兔同笼”问题,试阐述你的计算步骤。假设法抬脚法方程法公式法列表法 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?探究学习探究学习抬脚法让兔子和鸡同时抬起两只脚,这样笼子里的脚就减少了总头数2只,由于鸡只有2只脚,所以笼子里只剩下兔子的两只脚,再2就是兔子数。公式:兔的只数=(总脚数-总头数鸡的脚数)(兔的脚数-鸡的脚数) 兔的只数(94352)2
2、=12(只) 鸡的只数3512=23(只)假设法假设这35个头都是兔子,那么腿数就应该是354=140。比94多的腿数是因为把两条腿的鸡看成了四条腿的兔子了。所以多的腿数2就是鸡数。公式为:鸡的只数=(兔的脚数总只数总腿数)(兔的腿数鸡的腿数) 鸡的只数(35494)(42)=23(只)方程法解:设有x只鸡,那么兔有(35x)只兔的只数兔的腿数鸡的只数鸡的腿数=总腿数4(35x)2x=94x=23兔的只数3523=12(只)答:鸡有23只,兔有12只。列表法表格怎么列? 可以用什么工具代替手工? ABCDE1鸡兔同笼问题(35头94只脚)2兔的只数鸡的只数兔脚总数鸡脚总数共有的脚数31 42
3、53 3533 3634 探究2:运用Excel解决“鸡兔同笼”问题尝试并思考35头,118脚,鸡兔各几何?72头,168脚,鸡兔各几何?200头,620脚,鸡兔各几何? “鸡兔同笼.py”文件是一个用python编程语言编写的小程序,请双击运行此程序。思考用程序解决此问题和用Excel解决时有何不同?探究3:用程序解决“鸡兔同笼”问题35头,118脚,鸡兔各几何?72头,168脚,鸡兔各几何?200头,620脚,鸡兔各几何?print(这是一个有关鸡兔同笼问题的程序)heads=float(input(请输入总的头数:)legs=float(input(请输入总的脚数:)tu=int(leg
4、s-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(运行完毕,请按回车键退出.)抬脚法列表法 考察方面 计算方式使用成本使
5、用方便性计算速度方法通用性人工计算 大众软件计算 编程计算 探究4:比较三种计算方式的特点,填写下表练习 “百鸡百钱”问题是一个经典的数学问题,出自张丘建算经。内容是:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡、母鸡和小鸡都必须要有,问公鸡、母鸡和小鸡各多少只? 解决“百鸡百钱”问题时,你会选择( )方式呢? A.人工计算 B.大众软件计算 C.编程计算 请在相应的选项区域完成此问题的解决步骤。编程计算这是一段用python编程语言实现的程序,尝试阅读以下程序,并在空格处补全代码。money=100 #一共100文钱num=_ #一共100只鸡cock_p
6、rice=5 #公鸡价格5文hen_price=_ #母鸡价格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 _: print (cock_num,hen_num,chick_num*3)1003num1=num