关于算法的教学建议(一)算法基础_第1页
关于算法的教学建议(一)算法基础_第2页
关于算法的教学建议(一)算法基础_第3页
关于算法的教学建议(一)算法基础_第4页
关于算法的教学建议(一)算法基础_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于算法的教学建议(-)算法基础

摘要:输出:一个算法有一个或多个输出,没有输出的算法是毫无意义的.•・・用计算机解决问题的一

般过程:分析问题;设计算法;编写程序;上机调试和维护.算法中.•・

关键词:算法,计算机

类别:专题技术

来源:牛档搜索(Niudown.COM)

牛档

^^DluQoWh搜文档找老牛

本文系牛档搜索(NiudowmCOM)根据用户的指令自动搜索的结果,文中内涉及到的资料均来自

互联网,用于学习交流经验,作品其著作权归原作者所有。不代表牛档搜索(Niudown.COM)赞成本

文的内容或立场,牛档搜索(Niudown.COM)不对其付相应的法律责任!

关于算法的教学建议(一)——算法基础

知识点必须落实的要点选用例题、练习例题、练习处理

•算法的概念与特征:【例1】渡河问题。一个农夫带着一条狼、【例1】采用游戏方式,让学生体验解决此问

>算法:为解决某一问题而一只山羊和一篮蔬菜过河,但只有一题设计的步骤,引入算法概念,从而说明

设计的确定的有限的步条小船,并且每次只能让农夫带一样算法的主要特征。

骤。东西过河。农夫在场的情况下一切相

>主要特征:安无事,一旦农夫不在,狼会吃羊,

令有穷性:一个算法必须羊会吃蔬菜。问聪明的农夫如何解决

保证执行有限步骤之后过河问题。

结束。

算法与<确切性:算法的每一步

算法描骤必须有确切的含义。

<能行性:算法的每一步

骤都能有效地执行,并

得到确定的结果。

令输入:一个算法有。个

或多个输入。

令输出:一个算法有一个

或多个输出,没有输出

的算法是毫无意义的。

•算法的描述方法:【例2]用自然语言描述:从键盘输入两【例2】按解决问题的先后次序描述步骤。

>用自然语言表达;数,求两数之和并输出。说明:此时,只宜出现顺序结构。

>用流程图表达;

>用程序表达。【例3】将上题用流程图来描述。【例3】主要是依据自$去语言画流程图,降低

•流程图最常用的符号:直接画流程图的难以上本例中强调各图形

>起止框;符号的作用,规范H叵法,尤其是流程线的

>输入输出框;自上而下的流虹_

始)

>处理框;

>判断框;

/输入一个加数/

>流程线和连接圈。

/输入另一个加/

/寸L__y

计算两数之和

/输HB和/

【例4】提供一种语言,编写一个实现求[例4]教师可以选才举较简单的典型语言环

和问题的程序,说明如何用程序描述境(如VB,TC,QB等)。

算法。华师大版教材中的问题:P37三个end。

•用计算机解决问题的一般过【例5】已知圆半径,求面积。【例5】按解决问题的过程进行分析。

程:•分析问题:

>分析问题;分析解决问题所需要的数据(条件)——

>设计算法;输入;

>编写程序;确定要计算机解决什么问题,即“做什么”

>上机调试和维护。——处理;

•算法中基本步骤:明确最后得到的结果——输出。

>输入一处理一输出。此例中要求输入圆半径,计算圆面积,输

用计算出圆面积。

机解决•设计算法:

问题的设计出解决某一问题的一组(有限

一般过个)求解步骤,即怎么做。本例用计算圆

程面积公式即可得到结果。请学生用自然语

言与流程图分别描述出来。

需指出的是,为计算机设计算法就必

须依据计算机的工作原理(冯•诺依曼型

计算机),因为设计的算法和程序最终要

让计算机去执行的。有些问题的算法计算

机与人工的方法是不同的,例如:记录原

始数据和中间结果,计算机要利用存储

器,而人工需要纸和笔;又如解方程,计

算机只能根据公式进行数值运算而人工

则能进行代数运算。

(开始)

/输入圆半径/

1r

利用公式计

算圆而积

/输出面积/

(结束)

•编写程序(略)。

本例中“输入半径”、“计算面积”、“输

出面积”等步骤,流程图中只能用文字表

达,暂不涉及变量及表示变量的字母,但

需强调的是处理后输出的必要性。

【例6】上例中增加求周长,设计出算法,【例6】处理时,学生可能会画出两个流程图,

并用流程图表示。此时应说明:可在一个流程图中实现输出

两个结果。

•常量:指在程序执行过程中事[例7]上例中设圆的半径为5cm,如果半【例7】分清常量与变量。

先设置、其值不发生改变的量,径用字母r表示,周长用字母c表示,>本例中数字5就是常量。

即一个具体的数值。面积用字母s表示,求圆的周长和面>本例中r、c、s就是变量。

•变量:积。设计出算法,并用流程图表示。>流程图中,可以把“输入半径”、“计

>变量:指在程序运行过程算周长”、“计算面积”、“输出面积”

中,取值可以改变的量,改为“输入r”、“计算c”、“计算s”、

一般用字母表示。在计算“输出S”。

机内部变量对应了一定的【例8】判断下列变量名是否正确。a,cl,【例8】熟悉变量名的命名规则。

常量与

存储单元。class*l,sum,3f,gradeAa@a,data,

变量名>变量命名的基本规则

a/ao

令只能由字母、数字和下【例9]举些生活中常用数据用变量来表【例9】确定合适变量名,是便于理解与记忆。

划线三类字符组成,但示,并起一个合适变量名。例如:mark-

第一个字符必须是字成绩数据,name-姓名,no-学号等。

母。

令字母大小写都可以,变

[例10]上述变量分别是哪种变量的类【例10]变量的类型要求知道数值型、字符

量名长度适当。

型。型两种。

>变量名与实际意义

>变量类型

•变量赋值的格式:【例11]a=3【例11】说明变量的变量名与变量值。

>变量一常量或变量一变a=5a<—变量名

J里SL。3——变量值

A变量=常量或变量=变量、存储单元

*功能:>变量名实际上是一个符号地址,对应

将赋值号右边常量的值或变量一定的内存储单元。

的值存放在左边变量名对应的>变量值指内存储单元中的值。

存储单元中,成为左边变量的>变量一般先赋值,后调用,重新赋值

值。后,变量的值改变。

变量的【例12】b=a【例12】说明变量的值“取之不尽,一冲就

赋值c=a丢”。

d=a>变量a的值赋给b后,变量a中的值

b=3还在,可以继续赋给c与d,说明

变量值可以重复调用,变量值“取之

不尽”,与“读”存储器对应。

>当执行到b=3时,b变量值中原来的

值被改写为3了,原来值没有了,说

明变量值一旦重新赋值后,立即被新

值代替,变量值“一冲就丢”,与“写”

存储器对应。

•运算符及运算次序:【例13】写出变量a,b,c,d的值。【例13](1)说明赋值语句中赋值号右边可以

>算术运算符+、-、*、/、(1)a=2(2)a=2是一个式子,引出运算符与表达式。

modeb=a+ab=3>表达式可以是单个的常量或变量。

>字符运算符&或+。c=a+bb=a+b>关系表达式与逻辑表达式的举例在

>关系运算符>、<^>=、b=a-b【例14】中。

V=、=、V>oa=a-b>可以采用列表法记录变量值变化的

>逻辑运算符and、or、not。(3)a="开"(4)a=0过程与结果,例1(2)

>算术运算最优先,关系运b="放"a=a+3abcd

算次之,最后为逻辑运算,c=a+ba=22

运算符括号可以改变次序。d=b+ab=33

与表达•表达式:b=a+b5

式>表达式:指用运算符将常b=a-b-3

量、变量连接起来有意义a=a-b5

的式子。当变量值变化时列出新值,取值时

>表达式的类型:取出最后一次的结果。

令算术表达式。【例14】判断下列关系表达式结果是true【例14】知道逻辑型常量true或false,以及

<字符表达式。或false。关系表达式的结果为逻辑值true或false

令关系表达式。

(1)30>3知道。

令逻辑表达式。

(2)12<=5>关系运算符与逻辑运算符。

•采用列表法记录变量值变化的

(3)30>3and12<=5>关系运算和逻辑运算的结果是逻辑

过程与结果

30>3or12<=5值true或falseo

>逻辑运算次序先not后and再or

>关系运算符与逻辑运算符可在分支

结构单元学习时再举些实例。

【例15】各类运算次序。

【例15】说出下列表达式运算的次序。算术运算最优先,关系运算次之,最

a+b>candb+c>aandc+a>b后为逻辑运算,括号可以改变次序。

【例16】两种表示法的含义相同,都是将符

【例16】表达式表示法:号右边的表达式的值赋给左边的变量,要

s-a*h/2或s=a*h/2注意的是符号左右用同一字母表示的变

a-a+2或a=a+2量的含义和值都不同。赋值语句格式可统

一为:变量=<表达式>,先运算,后赋值。

【例17】为以后的例题准备。

【例17】将下列描述用赋值语句表示。>学生容易将运算符*省略掉。

(1)设圆的半径为5cm,将它存放在变

量r中,将圆周长赋值给变量c,

面积赋值给变量So

(2)假设一元二次方程的系数存放在

变量a,b,c,将判别式赋给变量do>字符类型变量的赋值。

(3)将“信息科技”字符信息赋值给

变量titleo>pl=price/2price=plpl起了

(4)某商店一商品价格存放在变量过渡的作用,在算法中可以写成

price中,将price打对折,赋值price=price/2,说明同一变量可

给变量price中。以不断地反复地进行赋值,变量值取

(5)将国民生成总值gnp翻2翻。最新(近)一次赋值为准,若学生不

能理解可以先给price赋一个确定

值500,然后一一列出赋值后变量的

值。

>不引进累加器和计数器,在循环结构

单元中说明。

【例18]按计算机处理问题的一般过程。

【例18】某学校需购买n套学生课桌椅,•分析问题:

已知每套单价200元,另加总价的输入:所需要的数据单价是已知的,套数

3.5%的送货费,请计算学校应付款是需从键盘输入。

多少?请画出流程图。(单价用变量j处理:计算应付款,应付款=总价+总价

表示,套数用n表示,总价用m表示,*0.035,总价=单价*套数;(也可

应付款用p表示)写成一个表达式:应付款=单价*套

数*1.035)o

输出:应付款。

•设计算法:

先用自然语言描述,再画出流程图,

检查流程图的规范性。注意表达式中乘号

的写法。根据教学实际情况,教师可更改

流程图中的步骤。

(开始)

___1____

/输入购买课/

/桌椅套数n/

1

j=200

m=j*n

p=m*l.035

/输出应忖款P/

(结束)

•编写程序(1咯)。

•上机调试与,维护(略)。

说明:这部分教学中,一定要注意以下儿点

*有关概念要注意准确和清晰,切忌模糊,使学生一开始就能有正确的认识。

*要注意循序渐进,还没有出现的概念和知识,决不能事先应用。

*各知识点的落实,最后要在解决问题的流程图中统一体现。

关于算法的教学建议(二)——顺序结构

知识点必须落实的要点选用例题、练习例题、练习处理

•顺序结构:【例11键盘输入一个正方形的边长a,【例1]利用一般数学或物理公式进行计算。

严格按照先后:顺序执行各个步求该正方形与其内切圆所夹部分的面复习、巩固变量、变量值、表达式。

骤的算法结构。积并输出。•分析问题:

>输入什么数据?(正方形边长a)

选用例题:一物体以速度v米/秒匀速>处理什么问题?(计算正方形与其内

「1

11运动,求经过t秒后物体运动的距离s。切圆所夹部分面积)

11

1操作11>输出什么数据?(所求得的面积)

11

11•设计算法:

11

11根据数学知识知道:

11

顺序结1操作21正方形面积圆面积

11sl=an,s2=na?/4,

构11

11所夹部分面积s=sl-s2。

•流程图:

(开始)

/输入正方形/

/族a/

j

1

计算正方形面积

S1=a*a

•常用函数

>sqr(x)算术平方根计算圆而枳

S2=3.14*a*a/4

>abs(x)绝对值

>int(x)取整函数所夹部分面积

S=S1-S2

1

/输出面积S/

1

(结束)

[例2]键盘输入一个二位正整数n,输【例2】利F用取整函数取十位号发。

出它的十位数X。x=int(n/10)

[例3]输入任意一个三位正整数n,输【例3】利1月取整函数取各位号发字。

出这个三位数各位数字之和totalo•分析问4犯

例如:输入456,输出结果为15。>输入.什么数据?(三位正整数n)

>处理一什么问题?(分别求出各位数字,

并计一算它们的和total)

可选用例题:输入任意一个三位正整>输出什么数据?(所求得的和total)

数,将它们反向输出。例输入456,•设计算法:

输出654o百位数a=int(n/100);

十位数b=int((n-a*100)/10);

个位数c=n-a*100-b*10;

total=a+b+c(>

>注:除了用取整函数外,还可以与取

余数运算符mod结合使用。

个位数c=nmod10;

十位数b=(int(n/10))mod10;

百位数a=int(n/100)0

•流程图:

(开始)

/输入任意的/

/三位数n/

_____1_____

a=int(n/100)

J

b=int((n-a*100)/IO)

c=n-a*1OO-b*10

total=a+b+c

/输出total/

4r

(结束)

【例4】输入一元二次方程的系数a、b、【例4】用带函数的数学公式计拿h

c(确保b?-4ac>0),计算并输出两个实•分析问题

根xl、x2o>输入彳t么数据?(系数a、b、c,保证

b2-4a(:>0)

>处理彳十么问题?(计算方.程的两个实

根xl和x2)

可选用例题:>输出什么数据?(所求得的两个实根

(1)输入平面直角坐标系中的两点的xl和x2)

坐标a(xl,yl)、b(x2,y2),计设计算法:

算并输出两点间的距离L。根据数学知识得知:

(2)已知三角形三条边的长a、b、c,d=b*b-4*a*c;

利用海伦公式/s(s-a)(s-份(s-c)xl=(-b+sqr(d))/2/a;

x2=(-b-sqr(d))/2/a。

求三角形面积。其中s=(a+b+c)/2

或xl=(-b+sqr(d))/(2*a);

x2=(-b-sqr(d))/(2*a)o

注意表达式的写法,表达式中的(2*a)

学生容易漏掉()。

流程图:

开始

输入系数

a、b、c

d=b*b-4*a*c

Xl=(-b+sqr(d))/2/a

X2=(-b-sqr(d))/2/a

输出两实根

xl>x2

(结束)

【例5】实现的方法有多种:

【例5】交换两个变量的值。>借用第三个变量

先试着直接交换,a=l,b=2,a=b,b=a0

用表格跟踪变量变化过程,结果变量a

与b值都为2,原因就是“一冲就丢”。

ab

a=l1

b=22

a=b2

b=a2

为了防止有用的数据丢失,预先将a

的值保护起来,可以引入使用第三个

变量t,将a值暂存。次序如图所示,

写出语句。

At/③

t=a

a=b

b=t

>写出下列运行后a与b的值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论