|
|
|
|
|
|
|
您现在的位置: 算法与程序设计网>> 首页 >> 走进编程
欢迎光临算法与程序设计网!
 
1-2 算法和算法的描述
 

(作者:杜辉    修改时间:2006年7月10日)

 一、         教学目标

1、              知识与技能

(1)       了解算法的定义及其表达方法;

(2)       认知流程图的六种基本符号;

(3)       理解计算机解决问题的一般过程。

2、              方法与过程

(1)       理解用不同的表达方法描述算法的优缺点;

(2)       掌握用流程图描述简单的算法。

3、              情感态度和价值观

以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。

 

二、          重点难点

(一)教学重点

1、              算法的定义;

2、              算法的三种表达方法;

3、              流程图的六种基本符号;

4、              用流程图描述简单的算法。

(二)教学难点

5、              算法的描述(三种);

6、              用流程图描述算法。

 

三、         教学环境

1、              教材处理

通过物理学中的实例了解算法的概念和算法的描述方法掌握用计算机解决实际问题的一般步骤。用多媒体教学网开展教学;用“先自主探究,后教学指导”的方法进行教学。

2、              预备知识

学生已掌握了用计算机解决问题的过程,掌握了计算机运用基础。

3、              硬件要求

建议本节课在多媒体电脑教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。

4、              所需软件

学生机要安装VB6.0或以上版本。

5、              所需课时

2课时(100分钟)

 

四、         教学过程

教学内容

预期目标

新课内容:

一、对算法的初步了解

1.一个简单的物理问题:

书中例6-1-1:求物体在恒力作用下的加速度。

根据在物理课中学过的知识,要解决这个问题有多种方法:

方法一:

a)    测量出物体的质量m、拉力F和滑动摩擦力f

b)    将测量所得的数据输入计算机

c)    根据牛顿第二定律F-f=m*a,计算出加速度a

d)    输出所得的结果

方法二:

a)    测量出物体从静止开始移动的距离s、时间t

b)    将测量所得的数据输入计算机

c)    利用公式:s=a*t*t/2计算出加速度a

d)    输出所得的结果

2.算法的定义

这种为解决某一问题设计确定有限的步骤称为算法。

二、算法的描述

要把解决问题的步骤表达出来,有多种方法可以表达算法。

1.用自然语言表达

用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。

优点:容易理解

缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行

2.用图形符号表达

用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。

常用的“流程图”所用的基本符号

图形符号

符号名称

说明

流线

起始、终止框

表示算法的开始或结束

起始框:
一流出线

终止框:

一流入线

 

输入、输出框

框中标明输入、输出的内容

只有一流入线和一流出线

 

处理框

框中标明进行什么处理

只有一流入线和一流出线

 

判定框

框中标明判定条件并在框外标明判定后的两种结果的流向

一流入线两流出线
TF
)但同时只能一流出线起作用

 

流线

表示从某一框到另一框的流向

 

 

连接圈

表示算法流向出口或入口连接点

一条流线

优点:直观、形象

缺点:不能被计算机识别和执行

 

 

6-1-1:“物体在恒力作用下的加速度”的算法用下图表达。

 

 

 

 

 

 

 

 

 

 

 3.用程序实现算法

用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。

不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程序也有差异。

因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。

例:用Pascal语言表示“从键盘输入一组数据并求该组数据的平均值”的程序如下:

Program ex_aver

Var I:integer;x,av:real;

Begin

  Av:=0;I:=0;

  Do while not eof()

Begin

  Readln(x); av:=av+x;

  I:=I+1;

End

  av:=av/I;

  Writenln(“The average value is :”,av);

End

三、用计算机解决问题的一般过程

使用计算机解决一个问题,一般包括四个过程

1.需求分析

“需求分析”是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。

“需求分析”就是确定要计算机“做什么”。

2.设计算法

弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做”

解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是说,解决一个问题的算法可能不止一种。这是,应该通过分析、比较、挑选一种最优的算法。

3.编写程序

计算机只能接受并执行计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写程序。这个过程成为“编码”或“编程”。

4.上机调试与维护

编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。这个过程称为“上机调试”。

即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。

在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧重。

 

 

 

 

 

 

 

 

 

引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念

 

 

 

 

 

 

 

 

引导出算法的概念

  

 

 

 

介绍三种算法的表达方式,并对它们进行比较,分析优缺点。

  

 

 

 

 

 

 

 

给出流程图的基本符号,对其功能和使用情况加以说明,以便今后在具体运用中的正确使用。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

给出流程图的作法,通过详细的解释说明使学生初步掌握流程图的使用和基本画法。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

了解计算机解决问题的一般过程,为今后用编程解决实际问题打下基础。

 

 

 

 

五、         课外拓展

1、              相关资源

东莞中学信息技术网:http://itedu.dgzx.net/Article_Class.ASP?ClassID=32

普通高中技术课程网:http://blog.cersp.com/6002/category/4662.aspx

 

2、              课外练习

小明是小学一年级学生,请你为他设计一个小程序,专门用来练习加法运算。具体讲就是让计算机产生两个整数并组成加法竖式,再从键盘输入一个结果数,最后让计算机来判断结果是否正确。

 
 
1
版权所有 Copyright© 2006惠东高级中学信息技术组