|
新课内容:
一、对算法的初步了解
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.用图形符号表达
用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。
常用的“流程图”所用的基本符号
|
图形符号 |
符号名称 |
说明 |
流线 |
|
 |
起始、终止框 |
表示算法的开始或结束 |
起始框:
一流出线
终止框:
一流入线 |
|
|
输入、输出框 |
框中标明输入、输出的内容 |
只有一流入线和一流出线 |
|
|
处理框 |
框中标明进行什么处理 |
只有一流入线和一流出线 |
|
|
判定框 |
框中标明判定条件并在框外标明判定后的两种结果的流向 |
一流入线两流出线
(T和F
)但同时只能一流出线起作用 |
|
|
流线 |
表示从某一框到另一框的流向 |
|
|
|
连接圈 |
表示算法流向出口或入口连接点 |
一条流线 |
优点:直观、形象
缺点:不能被计算机识别和执行
例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.上机调试与维护
编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。这个过程称为“上机调试”。
即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。
在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧重。
|
引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念
引导出算法的概念
介绍三种算法的表达方式,并对它们进行比较,分析优缺点。
给出流程图的基本符号,对其功能和使用情况加以说明,以便今后在具体运用中的正确使用。
给出流程图的作法,通过详细的解释说明使学生初步掌握流程图的使用和基本画法。
了解计算机解决问题的一般过程,为今后用编程解决实际问题打下基础。
|