可以使用计算机解决的问题是什么,1.1 使用计算机解决问题的一般过程教案1

算法及其实现

【学习目标】

1、了解算法的含义

2、了解算法的表示方法

3、会用流程图表示算法

4、能正确理解流程图中算法的意义

【重难点】

正确理解流程图中算法的意义

【问题引导】

问:在考试练习中,同学们一定遇到这种题,你们怎么来做?这一类题在考试中以选择题的题型出现,占2分。

1

【教学活动】

1、

小组讨论(四人为一个小组,3分钟)

首先,我们一起来做一个游戏:一个农夫带着一条狼,一头山羊和一篮蔬菜要过河,但只有一条小船。乘船时,农夫只能带一样东西。当农夫在场的时候,这三样东西相安无事。一旦农夫不在,狼会吃羊,羊会吃菜。请问农夫如何能安全地将这三样东西带过河?

教师总结:同学们,经过分析,我们可以知道在农夫离开的情况下,狼和羊不能单独在一起,羊和菜不能单独在一起,但是狼和菜可以单独在一起。于是我们可以得到的步骤如下:

第一步:农夫带羊过河

第二步:农夫独自回来

第三步:农夫带菜过河

第四步:农夫带羊一起回来

第五步:农夫带狼过河

第六步:农夫独自回来

第七步:农夫带羊过河

同学们,你做对了吗?是不是把每个步骤都记录了下来呢?在这7步中常常有同学会漏了其中的第2,4,6步,而这些步骤在这个游戏中是不可缺少的动作,否则就不能完成总体目标,使问题获得圆满解决。因此,在解决某一问题时我们要把各个步骤都精确的考虑到。上面这个例子中的解决问题的步骤其实就是编制程序的基础——算法。教师展示课题与教学目标。

2、

学生自主学习(给学生2分钟的时间看书61页,完成学案)

算法就是解题方法的精确描述。算法是一种有穷的动作序列,即算法是由有限个步骤组成的。算法中,每一步动作的表示形式并没有特定的格式,可以是抽象的也可以的具体的,但是这些动作的含义应当是明确的(即没有二义性)。从广义的角度来看,日常生活中处处有算法,如菜谱是厨师做菜的算法,厨师只要根据菜谱上的步骤做可以做出从未做过的佳肴;乐谱是乐队演奏的算法,乐队根据乐谱在精确的时间段按照节奏演奏乐曲;广播体操图解是做广播体操的算法。

2

对同一个问题,有时可以有不同的解题方法和步骤。有的方法只需要较少的步骤,而有些方法则可能需要较多的步骤。一般情况下,尽可能采用简单省时的和步骤少的方法去解决问题。因此,为了有效地解决问题,不仅需要保证算法正确,还要考虑算法的质量,这就要求人们设计或选择合适的算法。

3、

小组讨论算法的优化(四人为一个小组讨论书61页的“泡茶”,3分钟)

要想泡茶喝,但当时的情况是:开水没有,水壶要洗,茶壶和茶杯要洗;火已生了,茶叶也有了,怎么办?

方法甲:洗水壶,灌上凉水,放在火上,在等待水开过程中,洗茶壶,洗茶杯,拿茶叶,等水开了泡茶喝。

方法乙:先做好一些准备工作,洗水壶,洗茶壶和茶杯,拿茶叶,一切就绪,灌水烧水,等待开了泡茶喝。

方法丙:洗水壶,灌上凉水,放在火上,等待水开,开了之后急急忙忙找茶叶,洗茶壶,洗茶杯,泡茶喝。

这三种方法都解决了“泡茶”这个问题,我们再来比较一下这三种方法所耗费的时间,我画出了“方法丙”的泡茶时间表,请同学们补充“方法甲”和“方法乙”的泡茶时间表,然后比较三者,回答以下问题:

1、三种方法都能达到泡茶喝的目标,说明评价算法最重要的标准是:________________ 2、哪种方法更优?

3、从方法甲相对较优,说明算法优化的主要标准之一是:_______________ 同学们,大家和我做的一样吗?

3

这三种方法都能达到泡茶喝,说明评价算法最重要的标准除了能正确解决问题,即算法的正确性外,还有一条重要标准,即算法的复杂性,也就是执行该算法是否省时省空间。

显然是方法甲最优。水壶不洗,不能烧开水,因而洗水壶是烧开水的先决条件。没开水,不取茶叶,不洗茶壶和茶杯就不能泡茶,因而这些又是泡茶的先决条件。由于烧开水需要比较长的时间,如果要提高效率,就要充分利用“等水开”的这段时间并行地进行其他工作,如洗茶杯,拿茶叶等。

从方法甲相对较优,说明算法优化的主要标准之一是考虑算法的质量,优化算法的目的是尽可能采用简单省时的和步骤少的算法去解决问题。

这个例子告诉我们即使解决问题的算法有多种,我们也要尽可能从中找出最科学最有效率的一种。

4、

学生自主学习算法的表示(给学生2分钟的时间看书62页,完成学案)

我们用什么方法来表示算法呢?一般来说,常用的算法的表示形式有三种:

1.自然语言:即用汉语或英语这样的自然语言来表示算法,类似我们上面“农夫过河”和“泡茶”的算法表示,这样的表示方法通俗易懂,但通常所用的文字为了精确的表达意思会比较冗长,还容易出现“二义性”,如“这个人连老刘也不认识”这句话可以理解成“这个人不认识老刘”,也可以理解成“老刘不认识这个人”。

2.计算机语言:通常采用计算机高级语言(如C、Pascal、VB、C++、Java等)来描述算法。这些语言的控制结构被用来说明算法步骤的执行顺序,对初学者来说会不太习惯,因而显得有一定的难度。

3.流程图:是人们经常用来描述算法的工具,流程图用图框及流程线来表示算法,形象直观。

在这三种里面,我们主要学习使用流程图方法来表示算法,首先我们要知道流程图表示法中常用的图框符号,美国国家标准化协会(ANSI)规定了流程图符号,最常用的有“处理框”,“输入,输出框”,“判断框”,“连接框”,“流程线”,“开始,结束框”。

4

例题

5

5、小组讨论能力提升

提示:Mod求两数相除的余数

四、小结

在本节课上我们知道了算法就是解题方法的精确描述。评价算法最重要的标准是算法的正确性和复杂性,我们要尽可能选择最优化的算法来解决问题。这节课上,我们主要学习了算法的三种表示方法中的自然语言和流程图表示方法,知道了流程图中常用图框符号的使用方法和功能特征,并学会了使用自然语言和流程图来表示算法,如果这些你都掌握了,那么恭喜你,你已经有算法的思想了,再加以练习,你就有可能做程序设计员了!

6

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7.3 安装 mysql-5.7.13

系统环境: [rootlocalhost ~]# cat /etc/RedHat-release CentOS release 6.7 (Final)[rootlocalhost tools]# uname -aLinux localhost 2.6.32-573.22.1.el6.x86_64 #1 SMP Wed Mar 23 03:35:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux[rootlocalhost tools]# 软件准备:[root…

GARFIELD@12-20-2004

克已复礼为仁转载于:https://www.cnblogs.com/rexhost/archive/2004/12/20/79502.html

Java 8的功能基础

Java 8彻底改变了Java。 它很可能是过去10年中最重要的Java版本。 有很多新功能,包括默认方法,方法和构造函数引用以及lambda, 仅举几例 。 更有趣的功能之一是新的java.util.stream API,正如Javadoc所述,该API支持 …

面向对象克隆对象

克隆对象这种写法不是对象克隆,就是把obj的内存地址赋值给obj2. 通过for in克隆 不管是公有的还是私有的都克隆成私有的 Js提供了一个一个克隆的方法 Object.create() Var obj2Object.create(obj) 将obj的所有属性克隆到obj2的原型上 转载于:https://www.cnblogs.…

JSON.stringify()和JOSN.parse()

JSON.stringify()跟JSON.parse() 终于把这两个方法搞清楚了!!! JSON.tringify():把一个json数据转化成JSON string JSON.stringify({uno:1,dos:2},null,\t)"{"uno": 1,"dos": 2}"JSON.stringfy({u…

查表法实现反正切_关于python实现CRC32的应用和总结

关于python实现CRC32的应用和总结目前使用的Crc计算包含Crc32和Crc32mpeg2两种计算方式。循环冗余检验 CRC 差错检测技术能够证明数据是完整的,是无差错的(只是非常近似的认为是无差错的)。保证数据可靠性传输的方法包含如下:检验…

bootstrap html5 表单验证,基于Bootstrap+jQuery.validate实现表单验证

这大概是一种惯例,学习前台后台最开始接触的业务都是用户注册和登录。现在社会坚持以人为本的理念,在网站开发过程同样如此。User是我们面对较多的对象,也是较核心的对象。最开始的用户注册和登陆这块,也就尤为重要。用户注册和登…

小程序支付及H5支付前端代码小结

小程序支付和H5支付前端都不需要引入其他的js , 只需要后台将相关的参数 ( timeStamp: , nonceStr: , package: , signType: MD5, paySign: , ) 返回来就可以发起微信支付。 小程序支付: wx.requestPayment({timeStamp: ,nonceStr: ,package:…

一道有意思的面试算法题

新年第一篇文章,先祝大家新年快乐!!那么接下来进入正文。 前言 前阵子突发奇想,突然开始刷leetcode。其中刷到了一道有意思的题目,发现这道题是当时秋招的时候,腾讯面试官曾经问过我的题目。于是分享给大家…

JavaFX技巧1:可调整大小的Canvas

在使用FlexGanttFX时,我不得不处理很多JavaFX Canvas节点。 我正在使用它在时间轴上呈现活动。 甘特图中的每一行都是一个Canvas节点。 用户可以选择单独调整每行的大小。 因此,我不得不找出调整画布大小的最佳方法,这种现成的方法无法调整大…

Javolution 2.2.5 - Java Struct/Union Simplified

Multi-dimensional arrays of struct/union or of primitive types are also supported. Struct API: http://javolution.org/api/javolution/io/Struct.html转载于:https://www.cnblogs.com/perlye/archive/2005/02/04/102192.html

function

function foo(){function bar(){return 3;}return bar();function bar(){return 8;}}1.这个函数返回的是8 function foo1(){var bar1function(){return 3;};return bar1();var bar1function(){return 8;}}2.这个函数返回是3 alert(foo2());function foo2(){var bar2function(){…

12日疯人认证百度云_12月15日上海实习汇总(百度、美图、哔哩哔哩等)

上海实习实习汇总 | 实习内推 | 寒假实习博世 采购助理Job Title: 采购部实习生Job Description:1. Create Purchase Decision (PD), initiate internal approval workflow.2. Maintain basic data in SAP, SupplyOn, SRM, internal system Pilum .etc.3. Issue purchase order…

计算机通识必修课程学什么内容,计算机通识课程教学平台研究与探索.doc

计算机通识课程教学平台研究与探索计算机通识课程教学平台研究与探索摘要:在全国推行教育信息化大背景下,对民办大学计算机类通识课程的教学进行系统定位,结合实际情况利用Moodle开源软件搭建网络教学平台,进而改革优化现有的课程…

CF908G New Year and Original Order

题面 题意翻译 给定$n<10^{700}$&#xff0c;问$1$到$n$中每个数在各数位排序后得到的数的和。答案$mod\;10^97$。 题解 考虑设$f[i][j][k][0/1]$表示前$i$位有$j$位的数字大小$\geq k$&#xff0c;是否严格小于$n$的方案数 转移时&#xff0c;枚举第$i1$位填$p$ $$ f[i1][j…

15必须阅读Java 8教程

Java 8于上个月发布&#xff0c;其中充满了新功能和幕后优化。 互联网在覆盖所有这些新增加的方面&#xff08;包括好的和坏的&#xff09;一直做得很好。 我认为最好汇总一下我们认为是最好的一些教程&#xff0c;以帮助您快速掌握最新信息和需要了解的知识。 Java 8新功能列…

json 对象 数组

一、json写法以及获得其数据的方法 var jsons{ name:wen, age:12, price:qq } console.log(typeof jsons);//object console.log(jsons.name);//wen 二、Array(也是数组) 创建数组方法1&#xff1a;var myArraynew Array(8);创建一个储存8个数据的数组 创建数组方法3:var a…

随机森林和gbdt结合_决策树与迭代决策树(GBDT)

关注数学&#xff0c;关注AI&#xff0c;关注我们公众号ID&#xff1a;Math-AI阅读目录1. 决策树的模型2. 决策树的基本知识3. ID3、C4.5&CART4. Random Forest5. GBDT6. 参考内容今天我们来谈一谈机器学习算法中的各种树形算法&#xff0c;包括ID3、C4.5、CART以及基于集成…

猫眼html源码,50 行代码教你爬取猫眼电影 TOP100 榜所有信息

点击上方“CSDN”&#xff0c;选择“置顶公众号”关键时刻&#xff0c;第一时间送达&#xff01;今天&#xff0c;手把手教你入门 Python 爬虫&#xff0c;爬取猫眼电影 TOP100 榜信息。作者 | 丁彦军本文经授权转自「程序人生」对于 Python 初学者来说&#xff0c;爬虫技能是应…

在Spring中使用jOOQ:CRUD

jOOQ是一个库&#xff0c;可帮助我们重新控制SQL。 它可以从我们的数据库生成代码&#xff0c;并允许我们使用其流畅的API来构建类型安全的数据库查询。 本教程前面的部分向我们介绍了如何配置示例应用程序的应用程序上下文以及如何从数据库中生成代码。 现在&#xff0c;我们…