2.2变量与赋值1、顺序结构2、选择结构1、变量:在研究问题的过程中可以取不同的值的量.赋值语句的一般形式为:变量名=表达式计算机中变量的表示一般由一个或几个英文字母组成,或字母加数字表示.2、赋值:把B的值赋给变量A,这个过程称为赋值.记作:A=B其中“=”为赋值符号.如a,x,a1,sum等.探究1已知两个数A和B,设计一个算法使A和B位置互换。ABXA算法如下:(1)X=A(2)A=B(3)B=X(4)输出结果A,BA2、在一个赋值语句中,只能给一个变量赋值,不能出现两个或两个以上的“=”号.赋值注意问题:1、赋值符号左边只能是变量名字,而不是表达式,只能写成:b=2,b=a+1,但不能写成:2=b,b+1=23、赋值符号不同于“等号”,赋值符号左边的变量如果原来没有值,在执行完赋值语句后,该变量获得一个值,如果原来已有值,则执行赋值语句后,以赋值符号右边表达式的值替代原来的值.分析:解决这个问题的思路其实很简单,先选2个数进行比较,去掉小的,留下大的;再取3个数与留下的数进行比较,去掉小的,留下大的;继续进行,直到每个数都被比较,最后留下的数就是最大数.解:例1设计一种算法,从5个不同的数中找出最大数,并用框图描述这个算法.设这5个不同的数分别为:a1,a2,a3,a4,a5,算法步骤如下:1、比较a1与a2,将较大的数记作b.2、再将b与a3进行比较,将较大的数记作b.3、再将b与a4进行比较,将较大的数记作b.4、再b与a5进行比较,将较大的数记作b.5、输出b,b的值即为所求的最大数.你会制作框图吗?开始b=a1否是b=a4ba4ba2否是b=a2ba3否是b=a3ba5否是b=a5输出b结束输入a1,a2,a3,a4,a5探究2上面的问题我们可以用赋值结构表示,你会画它的框图吗?分析:首先要先给C赋值,再给F赋值开始结束C=23.5输出F解:算法描述如下:(3)输出F框图如图:(1)C=23.5例3经过市场调查分析得知,1999年第一季度内,某地区对某件商品的需求量为12000件.为保证商品不脱销,商家在每月月初将商品按相同数量投放市场.已知年初商品的库存量为50000件,用S表示商品的库存量,请设计一个算法,求出第一季度结束时商品的库存量,并画出框图.分析:因为第一季度商品的需求量为12000件,而且每个月以相同数量投放市场,因此每个月向市场投放4000件商品.这样,一月份得库存为年初库存量50000件减去市场投放量4000件,故为46000件.可以用下表表示库存量随着月份的变化情况.月份1月2月3月库存S/件460004200038000还可以用下列赋值语句来表示库存量的变化:S=S-4000.赋值号左边的变量S可看作盒子,如果它表示的是这个月的存储量,那么右边的变量S表示的是上个月的存储量.这是对变量S的赋值,赋值的目的是改变变量的值,将变量S上次的值减去4000再次赋予变量S.解:算法框图如图:例4有关专家建议,在未来几年,中国的通货膨胀率保持在3%左右将对中国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情形下,某种品牌的钢琴2004年的价格是10000元,请用框图描述这种钢琴今后4年的价格变化情况,并输出4年后钢琴的价格.解:算法框图如图:1.下列框图中具有赋值、计算功能的是()A.处理框B.输入、输出框C.循环框D.判断框2.下面程序框在框图中具有计算功能的是()AC3.阅读右侧框图,若输入的a,b,c分别为21,32,75,则输出的a,b,c分别是()A.75,21,32B.21,32,75C.32,21,75D.75,32,213题图A4、阅读框图,其输出的结果是__________.分析:在题中所给的框图中,首先赋给x的初始值为2,再把2x+1=5赋给变量y,则y=5,又把3y-2=13赋给变量b,则b=13,所以易得最后结果为13.答案:132.3循环结构开始输入a1,a2,a3,a4,a5将a1,a2比较,大数记作b将b,a3比较,大数记作b将b,a4比较,大数记作b将b,a5比较,大数记作b输出b结束1、若要从五个不同的数找出最大数,我们可以用什么结构呢?顺序结构如右图所示2、设计一个算法,求100个数中的最大数,画出算法框图.我们是否还可以用上题的方法呢?不能,如果用上述的方法过程太繁杂了.下面介绍另一种结构来解决这类问题,即循环结构.例1设计一个算法,输出1000以内能被3和5整除的所有正整数,画出算法框图.分析:凡能被3和5整除的正整数都是15的倍数,由于1000=15×66+10,因此一共有66个这样的正整数.解:引入变量a表示待输出的数,则a=15n(n=1,2,3,…,66).n从1变到66,反复输出a,就能输出1000以内的所有能被的正整数.循环变量初始值结束开始n=1a=15n输出an=n+1n66否是循环体循环的终止条件循环变量的后继变量n控制循环的开始和结束,称为循环变量.开始输出“y不是闰年”4整除y100整除y400整除y输出“y是闰年”否否是是是否y=2000y:=y+1Y2500否结束是例2阅读右图中所示的框图,回答下列问题:(1)变量y在这个算法中的作用是什么?(2)这个算法的循环体是哪一部分,功能是什么?变量y是循环变量,控制着循环的开始和结束.红虚线所框部分,其功能是判断年份y是否是闰年,并输出结果.(3)这个算法的处理功能是什么?由前面的分析,我们知道,这个算法的处理功能是:判断2000~2500(包括2500)年中,哪些年份是闰年,哪些年份不是闰年,并输出结果.本节主要介绍如何用循环结构来描述算法,一般地,在画出算法框图之前,需要确定三要素:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的终止条件.循环结构的算法框图为:循环变量=初始值循环体循环变量=循环变量的后继值终止条件是否成立否是开始结束例3设计一个算法,求100个数中的最大数,画出框图.引入变量b与i,并用ai(i=1,2,3…,100)表示待比较的数(b为最大值,先令b=a1)算法中的循环部分为比较b与ai的大小,如果bai,则b=ai.框图如图所示:变量i的初始值为2,终止值为100循环的终止条件为i100是否是是开始输入a1,a2,…,a100i=2b=a1baib=ai否i=i+1i100输出b结束否赋予变量初始值循环体循环的终止条件循环变量的后继(1)循环变量和初始条件:设下标i为循环变量,3为i的初始值.(2)循环体:算法中反复执行部分为:Ai=Ai-1+Ai-2;输出Ai(3)终止条件:当i50时,算法结束.解:算法框图如图所示:i50开始A1=0,A2=1输出Aii=i+1结束否是i=3输出A1,A2Ai=Ai-1+Ai-2思考题:请观察给出的框图,这是一个求和算法的框图,请运行几步看一看,指出该循环结构的循环体,循环变量和循环的终止条件.开始s=0i=1输出ss=s+ii4结束否是i=i+1循环变量:i终止条件:i4处理功能:s=1+2+3+4=10输出结果:10循环体开始s=0i=1输出ss=s+ii4结束否是i=i+1变式:若改为右图,则输出的结果为________.91、___________________n=1a=15n输出an=n+1n66结束否是开始说出下列各框图输出的结果:15,30,45,……990(1题图)2、_____________n=1a=15n输出an=n+1n66结束否是开始15,15,15……(2题图)n=1a=15n输出an=n+1n66结束否是开始9903、_____________(3题图)1、变量与赋值的概念2、变量和赋值是算法中十分重要的概念,掌握将常数赋予变量,将其他变量的表达式赋予变量,将含有自身变量的表达式赋予变量,理解这些赋值方式的意义,切实学会通过赋值的方式改变变量的值,学会给变量赋值是构造算法的关键,也是算法的基本要求.3.画循环结构程序框图前:①确定循环变量和初始条件;②确定算法中反复执行的部分,即循环体;③确定循环的转向位置;④确定循环的终止条件.4.条件结构与循环结构的区别与联系:区别:条件结构通过判断分支只是执行一次;循环结构通过条件判断可以反复执行.联系:循环结构是通过条件结构来实现.“知人”,从知道自己到了解他人,都要摆对位置才行.“问号是开启任何一门科学的钥匙”,愿你在学习中多抓住几个问号.