高二基本算法语句.docx
- 文档编号:25924111
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:16
- 大小:216.45KB
高二基本算法语句.docx
《高二基本算法语句.docx》由会员分享,可在线阅读,更多相关《高二基本算法语句.docx(16页珍藏版)》请在冰豆网上搜索。
高二基本算法语句
年级
高二
学科
数学
内容标题
基本算法语句
编稿老师
李彬
一、教学目标:
1.经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想;
2.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献.
3.通过实例使学生体会算法的思想,加强逻辑思维能力和推理论证能力的培养,使学生能将自然语言整理成程序框图进而翻译成计算机语言,体现转化的思想方法.
二、知识要点分析:
1.输入语句
输入语句的一般格式:
变量=input(“提示内容”)
要求:
(1)输入语句要求输入的值是具体的常量;
(2)提示内容提示用户输入的是什么信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;
(3)Scilab的输入语句“input”,不仅可输入数值,也可输入单个或多个字符,如x=input(“Whatisyourname”,“string”)//输入你的名字,//string代表输入字符型变量.程序运行时,屏幕上显示“Whatisyourname”,此时需要我们人工输入一个名字,这个名字就赋给变量x.上述语句中的“string”的作用是表示我们需要输入的是字符型变量,不在屏幕上显示.如果什么也不写,默认需要输入的是数字.如a=input(“a=”)
2.输出语句
输出语言的一般格式:
print(%io
(2),表达式)
功能:
实现算法输出信息(表达式)
3.赋值语句
赋值语句的一般格式:
变量名=表达式
赋值语句中的“=”称作赋值号
作用:
赋值语句的作用是将表达式所代表的值赋给变量;
要求:
(1)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:
2=x是错误的;
(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”与“B=A”的含义及运行结果是不同的,如x=5是对的,5=x是错的,A+B=C是错的,C=A+B是对的.
(3)不能利用赋值语句进行代数式的演算.(如化简、因式分解、解方程等),如
这是实现不了的.在赋值号右边表达式中每一个变量的值必须事先赋给确定的值.在一个赋值语句中只能给一个变量赋值.不能出现两个或以上的“=”.但对于同一个变量可以多次赋值.
4.条件语句:
处理条件分支逻辑结构的算法语句,叫做条件语句.
其一般格式是:
相应的程序框图如图A所示.
在某些情况下,也可以只使用简单形式,即
对应的程序框图如图B所示.
说明:
在“IF—ELSE”语句中,“表达式”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;END表示条件语句的结束.计算机在执行“IF—ELSE”语句时,首先对IF后的条件进行判断,如果符合条件,则执行后面的“语句1”;若不符合条件,则执行ELSE后面的“语句2”.
5.循环语句
循环语句:
在程序处理中,经常需要对一条或一组语句重复执行多次,以最终完成某项任务,这就是循环的概念,例如统计所有考生的成绩总分需要一个人一个人地叠加计算;寻找一批数据中的某一个,需要逐个地鉴别;这类处理的一个特点是对不同的运算对象进行若干次的相同的运算或处理,这种处理模式在程序设计中是用循环结构来实现的.
在Scilab程序语言中提供了两种循环语句,for循环和while循环.
(1)循环语句的格式:
①for循环,for循环语句的一般格式是
其中循环变量一般是用于控制算法中循环次数的变量,起计数的作用,它有初值和终值,是循环开始和结束时循环变量的值,步长是指循环变量每次增加的值,当初值和终值相同但步长不同时,循环的次数也不相同,若步长为1,则它可以省略不写,但其他值必须写,不能省略.
循环体是指反复执行的一组语句,end的作用是控制结束一次循环,开始下一次新的循环.
②while循环,while循环的一般格式是
计算机执行这种形式的循环语句,首先是对表达式进行判断,如果表达式为真,则执行循环体,每次开始执行循环体之前,都要判断表达式是否为真,这样重复执行,一直到表达式为假时,就结束循环体,转向其他语句.
(2)循环语句的应用:
循环语句主要用来处理算法中的循环结构,在处理一些需要有规律地重复计算问题,如累加求和,累乘求积及其他问题时常常用循环语句编写程序.
用for循环编写程序时要注意设定好循环变量的初值、步长和终值,避免出现多一次循环或少一次循环的情况;用while循环编写程序时,一定要注意表达式的写法,当表达式为真时执行循环体,表达式为假时结束循环,以防出现所要判断的表达式正好相反的错误.
6.等值算法:
用等值算法求两个正整数最大公约数的过程与算法设计.
对于给定的两个数,用较大的数减去较小的数,接着把所得差与较小的数比较,用两个数中较大的数减去较小的数,继续上述的操作(大数减小数),直到所得的数相等为止,那么这个数(等数)就是所求的最大公约数,这种算法被称作“更相减损术”.这个算法可以与古希腊数学家欧几里德的“辗转相除法”比较学习,从中体会对同一数学问题的不同的算法设计方法.
显然,上述过程中大数减去小数是一个重复执行的过程,因此只需将大数赋给变量m,小数赋给变量n,那么m-n就可以通过循环结构实现算法.
【典型例题】
例1.如图,是为解决某个问题而绘制的程序框图,仔细分析各图框内的内容及图框之间的关系,回答下面的问题:
(1)图框①中x=2的含义是什么?
(2)图框②中y1=ax+b的含义是什么?
(3)图框④中y2=ax+b的含义是什么?
(4)该程序框图y2解决的是怎样的一个问题?
(5)若最终输出的结果是y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?
(6)在(5)的前提下输入的x值越大,输出的ax+b的值是不是越大?
为什么?
(7)在(5)的前提下当输入的x值为多大时,输出结果ax+b的值等于0?
解:
(1)图框①中x=2表示把x的值2赋给变量x或使x=2.
(2)图框②中y1=ax+b的含义:
该图框在执行①的前提下,即当x=2时计算ax+b的值,并把该值赋给y1.
(3)图框④中y2=ax+b的含义:
该图框在执行③的前提下,即当x=-3时计算ax+b的值,并把这个值赋给y2
(4)该程序框图解决的是求函数f(x)=ax+b的函数值的问题,其中输入的是自变量x的值,输出的是x对应的函数值.
(5)y1=3,即2a+b=3①
y2=-2,即-3a+b=-2②
由①②得a=1,b=1,f(x)=x+1
∴x取5时,5a+b=f(5)=5×1+1=6.
(6)输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.
(7)令f(x)=x+1=0,得x=-1,因而当输入的值为-1时,输出的函数值为0.
例2.请写出下面运算输出的结果.
(1)a=5
b=3
c=(a+b)/2
d=c×c
print(%io
(2),d)
(2)a=1
b=2
c=a+b
b=a+c-b
print(%io
(2),a,b,c)
(3)a=10
b=20
c=30
a=b
b=c
c=a
print(%io
(2),a,b,c)
解析:
(1)16;语句
是将a与b和的一半赋值给变量c,语句
是将c的平方赋值给d,最后输出d的值.
(2)1,2,3;语句
是将a与b的和赋值给c,语句
是将
的值赋值给了b.
(3)20,30,20;经过语句
后a,b,c的值是20,20,30.经过语句
后a,b,c的值是20,30,30.经过语句
后a,b,c的值是20,30,20.
点评:
语句的识别问题是一个逆向性思维,一般我们认为我们的学习是从算法步骤(自然语言)至程序框图,再到算法语言(程序).如果将程序摆在我们的面前时,我们先要逐个识别语句,再整体把握并概括出程序的功能.
例3.编写程序,输入两个实数,由小到大输出这两个数.
解析:
程序:
程序框图:
点评:
排序通常用到条件分支结构,若两数不符合所排顺序,通常是交换两个变量的值,注意变量t的应用.
例4.已知分段函数
,画出程序框图,编写程序,输入自变量x的值,输出其相应的函数值.
解:
程序为:
程序框图:
点评:
在求分段函数的函数值时,由于自变量x的值不同时其函数值的求法也不同,故先对x的值进行判断,根据其具体值选择不同的计算方法,故用条件语句进行算法设计,又因为实数x的值共分为三个范围,所以还应用到条件语句的嵌套.
例5.编写一个程序计算1×2×3×…×100的值.
解析:
用
表示循环次数,用S表示乘积,步骤如下:
S1;输入i,S.i的初始值为1,S的初始值为1;
S2;i从1开始循环到100,S=S*i;
S3;循环结束后,输出S.
程序框图如图:
程序为:
S=1;
for
=1:
1:
100
S=S*i;
end
print(%io
(2),S)
点评:
本题的算法设计具有灵活性和通用性,如果将S=S*i变为S=S*(1/i),则变为求1×
×
×…×
的值.
本讲涉及的数学思想、方法
1.在设计算法的过程中,解决问题的基本思想常常很简单、很清楚,但表述参与运算的数值的频频变换却很麻烦.为了解决这个问题,需要在程序中引入变量.变量与函数是中学数学里面最重要的和最基本的概念,在算法的设计里面仍然发挥着重要的和最基本的作用,它们会使算法的表达变得非常整洁、清楚.
2.人们对计算机运算的要求不仅仅是一些简单的代数运算,而是经常需要计算机按照条件进行分析、比较、判断,并且按照判断后的不同情况进行不同的操作和处理.如果要解决像“判断一个数的正负”、“比较数之间的大小”,“对一组数进行排序”、“求分段函数的函数值”等问题,计算机就需要用到条件语句.
【模拟试题】(答题时间:
90分钟)
一、选择题
1.以下给出的基本算法语句中,正确的是()
A.赋值语句
B.赋值语句
C.输入语句
D.循环语句
2.当x的值为5时,“print(“x=”;x)”在屏幕上的输出结果为()
A.5=5B.5C.5=xD.x=5
3.以下程序运行的结果为()
A.0B.2C.4D.-4
4.以下给出求
的值的四个程序,其中正确的有()
A.1个B.2个C.3个D.4个
*5.以下程序运行后的输出结果为()
A.17B.19C.21D.23
*6.程序:
上述程序的含义是()
A.求方程
的根
B.求输入x后,
的值
C.求一般三次多项式的函数值
D.作
的图象
二、填空题
7.下面是用Scilab语言编写的一段程序,认真阅读,回答下列问题:
程序表示的是____________语句;
程序表示的函数关系是________________________.
8.把式子
改写成程序语言形式为____________.
*9.若输入8,则下列程序执行后输出的结果是____________.
三、计算题
10.设计一个算法,找出满足2×4×6×8×…×2n
的最小正整数,并编写程序.
*11.某班有30个学生,老师在期末考试后要统计学生的分数,要求统计600分以上(含600分),550~599分(含550分)和550分以下(不含550分)的人数,请写出程序语句.
**12、到某银行办理异地汇款时,该银行要收取一定的手续费,汇额不超过100元时,收取1元手续费;超过100元但不超过5000元时,按汇款额的1%收取手续费;超过5000元时,一律收取50元手续费.用x表示汇款金额,y表示应收取的手续费(x,y的单位均为元).
(1)写出y关于x的函数关系式;
(2)画出描述汇款金额为x元时,银行收取手续费为y元的算法的程序框图,要求输入x的值,输出y的值;
(3)写出
(2)中的算法程序语句.
【试题答案】
1.D2.D3.A4.B
解析:
正确的为
(1)(4),分别用for和while循环语句描述该程序.
5.C6.B
7.条件;
8.
9.0.7
10.解:
算法:
S1;S=2;
S2;n=4;
S3;若
,则
,重复S3;
S4;输出n,即为所求的n.
程序:
11.解:
设S代表分数;i代表学生序号,m代表600分以上(含600分)的人数,n代表550~599分(含550分)的人数,l代表550分以下(不含550分)的人数.
12.解:
(1)
(2)程序框图如下图所示:
(3)程序语句为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 算法 语句