人教版高中数学A版必修三优秀教案
第一章__算法初步
1.2 基本算法语句
1.2.1 输入语句、输出语句和赋值语句
整体设计
教学分析
通过上一节的学习,学生了解了算法的含义,学习了用算法步骤和程序框图表示算法的方法,本节介绍用程序设计语言表示算法的方法. 算法步骤和程序框图表示的算法,计算机是不能理解的,程序是算法的精确形式,是计算机可以理解的算法.本节的教学重点是通过实例使学生理解三种基本算法语句的结构和用法,并在此基础上编写由算法语句组成的程序,从而更细致地刻画算法,进一步体会算法的基本思想. 三维目标
1.理解学习基本算法语句的意义.
2.学会输入语句、输出语句和赋值语句的基本用法.
3.理解算法步骤、程序框图和算法语句的关系,学会算法语句的写法. 重点难点
教学重点:输入语句、输出语句和赋值语句的基本用法. 教学难点:算法语句的写法. 课时安排 1课时
教学过程
导入新课
思路1(情境导入)
中国足球队在亚洲杯上的失利说明,中国足球仍然需要请外国教练.高水平的外国教练有先进的足球理念,有系统科学的训练计划,有先进的足球技术,但由于语言不通不能直接传授给队员. 算法步骤、程序框图虽然容易掌握,但计算机不能理解,因此我们需要学习算法语句.
思路2(直接导入)
前面我们学习了程序框图的画法,为了让计算机能够理解算法步骤、程序框图,我们开始学习算法语句. 推进新课 新知探究 提出问题
(1)指出输入语句的格式、功能、要求. (2)指出输出语句的格式、功能、要求. (3)指出赋值语句的格式、功能、要求.
(4)利用框图总结三种语句的功能、格式、特点. (5)指出三种语句与框图的对应关系. 讨论结果:
(1)输入语句的格式:INPUT“提示内容”; 变量 例如:INPUT “x=”;x
功能:实现算法的输入变量信息(数值或字符)的功能. 要求:
1°输入语句要求输入的值是具体的常量.
2°提示内容提示用户输入的是什么信息,必须加双引号,提示内容 “原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开.
3°一个输入语句可以给多个变量赋值,中间用“,”分隔. 形式如:INPUT“a=,b=,c=,”;a,b,c
(2)输出语句的一般格式:PRINT“提示内容”;表达式 例如:PRINT“S=”;S
功能:实现算法输出信息(表达式)的功能. 要求:
1°表达式是指算法和程序要求输出的信息.
2°提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开.
3°如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.
形式如:PRINT “a,b,c:”;a,b,c
(3)赋值语句的一般格式:变量=表达式. 赋值语句中的“=”称作赋值号.
功能:将表达式所代表的值赋给变量. 要求:
1°赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的.
2°赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”“B=A”的含义运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的.
3°不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等),如y=x2-1=(x-1)(x+1),这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值,不能出现两个或以上的“=”.但对于同一个变量可以多次赋值.
(4)三种语句的功能、格式、特点如下:
在QBASIC语言中,输入语句是INPUT语句,输出语句是PRINT语句,赋值语句是LET语句(“LET”可以省略).下表列出了这三种语句的一般格式、主要功能和相关说明,供教师教学时参考,不要求学生掌握. 格式 功能 INPUT语句 INPUT“提示内容”;变量 可对程序中的变量赋值 PRINT语句 PRINT“提示内容”;表达式 可输出表达式的值,计算 ①又称“打印语句”,将表达式的值在屏幕上显示出来 ②表达式可以是变量、计算公式或系统信息 ③一个语句可以输赋值语句 LET变量=表达式 可对程序中的变量赋值,计算 ①在程序运行过程中给变量赋值 ②“LET”可以省略,“=”的右侧必须是表达式,左侧必须是变量 ③一个语句只能给一个变量赋值 ①又称“键盘输入语句”,在程序运行过程中,停机等候用户由键盘输入数据,而不需要在写程序说明 时指定 ②“提示内容”和它后面的“;”可以省略 ③一个语句可以给多个变量赋
值,中间用“,”分隔 ④无计算功能 ⑤用户由键盘输入的数据必须是常量,输入多个数据时用“,”分隔,且个数要与变量的个数相同 出多个表达式.不同的表达式之间可用“,”分隔 ④有计算功能,能直接输出计算公式的值 ④有计算功能 ⑤将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最后被赋予的值 (5)指出三种语句与框图的对应关系如下图.
应用示例
思路1
例1 用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值 .编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值.
算法分析:根据题意,对于每一个输入的自变量的值,都要输出相应的函数值.写成算法步骤如下:
第一步,输入一个自变量的x的值. 第二步,计算y=x3+3x2-24x+30. 第三步,输出y. 程序框图如下图:
显然,这是一个由顺序结构构成的算法,按照程序框图中流程线的方向,依次将程序框中的内容写成相应的算法语句,就得相应的程序. 解:程序: INPUT “x”;x
y=x^3+3*x^2-24*x+30 PRINT y END
点评:前面我们学习了算法步骤、程序框图,我们对照程序框图与算法语句可以得到它们之间的对应关系.例如:在这个程序中,第1行中的INPUT语句就是输入语句.这个语句的一般格式是
INPUT “提示内容”;变量 其中,“提示内容”一般是提示用户输入什么样的信息,每次运行例1中的程序时,依次输入-5,-4,-3,-2,-1,0,1,2,3,4,5,计算机每次都把新输入的值赋给变量“x”,并按“x”新获得的值计算变量“y”的值. 例2 给一个变量重复赋值. 解:程序: A=10 A=A+15 PRINT A END
点评:给一个变量重复赋值,变量只保存最后一次赋值,比如此程序的输出值是25. 例3 编写程序,计算一个学生数学、语文、英语三门课的平均成绩. 算法分析:
先写出解决本例的算法步骤:
第一步,输入该学生数学、语文、英语三门课的成绩a,b,c. 第二步,计算y=第三步,输出y. 程序框图如下:
a?b?c. 3
由于PRINT语句还可以用于输出数值计算的结果,所以这个算法可以写成下列程序. 程序:
INPUT “Maths=”;a INPUT “Chinese=”;b INPUT “English=”;c
PRINT “The average=”;(a+b+c)/3 END
点评:例3中的第4行的PRINT语句是输出语句,它的一般形式是 PRINT“提示内容”;表达式 PRINT语句可以在计算机的屏幕上输出常量、变量的值和系统信息,同输入语句一样,这里的表达式前也可以有“提示内容”.
例4 变换两个变量A和B的值,并输出交换前后的值. 解:程序: INPUT A,B PRINT A,B x=A A=B
B=x
PRINT A,B END
思路2
例1 写出求三个数a,b,c的方差的程序. 分析:方差是在初中统计内容中学习过的知识,计算所有数的方差首先计算所有数的平均数
222(x?x)?(x?x)???(x?x)12n来计算. x,通过公式s2=
n算法步骤:
第一步,计算平均数x?a?b?c. 3222(a?x)?(b?x)?(c?x)第二步,计算方差s2=.
3第三步,得到的结果即为所求. 程序如下: INPUT a,b,c y=(a+b+c)/3
S=((a-y)2+ (b-y)2+ (c-y)2)/3 PRINT S END
点评:套用公式求值问题是传统数学求值问题的一种,它是一种典型的顺序结构,也就是说只通过输入、输出和赋值语句就可以完成任务.解决这类问题的关键是先分析这种问题的解法,即构造计算的过程,再写出算法步骤和流程图,再翻译成算法语句即可. 例2 编写一个程序,要求输入两个正数a和b的值,输出ab和ba的值.
分析:可以利用INPUT语句输入两个正数,然后将ab和ba的值分别赋给两个变量输出即可.也可以将ab和ba的底数和幂数进行交换,故还可以利用赋值语句,采用将两个变量的值互换的办法实现. 解:程序1:
INPUT “a,b:”;a,b A=a^b B=b^a
PRINT “a^b=”;A,“b^a=”;B END 程序2:
INPUT “a,b:”;a,b A=a^b
PRINT “a^b=”;A x=a a=b b=x A=a^b
PRINT “b^a=”;A