数学新课标人教A版12 基本算法语句 教案.docx
《数学新课标人教A版12 基本算法语句 教案.docx》由会员分享,可在线阅读,更多相关《数学新课标人教A版12 基本算法语句 教案.docx(7页珍藏版)》请在冰豆网上搜索。
数学新课标人教A版12基本算法语句教案
数学新课标人教A版必修3:
1.2基本算法语句(教案)
1.2.1输入、输出语句和赋值语句(第一课时)
教学目标:
知识与技能
(1)正确理解输入语句、输出语句、赋值语句的结构。
(2)会写一些简单的程序。
(3)掌握赋值语句中的"="的作用。
过程与方法
(1)让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿。
(2)通过对现实生活情境的探究,尝试设计出解决问题的程序,理解逻辑推理的数学方法。
情感态度与价值观
通过本节内容的学习,使我们认识到计算机与人们生活密切相关,增强计算机应用意识,提高学生学习新知识的兴趣。
重点与难点
重点:
正确理解输入语句、输出语句、赋值语句的作用。
难点:
准确写出输入语句、输出语句、赋值语句。
学法与教学用具
计算机、图形计算器
教学设想
【创设情境】
在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:
听MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?
计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法"看得懂,听得见"的。
因此还需要将算法用计算机能够理解的程序设计语言(programminglanguage)翻译成计算机程序。
程序设计语言有很多种。
如BASIC,Foxbase,C语言,C++,J++,VB等。
为了实现算法中的三种基本的逻辑结构:
顺序结构、条件结构和循环结构,各种程序设计语言中都包含下列基本的算法语句:
这就是这一节所要研究的主要内容--基本算法语句。
今天,我们先一起来学习输入、输出语句和赋值语句。
(板出课题)
【探究新知】
我们知道,顺序结构是任何一个算法都离不开的基本结构。
输入、输出语句和赋值语句基本上对应于算法中的顺序结构。
(如右图)计算机从上而下按照语句排列的顺序执行这些语句。
输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。
如下面的例子:
用描点法作函数的图象时,需要求出自变量与函数的一组对应值。
编写程序,分别计算当时的函数值。
程序:
(教师可在课前准备好该程序,教学中直接调用运行)
(学生先不必深究该程序如何得来,只要求懂得上机操作,模仿编写程序,通过运行自己编写的程序发现问题所在,进一步提高学生的模仿能力。
)
〖提问〗:
在这个程序中,你们觉得哪些是输入语句、输出语句和赋值语句呢?
(同学们互相交流、议论、猜想、概括出结论。
提示:
"input"和"print"的中文意思等)
(一)输入语句
在该程序中的第1行中的INPUT语句就是输入语句。
这个语句的一般格式是:
其中,"提示内容"一般是提示用户输入什么样的信息。
如每次运行上述程序时,依次输入-5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输入的值赋给变量"x",并按"x"新获得的值执行下面的语句。
INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:
例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:
INPUT"数学,语文,英语";a,b,c
注:
①"提示内容"与变量之间必须用分号";"隔开。
②各"提示内容"之间以及各变量之间必须用逗号","隔开。
但最后的变量的后面不需要。
(二)输出语句
在该程序中,第3行和第4行中的PRINT语句是输出语句。
它的一般格式是:
同输入语句一样,表达式前也可以有"提示内容"。
例如下面的语句可以输出斐波那契数列:
此时屏幕上显示:
TheFibonacciProgressionis:
11235813213455...
输出语句的用途:
(1)输出常量,变量的值和系统信息。
(2)输出数值计算的结果。
〖思考〗:
在1.1.2中程序框图中的输入框,输出框的内容怎样用输入语句、输出语句来表达?
(学生讨论、交流想法,然后请学生作答)
参考答案:
输入框:
INPUT"请输入需判断的整数n=";n
输出框:
PRINTn;"是质数。
"
PRINTn;"不是质数。
"
(三)赋值语句
用来表明赋给某一个变量一个具体的确定值的语句。
除了输入语句,在该程序中第2行的赋值语句也可以给变量提供初值。
它的一般格式是:
赋值语句中的"="叫做赋值号。
赋值语句的作用:
先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值。
注:
①赋值号左边只能是变量名字,而不能是表达式。
如:
2=X是错误的。
②赋值号左右不能对换。
如"A=B""B=A"的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等)
④赋值号"="与数学中的等号意义不同。
〖思考〗:
在1.1.2中程序框图中的输入框,哪些语句可以用赋值语句表达?
并写出相应的赋值语句。
(学生思考讨论、交流想法。
)
【例题精析】
〖例1〗:
编写程序,计算一个学生数学、语文、英语三门课的平均成绩。
分析:
先写出算法,画出程序框图,再进行编程。
算法:
程序:
〖例2〗:
给一个变量重复赋值。
程序:
[变式引申]:
在此程序的基础上,设计一个程序,要求最后A的输出值是30。
(该变式的设计意图是学生加深对重复赋值的理解)
程序:
〖例3〗:
交换两个变量A和B的值,并输出交换前后的值。
分析:
引入一个中间变量X,将A的值赋予X,又将B的值赋予A,再将X的值赋予B,从而达到交换A,B的值。
(比如交换装满水的两个水桶里的水需要再找一个空桶)
程序:
〖补例〗:
编写一个程序,要求输入一个圆的半径,便能输出该圆的周长和面积。
(取3.14)
分析:
设圆的半径为R,则圆的周长为,面积为,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。
程序:
【课堂精练】
P15练习1.2.3
参考答案:
1.程序:
INPUT"请输入华氏温度:
";x
y=(x-32)*5/9
PRINT"华氏温度:
";x
PRINT"摄氏温度:
";y
END
〖提问〗:
如果要求输入一个摄氏温度,输出其相应的华氏温度,又该如何设计程序?
(学生课后思考,讨论完成)
2.程序:
INPUT"请输入a(a0)=";a
INPUT"请输入b(b0)=";b
X=a+b
Y=a-b
Z=a*b
Q=a/b
PRINTa,b
PRINTX,Y,Z,Q
END
3.程序:
p=(2+3+4)/2
t=p*(p-2)*(p-3)*(p-4)
s=SQR(t)
PRINT"该三角形的面积为:
";s
END
注:
SQR()是函数名,用来求某个数的平方根。
【课堂小结】
本节课介绍了输入语句、输出语句和赋值语句的结构特点及联系。
掌握并应用输入语句,输出语句,赋值语句编写一些简单的程序解决数学问题,特别是掌握赋值语句中"="的作用及应用。
编程一般的步骤:
先写出算法,再进行编程。
我们要养成良好的习惯,也有助于数学逻辑思维的形成。
【评价设计】
1.P23习题1.2A组1
(2)、2
2.试对生活中某个简单问题或是常见数学问题,利用所学基本算法语句等知识来解决自己所提出的问题。
要求写出算法,画程序框图,并写出程序设计。
1.2.2-1.2.3条件语句和循环语句(第二、三课时)
教学目标:
知识与技能
(1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。
(2)会应用条件语句和循环语句编写程序。
过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力
情感态度与价值观
了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。
深刻体会到循环语句在解决大量重复问题中起重要作用。
减少大量繁琐的计算。
通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。
重点与难点
重点:
条件语句和循环语句的步骤、结构及功能。
难点:
会编写程序中的条件语句和循环语句。
学法与教学用具
计算机、图形计算器
教学设想
【创设情境】
试求自然数1+2+3+......+99+100的和。
显然大家都能准确地口算出它的答案:
5050。
而能不能将这项计算工作交给计算机来完成呢?
而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足"我们日益增长的物质需要",因此,还需要进一步学习基本算法语句中的另外两种:
条件语句和循环语句(板出课题)
【探究新知】
(一)条件语句
算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。
它的一般格式是:
(IF-THEN-ELSE格式)
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。
其对应的程序框图为:
(如上右图)
在某些情况下,也可以只使用IF-THEN语句:
(即IF-THEN格式)
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。
其对应的程序框图为:
(如上右图)
条件语句的作用:
在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。
需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。
【例题精析】
〖例1〗:
编写程序,输入一元二次方程的系数,输出它的实数根。
分析:
先把解决问题的思路用程序框图表示出来,然后再根据程序框图给出的算法步骤,逐步把算法用对应的程序语句表达出来。
算法分析:
我们知道,若判别式,原方程有两个不相等的实数根、;若,原方程有两个相等的实数根;若,原方程没有实数根。
也就是说,在求解方程之前,需要首先判断判别式的符号。
因此,这个过程可以用算法中的条件结构来实现。
又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算和之前,先计算,。
程序框图:
(参照课本)
程序:
(如右图所示)
注:
SQR()和ABS()是两个函数,分别用来求某个数的平方根和绝对值。
即,
〖例2〗:
编写程序,使得任意输入的3个整数按从大到小的顺序输出。
算法分析:
用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≥b≥c.具体操作步骤如下。
第一步:
输入3个整数a,b,c.
第二步:
将a与b比较,并把小者赋给b,大者赋给a.
第三步:
将a与c比较.并把小者赋给c,大者赋给a,此时a已是三者中最大的。
第四步:
将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。
第五步:
按顺序输出a,b,c.
程序框图:
(参照课本)
程序:
(如右框图所示)
〖补例〗:
铁路部门托运行李的收费方法如下:
y是收费额(单位:
元),x是行李重量(单位:
kg),当0<x≤20时,按0.35元/kg收费,当x>20kg时,20kg的部分按0.35元/kg,超出20kg的部分,则按0.65元/kg收费,请根据上述收费方法编写程序。
分析:
首先由题意得:
该函数是个分段函数。
需要对行李重量作出判断,因此,这个过程可以用算法中的条件结构来实现。
程序:
INPUT"请输入旅客行李的重量(kg)x=";x
IFx0ANDx=20THEN
y=0.35*x
ELSE
y=0.35*20+0.65*(x-20)
ENDIF
PRINT"该旅客行李托运费为:
";y
END
【课堂精练】
1.练习2.(题略)
分析:
如果有两个或是两个以上的并列条件时,用"AND"把它们连接起来。
2.练习1.(题略)
参考答案:
INPUT"请输入三个正数a,b,c=";a,b,c
IFa+bcANDa+cbANDb+caTHEN
PRINT"以下列三个数:
";a,b,c,"可以构成三角形。
"
ELSE
PRINT"以下列三个数:
";a,b,c,"不可以构成三角形!
"
ENDIF
END
(二)循环语句
算法中的循环结构是由循环语句来实现的。
对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
(1)WHILE语句的一般格式是:
其中循环体是由计算机反复执行的一组语句构成的。
WHLIE后面的"条件"是用于控制计算机执行循环体或跳出循环体的。
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。
这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。
因此,当型循环有时也称为"前测试型"循环。
其对应的程序结构框图为:
(如上右图)
(2)UNTIL语句的一般格式是:
其对应的程序结构框图为:
(如上右图)
〖思考〗:
直到型循环又称为"后测试型"循环,参照其直到型循环结构对应的程序框图,说说计算机是按怎样的顺序执行UNTIL语句的?
(让学生模仿执行WHILE语句的表述)
从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOPUNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。
〖提问〗:
通过对照,大家觉得WHILE型语句与UNTIL型语句之间有什么区别呢?
(让学生表达自己的感受)
区别:
在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。
【例题精析】
〖例3〗:
编写程序,计算自然数1+2+3+......+99+100的和。
分析:
这是一个累加问题。
我们可以用WHILE型语句,也可以用UNTIL型语句。
由此看来,解决问题的方法不是惟一的,当然程序的设计也是有多种的,只是程序简单与复杂的问题。
程序:
WHILE型:
UNTIL型:
〖例4〗:
根据1.1.2中的图1.1-2,将程序框图转化为程序语句。
分析:
仔细观察,该程序框图中既有条件结构,又有循环结构。
程序:
〖思考〗:
上述判定质数的算法是否还能有所改进?
(让学生课后思考。
)
〖补例〗:
某纺织厂1997年的生产总值为300万元,如果年生产增产率为5﹪,计算最早在哪一年生产总值超过400万元。
分析:
从1997年底开始,经过x年后生产总值为300×(1+5﹪)x,可将1997年生产总值赋给变量a,然后对其进行累乘,用n作为计数变量进行循环,直到a的值超过400万元为止。
解:
程序框图为:
程序:
【课堂精练】
1.练习2.3(题略)
参考答案:
2.解:
程序:
X=1
WHILEX<=20
Y=X^2-3*X+5
X=X+1
PRINT"Y=";Y
WEND
END
3.解:
程序:
INPUT"请输入正整数n=";n
a=1
i=1
WHILEi=n
a=a*i
i=i+1
WEND
PRINT"n!
=";a
END
【课堂小结】
本节课主要学习了条件语句和循环语句的结构、特点、作用以及用法,并懂得利用解决一些简单问题。
条件语句使程序执行产生的分支,根据不同的条件执行不同的路线,使复杂问题简单化。
有些复杂问题可用两层甚至多层循环解决。
注意内外层的衔接,可以从循环体内转到循环体外,但不允许从循环体外转入循环体内。
条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。
循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务。
如累加求和,累乘求积等问题中常用到。
【评价设计】
1.P23习题1.2A组3、4
P24习题1.2B组2.
2.试设计一个生活中某个简单问题或是常见数学问题,并利用所学基本算法语句等知识编程。
(要求所设计问题利用条件语句或循环语句)