- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
活动四 用Do…Loop语句实现循环结构
问题:小明的爸爸决定对某种电脑进行促销,促销方案为:买第一台时需付全价6400元,买第二台时只需付全价的95%,依次类推,买后一台的价格是一前一台的95%,但最低价不得低于3800元,如果低于3800元就按3800元的价格购买。有一位顾客需为单位购置电脑,他计划购买电脑的费用是50000元,求该顾客最多能买几台电脑,需付多少钱。 活动四 用Do…Loop语句实现循环结构 提 示 板 前面所解决的问题中循环次数都是确定的,但本活动中循环多少次事先并不知道,而是通过判断购买电脑的总金额是否超过50000元来控制循环。 本问题的解决思路是:一、每买一台电脑,需要计算这台电脑的价格,然后累加到总金额上,当总金额超过50000元时,就停止循环。因此,本循环过程中的重复操作是计算电脑的单价及总金额。二、在计算电脑的单价时,还需要作一个判断:如果打折后的价格大于3800元,那么在前一次价格的基础上打折,折扣率为95%,否则价格即为3800元,不再打折,折扣率可看作为100%。 1、问题分析。 ①折扣率m的值需要根据前一台电脑的价格p来确定。如果p3800,那么m=0.95;否则 1。 ②根据促销方案,购买某台电脑的价格是在前一台的价格上再打折,可采用累乘的方式计算某台电脑的价格。计算公式为p=p×m。 ③采用累加的方式,购买电脑的总金额的计算公式为s=s+p。 设电脑的价格为p,折扣率为m,购买电脑的台数为n,购买电脑的总金额为s。 算法1 第1步:令p=6400; 第2步:令n=1; 第3步:令m=0.95; 第4步:s=p; 第5步:如果S≤50000,则执行第6步,否则执行第10步; 第6步:p=p×m; 第7步:如果p3800,则p=3800,m=l; 第8步:s=s+p; 第9步:n=n+1,转第5步执行; 第10步:输出n和s; 第11步:结束。 2.算法没计。 (1)阅读以下算法。 算法2 第1步:令p=6400; 第2步:令n=1; 第3步:令m=0.95; 第4步:s=p; 第5步:如果s≤50000,则执行第6步,否则执行第10步; 第6步:p=pxm; 第7步:如果p3800,则p=3800,m=l; 第8步:s=s+p; 第9步:n=n+1,转第5步执行; 第10步:n=n-l; 第11步:s=s-p; 第12步:输出n和s; 第13步:结束。 提 示 板 分析循环结构时,尤其要注意最后一次循环的执行情况:如在本活动中要注意最后一次循环开始前后s值的变化,判断退出循环时s是否小于等于50000。 讨论 (1)两个算法求出的s是大于50000,还是小于等于50000?哪个算法的输出结果正确? 为什么? (2)如果将算法1第4步中控制循环的条件s≤50000改为s+p×m≤50000,该算法的运行结果正确吗?为什么? (3)能否将算法1或算法2中的第6步和第7步互换位置?为什么? (2)完成流程图。 开始 结束 s=s+p,n=n+1 否 n=1,p=6400,m=0.95,s=p 是 是 否 输出最多能购买电脑的 台数n及总金额s s=p*m≤50000 P3800 p=3800,m=1 p=p*m (1)新建工程。 (2)阅渎以下代码,并将其添加到代码窗口中。 3、实现应用程序。 Private Sub Form_Click() Dim s As Single,m As Single,p As Single Dim n As Integer n=1 p=6400 m=0.95 s=p Do While s+p*m=50000 p=p*m If p3800 Then p=3800 m=1 End If s=s+p n=n+l Loop Print 最多可能购买;n;台电脑,;需付;Format(s,#,###.00);元钱。 End Sub 本程序中,每次执行Do While语句,首先判断条件s+p*m=50000,若条件成立,则执行后面的语句,遇到Loop语句返回到Do While再次进行条件判断:若条件不成立,则跳转到Loop语句后结束循环。 讨论 (1)本程序中控制循环的表达式是什么?程序中通过哪些语句来改变该表达式的值? (2)循环结束后s的值是否会大于50000? (3)若按照算法2编写程序,需要怎样修改以上代码? 4、调试、运行程序。
您可能关注的文档
- 基础004_Excel.ppt
- 外教Intro Legal Research- PPT.ppt
- 《年月日》教学导入.ppt
- 大学商务交流 3.pptx
- 大纲版生物课件2.3.ppt
- 大纲版英语一轮复习讲义Module 6 Unit 2 What is happiness to you.ppt
- 实例2 “春” 结.ppt
- 大纲版生物课件3.3.ppt
- 弯曲应力2 41.ppt
- 可编辑商务PPT.ppt
- 共享厨房行业法律法规完善与风险防范报告2025.docx
- 在集团推进精益化生产和精细化管理工作动员大会上的讲话.pptx
- 在某某乡镇消防安全工作会议上的讲话.pptx
- 责任督学劳动教育督导典型案例.pptx
- 在环境保护“一法一条例”执法检查动员会上的讲话(摘要).pptx
- 装备制造业2025年自主创新能力提升与产业链优化报告.docx
- 智能家居系统互联互通标准与产业推进:2025年技术创新与应用前景.docx
- 在全县基础免疫二连疫苗查漏补种业务培训会上的讲话.pptx
- 增进民生福祉提高人民生活品质PPT始终把最广大人民群众的根本利益放在心上PPT课件(带内容).pptx
- 西餐原材料培训.pptx
文档评论(0)