1.1第一节计算机解决问题的过程.pptVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 揭开计算机 解决问题的神秘面纱 1.1计算机解决问题的过程 计算机给我们的学习、工作、生活带来了方便,在你惊叹计算机的神奇,享受它所带来的欢乐的时候,你是否了解计算机解决问题的基本过程呢? 计算机是人脑的延伸,要研究电脑解决问题的过程,需要从人脑解决问题的过程谈起。 问题: 华南太阳能设备厂在计划期内拟生产甲乙丙三种适销产品,每件销售收入分别是4万元、3万元、2万元。按工艺规定,甲、乙、丙三种产品都需要在A、B、C、D四种不同的设备上加工,加工所需要的时间见表1-1所示。已知A、B、C、D四种设备在计划内有效使用台时数分别为12、8、16、12。如何安排生产可使收入最大? 1、分析问题: 设甲乙丙三种产品的产量分别时x、y、z件,根据题目给出的条件,x、y、z应满足如下的关系: 2x+2y+z=12; X+2y+z=8; 4x=16; 4y=12; X、y、z属于自然数 建立数学模型 解题的目标:求出适当的x、y、z, 使f(x、y、z)=4x+3y+2z取值最大。 分析问题就是从具体的问题中,明确条 件和需求,找出条件和需求之间的关 系,并尽量用数学的语言加以描述。 2、设计算法: 根据题意和分析不等式组可知,x、y、z是整数且满足:0≤x≤4,0≤y≤3,0≤z≤8。这样可以用穷举法,在许可的范围内寻找合适的x、y、z,求f(x,y,z)=4x+3y+2z的值,然后在所有的f(x,y,z)函数值中,找出最大值。 穷举法:简单来说就是将可能的答案进行逐个推算直到找出真 正的答案为止 。 根据这个初步的算法,我们还难以写出计算机程序,必须逐步求精,写出更为详细的步骤。 第一步求精: 把满足不等式组的x,y,z代入f(x,y,z)=4x+3y+2z中求值。 (1)对每一个x(x=0,1,2,3,4),做下一步。 (2)对每一个y(y=0,1,2,3,),做下一步。 (3)对每一个z(z=0,1,2,3…,8),做下一步。 (4)逐一地检查x、y、z是否满足不等式组,如果满足,则代入计算f(x,y,z)=4x+3y+2z的值。 第二步求精:在所有的f(x,y,z)函数中,找出最大值。设f(x,y,z)的最大值为f_max,其相应的自变量为x_max、y_max、z_max,则: (1)令f_max=0; (2)对每一个x(x=0,1,2,3,4),做下一步。 (3)对每一个y(y=0,1,2,3,),做下一步。 (4)对每一个z(z=0,1,2,3…,8),做下一步。 (5)如果f_max f(x,y,z),则f_max= f(x,y,z), x_max=x, y_max=y, z_max=z。 算法是解决问题方法的精确描述。 设计算法的任务就是针对具体问题,寻求解决问题的方法,并进行精确描述。 Dim x As Integer, y As Integer, z As Integer Dim x_max As Integer, y_max As Integer, z_max As Integer Dim f(4, 3, 12) As Single 定义存放函数f (x,y,z)值的数组f Dim f_max As Single ‘ 把满足不等式组(1.1)的x、y、z代入 f (x,y,z)=4x+3y+2z中求值 For x = 0 To 4 For y = 0 To 3 For z = 0 To 12 If (2 * x + 2 * y + z = 12) And (x + 2 * y + z = 8) Then f(x, y, z) = 4 * x + 3 * y + 2 * z Else f(x, y, z) = 0 End If Next z Next y Next x 3、编写程序: 在所有的f (x,y,z)中,找出最大值 f_max = 0 For x = 0 To 4 For y = 0 To 3 For z = 0 To 12 If f_max f(x, y, z) Then f_max = f(x, y, z) x_max = x y_max = y z_max = z End If Next z Next y Next x Print 当x=; x_max; ,y=; y_max; ,z=; z_max; 时, Print f (x,y,z)的最大值=; f_max 编写程序的任务就是用一种计

您可能关注的文档

文档评论(0)

_______ + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档