第十二章第一节:算法的概念
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.可行性算法的每一个步骤都是可执行的操作,即每一个步骤都可以在有限时间内完成。(也称为有效性)
3.确切性算法的每一步骤必须有确切的定义,不能存在歧义。
4.输入项一个算法有0个、一个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件。
5.输出项一个算法必须有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
在教学过程中,可以通过一些算法案例,以加深对变量及其赋值的理解。如:
请仔细阅读下面的算法:
第一步A=1,B=2,C=3;
第二步A=A+B;
第三步A=A+B+C;
第四步输出A,B,C。
(三)算法应该具有的几个特征
一般来说,一个有效的算法应该具有下面几个特征:
1.有穷性也就是说算法必须能在执行有限个步骤之后终止,即算法的步骤不能是无限的。
可见,引入变量,并且对它进行赋值,可以使算法的表述变得非常简洁。
扬州高等职业技术学校教案(续页)
课堂教学安排
主要教学内容及步骤
备注
在解决问题的过程中,可以取不同数值的量称为变量。例如,上面例子中的S就是一个变量。
在设计算法时,引入变量并且对它进行适当赋值,可以使算法的表述变得简洁而又清楚。
在算法和程序设计中,变量与赋值是非常重要的概念,一个变量对应了一定的存储单元,用于存储数据,给变量赋值就是将这个值(数据)存储到这个变量所对应的存储单元,为了加深学生对变量概念的理解,可以将变量形象地看成是一个盒子,而给变量赋值就相当于往这个盒子里放东西,这个盒子可以放不同的值,但每次只能放一个。只要不给变量赋新的值,变量将始终保持已经存入的值直到算法终止,当给变量赋新的值时,原来的值将被新的值替代。
(二)变量及其赋值
我们发现,在设计算法的过程中,解决问题的思想方法有时并不太难,但在描述的时候却很啰嗦,通过引进变量,有时候可以很好地解决这个问题。
我们从一个游戏节目的记分问题出发,让学生体会到引进变量的好处。
例:大家在看某些娱乐类节目时,经常看到下面的情节:
一开始主持人报:开始的时候的选手的分数为100;
随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.例如有遗传算法,排序算法,加密算法,蚁群算法等,与计算机科学,生物学等学科有着很广泛的联系,在高端科学技术中,例如在航空航天科技中,算法有着广泛的应用和重要的地位.可以这样说:“计算机既是数学的创造物,又是数学的创造者”,而算法既是计算机理论和实践的核心,也是数学的最基本内容之一。
第二步计算120+30,得到结果150;
第三步计算150-15,得到结果135;
第四步计算135+50,得到结果185.
所以,这名选手的最终得分为185.
我们引入变量,这个算法可以这样表述:
第一步S=100;
第二步S=S+20;
第三步S=S+30;
第四步S=S-15;
第五步S=S+50;
第六步输出S。
第二步取出左边托盘中的硬币,然后依次将剩下的硬币一一放在左边托盘进行称量,直到天平的左右两边不平衡,则较轻的一边放的就是假币。
第二种算法:
第一步将9枚硬币平均分成3组,每组3枚;
第二步将其中的2组分别放在天平的左右两个托盘中,如果天平的左右两边不平衡,则假币就在较轻的那一组中;如果天平的左右两边平衡,则这2组中的硬币都是真的,假币就在第3组中;
给变量赋值的一般格式为:
变量名=表达式
其中的符号“=”,就是赋值号,它的意义是将后面的表达式的值赋给变量,也就是将表达式的值存储到这个变量所对应的存储单元。
变量的值可以直接以赋初值的方式给定,也可以由输入的方式给定,并且在算法执行的过程中,我们可以给变量赋值或者改变变量的值,即对变量重新赋值,并取代原来的值。
对算法的概念,教学时重在让学生体会算法的含义以及算法的基本思想:程序化思想。
(4)求解某个问题的算法不一定唯一。
2.例如我们的探究:
小李想用银行卡从自动取款机上取500元钱,由于他第一次用银行卡取钱,所以向你求助,你能写下用银行卡取钱的具体步骤,帮助他顺利取到钱吗?
可以先让学生探讨用银行卡从自动取款机上取钱的方法,然后让学生用自然语言一步步表达出来,变得可以操作,这实际上就是算法。这样学生就可以体会到算法的意义:算法是指用来解决问题的一系列明确而有效的步骤,是解决问题的清晰指令。
这样,学生就会明白,解决问题的算法可能有好有坏
一般来说,解决一个问题的算法可能不止一种,这些算法有优有劣,从这些算法中找出好的算法,也是算法理论的一个重要课题。
与一般的解决问题的过程比较,算法有以下特征:
①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤最后必须得到有效的结果.
②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.
我们知道,求解某个问题的算法不一定唯一,如果有几个算法都可以解决同一问题,那么我们总是选择更高效的那个算法。
数学应用
小明有9枚一元的硬币,其中有一枚是假币,比真币略轻,你能用天平(不用砝码,天平的左右两个托盘都可以放物)将假币找出来吗?写出解决这个问题的算法。
第一种算法:
第一步从9枚硬币中任取2枚,分别放在天平的左右两个托盘中,如果天平的左右两边不平衡,则较轻的一边放的就是假币;如果天平的左右两边平衡,则这2枚硬币都是真的,就进行下一步;
将含有变量自身的表达式赋给变量,可能学生较难理解,这时可以向学生讲明赋值语句的作用:
先计算赋值号右边表达式的值,然后将这个值赋给赋值号左边的变量。如:
i=2;
s=3;
s=s+i;
就是先计算赋值号右边表达式s+i的值,即3+2=5,然后将这个值5赋给赋值号左边的变量s。
扬州高等职业技术学校教案(续页)
变量及其赋值是算法学习的一个难点,难在哪里?有两种理解,一种是被赋值的左边看成“盒子”,右边看成“盒子中的数”。另一种是我要从盒子里拿出一个数来计算,也算在盒子里来解释,所以我们赋值语句的难点就在于,这种变量有两种含义,一种是相当于盒子要装东西,另一种就是,代表了这个盒子里的东西。这样两种理解就增加了赋值语句的难度。
3.从与其他数学的关系
算法,作为数学的一个分支,与其他数学领域有密切的关系。一方面,其他数学为算法提供许多解决问题的“算理”,另一方面,算法也为解决其他数学问题提供另一种思路和方法。
二、新授
(一)算法的概念
1.算法的概念:算法(algorithm)这个词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程.在数学上,算法是指用来解决问题的一系列明确而有效的步骤,是解决问题的清晰指令。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
扬州高等职业技术学校教案(首页)
授课日期
授课班级
授课课时
2
授课形式
新授
授课章节
名称
第十二章第一节:算法的概念
使用教具
教学目的
1.了解算法的概念
2.体会算法的基本思想
教学重点
1.算法的概念
2.如何设计一个算法
教学难点
1.算法的概念
2.如何设计一个算法
更新、补
充、删节
内容
课外作业
P44习题1、3
教学反思
扬州高等职业技术学校教案(续页)
课堂教学安排
主要教学内容及步骤
备注
计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
实际上,一个“好的”算法,还具有:
6.高效性即运算的次数少,执行的速度快,占用的资源少。
板书设计
一、算法的基本概念
1.算法的定义
2.介绍算法的一些应用举例
二、变量
1.变量的概念
2.变量的应用举例
三、算法的特征
1.有穷性
2.可行性
3.确切性
扬州高等职业技术学校教案(续页)
课堂教学安排
主要教学内容及步骤
备注
前言:一.为什么要加算法
1.从国家的数学课程标准
在已经逐步进入信息化社会的今天,算法焕发出新的活力,算法的基本知识、方法、思想日益融入人们社会生活的方方面面,已经成为现代人所应具备的一种基本数学素质。
(3)算法一般是机械的,有时要进行大量重复的计算,只要按部就班地去做,总能算出结果。通常把算法过程称为“数学程序化”或者“数学机械化”。数学程序化的最大优点是任何人甚至是计算机实施这些步骤,都可以解决问题,
扬州高等职业技术学校教案(续注
而且得到相同的输出结果。本章主要以计算机能够实现的算法作为讨论的内容。
变量的赋值有以下几种常见的方式:
(1)a=1;(将常数赋给变量)
(2)a=3b+2;(将含有其它变量的表达式的值赋给变量)
(3)i=i+1;(将含有变量自身的表达式的值赋给变量,此时变量中的的在原来的基础上加1)
(4)i=2;
s=3;
s=s+i;(赋值表达式中既有变量自身,又有其它变量,此时变量s中的值为5)
现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
说明:
(1)事实上算法并没有精确化的定义.
(2)算法虽然没有一个明确的定义,但其特点是鲜明的,不仅要注意算法的程序性、有限性、构造性、精确性的特点,还应该充分理解算法问题的指向性,即算法往往指向解决某一类问题,泛泛地谈算法是没有意义的。
课堂教学安排
主要教学内容及步骤
备注
注:
1.赋值号左边只能是变量名,不能是表达式或者数;(如3+s=1,5=s等都是错误的)
2.赋值号的左右两边不能互换;(如a=1合法,但1=a不合法,a=b与b=a的意义是不同的)
3.赋值号与我们熟悉的等号是不同的。(赋值号是将右边表达式的值,赋给赋值号左边的变量,而等号表示左右两边的值相等。所以s=s+1,如果是等号,就没有意义,如果是赋值号,就是合法的)
第一环节结束后,主持人报:这一环节结束后,分数加20;
第二环节结束后,主持人报:这一环节结束后,分数加30;
第三环节结束后,主持人报:这一环节结束后,分数减15;
第四环节结束后,主持人报:这一环节结束后,分数加50;
如果要计算这名选手最后的得分,可以用下面的算法:
第一步计算100+20,得到结果120;
第三步从含有假币的那一组的3枚硬币中任取2枚,分别放在天平的左右两个托盘中,如果天平的左右两边不平衡,则较轻的一边放的就是假币;如果天平的左右两边平衡,则余下的那一枚就是假币。
教学时,可以有意识地引导学生得出两种算法,让学生明白,求解一个问题的算法不一定唯一。
然后可以让学生想一想,用这两种算法找出假币,分别最少要称几次,最多要称几次?还有没有其它解决这个问题的算法,使得称量的次数少一些呢?很显然,这种算法只要称量2次就可以解决问题,一般会比前一种算法的称量次数要少得多。
2.从知识的应用价值层面
20世纪以来,数学发生了很大的变化,有两个显著地标志,其一是数学的应用,其二是数学与计算机科学的同步发展。计算机的应用离不开程序设计,而程序设计从本质上说就是算法的设计。计算机解决任何问题都要依赖于算法,只有将所要解决问题分解为若干个明确而有效的步骤,即算法,并用计算机能够执行的“语言”描述出来,计算机才能解决问题。因此,算法是计算机科学的重要基础,可以毫不夸张地说,没有算法就没有计算机。
3.确切性算法的每一步骤必须有确切的定义,不能存在歧义。
4.输入项一个算法有0个、一个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身给出了初始条件。
5.输出项一个算法必须有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
在教学过程中,可以通过一些算法案例,以加深对变量及其赋值的理解。如:
请仔细阅读下面的算法:
第一步A=1,B=2,C=3;
第二步A=A+B;
第三步A=A+B+C;
第四步输出A,B,C。
(三)算法应该具有的几个特征
一般来说,一个有效的算法应该具有下面几个特征:
1.有穷性也就是说算法必须能在执行有限个步骤之后终止,即算法的步骤不能是无限的。
可见,引入变量,并且对它进行赋值,可以使算法的表述变得非常简洁。
扬州高等职业技术学校教案(续页)
课堂教学安排
主要教学内容及步骤
备注
在解决问题的过程中,可以取不同数值的量称为变量。例如,上面例子中的S就是一个变量。
在设计算法时,引入变量并且对它进行适当赋值,可以使算法的表述变得简洁而又清楚。
在算法和程序设计中,变量与赋值是非常重要的概念,一个变量对应了一定的存储单元,用于存储数据,给变量赋值就是将这个值(数据)存储到这个变量所对应的存储单元,为了加深学生对变量概念的理解,可以将变量形象地看成是一个盒子,而给变量赋值就相当于往这个盒子里放东西,这个盒子可以放不同的值,但每次只能放一个。只要不给变量赋新的值,变量将始终保持已经存入的值直到算法终止,当给变量赋新的值时,原来的值将被新的值替代。
(二)变量及其赋值
我们发现,在设计算法的过程中,解决问题的思想方法有时并不太难,但在描述的时候却很啰嗦,通过引进变量,有时候可以很好地解决这个问题。
我们从一个游戏节目的记分问题出发,让学生体会到引进变量的好处。
例:大家在看某些娱乐类节目时,经常看到下面的情节:
一开始主持人报:开始的时候的选手的分数为100;
随着科学技术的日新月异,算法学也得到了前所未有的发展,现在已经发展到了各个领域.例如有遗传算法,排序算法,加密算法,蚁群算法等,与计算机科学,生物学等学科有着很广泛的联系,在高端科学技术中,例如在航空航天科技中,算法有着广泛的应用和重要的地位.可以这样说:“计算机既是数学的创造物,又是数学的创造者”,而算法既是计算机理论和实践的核心,也是数学的最基本内容之一。
第二步计算120+30,得到结果150;
第三步计算150-15,得到结果135;
第四步计算135+50,得到结果185.
所以,这名选手的最终得分为185.
我们引入变量,这个算法可以这样表述:
第一步S=100;
第二步S=S+20;
第三步S=S+30;
第四步S=S-15;
第五步S=S+50;
第六步输出S。
第二步取出左边托盘中的硬币,然后依次将剩下的硬币一一放在左边托盘进行称量,直到天平的左右两边不平衡,则较轻的一边放的就是假币。
第二种算法:
第一步将9枚硬币平均分成3组,每组3枚;
第二步将其中的2组分别放在天平的左右两个托盘中,如果天平的左右两边不平衡,则假币就在较轻的那一组中;如果天平的左右两边平衡,则这2组中的硬币都是真的,假币就在第3组中;
给变量赋值的一般格式为:
变量名=表达式
其中的符号“=”,就是赋值号,它的意义是将后面的表达式的值赋给变量,也就是将表达式的值存储到这个变量所对应的存储单元。
变量的值可以直接以赋初值的方式给定,也可以由输入的方式给定,并且在算法执行的过程中,我们可以给变量赋值或者改变变量的值,即对变量重新赋值,并取代原来的值。
对算法的概念,教学时重在让学生体会算法的含义以及算法的基本思想:程序化思想。
(4)求解某个问题的算法不一定唯一。
2.例如我们的探究:
小李想用银行卡从自动取款机上取500元钱,由于他第一次用银行卡取钱,所以向你求助,你能写下用银行卡取钱的具体步骤,帮助他顺利取到钱吗?
可以先让学生探讨用银行卡从自动取款机上取钱的方法,然后让学生用自然语言一步步表达出来,变得可以操作,这实际上就是算法。这样学生就可以体会到算法的意义:算法是指用来解决问题的一系列明确而有效的步骤,是解决问题的清晰指令。
这样,学生就会明白,解决问题的算法可能有好有坏
一般来说,解决一个问题的算法可能不止一种,这些算法有优有劣,从这些算法中找出好的算法,也是算法理论的一个重要课题。
与一般的解决问题的过程比较,算法有以下特征:
①设计一个具体问题的算法时,与过去熟悉地解数学题的过程有直接的联系,但这个过程必须被分解成若干个明确的步骤,而且这些步骤最后必须得到有效的结果.
②算法要“面面俱到”,不能省略任何一个细小的步骤,只有这样,才能在人设计出算法后,把具体的执行过程交给计算机完成.
我们知道,求解某个问题的算法不一定唯一,如果有几个算法都可以解决同一问题,那么我们总是选择更高效的那个算法。
数学应用
小明有9枚一元的硬币,其中有一枚是假币,比真币略轻,你能用天平(不用砝码,天平的左右两个托盘都可以放物)将假币找出来吗?写出解决这个问题的算法。
第一种算法:
第一步从9枚硬币中任取2枚,分别放在天平的左右两个托盘中,如果天平的左右两边不平衡,则较轻的一边放的就是假币;如果天平的左右两边平衡,则这2枚硬币都是真的,就进行下一步;
将含有变量自身的表达式赋给变量,可能学生较难理解,这时可以向学生讲明赋值语句的作用:
先计算赋值号右边表达式的值,然后将这个值赋给赋值号左边的变量。如:
i=2;
s=3;
s=s+i;
就是先计算赋值号右边表达式s+i的值,即3+2=5,然后将这个值5赋给赋值号左边的变量s。
扬州高等职业技术学校教案(续页)
变量及其赋值是算法学习的一个难点,难在哪里?有两种理解,一种是被赋值的左边看成“盒子”,右边看成“盒子中的数”。另一种是我要从盒子里拿出一个数来计算,也算在盒子里来解释,所以我们赋值语句的难点就在于,这种变量有两种含义,一种是相当于盒子要装东西,另一种就是,代表了这个盒子里的东西。这样两种理解就增加了赋值语句的难度。
3.从与其他数学的关系
算法,作为数学的一个分支,与其他数学领域有密切的关系。一方面,其他数学为算法提供许多解决问题的“算理”,另一方面,算法也为解决其他数学问题提供另一种思路和方法。
二、新授
(一)算法的概念
1.算法的概念:算法(algorithm)这个词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程.在数学上,算法是指用来解决问题的一系列明确而有效的步骤,是解决问题的清晰指令。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。
扬州高等职业技术学校教案(首页)
授课日期
授课班级
授课课时
2
授课形式
新授
授课章节
名称
第十二章第一节:算法的概念
使用教具
教学目的
1.了解算法的概念
2.体会算法的基本思想
教学重点
1.算法的概念
2.如何设计一个算法
教学难点
1.算法的概念
2.如何设计一个算法
更新、补
充、删节
内容
课外作业
P44习题1、3
教学反思
扬州高等职业技术学校教案(续页)
课堂教学安排
主要教学内容及步骤
备注
计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
实际上,一个“好的”算法,还具有:
6.高效性即运算的次数少,执行的速度快,占用的资源少。
板书设计
一、算法的基本概念
1.算法的定义
2.介绍算法的一些应用举例
二、变量
1.变量的概念
2.变量的应用举例
三、算法的特征
1.有穷性
2.可行性
3.确切性
扬州高等职业技术学校教案(续页)
课堂教学安排
主要教学内容及步骤
备注
前言:一.为什么要加算法
1.从国家的数学课程标准
在已经逐步进入信息化社会的今天,算法焕发出新的活力,算法的基本知识、方法、思想日益融入人们社会生活的方方面面,已经成为现代人所应具备的一种基本数学素质。
(3)算法一般是机械的,有时要进行大量重复的计算,只要按部就班地去做,总能算出结果。通常把算法过程称为“数学程序化”或者“数学机械化”。数学程序化的最大优点是任何人甚至是计算机实施这些步骤,都可以解决问题,
扬州高等职业技术学校教案(续注
而且得到相同的输出结果。本章主要以计算机能够实现的算法作为讨论的内容。
变量的赋值有以下几种常见的方式:
(1)a=1;(将常数赋给变量)
(2)a=3b+2;(将含有其它变量的表达式的值赋给变量)
(3)i=i+1;(将含有变量自身的表达式的值赋给变量,此时变量中的的在原来的基础上加1)
(4)i=2;
s=3;
s=s+i;(赋值表达式中既有变量自身,又有其它变量,此时变量s中的值为5)
现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.
说明:
(1)事实上算法并没有精确化的定义.
(2)算法虽然没有一个明确的定义,但其特点是鲜明的,不仅要注意算法的程序性、有限性、构造性、精确性的特点,还应该充分理解算法问题的指向性,即算法往往指向解决某一类问题,泛泛地谈算法是没有意义的。
课堂教学安排
主要教学内容及步骤
备注
注:
1.赋值号左边只能是变量名,不能是表达式或者数;(如3+s=1,5=s等都是错误的)
2.赋值号的左右两边不能互换;(如a=1合法,但1=a不合法,a=b与b=a的意义是不同的)
3.赋值号与我们熟悉的等号是不同的。(赋值号是将右边表达式的值,赋给赋值号左边的变量,而等号表示左右两边的值相等。所以s=s+1,如果是等号,就没有意义,如果是赋值号,就是合法的)
第一环节结束后,主持人报:这一环节结束后,分数加20;
第二环节结束后,主持人报:这一环节结束后,分数加30;
第三环节结束后,主持人报:这一环节结束后,分数减15;
第四环节结束后,主持人报:这一环节结束后,分数加50;
如果要计算这名选手最后的得分,可以用下面的算法:
第一步计算100+20,得到结果120;
第三步从含有假币的那一组的3枚硬币中任取2枚,分别放在天平的左右两个托盘中,如果天平的左右两边不平衡,则较轻的一边放的就是假币;如果天平的左右两边平衡,则余下的那一枚就是假币。
教学时,可以有意识地引导学生得出两种算法,让学生明白,求解一个问题的算法不一定唯一。
然后可以让学生想一想,用这两种算法找出假币,分别最少要称几次,最多要称几次?还有没有其它解决这个问题的算法,使得称量的次数少一些呢?很显然,这种算法只要称量2次就可以解决问题,一般会比前一种算法的称量次数要少得多。
2.从知识的应用价值层面
20世纪以来,数学发生了很大的变化,有两个显著地标志,其一是数学的应用,其二是数学与计算机科学的同步发展。计算机的应用离不开程序设计,而程序设计从本质上说就是算法的设计。计算机解决任何问题都要依赖于算法,只有将所要解决问题分解为若干个明确而有效的步骤,即算法,并用计算机能够执行的“语言”描述出来,计算机才能解决问题。因此,算法是计算机科学的重要基础,可以毫不夸张地说,没有算法就没有计算机。