《变量与赋值(北师大).ppt》由会员分享,可在线阅读,更多相关《变量与赋值(北师大).ppt(21页珍藏版)》请在三一办公上搜索。
1、前面我们学习了算法的基本结构:顺序结构与选择结构,它们可以利用框架结构来说明,A,B,选择结构,满足条件,A,B,是,否,顺序结构,满足条件,A,是,否,顺序结构是最基本的结构,是任何结构都需要用到的,选择结构是我们在解决实际问题中,常用到的一种结构,它是计算机基本的逻辑推理结构,复习回顾,课堂练习:,1.写出下列程序的运行结果.(1)图(1)中,输出S=_(2)图(2)中,若R=8,则a=_,2.下图的作用是判断输入数x的奇偶性,则处应为_,变量,在研究问题的过程中可以取不同数值的量称为变量,变量和函数是中学数学里最重要和最基本的概念.,在算法和程序设计中,它们仍然发挥着重要和基本的作用,它
2、们会使算法的表述变得非常简洁、清楚,解:,例1 设计一种算法,从5个实数中找出最大数,并用流程图表示.,设这5个数分别为:a1,a2,a3,a4,a5,S1:将a1与a2比较,将较大的数记作b.,S2:再将b与a3比较,将较大的数记作b.,S3:再将b与a4比较,将较大的数记作b.,S4:再将b与a5比较,将较大的数记作b.,S5:输出b,b的值即为所求的最大数,流程图如图所示:,开始,输入a1,a2,a3,a4,a5,结束,将a1与a2比较,大数记作b,将b与a3比较,大数记作b,将b与a4比较,大数记作b,将b与a5比较,大数记作b,输出b,把a1,a2中较大数的值赋予b,把三数中较大数的
3、值赋予b,把四数中较大数的值赋予b,把五数中较大数的值赋予b,这个过程叫赋值.,变量名=表达式,1.在上例中每一步都要与上一步总的大数b比较,再将大数的值重新记作b,通常叫b为变量,这种将大数重新记作b的过程,我们叫赋值给b.,2.赋值语句的一般格式为:,抽象概括,3.变量和赋值是算法的基本概念,变量就像一个盒子,赋值就像给盒子里放东西,但是每次只能装一个“数值”,放入新的数值后,原来的数值就被新的数值所取代。,数据、常量或算式,开始,输入a1,a2,a3,a4,a5,b=a1,ba2,否,是,b=a2,输出b,结束,ba3,否,是,b=a3,ba4,否,是,b=a4,ba5,否,是,b=a5
4、,用赋值语句可以表示为:如果a1a2,则b=a1;否则b=a2.,用变量与赋值来表示本例的算法步骤,可以写成:,算法如下:1b=a1;2比较b与a2,如果 ba2,则b=a2;3比较b与a3,如果 ba3,则b=a3;4比较b与a4,如果 ba4,则b=a4;5比较b与a5,如果 ba5,则b=a5;6输出b,b就是这 5个数中的最大数,算法的程序框图,1.赋值语句的作用是:先计算出赋值号右边表达式的值,然后把该值赋给赋值号左边的变量,使该变量的值等于表达式的值.,2.赋值号左边只能是变量名字,而不是表达式,并且赋值号(“=”不是等号)左右不能换.,例2 下列的赋值形式正确吗?为什么?,(1)
5、x+y=2(2)2=x(3)b=a1(4)b=a1+1(5)N=N2(6)A=B=1,3.在一个赋值语句中,只能给一个变量赋值,不能出现两个或两个以上的“=”号.,例3 下列程序运行后,结果分别是什么?,(1)a=1;b=2a+1;输出b,(2)i=2;i=3i+1;输出i,(3)i=1;s=i;i=i+3;s=2s+3i;输出s,i,(4)a=3;b=-5;c=8;a=b;b=c;输出a,b,c,(5)a=3;b=-5;c=8;a=b;b=c;c=a;输出a,b,c,b=3,i=7,s=14,i=4,a=-5,b=8,c=8,a=-5,b=8,c=-5,分析:首先要先给C赋值,再给F赋值.解
6、:(1)C=23.5(2)(3)输出F 流程图如右图:,例4 用赋值语句写出下列算法,并画出流程图。摄氏温度C为23.5,将它转换成华氏温度F,并输出.已知,开始,结束,C=23.5,输出F,使用了变量和赋值语句,算法的表示变得非常简洁和清晰,例5 经过市场调查分析得知,1999年第一季度内,某地区对某件商品的需求量为12000件.为保证商品不脱销,商家在月初时将商品按相同数量投放市场.已知年初商品的库存量为50000件,用S表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,并画出流程图.,分析,设表示库存量,算法如下:,()一月后:S=50000-4000,()二月后:S=5
7、0000-4000-4000,()输出S,()一月前:S=50000,()三月后:S=50000-4000-4000-4000,结束,开始,输出S,S=50000,S=S-4000,1月底库存量,S=S-4000,S=S-4000,初始库存量,2月底库存量,3月底库存量,2.一月后:S=50000-4000,3.二月后:S=50000-4000-4000,5.输出S,4.三月后:S=50000-4000-4000-4000,1.一月前:S=50000,例6.有关专家建议,在未来几年,中国的通货膨胀率保持在3左右将对中国经济的稳定有利无害。所谓通货膨胀率为3,指的是每年消费品的价格增长率为3。在
8、这种情形下,某种品牌的钢琴2004年的价格是10000元,请用流程图描述这种钢琴今后4年的价格变化情况,并输出4年后钢琴的价格。,设表示钢琴价格,算法如下:,(1)一年后:=10000(1+3%);,(2)二年后:P=10000(1+3%)(1+3%),(3)三年后:P=10000(1+3%)(1+3%)(1+3%),(4)四年后:P=10000(1+3%)(1+3%)(1+3%)(1+3%),(5)输出P,解,开始,P=10000,P=P(1+%),P=P(1+%),p=p(1+%),p=p(1+%),输出p,结束,解,设表示钢琴价格,算法如下:,(1)一年后:=10000(1+3%);,(
9、2)二年后:P=10000(1+3%)(1+3%),(3)三年后:P=10000(1+3%)(1+3%)(1+3%),(4)四年后:P=10000(1+3%)(1+3%)(1+3%)(1+3%),(5)输出P,活动探究,已知 两个数 a 和 b,设计一个算法使a 和 b 位置互换。,a,b,S,a,算法如下:,a,(a),(b),(1)S=a,(2)a=b,(3)b=S,(4)输出结果a,b.,金融作为现代生活中不可或缺的行业,与我们有着密切的关系,某人现有5000元人民币,他按照定期一年存款方式存入银行,到期自动转存,按复利计算,已知当前定期一年的利率为2.25,试求5年后这个人连本带息可以
10、取出多少钱?实际算法解决问题,画出流程图。,思考,分析:设某年后可以支取p元,算法如下:,n年后本利和为:p=5000(1+2.25%)n,解,设某年后可以支取p元,算法如下:,(1)一年后:p=5000(1+2.25%);,(2)二年后:p=5000(1+2.25%)(1+2.25%),(3)三年后:p=5000(1+2.25%)(1+2.25%)(1+2.25%),(4)四年后:p=5000(1+2.25%)(1+2.25%)(1+2.25%)(1+2.25%),(5)五年后:p=5000(1+2.25%)(1+2.25%)(1+2.25%)(1+2.25%)(1+2.25%),(6)输出
11、p,开始,p=5000,p=p(1+2.25%),p=p(1+2.25%),p=p(1+2.25%),p=p(1+2.25%),p=p(1+2.25%),输出p,结束,练习 请你设计一种算法,找出3个数中的最小数,并画出相应的流程图.,开始,输入a1,a2,a3,b=a1,ba2,否,是,b=a2,输出b,结束,ba3,否,是,b=a3,算法如下:1b=a1;2比较b与a2,如果 ba2,则b=a2;3比较b与a3,如果 ba3,则b=a3;4输出b,b就是这 3个数中的最小数,算法的程序框图,小结,1.变量与赋值的概念,2.变量和赋值是算法中十分重要的概念,掌握将常数赋予变量,将其他变量的表达式赋予变量,将含有自身变量的表达式赋予变量,理解这些赋值方式的意义,切实学会通过赋值的方式改变变量的值,学会给变量赋值是构造算法的关键,也是算法的基本要求.,