《数据成分及其加工》PPT课件.ppt

《数据成分及其加工》PPT课件.ppt

ID:52087465

大小:409.84 KB

页数:45页

时间:2020-03-31

《数据成分及其加工》PPT课件.ppt_第1页
《数据成分及其加工》PPT课件.ppt_第2页
《数据成分及其加工》PPT课件.ppt_第3页
《数据成分及其加工》PPT课件.ppt_第4页
《数据成分及其加工》PPT课件.ppt_第5页
资源描述:

《《数据成分及其加工》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、赋值是一基本操作,常见的格式:被赋方为地址,赋值方为数值。简记为:A:=E(或A=E)E一般是表达式,其计算结果的特征在不同的语言中是不同的。如在Pascal中,对应于值的类型为简单类型,也允许是指针类型,但不允许是复合类型。(有的语言允许是复合类型)E的复杂程度依赖于语言的规定。对于复合类型是否允许有运算符,在大多数语言不允许,但有的也有引进的,如数组值加常量。4.5数据的获取—赋值E的形式通常有:具有结果类型为简单类型(如integer,real,char等)的表达式;具有结果类型为字符串类型的表达式;具有结果类型为指针类型的变量,常量;具有类型为数组的常量(用作

2、赋初值);具有类型为记录的常量(用作赋初值)。4.5数据的获取—赋值A一般应是变量,其语义上看应从量的地址(位置)角度理解。除一般常用的名形式外,还可以引入语义适当的拟变量形式。如:A:=….A[i]:=…A[i]↑.field:=…ifSthenAelseB:=…Address-A:=…4.5数据的获取—赋值赋值语句从语义角度看,在ALGOL68中规定,被赋方和赋值方之间仅相差一层“地址—值”关系。被赋方的多样性依赖于实现系统和实际适用度,是实现的程度问题。形如x:=x+1其语义为value(x)+1=>address(x)为了表示名的多侧面、多属性、多特征可以引入

3、相应的特征函数予以指明,如value(x),size(x),type(x),environment(x),address(x)等。4.5数据的获取—赋值多重赋值左端1:=左端2:=…:=表达式是若干个欲赋相同值的赋值语句的缩写。应该保证左端和右端(结果)的类型应当是赋值相容的。如VARA:real;B:integer;C:0..100;B:=5;允许。(2)C:=B;不能赋值4.5数据的获取—赋值(3)B:=C可以赋值(语言中应规定0..100是integer的子类型)。(4)A:=B;一般系统会自动转换,允许赋值。(5)B:=A;如果系统自动进行转换,则允许进行赋值

4、,否则需要使用转换函数integer(A)4.5数据的获取—赋值对赋值语句两端出现记录类型或数组类型时,则语言中应有详细规定,如:VARXYZ:RECORDF1:int:=10F2:real:=0.0END;ABC:array[1..6]ofinteger;(1)XYZ:=(3,4.0);有的语言允许,赋完全的值(2)XYZ:=(7,);有的语言允许,赋部分的值(3)ABC:=1;有的语言允许,为所有元素赋以值1(4)ABC:=[1,2,3,4,5,6]有的语言允许,对数组元素逐个进行赋值4.5数据的获取—赋值隐性赋值<下标表达式>::=<表达式>需要处理的语义问题:

5、(1)表达式的计算结果应当为整数,如果不能保证应进行隐式或显式的类型转换;(2)下标位置允许的整数值的上下限应在相应的数组说明中指明。(3)在编译时刻难以判断是否越界,故需要在运行时刻方可判定。4.5数据的获取—赋值在表达式中出现的函数调用可能出现“副作用”,即可能存在同一个赋值语句中的同名量的值不相同,所以在串行流程中必须规定计算次序。计算次序如下:求位置求位置求位置(计算下标)(计算下标)(计算下标)左端1:=左端2:=……:=右端;赋值赋值赋值4.5数据的获取—赋值例子I,J:integer;A,B:array[1..100]ofinteger;Function

6、f(x:integer):integer;beginI:=I+1;J:=J+2;f:=x+1end4.5数据的获取—赋值例:I:=3;J:=0;A[I]:=B[f(J)+I]:=I+f(J)+I*J(1)求A[I]的位置,I=3;(2)求B[f(J)+I]的位置,J=0,f(0)=0+1=1,同时有,I=3+1=4,J=0+2=2(副作用),即f(J)+I=5,B[f(J)+I]=B[5],(3)表达式的值为:4+f(2)+(4+1)*(2+2)=27,在求f(2)时I=4+1=5,J=2+2=4(副作用)(4)将27赋给B[5](5)将27赋给A[3]4.5数据的获

7、取—赋值A[I]:=B[I+f(J)]:=I+f(J)+I*J结果=?I:=3;J:=0;A[I]:=B[I+f(J)]:=I+f(J)+I*J(1)求A[I]的位置,I=3;(2)求B[I+f(J)]的位置,J=0,f(0)=0+1=1,即I+f(J)=3+1=4,B[I+f(J)]=B[4],同时有,I=3+1=4,J=0+2=2(副作用),(3)表达式的值为:4+f(2)+(4+1)*(2+2)=27,在求f(2)时I=4+1=5,J=2+2=4(副作用)(4)将27赋给B[4](5)将27赋给A[3]在有些语言中不但引进了指针类型,还引进了在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。