《项目八 用模块化设计批量计算平均气温(第2课时)》精品教案.docxVIP

《项目八 用模块化设计批量计算平均气温(第2课时)》精品教案.docx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共8页,可阅读全部内容。
  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文档。上传文档
查看更多

学而优教有方

精品试卷·第PAGE2页(共NUMPAGES2页)

PAGEPage3/NUMPAGESPages4

项目八分析历史气温数据

———设计批量数据算法

第二课时用模块化设计批量计算平均气温

■教材分析

“用模块化设计批量计算平均气温”这一小节,通过处理批量气象数据引导学生学习列表的嵌套和批量处理数据的方法;通过在批量数据中引入“模块化”概念,引导学生探究解决该问题的程序模块图和函数实现。

■教学目标

1、知识和技能

(1)理解“模块化”概念。

(2)引导学生探究解决该问题的程序模块图和函数实现。

2、过程与方法

通过处理批量气象数据引导学生学习列表的嵌套和批量处理数据的方法。

3、情感态度与价值观

(1)体验程序设计和内涵及魅力,产生对程序设计的求知欲,形成积极主动地学习态度;

(2)通过批量处理数据,帮助学生克服设计数据算法的畏难情绪,培养他们严谨、缜密、科学的程序设计作风。

■教学重点:

(1)理解“模块化”概念。

(2)解决该问题的程序模块图和函数实现。

■教学难点:

函数的实现。

■教学准备

计算机教室,Python,投影机。

■教学过程:

一、“自顶向下、逐步求精”的程序设计方法

本项目在解决“批量计算12个月的月平均气温”问题时,先进行顶层设计,再对各部分进行细化。这种程序设计方法使程序的结构变得更加清晰,程序的调试也更加简单。

这种程序设计方法称为“自顶向下、逐步求精”。该方法是把整个设计过程分出层次来,逐步加以解决。每一步都是在前一步的基础上进行的,是对前一步设计的细化和具体化。这好比画一幅画,先整体规划,确定这幅画由哪些内容组成,勾勒出大致的轮廓,然后考虑各部分的形状是怎样的,最后进行细节润色。

许多程序从逻辑上可以分为3个阶段:输入数据并做相应调整的处理阶段、计算得到结果的阶段、显示结果并保存数据的阶段。在自顶向下的程序设计方法中,最顶层仅仅描述了程序的功能,它虽然是程序的一个完整表示,但很少提供足够的信息,不能直接用程序语句表示,因此需要进行细化处理。对每一部分进行细化,遇到不能清楚解释的步骤再向下一层延伸。依次进行第二层、第三层的细化,直至每一步都是一个基本操作为止。每次分步处理,都是算法在一个层次上的细化。

这样考虑问题,思路比较清晰,有条不紊,而且把一个大问题分解为若干个小问题考虑,既降低了问题的复杂性,也便于程序实现。

二、模块化设计的思想

大多数解决现实问题的程序都比本书中介绍的程序要大得多,对于一个复杂的问题通常需采取“分而治之”的策略,也就是模块化设计的思想。运用软件工程的思想来组织软件开发工作,一般要经历需求分析、设计程序、编写程序等阶段。需求分析所做的事情是根据用户的要求确定程序应当具备哪些功能,达到什么性。设计程序阶段大致又可再分为两个子阶段,即程序的模块化设计和模块内的逻辑设计。在模块化设计中,要按照需求分析把程序分割成许多模块,建立以模块为单位的多层次结构体系,各个模块之间形成调用关系。模块化之后还要确定每一模块内的具体算法,并准确表达这些算法。整个程序设计完成之后,就可以使用特定的程序设计语言来编写程序。

一个程序的算法设计可以从三个基本步骤——“输入”“处理”“输出”开始,形成顶层模块,再对每一个模块继续向下细化,直至每一个模块都相对独立地完成一个基本功能例如,下图演示了一个工资处理程序的模块化设计的过程。

三、常见算法——枚举法

枚举法在生活中非常普遍,是处理问题最常用的算法思想之一。枚举法的基本原理是根据已知条件,在给定的范围内对所有可能的答案按某种顺序进行逐一枚举和检验,从中找出那些符合要求的答案。在日常生活中,人们在解决问题时,如果需要枚举的范围比较小,采用枚举法会显得比较直观、合理;但当枚举范围比较大时,则会十分繁琐、容易出错然而,对于计算机来说,它的高速运算能力保证了枚举法的可行性,而且实现相对简单。

枚举法的一般模式可以总结如下:

·确定范围:问题所涉及的情况有哪些,情况的种数是否可以确定。

·验证条件:分析出来的这些情况,须满足什么条件才能成为问题的答案。

·尽可能缩小有哪些信誉好的足球投注网站范围,减少求解时间。

例如,用枚举法解决以下问题:有一张由5位数构成的单据号码,其千位和百位上的数字模糊不清了,已知这个数能被57或67整除,请使用计算机求这张单据号码。

1.问题分析

假设这个5位数为abcde,则abcde=ax10000+bx1000+cx100+dx10+e。本问题中,已知万位、十位、个位上的数字a、d、e(可以由用户输入),而千位和百位上的数字b、c是待求的,因此可采用枚举法列举b、c所有可能的数字(0-9),每列举一次,判断构造的号码能否被57或67整除,若能则输出该号码。

2.设计算法

1.输

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档