Fortran95程序设计基础.ppt

上传人:max****ui 文档编号:12559247 上传时间:2020-05-11 格式:PPT 页数:93 大小:910.55KB
返回 下载 相关 举报
Fortran95程序设计基础.ppt_第1页
第1页 / 共93页
Fortran95程序设计基础.ppt_第2页
第2页 / 共93页
Fortran95程序设计基础.ppt_第3页
第3页 / 共93页
点击查看更多>>
资源描述
程序设计基础Fortran95,第二章Fortran95程序设计基础,本章将介绍:,字符集、标识符和关键字程序的书写格式数据类型常量和变量算术运算符和算术表达式标准函数,了解字符集、标识符和关键字了解程序的固定书写格式掌握程序的自由书写格式掌握五种内部数据类型的表示及存储方式掌握五种内部数据类型常量的合法表示方式掌握变量的表示形式和变量的三种定义方法。掌握算术运算符和算术表达式的运算顺序了解标准函数,并掌握部分常用的标准函数。,学习目标:,Fortran95的字符集,字符集就是编写源程序时能够使用的全部字符及符号的集合。包括:,(1)英文字母a-z及A-Z(2)阿拉伯数字0-9(3)22个特殊字符=+-*/(),.:“!;%Y=-467.0;Z=X+Y,自由格式,(3)当一个语句比较长时,在一行中的132列中书写不完时,允许有续行。如有续行,需要使用续行标志符“&”实现。续行标志符“&”出现在前一行的末尾。例如:Y=exp(-0.5*x)*cos(x+3.14258/3)+exp(0.5*x)*&sin(x+3.14258/3)+120*log(1+sqrt(1-x*x),自由格式,如果把一个语句名或函数名等具有特定意义的字符分成两行,那么除在本行行末加续行标志符外,还要在下一行的开头再加一个续行标志符。例如:Y=COS(ATAN(SQRT(X*3+Y*3)/(X*2+1)+CO&S(X*Y/(SQRT(X*2+Y*2)&+EXP(A*X*2+B*X+C),特殊情况:,(4)用!作为注释符,!可以写在一行中的任一位置。注释总是延伸至程序行的结束,所以在同一行的不同语句之间不能插入注释。,Fortran95程序的书写格式自由格式,一个程序中,数据是程序加工处理的对象,而通过语句描述了对数据的具体操作。,不同类型的数据具有不同的特性,在计算机内存中占有不同的存储长度,存储的方式不同,具有不同类型的运算。,Fortran95的数据类型,Fortran95的数据类型,整数类型(integer),长整型短整型,整型数据包括正整数、负整数和零。在计算机中整数的取值范围受限于及其所能表示的范围,由其类型决定.,整数类型(integer),超出此范围,则会发生溢出错误。,表2.2整数的存储空间及取值范围,实数类型(real),实数又称为浮点数(floating-pointnumber)。实行数据有两种类型:单精度型双精度型。数值都是近似值,而且有误差累计。实型数两种表示形式:十进制小数形式和指数形式如:312.0、3.12e+2或0.312E3都代表3.12102。注意:指数部分必须是整数(若为正整数时,可以省略“+”号),双精度类型,即以两倍的单精度的存储空间大小来存放数据,减小累计的截断误差,大幅度提高计算的精度。,实数类型(real),表2.3实数的存储空间、精度及取值范围,复数类型(complex),复数就是以a+bi形式来表示的数值。其中的a、b值是两个实型数。两种类型:单精度型复数和双精度型复数。复数的表示形式:(a,b)如(1.2,3.5),表示复数1.2+3.5i。,Fortran是目前唯一提供复型数据类型的计算机常用语言。,字符类型(character),计算机除了存储数值型数据之外,也可以在内存中存放一段文本。字符型数据的表示形式:用一对单引号或双引号括起来。如:a“hello!”只有一个字母或符号时称为“字符”,有一连串(多个)的字符时,就称为“字符串”。,存储1个字符需要1个字节的存储空间存储n个字符长度的字符串则需要n个字节的存储空间,字符类型(character),字符类型可以表示的东西非常广,从键盘输入的任何内容,不论是数字、字母、文本或任何特殊符号都可以。教材附录A的ASCII字符集里的字符就是这个类型所能表示的所有字符。,逻辑类型(logical),表示逻辑判断的结果,只能有两种值:“是”(true)“否”(false)也可以翻译成“对”、“错”,或“真”、“假”等等。,数据类型只是数据的形式化和抽象化描述,它说明一类数据的共同性质,而不是具体的数据对象。程序处理的数据必须是具体的数据对象,一个数据对象可以是常量、变量、数组或指针等,用户根据具体问题的需要定义数据对象的数据类型。,小结,常量,常量是在程序中直接生成并直接用于计算和处理,且在程序运行期间保持不变的数据。例如:15、0、-21、.1416、256_2、(10.2,5.3)、fortran、”student”、.true.,常量无需类型定义、直接由其表示形式可确定其数据类型。Fortran常量包括前面所介绍的五种内部类型常量和一种特殊的常量符号常量,下面分别介绍它们的表示方法及其注意事项。,整型常量可以表示成十进制及2至36进位制形式。,整型常量:,(1)十进制整数:由09的一系列数字组成。例如-215、-16、0、18、24等。对于十进制整数,通过整型kind值(类别类型参数)确定整数的存储空间大小(字节数)和取值范围。例如-16_2、18_4、5_1整型kind值有四种(默认值为4):1、2、4、8(仅对alpha系统有效),(2)2至36进位制数:其形式r#数字。r前面的符号代表整数的正负r代表进位计数制中的基数其取值范围是:2r36。常用的进制有:2、8和16进制。缺省值为16。,整型常量,【例2-2】一个10进制整数3994575的不同进位制表达形式print*,2#1111001111001111001111print*,7#45644664print*,+8#17171717print*,3994575print*,#3CF3CFprint*,36#2DM8Fend,整型常量,整型常量,程序运行结果:,注意:Fortran95不允许整数内部出现非数值字符如“,”、“:”和空格;正负号和数字之间可以保留空格。,整型常量,【例2-3】判定下列整数哪些是合法整数?哪些是非法整数?说明原因。+04654_3-128+3276912.45134_18#796#23#12A#12_21,234-0123,456。,整型常量,合法整数有:+0、-128、+32769、#12A、-0。非法整数有:4654_3(3不是有效的kind值)12.45(不允许小数点)134_1(超出1个字节取值范围)8#79(8进制中不能包含数字9)6#23(不允许出现空格)#12_2(非十进制不允许使用kind值)1,234(不允许出现逗号)。,整型常量,实型常量有2种表示形式:十进制小数形式和指数形式。(1)十进制小数形式十进制小数三部分组成整数部分、小数点、小数部分。且必须包含小数点。例如:+12.5、-13.248、0.243、12.和.123十进制小数有3种不同表达形式:n.mn.m,实型常量,n代表整数部分,m代表小数部分,不允许出现非数值字符(如逗号、顿号和空格等)。,对于实数,通过实型kind值确定实数的存储空间大小、取值范围和最大有效位数(精度)。实型kind值有两种4、8(缺省值为4)分别表示单精度实数和双精度实数。,实型常量,【例2-4】判定下列实数,哪些是合法实数?哪些是非法实数?说明原因。+00.0.023.587_4654._5-.-.01200-34.6¥1,234,897.00$125.5。,实型常量,合法实数有:0.0、.0、23.587_4、-.01200。非法实数有:+0(合法整数,没有小数点)654._5(非法的实型kind值)-.(小数点前后不能都没有数字)-34.6¥、1,234,897.00、$125.5(整数、小数部分不能有非数值字符)。,实型常量,(2)指数形式用来表示一个绝对值非常大或非常小的数。指数形式的实数三部分组成:有效数字、E(或e)和指数。例如:+0.125E+2、-132.48e-1、243E-3、.12e+2,1.2e+11.32e5表示132000或1.32*105。1.285E-12表示1.285*10-12。,实型常量,指数形式的实数有下列四种表达方式:n.mESn.ESnES.mES,实型常量,n代表有效数字的整数部分,m代表有效数字的小数部分,最前面的正负号表示数值的正负。字符E后面是指数部分,正负号确定指数的正负,指数必须是十进制整数,表示10的多少次方。字符E前后均不能为空。有效数字部分和指数部分的数字遵循整数和小数形式实数的要求。若指数标识为D或d,则表示该实数为双精度实数,等价于kind值为8,但不能指定kind值,即D指数不允许指定实型kind值。,指数形式应注意以下事情:有效数字可以是整型或实型常量,如1E2和1.0E2两者都表示100.0,它们等价,但它们与100是不等价的,因为100代表一个整型常量;E前面的数据不能省略,E后面的指数只能是整型常量,如5E3.2,E4.,.E8都是错误的指数表示。若指数标识为D或d,则表示该实数为双精度实数,等价于kind值为8,但不能指定kind值,即d指数不允许指定实型kind值。,实型常量,【例】判定下列实数,哪些是合法实数?哪些是非法实数?说明原因。0E00.E0-234E-5_823.58E-2.59.8E3_31,234,567E-6.123E-112.3E$3¥125.5E001E+5-2.34E24.56E21.35E+311.24E+312.5D3415.6D45_8。,实型常量,合法实数有:0E0、0.E0、-234E-5_8、.123E-1、-2.34E2、1.35E+3、12.5D34。非法实数有:23.58E-2.5(指数部分不能为实数)9.8E3_3(非法的实型KIND值)1,234,567E-6(不能含非数值字符)12.3E$3(不能含非数值字符)¥125.5E001(不能含非数值字符)E+5(E前面不能为空)4.56E2(不能含非数值字符空格)11.24E+3(指数部分的正负号与数字之间不能有空格),实型常量,在计算机输出数据时,只能按照一种标准的指数形式进行输出。不同的计算机系统采用不同的标准化指数形式,常用的标准化形式有二种。,实型常量,1.数字部分的绝对值小于1(即小数点前面的数字必须为0),且小数点后第一个数字必须为一个非0的数字。例如,0.1234E4、0.56E-3是标准化指数形式。对于不符合标准化条件的实数,可以通过改变指数部分的数值使其转变为标准化指数形式。例如实数0.0001234的标准化指数形式是0.1234E-3。2.数字部分的绝对值小于10且大于1(即小数点前只能有且只有一个非0数字)。例如,1.234E3、5.6E-4是标准化指数形式。对于不符合标准化条件的实数,可以通过增大或减小指数部分的值使其转变为标准化指数形式。例如实数0.0001234的标准化指数形式是1.234E-5。,实型常量,复型常量是采用圆括号将两个以逗号分割的实数或整数括起来表示的。其中第一个实数或整数表示复数中的实部,第二个实数或整数表示复数中的虚部。(实数1,实数2)实数1+实数2i(1.25,0.4)1.25+0.4i(1E2,-3.4)100.0-3.4i(1.0_4,4.2_8)1.0_8+4.2_8i(1,4)1.0+4.0i,复型常量,转换原则是:遇整变实,向高看齐,在Fortran语言中,复型常量的实部和虚部的数据类型被自动识别为实型。当复数实部和虚部的数据类型不一致,或它们的kind值不同时,编译系统会自动将其转换。,字符型常量又叫字符串,它是用单引号或双引号括起来的字符序列。例如,a、123、Imastudent.、China、我是中国人!字符型常量中的字符可以是计算机系统中允许使用的任何字符。在字符串内大小写字母均可使用,但它们是不同的字符。单引号和双引号只起定界作用,它们不是字符串的组成部分。,字符型常量,字符串本身中含有单引号或双引号的处理,例如要将Imastudent作为一个字符串来处理,为了区分是字符串中的字符还是定界符,可采用两种方式表示:1.交替使用法,ImastudentHesaid:Iamfeelingwell.2.重复使用法,ImastudentHesaid:Imfeelingwell.,字符型常量,字符串内字符的个数称为字符串的长度。长度为0的字符串称为空串。在字符串内部的空格是有效字符,并占有一个字符的位置。例如,ABC和ABC是两个不同的字符串。前者字符串的长度为3,后者为5。字符串中的一个西文字符占据一个字节的存储空间,一个汉字(含汉语标点符号)占据2个字节的存储空间,且按两个西文字符计算长度,如字符串中国的长度是4,字符型常量,字符通常是以其ASCII代码的二进制存储在内存中的。,Fortran95支持C字符串,所谓C字符串就是C语言中的字符串。C字符串中允许出现非打印字符(控制字符),如回车符、换行符、退格符等等。C字符串中使用特殊字符“”后跟非打印字符的ASCII码或标志符来表示非打印字符。Fortran95中,如果一个字符串的后面紧接一个字符C,那么这个字符串就是C字符串。例如,中国NCCHINAC.通过C字符串可表示任何可输出的字母字符、专用字符、图形字符和控制字符。,字符型常量,一个字符常量需要写成多行源程序时,有一条特殊的规则:不仅每一续行都不能尾随注释,而且每一续行必须以续行标识符(&)作为开头,任何尾随&号之后或者前导&号之前的空格都不是字符常数的组成部分,&号本身不是常数的组成部分。其它的字符包括空格都是字符常数的有效组成部分。,字符型常量,逻辑常量只有真和假两种值:.true.false.。需要注意的是:逻辑值两边的小数点“.”必须有;逻辑值中字母不区分大小写。,逻辑型常量,符号常量,所谓符号常量,是用一个标识符来代表一个常量。符号常量常用parameter语句来定义。例如:parameter(PI=3.1416,M=10,)。parameter为特有的常量定义标识,要定义的项必须放在()内,如果有多项,每项之间要用逗号隔开。符号常量无需类型说明,直接由其表示形式可确定其数据类型,注意,符号常量与变量有着本质的区别:PARAMETER语句是非执行语句,必须放在可执行语句的前面在编译源程序时,编译程序将程序中的符号常量名全部替换成所对应的常量。变量对应于一个存储单元,程序执行时,可将表达式的值存放到变量所对应的存储单元中(即给变量赋值)或从变量所对应的存储单元中取出相应的值。所以,符号常量不能当变量使用。符号常量也可以在需要改变一个常量的值时做到“一改全改”。,符号常量,【例2-7】符号常量的使用示例。parameter(g=9.80655)t=10v=g*tprint*,vEnd该语句定义了符号常量g,在该语句所在的程序单元内,g都代表9.80655,和常量一样进行运算。,符号常量,变量,变量的概念变量是程序运行期间其值发生改变的数据,是程序主要处理的对象。变量用变量名(标识符)表示,它代表了某个存储空间及所存储的数值。,在Fortran中经常可以如下语句:n=n+1该语句理解为:“空间n里的数据增加1”。,+1,6,5,变量,变量通过一个变量名来识别,在同一个程序单位中不能用同一个变量名代表不同的变量。变量名按照标识符规则命名。,变量,在使用变量之前,必须用相关标识符(关键字)说明变量的数据类型,使编译器能够依照数据类型给每个变量分配存储单元,用于存放变量的值。说明语句是非执行语句,要放在程序单元的头部。实行“先定义,后使用”。,变量的说明(定义),变量,变量的说明,FORTRAN中变量类型的定义有三种方式:1.使用类型说明语句说明(强制说明)一般格式为:类型说明符:变量名,变量名注意:符号“:”,在变量定义语句中可有可无。若有可对变量赋初值,否则不能赋初值,赋值则会出错。,integer整型说明符real实型说明符doubleprecision双精度型说明符complex复型说明logical逻辑型说明character字符型说明,类型说明符为:,变量的说明,例如:integerx,y,z!定义x、y和z是整型变量。integer(2):a=1,bInteger*2:a=1,b!定义a、b是短整型变量,对变量a赋初值1,缺省值为4reali!定义i是单精度实型变量real*8J或real(8)J!定义J是双精度实型变量,变量的说明,complex:s=(1.5,8.9)!定义s是单精度复型变量,并对其赋初值(1.5,8.9)charactername!定义name是字符型变量Character*6name1Character(6)name1,name2*8,name4Character(len=6)name3,变量的说明,2.隐含说明语句implicit,implicit说明语句可以将某个或某些字母开头的变量规定为所需的类型,一般格式为:implicit类型说明符(变量名起始字符,变量名起始字符,)implicit类型说明符(变量名起始字符-变量名起始字符)例如:implicitinteger(a,c,t-v),real(e,k)该语句的含义是将以a和c及t到v开头的变量规定为整型,以e和k开头的变量规定为实型。,变量的说明,3.隐含约定,Fortran语言规定,凡以i,j,k,l,m,n6个字母开头的变量被默认为整型变量,以其他字母开头的变量被默认为实型变量。该规则又称为IN规则。例如:在没有前面两种说明的情况下,i1,ma,n3s等都为整型变量。,变量的说明,(1)在以上三种变量说明方式中,第一类优先级最高,第二类次之,隐含约定最低。也就是说,当一个变量被强制定义为某种类型时,implicit语句和隐含约定将不再起作用。在implicit语句后可以使用类型定义语句重新说明已隐含定义的变量类型,反之则不允许。,说明:,变量的说明,例如有如下连续说明语句:implicitinteger(a-d)!合法implicitreal(c-f)!非法,以字母c和d开头的变量已被隐含定义为整型变量。integerc,d!合法,类型定义语句比implicit语句优先。implicitlogical(c)!非法,以字母c开头的变量已被定义为整型变量。,变量的说明,(3)IN规则具有一定的副作用,如隐含说明与强制说明一同使用时,变量类型不清晰,因此一般不提倡使用,可以通过在程序变量说明之前加入:implicitnone语句来取消IN规则。,(2)在一个程序中,一个字母不能同时出现在两个或两个以上的implicit语句中。,变量的说明,(4)变量类型说明语句都为非执行语句,应把它们放在所有可执行语句之前,其中implicit语句要放在类型说明定义语句之前。,(5)类型说明只在所在程序单元中有效。,变量的说明,(6)需要特别指出的是,对于字符型变量的说明通常采用的格式为:character(len=n)变量表格式中的len=n代表被说明变量的长度,len=常省略。例如:character(20)name!定义了一个长度为20的字符型变量name。当n=1时,字符型变量的定义格式可简化为:character变量表例如:charactera(10)!定义了一个包含10个字符型元素的数组,并且每个数组元素的长度都为1。字符型数据定义时还可以单独指定变量表中某个变量的长度,遇到这种情况时,遵循的原则是“个别优于一般”。例如:character(8)a*10,b,c*13!定义了三个字符型变量,根据上面的原则可知a的长度为10,b的长度为8,c的长度为13。,变量的说明,变量的初始化,通常一个变量是先定义,再赋值。例如:integeraa=20可以在定义变量时对其赋初值,即初始化。integer:a=10,初始化时,双冒号不能省略,变量,用data语句初始化格式:data变量1,变量2,变量n/常量1,常量2,,常量n/例如:integera,b,cdataa,b,c/1,2,3/datai,j,k/3*5/,变量的初始化,说明:1)data可以给多个变量同时赋初值,中间用逗号隔开;2)被赋值的常量一定要放在一对“/”之中。3)被赋值的常量与对应的变量数据类型要一致。4)被赋值的常量中还可以使用“*”来表示数据的重复。,变量的初始化,例如:reala,b,cdataa,b,c/1.0,2.0,3.0/通过此data赋值语句a=1.0,b=2.0,c=3.0又如下面的语句datam,n,k/3*5/执行此语句后,m,n,k的值都为5。,变量的初始化,Fortran95算术运算符与算数表达式,运算符是对相同类型的数据进行运算操作的符号。将常量、变量、函数用运算符连接起来的式子称为表达式。表达式的类型由运算符的类型决定,每个表达式按照规定的运算规则产生一个唯一的值。,根据运算符的不同,表达式分为:算术表达式字符表达式关系表达式逻辑表达式,Fortran95算术运算符与算数表达式,提供5中算术运算,运算符依次为:+、-、*、/、*,加、减、乘、除、乘方运算例如:2*3表示23,m*n表示mn。算术运算符的运算优先级为:乘方,乘、除,加、减,+、-、*、/同级运算从左到右依次运算,乘方同级运算从右到左,Fortran95算术运算符与算数表达式,Fortran95算术运算符与算数表达式,算术表达式是由算术运算符将数值型常量、变量和返回数值型数据的函数等连接起来的式子,其结果是数值型数据。例如:3+2*5/4-5.5*4*2sin(a+1)*2)/(n*2+1),例如:12-5*2*3/8计算过程为:2*3=85*8=4040/8=512-5=7。2*3*33*3=272*27=134217728。(A*B)*3表示(AB)3,Fortran95算术运算符与算数表达式,Fortran95算术运算符与算数表达式,注意:当算术运算符两侧的操作数数据类型不一致时,要先转换成同一数据类型后再计算。转换原则是低级向高级转换。【例2-9】给出下面表达式的计算顺序和各顺序对应的值及数据类型。2*3*2.0-10.0_8计算顺序是:2*3,结果8(整型)8*2.0,结果16.0(双精度)16.0-10.0_8结果6.0(双精度),算术表达式注意事项说明:(1)表达式中常量的表示、变量的命名以及函数的引用要符合Fortran语言的规定。,Fortran95算术运算符与算数表达式,(2)Fortran表达式只能在行上从左到右书写,即所有字符都必须写在一行,Fortran表达式中没有带有下标的变量、分式等。例如:写成:x1/y1+x2/y2。,Fortran95算术运算符与算数表达式,Fortran95算术运算符与算数表达式,(3)算术表达式中的乘号不能省略。(4)Fortran表达式只允许用小括号,不能使用大、中括号。根据需要用括号表明运算顺序。例如数学表达式:应写成:(a+b)*2+(a-b)*2)*3+c)+8。,(5)两个整数相除的结果一定也为整数,小数部分自动舍去。当分子小于分母时结果一律为0。例如:3/2!结果为1,而不是1.333333。3/4*4!结果为0,而不是3。(6)在进行实型数运算时,要注意误差问题。,Fortran95算术运算符与算数表达式,Fortran95标准函数,函数在科学计算领域有广泛的使用,数学等学科为我们提供了大量的函数,如:三角函数、对数函数、双曲函数、字符串处理函数等等。计算机语言中提到的函数是对数学等学科中函数的计算机实现,它实际上是具有独立功能的程序模块。,Fortran95标准函数,Fortran语言是以科学计算为特长的计算机语言,它为用户提供了丰富的内部函数库(标准函数库)。它将三角函数、平方根函数、指数及对数函数等一些专门用于计算的函数分别编成一个个子程序,放在程序库中供调用,这些子程序就称为内部函数或标准函数。用户在使用时,只要写出相应的函数名和该函数所要求的自变量(变元、参数)即可。例如:求2的平方根SQRT(2.0),表2.6fortran常用的内部数学函数表,说明:(1)fortran内部函数,也称为库函数。在程序中可直接调用这些函数,在完成程序的编译后,通过连接,即将一组二进制指令代入该函数出现的地方,与编译好的目标程序一起形成可执行程序。(2)一个内部函数要求一个或多个自变量。如sin(x)自变量仅一个。mod(m,n)自变量为两个:m、n。而象求最大值、最小值max,min等函数,自变量就可以有多个。(3)函数的自变量是有类型的,函数的值也是有类型的,如求余函数mod(m,n),自变量与函数值,要求同为整型或实型。而sin(x)等,自变量与函数值都是实型,否则,如果用整型自变量将产生语法错误,函数值用整型变量存储将丢失小数部分的数据,导致结果错误。,Fortran95,内部函数使用应当注意:,(4)所有函数必须遵守原有数学规则,如负数不能开方,不能对负数求对数,实数不能求余等,违反规则程序将产生错误。(5)所有函数名字的后面都必须带有括号(),否则将产生错误。如cos(x)不能写成cosx,因为后者Fortran语言将把它当作一个标识符,而非调用一个函数。(6)三角函数参数单位是弧度,因此要特别注意,如果是普通的度数,必须先转化为弧度才能使用对应的函数。(7)要注意Fortan语言中函数名与数学中函数名的差异,如Fortran语言中log(x),相当于数学的自然对数,即lnx。,Fortran95,下面看一些函数运用的具体例子:,(1)求三个数x、y、z中的最大值可以表示为:max(x,y,z);(2)判断一个自然数m是否为另外一个自然数n的因数,通过mod(n,m)是否为0可以判断,如果为0,则说明m是n的因数,否则说明n不能被m整除。mod(m,n)=0,Fortran95标准函数,【例】输入自变量的值,求出对应的函数值,已知f(x)=x3+sin2x+ln(x4+1),分析:f(x)即函数值在程序中用y表示,自变量x从键盘输入,程序如下:implicitnonerealx,yread*,xy=x*3+sin(x)*sin(x)+log(x*4+1)print*,yend,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!