当前位置:文档之家› C语言和Fortran语言

C语言和Fortran语言

C语言和Fortran语言
C语言和Fortran语言

C语言和Fortran语言

作者: 解放军信息工程大学理学院学员旅一队温睿

目录

第1章. C++语言和Fortran语言的发展背景

第2章. C语言和Fortran语言的差异

2.1. 复数运算的速度.

2.2. 程序参数与字串.

2.3. 内存的动态管理.

2.4. 多维阵列的处理.

2.5. 函数调用与参数传递.

1. C++语言和Fortran语言的发展背景

在程序设计语言的发展过程中,FORTRAN 语言被认为是科学计算的专用语言。后来推出的FORTRAN90 和FORTRAN 95 版本也不例外,它们虽然可以完全实现C++语言同样的功能,然而其软件开发环境和软件的集成性等方面都远不如C++ 语言。近年来,随着计算机软硬件技术的发展,数据结构、数据库管理技术、可视化与计算机图形学、用户接口系统集成以及人工智能等领域的成果被逐渐应用到结构分析软件中,结构分析软件的设计并不仅仅局限于单一的科学计算需要涉及众多的软件开发领域。C++ 语言可以提供这类软件开发所需的功能,而用FORTRAN 90 却很难实现,另一方面从软件的编程环境来看,目前FORTRAN 90 的编译器极少,而C++ 语言的编译系统相当普及,可以运行在各种机型上,便于实现跨平台的软件系统集成。

2. C语言和Fortran语言的差异

由于两者产生的背景不同,它们是存在差异的,在比较了几组源代码之后,主要有以下体会:

C 最大的优点在于灵活,不但可以藉由struct 来定义新的数据结构,同时 C 的pointer 更可以让我们自由而且有效率地处理大数据。而在UNIX 系统中,由于整个操作系统绝大部分就是 C 写出来的,故我们也有方便的 C 函数库,直接使用系统资源与享受系统带来的服务,以做到一些低阶、

快速的动作。而FORTRAN从一开始就用于科学计算,它与C的差异主要表现为:

* 复数运算的速度

* 程序参数与字串

* 内存的动态管理

* 多维阵列的处理

* 函数调用与参数传递

2.1. 复数运算的速度

在进行复数运算的时候,C++ 可以定义复数的class,还可以重新定义所有的四则运算式,复杂的算式也可以做到由一个表达式来解决。但它的重新定义复数四则运算是用函数来做的,使用函数来调用其速度很慢,除非采用inline function 的方式,但会遇到以下的问题:要先将这个算式拆解,分别算过后再重组结果,故表面上程序代码很简洁,但实际上是compiler做了很多工作,还是要付出相当的计算时间代价的。

至于Fortran,最大的优点在于复数(complex number) 的运算,复数是Fortran 的基本数据类型之一,这正是 C 所缺乏的(C 基本上只有实型与整型类型而已)。虽然C 也可以由struct 的定义,达到复数四则运算的目的,但却很可能牺牲了程序效能,或者是程序写起来相当繁杂降低可读性。因此,在大量而且要求高速的复数运算场合,Fortran 实际上比 C 还要适合。

然而既然复数已是Fortran 基本数据类型之一,则Fortran compiler在设计上可以做到对复数特别的optimization,例如如果遇到较短的复数运算式,它可以用“心算” 直接得出real_part 与imag_part 的expression,像这样:

real(a) =……;imag(a) = …….

如此只需两步就得到结果。直到遇到太长太复杂的算式,才去做拆解的动作。

这样使用 C 来做复数运算可能需要绕圈圈,而且绕出来的圈圈可能还不小。不过如果程序中需要复合的数据结构,如一个自定义的数据结构中既有浮点数、整数、还有字符串时,Fortran 只有举白旗投降了。当然,Fortran 如果要做还是可以做,只是不太方便,而且可能也需要绕圈圈。但如果使用Fortran 90 则不成问题了,因为Fortran 90 也有类似 C 的struct 结构以定义复合的数据类型。

2.2. 程序参数与字串

C 程序可以有参数串列,Fortran 则没有。例如,当程序执行时,必须输入a, b, c

三个参数,在 C 可以这样写:

int main(int argc, char **argv)

{

int a, b, c;

a = atoi(argv[1]);

b = atoi(argv[2]);

c = atoi(argv[3]);

}

而程序执行时,参数就是这样传入: a.out 12 15 18

Fortran 却没有办法,要传入任何参数,只能透过对话的方式:

integer a, b, c

c ------------------------------------

write(*,*) ''please input integer a:''

read(*,*) a

write(*,*) ''please input integer b:''

read(*,*) b

write(*,*) ''please input integer c:''

read(*,*) c

c ------------------------------------

end

2.3. 内存的动态管理

C 可以动态分配存储空间给任何数据类型,而Fortran 却不行。

例如:

float *c_function(int cnt)

{

float *a;

a = malloc(sizeof(float) * cnt);

/*

* 操作 array a.

*/

return a;

}

而且如果在程序执行过程中,如果不再需要这个array a 了,还可以随时释放a所占用的存储空间。而Fortran 在一般情况下是不行的,因此在一般

的Fortran 程序中,常见所有需要用的array, 都是在MAIN__里头就配置好记存储空间,再一个个传入subroutine 里头来用,例如:

program fout

c ----------------------------

integer cnt

parameter (cnt^P00)

real a(cnt)

call f_routine(cnt, a)

end

c ----------------------------

subroutine f_routine(cnt, a)

c ----------------------------

integer cnt

real a(cnt)

c

c 操作 array a.

c

end

这里的parameter 是设定变数的固定值,其作用就相当于 C 的const 一样,经设定后的参数就是一个无法改变其值的常数了。有的时候,在某个函数中我们临时需要一个暂存阵列,但等到计算完成离开函数后,该阵列就没有用了,这在 C 可以做的很划算,即进入函数时malloc() 一个阵列,离开前再free() 掉它。但在Fortran 中却别无选择,一定要在MAIN__ 里头先将暂存阵列配置好,再一起传入subroutine 中。

2.4. 多维阵列的处理

不论是在 C 或Fortran,所谓的多维阵列实际上只是一个很长的一维连续存储空间,经过分割后当做多维阵列使用。例如,一个 C 的二维阵列声明如下:

double a[12][10];

则它在存储空间中的配置为:

|<--- 10 ---><--- 10 ---> .... <--- 10 --->|

|<<-------------- 共12 组--------------->>|

所以它实际上是一块12*10*sizeof(double) bytes 的连续存储区块,而经由以上的声明,compiler 便知道当使用到它时,要将分割成每单位元素为sizeof(double),每10 个单位一组,而总共12 组的一个二维阵列,则当我们使用阵列的index 来存取阵列元素时,compiler 也会自动算好该元素阵列在此存储区块的位置,因此就能很方便地使用。

Fortran 也是如此,但有一个很大的不同,它的存储区块分割配置的方式是与 C 反向的。例如声明一个二维阵列如下:

double precision a(12,10)

则它在存储空间中的配置为:

|<--- 12 ---><--- 12 ---> .... <--- 12 --->|

|<<--------------- 共10 组-------------->>|

因此,如果我们要在Fortran 中配置一个与上头那个 C 一模一样的二维阵列时,实际上应该要将其index 反过来:double precision a(10,12)

除此之外,C 的阵列index 一律是从0 开始,对于一个有N 个元素的阵列,其最后一个index 是N-1,且每个阵列元素的index 值差1。Fortran 不一定,要看怎么声明了。例如声明一个阵列如下:

double precision a(100)

则此阵列index 是从 1 开始,最后一个是100, 每个的值差1。不仅如此,Fortran 还可以这样声明:

double precision a(11:110)

这还是一个一维阵列,共100 个元素,但第一个元素的index 是11, 最后一个是110 。在这里我们可以看到,(idx1:idx2) 这样的叙述在Fortran 中就是用来指定一个阵列的范围。

2.5. 函数调用与参数传递

C 的函数调用就只有一种方式,函数可以传入参数,也可以返回值,例如:

void c_function1(int a, float *b)

{

........

}

int c_function2(int a, float *b)

{

int r;

........

return r;

}

int main(void)

{

int a, r;

float b;

c_function1(a, &b);

r = c_function2(a, &b);

}

其中c_function1() 没有返回值,而c_function2() 有返回值。而 C 函数的参数传入则有两种方式,正如前面的例子,一个是call-by-value, 即(int a),另一个是call-by-reference, 即(float *b),二者的差别在于:call-by-value 是将参数值复制一份副本到子函数的参数列中,让子函数使用,就算子函数改变了副本的值,也只是改变了子函数中的副本,也不会影响到上层父函数的原参数值。Call-by-refernce 则相反,它则是将参数所在的地址当做参数传给子函数中,子函数只知道此参数的存储空间所在的地址,它要存取该参数时,必须由此地址去找到该参数。因此,子函数使用的,其实是与父函数相同的一个参数,故如果子函数改变了此参数的值,则父函数的参数值也跟着改变了。

而Fortran又与 C 相反了。它的函数有两种,一为subroutine,一为function。subroutine不会有传回值,但function 有传回值,就以上 C 的例子,Fortran 的写法如下:

subroutine f_function1(a, b)

integer a

real b

........

end

integer function f_function2(a, b)

integer a

real b

........

f_function2 = ....

end

program fout

integer a, r, f_function2

real b

c -----------------------------------

call f_function(a, b)

r = f_function2(a, b)

end

若从 C 的观点来看,subroutine 其实就相当于 C 的无返回值函数,而function 就相当于 C 的有返回值函数。但Fortran 的function 还要更特殊一点,可以看到,当程序要使用f_function2 时,必须先申明:

integer f_function2

因为它的返回值是integer。这有点像Fortran 将function 看做是参数的一种,只是这个参数不太简单,它背后还带着一连串的计算。再看看

f_function2 实际上的写法,在 C 的有返回值函数中,最后一定要用return 将要返回的参数返回i来,但Fortran 则不是,它是一定要将返回的值设成该函数名(即f_functio n2), 如此即可返回。这就好像是,function 本身就是一个参数。

不论是Fortran 的subroutine 或function 的参数,其传入的方式就只有一种,就是call-by-reference,所以在上述所有的Fortran

subroutine/function 的参数中,如果子函数改变了参数值,其父函数的相对应参数也会跟着改变。

最后说一点,Fortran 不像C,所有用到的参数到要声明,就算不声明也可以直接用。若不声明时,那些参数是有预设型别的,就视其参数名而定,例如参数名以i, j, k, l, m, n 字母为首者,其预设型别即为integer, 否则为float。

最新评论[发表评论][文章投稿]查看所有评论推荐给好友打印

萨比,别误导人了,现在FORTRAN可以实现指针、按地址传递、动态分配内存( kaierme 发表于2006-6-8 20:21:00)

请教大虾说的“使用 Handle模式+懒惰算法不比Fortran效率低”是什么意思?我现在把原来一个fortran的仿真程序改为VC的,效率低了太多,其中也有很多复数运算和矩阵运算,很想知道如何提高。( sightseeing 发表于2004-9-6 11:53:00)

"听说有洋人已经完成了所有的C++向量处理,可以用来代替fortran,还出了书,进了大学教程,但好像现在没有下文了,估计是敝帚自珍,不愿意开源。"

当然是开源的,而且种类很多,特别是针对不同的计算机进行了优化( VC70新手发表于2004-8-24 6:52:00)

其实他们的所谓会也就是堆积木罢了,RAD真是误人啊( underyun 发表于2004-8-23 14:38:00)

哈哈哈,周星星同学,“没有做不出,只有想不出”这句太经典,我也经常听到,也是只会MIS 的人说的,真是惊人的相似啊( underyun 发表于2004-8-23 14:37:00)

非常好的一篇文章,除了ASM\C\C++之外我唯一会的语言就是Fortran77了,等级考试时Fortran77我是以满分通过的,很有感情。你所说的“算式拆解,分别算过后再重组结果”在C++是由compiler完成,其实compiler不可能智能到做这种操作,C++中可以手工做到这一点,使用 Handle模式+懒惰算法不比Fortran效率低,而这种技巧在Fortran诞生之前就普遍使用了,听说有洋人已经完成了所有的C++向量处理,可以用来代替fortran,还出了书,进了大学教程,但好像现在没有下文了,估计是敝帚自珍,不愿意开源。

Fortran到现在为止都不可已被其他语言替代,确实说明数学家的利害,我现所在公司那帮“没有做不出,只有想不出”的MIS蠢材不知道怎么想?( 周星星发表于2004-8-22 12:13:00)

.......................................................

More...

版权所有? 1999 - 2010 VC知识库

护理文书书写基本规范及要求46288

护理文书书写基本规范及管理制度 一、基本要求 1.根据卫生部《病历书写基本规范(2010)》及《卫生部办公厅关于在医疗机构推行表格式护理文书的通知》(卫办医政发[2010]125号)文件要求制定本规范。 2.护士需要填写、书写的护理文书包括:体温单、医嘱单、病危(病重)患者护理记录单、手术清点记录单。 3.护理文书一律使用蓝黑或碳素墨水笔书写。 4.护理文书一律使用阿拉伯数字书写日期和时间,医`学教育网搜集整理日期用年-月-日,时间采用24小时制,具体到分钟。 5.护理文书记录内容应当客观、真实、准确、及时、规范。 6.书写应当使用中文、医学术语和通用的外文缩写,文字工整,字迹清晰,表述准确,语句通顺,标点正确。 7.书写过程中出现错字时,用双线划在错字上,保留原记录清楚、可辨,并注明修改时间,修改人签名。不得采用刮、粘、涂等方法掩盖或去除原来的字迹。上级护理人员有审查修改下级护理人员书写的记录的责任。 8.实习护士、试用期护士、未取得护士资格证书或未经注册护士书写的护理记录,应由本医疗机构具有合法执业资格的护士审阅并签名,需修改时用红色笔修改并签名。

9.进修护士由接受进修的医疗机构认定其工作能力后方可书写护理文书。 二、体温单填画要求 1.体温单项目分为楣栏、一般项目栏、生命体征绘制栏、特殊项目栏。 2.各项目栏除特殊要求和说明外,均应使用同色笔书写。 3.数字除特殊说明外,均使用阿拉伯数字表述,不书写计量单位。 4.体温单填写、绘画过程中出现错误时应重新书写。 【填写说明】: 1.楣栏项目包括:科室、床号、姓名、性别、年龄、住院病历号(或病案号)、入院日期,均使用正楷字体书写。 2.一般项目栏包括:日期、住院天数、手术后天数等。 (1)日期:住院日期首页第1日及跨年度第1日需填写年-月-日(如:2010-07-29)。每页体温单的第1日及跨月的第1日需填写月-日(如08-01),其余只填写日期。 (2)住院天数:自入院当日开始计数,直至出院。 (3)手术后天数:自手术次日开始计数,连续书写14天,若在14天内进行第2次手术,则将第1次手术天数作为分母,第2次手术天数作为分子填写。 3.生命体征绘制栏:包括体温、脉搏描记及呼吸记录区。 (1)体温

fortran语法手册

1 FORTRAN77四则运算符 + - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→() 2 FORTRAN77变量类型 2.1 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 2.4 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例: DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2) 10FORMAT(1X,5(A2,I2,1X,A2,I4)) 2.5 使用DATA语句给数组赋初值 变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如 DATA A,B,C/-1.0,-1.0,-1.0/ DATA A/-1.0/,B/-1.0/,C/-1.0/ DATA A,B,C/3*-1.0/CHARACTER*6 CHN(10)

DATA CHN/10*' '/INTEGER NUM(1000) DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/ 3 FORTRAN77程序书写规则 程序中的变量名,不分大小写; 变量名称是以字母开头再加上1到5位字母或数字构成,即变更名字串中只有前6位有效; 一行只能写一个语句; 程序的第一个语句固定为PROGRAM 程序名称字符串 某行的第1个字符至第5个字符位为标号区,只能书写语句标号或空着或注释内容; 某行的第1个字符为C或*号时,则表示该行为注释行,其后面的内容为注释内容; 某行的第6个字符位为非空格和非0字符时,则该行为上一行的续行,一个语句最多可有19个续行; 某行的第7至72字符位为语句区,语句区内可以任加空格以求美观; 某行的第73至80字符位为注释区,80字符位以后不能有内容。 4 FORTRAN77关系运算符 .GT. 大于 .GE. 天于或等于 .LT. 小于 .LE. 小于或等于 .EQ. 等于 .NE. 不等于 .AND. 逻辑与 .OR. 逻辑或 .NOT. 逻辑非 .EQV. 逻辑等 .NEQV. 逻辑不等 运算符优先级由高到低顺序为:()→**→*或/→+或-→.GT.或.GE.或.LT. 或.LE.或.EQ.或.NE.→.NOT.→.AND.→.OR.→.EQV.或.NEQV 5 FORTRAN77语句

(完整)Fortran经典编程语言笔记(你值得拥有)

FORTRAN笔记 2014.10.07 目录 第七讲_FORTRAN的基本知识.ppt (2) FORTRAN语言程序设计初步 (2) FORTRAN源程序的书写格式(以77为例) (2) 变量 (2) 变量类型 (2) 算术运算符和运算优先级 (3) 赋值语句 (3) 参数语句(PARAMETER语句) (3) END语句 (3) PAUSE语句 (3) 逻辑运算和选择结构 (4) 关系表达式 (4) FORTRAN中数组的定义及使用 (4) 其他 (5) 1. fortran语言定义CHARACTER*6 TTL(14,3),CNAM(400)是什么意思? (5) 2. fortran里character*10 是什么意思 (5) 3. Fortran中kind是什么函数? (5)

第七讲_FORTRAN的基本知识.ppt FORTRAN语言程序设计初步 FORTRAN是Formula Translation的缩写,意为“公式翻译”,它是为科学、工程问题或企事业管理中的那些能够用 数学公式表达的问题而设计的,其数值计算的功能较强。 常用的是FORTRAN77和FORTRAN90两种标准。 1、一个程序由若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。 2、每一个程序单位都是以“END”结束的。 3、一个程序单位包括若干行。 1)语句行。由一个FORTRAN语句组成。 2)非语句行,即注释行。 4、FORTRAN程序中的语句可以没有标号,也可以有标号,根据需要而定。标号的作用是标志一个语句以便被其 他语句引用。 5、一个程序单位中各类语句的位置是有一定规定的。 6、FORTRAN源程序必须按一定的格式书写。 FORTRAN源程序的书写格式(以77为例) 每一行有80列,分别如下: 1、第1-5列为标号区。一行中第一列为“C”或“*”,该行即被认为是注释行。 2、第6列为“续行标志区”,如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。 3、第7-72列为语句区。 4、第73-80列,注释区。 变量 变量名:一个变量需要用一个名字(变量名)来识别。在同一个程序单位中不能用同一个变量名代表两个不同的变 量。 FORTRAN的变量名按以下规则选定: 1)第一个字符必须是字母,即变量名必须以字母开头; 2)在一个字母后面可以跟1-5为数字或字母。 如果选定的变量名超过6个字符,则只有前面6个字符有效。 注:在变量名中大写与小写字母是等价的。 变量类型 整型变量Integer、实型变量Real、双精度变量Double Precision、复型变量Complex、逻辑型变量Logical和字符型变量Character。 1、隐含约定(I-N规则) FORTRAN规定:在程序中的变量名,凡以字母I,J,K,L,M,N六个字母开头的,即认为该变量为整型变量。 在程序中,凡是变量名以字母I,J,K,L,M,N,i,j,k,l,m,n开头的变量被默认为整型变量,以其他字母开头的变量被 默认为实型变量。 2、用类型说明语句确定变量类型 1)INTEGER语句(整型说明语句) 2)REAL语句(实型说明语句) 3)DOUBLE PRECISION语句(双精度说明语句) 4)COMPLEX语句(复型说明语句) 5)LOGICAL语句(逻辑型说明语句)

水利水电工程单元工程质量评定表填表基本规定

水利水电工程单元工程质量评定表填表基本规定 《水利水电工程单元工程施工质量验收评定表及填表说明》(以下简称《质评表》)是检验与评定施工质量及工程验收的基础资料,是施工质量控制过程的真实反映,也是进行工程维修和事故处理的重要凭证。工程竣工验收后,《质评表》作为档案资料长期保存。 1.单元(工序)工程施工质量验收评定应在熟练掌握《水利水电工程单元工程施工质量验收评定标准》(SL 631~SL 637—2012、SL 638~SL 639—2013)和有关工程施工规程规范及相关规定的基础上进行。 2.单元(工序)工程完工后,在规定时间内按现场检验结果及时、客观、真实地填写《质评表》。 3.现场检验应遵循随机布点与监理工程师现场指定区位相结合的原则,检验方法及数量应符合SL 631~SL 639标准和相关规定。 4.验收评定表与备查资料的制备规格采用国际标准A4(210mm×297mm)。验收评定表一式四份,签字、复印后盖章;备查资料一式二份。手签一份(原件)单独装订。单元和工序质评表可以加盖工程项目经理部章和工程监理部章。 5.验收评定表中的检查(检测)记录可以使用黑色水笔手写,字迹应清晰工整;也可以使用激光打印机打印,输入内容的字体应与表格固有字体不同,以示区别,字号相同或相近,匀称为宜。质量意见、质量结论及签字部分(包括日期)不可打印。施工单位的三检资料和监理单位的现场检测资料应使用黑色水笔手写,字迹清晰工整。 6.应使用国家正式公布的简化汉字,不得使用繁体字。应横排填写具体内容,可以根据版面的实际需要进行适当处理。 7.计算数值应符合《数值修约规则与极限数值的表示和判定》(GB/T 8170)要求。数据使用阿拉伯数字,使用法定计量单位及其符号。数据与数据之间用逗号(,)隔开,小数点要用圆点(.)。经计算得出的合格率用百分数表示,小数点后保留1位,如果为整数,则小数点后以0表示。日期用数字表达,年份不得简写。 8.修改错误时使用杠改,再在右上方填写正确的文字或数字L不应涂抹或使用改正液、橡皮擦、刀片刮等不标准方法。 9.表头空格线上填写工程项目名称,如“小浪底水利枢纽工程”。表格内的单位工程、分部工程、单元工程名称,按项目划分确定的名称填写。单元工程部位可用桩号(长度)、高程(高度)、到轴线或到中心线的距离(宽度)表示,使该单元从三维空间上受控,必要时附图示意。“施工单位”栏应填写与项目法人签订承包合同的施工单位全称。 10.有电子档案管理要求的,可根据工程需要对单位工程、分部工程、单元工程及工序进行统一编号。否则,“工序编号”栏可不填写。 11.当遇有选择项目(项次)时,如钢筋的连接方式、预埋件的结构型式等不发生的项目(项次),在检查记录栏划“/”。 12.凡检验项目的“质量要求”栏中为“符合设计要求”者,应填写设计要求的具体设计指标,检查项目应注明设计要求的具体内容,如内容较多可简要说明;凡检验项目的“质量要求”栏中为“符合规范要求”者,应填写出所执行的规范名称和编号、条款。“质量要求”栏中的“设计要求”,包括设计单位的设计文件,也包括经监理批准的施工方案、设备技术文件等有关要求。 13.检验(检查、检测)记录应真实、准确,检测结果中的数据为终检数据,并在施工单位自评意见栏中由终检负责人签字。检测结果可以是实测值,也可以是偏差值,填写偏差值时必须附实测记录。 14.对于主控项目中的检查项目,检查结果应完全符合质量要求,其检验点的合格率按100%计。 对于一般项目中的检查项目,检查结果若基本符合质量要求,其检验点的合格率按70%计;检查结果若符合质量要求,其检验点的合格率按90%计。 15.监理工程师复核质量等级时,对施工单位填写的质量检验资料或质量等级如有不同意见,在“质量等级”栏填写核定的质量等级并签字。 16.所有签字人员必须由本人签字,不得由他人代签,同时填写签字的实际日期。 17.单元、工序中涉及的备查资料表格,如SL 631~SL 639标准或施工规范有具体格式要求的,则按有关要求执行。否则,由项目法人组织监理、设计及施工单位根据设计要求,制定相应的备查资料表格。 18.对重要隐蔽单元工程和关键部位单元工程的施工质量验收评定应由设计、建设等单位的代表签字,具体要求应满足《水利水电工程施工质量检验与评定规程》(SL 176)的规定。

(完整版)FORTRAN90用法总结,推荐文档

FORTRAN90用法总结 1、数据类型 整型 INTEGER 实型 REAL 复型 COMPLEX 字符型 CHARACTER 逻辑型 LOGICAL 2、特殊函数 1>定值函数 PARAMETER(变量列表) 或类型说明符,PARAMETER::变量列表 2>IMPLICIT 类型说明符(字母表)类型定义函数(默认I-N规则,取消IMPLICIT NONE) 3>** 乘方 4>STOP[标号]终止执行 5>PAUSE[标号]暂停程序 6>字符串长度函数 LEN(String)、 LEN_TRIM(String) 7>除去字符串尾部空格 TRIM(String) 8>字符串位置函数 INDEX(String1,String2) 9>字符串比较函数 LGE(String1,String2) LGT(String1,String2) LLE(String1,String2) LLT(String1,String2) 10>字符串空格首位调整 ADJUSTL(String)、ADJUSTR(String) 11>字符串、ASSII码互相转化函数 ①化为ASSII码 ICHAR(String)、IACHAR(String) ②化为字符串CHAR(I)、ACHAR(I) 12>.LT.(<) .LE.(<=) .EQ.(=) .NE.(/=) .GT.(>) .GE.(>=) 13>.AND.与 .OR.或 .NOT.非 .EQV.等于 .NEQV.不等 .XOR.异或 3、IF函数 1> 单支IF IF(逻辑表达式) THEN 块语句 END IF 2> 双支IF IF(逻辑表达式) THEN 块语句1 ELSE 块语句2 END IF 3>多支IF IF(逻辑表达式1) THEN 块语句1 ELSE IF(逻辑表达式2) THEN

水利部填表规范填表基本规定

填表基本规定 《水利水电工程施工质量评定表》(试行)(以下简称《评定表》是检验与评定施工质量的基础资料,也是进行工程维修和事故处理的生要参考。SL223-1999《水利水电建设工程验收规程》规定,《评定表》是水利水电工程验收的备查资料。《水利水电建设项目(工程)档案资料管理规定》要求,工程竣工验收后,《评定表》归档长期保存。因此,对《评定表》的填写,作如下基本说明: 1.单元(工序)工程定工后,应及时评定其质量等级,并按现场检验结果,如实填写《评定表》。现场检验应遵守随机取样原则。 2.《评定表》应使用蓝色或黑色墨水钢笔填写,不得使用园珠笔、铅笔填写。 3.文字。应按国务院颁布的简化汉字书写。字迹应工整、清晰。 4.数字和单位,数字使用阿拉伯数字(1、2、3、…..、9、0)。单位使用国家法定计量单位,并以规定的符号表示(如:Mpa、m、m3、t、…….)。 5.合格率。用百分数表示,小数后保留一位。如果恰为整数,则小数点以0表示。例如:%。 6.改错。将错误用斜线划掉,再在其右上方填写正确的文字(或数学),禁止使用改正液、贴纸重写、橡皮擦、刀片刮或用墨水涂黑等方法。 例如:……表面有裂缝纹,抗压强度。 7.表头填写。①单位工程、分部工程名称,按项目划分确定的名称填写。②单元工程名称、部位:填写该单元工程名称(中文名称或编号),部位可用桩号、高程等表示。③施工单位:填写与项目法人(建设单位)签订承包合同的施工单位全称。④单元工程量:填写本单元主要工程量。⑤检验(评定)日期:年——填写4位数,月——填写实际月份(1~12月),日——填写实际日期(1~31日)。 8.质量标准中,凡有“符合设计要求”者,应注明设计具体要求(如内容较多,可附页说明)、凡有“符合规范要求”者,应标出所执行的规范名称及编号。 9.检验记录。文字记录应真实、准确、简练。数字记录应准确、可靠,小数点后保留位数应符合有关规定。 10.设计值按施工图填写。实测值填写实际检测数据,而不是偏差值。当实测数据多时,可填写实测组数、实测值范围(最小值~最大值)、合格数,但实测值应作表格附件备查。 11.《评定表》中列出的某些项目,如实际工程无该项内容,应在相应检验栏内用斜线“/”表示。 12.《评定表》表1~7从表头至评定意见栏均由施工单位经“三检”合格后填写,“质量等级”栏由复检质量的监理人员填写。监理人员复核质量等级时,如对施工单位填写的质量检验资料有不同意见,可写入“质量等级”栏内或另附页说明,并在质量等级栏内填写出正确的等级。 13.单元(工序)工程表尾巴填写。 (1)施工单位由负责终验的人员签字。如果该工程由分包单位施工,则单元(工序)工程表尾由分包施工单位的终验人员填写分包单位全称,并签字。重要隐蔽工程、关键部位的单元工程,当分包单位自检合格后,总包单位应参加联合小组核定其质量等级。 (2)建设、监理单位,实行了监理制的工程,由负责该项目的监理人员复核质量等级并签字。未实行监理制的工程,由建设者单位专职质检人员签字。 (3)表尾所有签字人员,必须由本人按照身份证上的姓名签字,不得使用化名,也不得由其他人代为签名。签名时应填写填表日期。 14.表尾填写:××单位是指具有法人资格单位的现场派出机构,若须加盖公章,则加盖该单位的现场派出机构的公章。

公路工程内业资料填写的具体规定

内业资料填写的具体规定 建设项目内业资料是工程建设全过程的真实记录,是整个工程建设的一个重要组成部分。建设项目竣工验收内业资料必须保证其全面性、准确性、闭合性、真实性和可追溯性等特点。为了确保内业资料准确、完整、及时地反映工程进程,根据交通部JTGF80/1—2004《公路工程质量检验评定标准》、《福建省高速公路建设项目档案管理办法》、《福建省高速公路建设项目档案管理实施细则》等有关文件的规定,结合本项目的具体情况,对内业表格填写作如下规定: 一、基本要求 1、内业资料用纸用笔要求 (1)纸张宜采用70g/㎡以上白色书写纸,易于存放、防腐,长期保存。所使用的纸张统一为A4(297×210)号纸或A3(297×420)号纸,除竣工图表外要统一按A4(297×210)号纸的规格折叠,竣工图、表要统一缩成A3格式后组卷(除房建竣工图外)。 (2)所有内业资料必须使用碳素墨水,不得使用不耐久字迹材料(如铅笔、圆珠笔、复写纸、红墨水、纯蓝墨水等),字迹要清晰、端正,图面要整洁。 (3)凡为易褪色材料形成的并需要永久和长期保存的文件(如原材料出厂证明等),应附一份复印件,同时将原件裱糊在复印件的背面(空白面),摆放时,原件正面朝上。 (4)写错的文字,用斜线划去,在旁边书写正确文字,不允许用涂改液修改或用刀刮改,并盖上修改人的私章(扁章)。 (5)计算机印制的文字材料和图纸应采用激光打印机打印,不允许使用喷墨打印机和针式打印机。 2、意见签署及签字要求 (1)签名栏应由本人亲自手签,并签全名,不允许直接代签应签字人的姓名,不能采用打印或图章。必须按要求在表格中的签名,不允许出现一人完成所有签字,如计算与复核不能是同一个人签名等情况,以此类推。所有资料中的各方人员必须手签全名,不能以盖章或复印代替手签名。 (2)原始记录资料不得随意更改,如测量资料、试验资料、检测资料等,如果必须

fortran语言语法

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :< 说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘C#特性赋予科学计算项目以威力》 1 FORTRAN77四则运算符 + - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→() 2 FORTRAN77变量类型 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 用类型说明语句确定变量类型:可以改变I-N规则

用IMPLICIT语句将某一字母开头的全部变量指定为所需类型 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)

FORTRAN 95 语法速查

FORTRAN 95 语法速查 ----------白云、李学哲、陈国新、贾波编著《FORTRAN95程序设计》读书笔记 目录:一、应用程序的创建与运行/FORTRAN 95所用的字符/ 变量类型及其声明,常量声明/表达式与运算符 二、输入与输出:表控、有格式 三、选择语句与结构:IF语句、CASE结构 四、DO循环结构 五、数组:数组的声明,数组的引用,数组的算术运算,数组的输入、输出,给数组赋初值, 动态数组,WHERE、FORALL语句 六、子程序:语句函数,内部子程序,调用子程序时的虚实结合:形参为数组、非定界数组、子 程序名、星号,递归子程序,外部子程序,纯子程序,逐元子程序 七、派生数据类型与结构体 八、指针与动态链表 九、文件:存取方式,基本操作语句,各类文件的读写操作 十、接口、模块 十一、公用区、存储关联、数据块子程序 十二、绘图:坐标系、设置图形颜色、创建图形程序/ 常用过程:设置线型、绘一像素点、设置当前位置、绘直线、绘弧线、绘矩形、绘多边形、绘制扇形(圆、椭圆)/ 文字信息的显示 附/录:标准函数与标准子例行程序 一、基础部份 1-1 FORTRAN 95 应用程序的创建与运行 创建或运行FORTRAN 95程序必须在Microsoft Developer Studio平台上进行。尽管程序文本及相关文件的编辑可以在任一文本编辑器上进行,然后再拷到Studio的文档窗口中。但最好还是一开始就进入Studio环境。创建FORTRAN 95 程序的步骤大致如下: 1)启动Microsoft Developer Studio 可以通过不同方式运行dfdev.exe程序以启动Microsoft Developer Studio [开始] \ Compaq Visual Fortran 6 \ Developer Studio \ dfdev.exe:或 ……\CVF66 \https://www.doczj.com/doc/b71508460.html,\MSDEV98\dfdev.exe Microsoft Developer Studio的界面如下图所示: 文档窗口 工作空间窗口 输出窗口

Fortran常用函数

1、RANDOM_NUMBER Syntax ['sint?ks] n. 语法 CALL RANDOM_NUMBER (harvest结果) Intrinsic Subroutine(固有子程序):Returns a pseudorandom number greater than or equal to zero and less than one from the uniform distribution. 返回大于或等于0且小于1,服从均匀分布的随机数 2、RNNOA/ DRNNOA (Single/Double precision) Generate pseudorandom numbers from a standard normal distribution using an acceptance/rejection method. 产生服从标准正态分布的随机数 Usage(用法) CALL RNNOA (NR, R) Arguments(参数) NR— Number of random numbers to generate. (Input) 要产生随机数的个数 R— Vector of length NR containing the random standard normal deviates. (Output) 输出长度为NR,随机正态分布的向量 Comments(注解) The routine RNSET can be used to initialize the seed of the random number generator. The routine RNOPT can be used to select the form of the generator. 程序RNSET可以用来初始化随机数发生器的种子 Example In this example, RNNOA is used to generate five pseudorandom deviates from a standard normal distribution. INTEGER ISEED, NOUT, NR REAL R(5) EXTERNAL RNNOA, RNSET, UMACH C CALL UMACH (2, NOUT) NR = 5 ISEED = 123457 CALL RNSET (ISEED) CALL RNNOA (NR, R) WRITE (NOUT,99999) R 99999 FORMAT (' Standard normal random deviates: ', 5F8.4) END Output Standard normal random deviates: 2.0516 1.0833 0.0826 1.2777 -1.2260

FORTRAN知识点总结

F O R T R A N 第2章FORTRAN90基础知识: 程序单元的概念: fortran90程序是一种分块形式的程序,整个程序由若干程序单元块组成。每个程序只有一个主程序单元。各单元体的程序体形式上相同。 程序单元可以是主程序、子程序(外部过程或内部过程)、模块MODULE (供其他程序单元引用即把该程序单元内的全部语句复制到程序单元中)或块数据程序单元BLOCK 。 语言元素:指在程序设计中用到的基本成分,如字符集、常量、变量、记号(标号、关键字、名字、常数、运算符和定界符)以及其他的基本结构等。 字符集:英文字母、阿拉伯数字、下划线、21个特殊字符($和?没有规定用法)。 数据结构: 整型INTEGER (34-2下划线后面是种别参数),n 位字长的计算机的数据表示范围一般为12~211-+---n n ,种别参数由内在询问函数KIND 送回,种别值提供的最小范围由内在函数SELECTED-INT-KIND 送回,表示十进制幂的范围由内在函数RANGE 送回; 实型REAL ,小数形式和指数形式;复型COMPLEX (种别类

型参数值取实部与虚部中较大者); 字符型CHARACTER,由一对单撇号或双撇号之间的字符序列组成; 逻辑型LOGICAL。 派生数据类型TYPE; 数组INTEGER,DIMENSION(1,50)::A,可直接对数组元素进行运算如3*A,SQRT(A); 字符子串,在字符串CHARACTER(LEN=80)::ROW中,ROW(1:3)就表示字符串ROW中第1到第3个元素组成的子串。 变量名的命名规则:不能超过31个字符;组成成分是字母、数字、下划线;第一个字符必须是字母。 第3章基本语句: 类型说明语句:类型说明(种别说明),属性说明::变量名表 尽量避免把两个实数作相等或不相等的比较。淘汰隐式说明IMPLICIT NONE 种别说明:种别参数即对可移植数据精度和范围进行选择的机制 KIND(X) 返回变元X的种别参数值 SELECTED-REAL-KIND(n,m) 产生一个种别值,它表示某一精度和范围。N指十进制有效位数,m指明值范围内以10为底的幂次。

检表填写规范

第四章三检表 一、“三检制”简介 1、水利工程施工中的初检 初检是在每一道工序或每一个单元工程完成后,应由班组的质检员(或班组长),按照工序或单元工程规定的检查(检测)项目逐项进行检查与检测,真实地填写单元(或工序)三检表(包括:检测仪器、检测方法、检测数据),由班组长复核、签字。 初检是保证施工质量的基础。通过初检,可以及时发现质量问题和质量缺陷,将其消灭在施工过程之中。对于无初检记录或记录严重不全或失实的单元工程(或工序)不能进入复检,应由责任班组长将其补充完善后才能进行复检。 2、施工队(项目部)复检 复检是在班组初检的基础上,由施工队(项目部)专职或兼职的质检员与施工技术人员一起对初检形成的单元(或工序)三检表及有关记录进行复核。 复检的主要内容是检查施工班组对单元工程的初检项目是否齐全,检验数据是否准确,检查结果与施工记录是否相符等等,并做好复检记录。凡发现有检查项目不全或达不到质量标准,要在复检时处理完善。 3、施工单位质检处终检 终检通常由施工单位的专职质检员与施工技术人员一起进行。终检的主要内容是检查经过复检后的单元(工序)工程的检验评定结

果是否符合设计及规程规范要求,资料是否齐全,质量评定是否正确,检查结果是否与施工情况一致,同时检查所完成的单元工程是否存在质量隐患等。单元(工序)工程在终检时,要完整地签署质量评定意见。对于分工序的单元工程,在上一道工序未终检或终检不合格时,不得进行下一道工序的施工。由施工单位专职质检员签字。 二、三检表填写说明 1、表头:按“填表基本规定”填写。 2、检查(测)项目:每个该检查(测)项目都必须填写其检查(测)方法、使用工具和检查(测)结果。检测结果要逐个填写,不能简单地填写“实测组数、实测值范围(最小值~最大值)”。 3、初检人、班组长、复检人、终检人必须在相应的位置上签字,并签署日期。 4、复检要完整地签署复(情况)意见。 5、终检要完整地签署质量评定意见。

fortran语法手册

1F O R T R A N77四则运算符+ - */ ** (其中**表示乘方) 在表达式中按优先级次序由低到高为:+或-→*或/→**→函数→() 2 FORTRAN77变量类型 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3) REAL IA(10),ND(80:99)使用隐含DO循环进行数组输入输出操作:例如 WRITE(*,10) ('I=',I,'A=',A(I),I=1,10,2) 10FORMAT(1X,5(A2,I2,1X,A2,I4)) 使用DATA语句给数组赋初值 变量表中可出现变量名,数组名,数组元素名,隐含DO循环,但不许出现任何形式的表达式:例如 DATA A,B,C/,, DATA A/,B/,C/ DATA A,B,C/3*CHARACTER*6 CHN(10) DATA CHN/10*''/INTEGER NUM(1000) DATA (NUM(I),I=1,500)/500*0/,(NUM(I),I=501,1000)/500*1/ 3 FORTRAN77程序书写规则

fortran心得

Read 的规则: 按行读取,每次读一行,读完后光标自动跳到下一行的开头,空格和逗号代表结束(所以空格和逗号也是读取的一部分的话,需要使用“输入输出格式”) 如果想要将一行数据读入数组,代码为: Read(10,*) s(:,:,:) 不用规定输入输出格式,因为会根据s(:,:,:)确定需要读入的数字的个数,然后fortran会按部就班的读取,甚至文件中当前这一行的数字个数不足以填满s(:,:,:)的时候,read会自动跳到下一行继续搜索数字,直到填满s(:,:,:)为止。 但是需要注意给数组赋值的顺序:read会把它搜索到的第一个数字给s(1,1,1),第二个给s(2,1,1),第三个给s(3,1,1)… 程序9 1: 将read(unit=field,fmt="(A79)",iostat=status)buffer 中的A79改为A2,结果只输出每行的前两个字符,说明read是按整行整行读取的。 中间空了几行之后,空行之后的内容还是能被读取和输出,这说明,空行和空白是不一样的:空行也算是一种文本内容,因此不会终止读取,而空白意味着结束。 !读取文件 program main implicit none character(len=79)::filename="number.txt",buffer integer,parameter::field=10 integer::status=0 logical alive inquire(file=filename,exist=alive) if(alive)then open(unit=field,file=filename) do while(.true.) read(unit=field,fmt="(A79)",iostat=status)buffer if(status/=0)exit write(*,"(A79)")buffer end do else write(*,*)filename,"does't exist." end if pause stop end program main ============================================= 附number.txt =============================== 1234555666

(完整版)Fortran之COMMON语句

Fortran之COMMON语句 FORTRAN程序中各程序单位之间的数据交换可以通过虚实结合来实现,还可以通过建立公用区的方式来完成。公用区有两种,一种是无名公用区,任何一个程序中只可能有一个无名公用区;一种是有名公用区,一个程序中可以根据需要由程序员开辟任意多个有名公用区。建立无名和有名公用区都通过COMMON语句来进行。 按照结构化程序设计的指导思想,通常主张通过虚实结合的途径来传送数据而不主张使用公用区。因为前者使程序有较好的可读性,而且容易跟踪数据的流向,便于对程序进行调试和维护。但是虚实结合的传送方式速度较慢,特别是在各程序单位之间有大量的数据需要传送时速度问题就更为突出。不同程序单位利用公用区交换数据的速度却比虚实结合的方式传送速度快得多。所以在很多应用程序中如果各程序单位之间有大量数据需要传送时,程序员一般仍然采用开辟公用区的方式。 11.2.1 无名公用区 开辟无名公用区COMMON语句的一般形式如下: COMMON a1,a2,… 其中a1,a2,…允许是普通变量名、数组名和数组说明符(注意:不是数组元素),它们之间用逗号隔开。例如: 在主程序中写:COMMON X,Y,I,Z(3) 在子程序中写:COMMON A,B,J,T(3) 于是,在无名公用区中变量X和A,Y和B,I和J分别分配在同一个存储单元中,数组Z和T同占三个存储单元。占同一个存储单元的那些变量在不同的程序单位中,它们的名字不需要相同。

FORTRAN编译程序在编译时为COMMON语句开辟一个无名公用区,当把不同的程序单位连接在一起的时候,不同程序单位在COMMON语句中的变量按其在语句中出现的先后顺序占用无名公用区连续的存储单元,也就是说每个程序单位中的COMMON语句总是给出现在语句中的第一个变量分配在无名公用区的第一个存储区单元。 COMMON语句开辟公用区的主要用途就是使不同程序单位的变量之间 进行数据传送,另一种用途是用来节省存储空间。下面的例子通过公用区进行交换数据: PROGRAM MAIN COMMON Z1,Z2 READ(*,*)A1,A2,A3 CALL QUAD(A1,A2,A3) WRITE(*,*)Z1,Z2 END SUBROUTINE QUAD(A,B,C) COMMON X1,X2 . . . END 或者: PROGRAM MAIN COMMON Z1,Z2,A1,A2,A3 READ(*,*)A1,A2,A3 CALL QUAD() WRITE(*,*)Z1,Z2 END

FORTRAN 90 程序编程规范

FORTRAN 90 程序编程规范 Fortran 90 编程规范,使程序代码高度组织化,更加易读、易懂、易于维护,程序更加高效。使编出的程序更易懂、易于维护。 1 语言选择 数值预报创新系统软件开发应避免使用Fortran77 的某些过时特征以Fortran 90不一致的特征。选择Fortran 90 作为开发语言,并采用Fortran 90 的新功能,如动态内存的分配(dynamic memory allocation)、递归(recursion ), 模块(modules)、POINTER 、长变量名、自由格式等。 Fortran 77其中某些只是一些冗余的功能,这些功能已经过时,另外,还有一些在Fortran90 中被证明是不好的用法,建议不要使用。 2 Fortran 90 的新特性 2.1.1 建议使用的Fortran 90 新特性 建议使用Fortran 90 提供的模块(module ),并用Use ONLY 指定module 中哪些变量或派生类型定义可用于调用程序。 尽量使用数组下标三元组,这样可优化并减少所需的代码行数。为提高可读性,要在括号内表明数组的维数,例如: 1dArrayA(:) = 1dArrayB(:) + 1dArrayC(:) 2dArray(: , :) = scalar * Another2dArray(: , :) 当访问数组的子集时,例如在有限差分等式中,可以通过使用下标三元组实现。例如:2dArray(: , 2:len2) = scalar *( & Another2dArray(:, 1:len2 -1) & - Another2dArray(:, 2:len2) & ) 对程序单元(program units )命名,并使用End program ,End subroutine ,End interface ,End module 等结构再次指定“program unit ”的名称。 在逻辑表达式中使用>、 >=、 ==、 <、 <=、 /=,它们分别代 替.gt.、.ge.、.eq.、.lt.、.le.、.ne. 。新的表示方法更接近标准的数学符号 在变量定义中始终使用“::”;始终用“DIMENSION ”定义数组形状;始终用(len=)的语法格式声明字符变量的长度。

信息采集表填写规则

学生信息采集表填写规则 各位2013、2014、2015级同学: 全院学生建档工作现已展开,为保证各位同学信息填写规范、准确,特制定此规则。请各位同学填写时参照此规则,认真准确填写相关信息。 一、基本信息: 1、“姓名”一栏请按照身份证上姓名填写,姓名较长的同学请分上下两行填写。 2、“出生日期”一栏请按身份证上出生日期填写,年、月、日之间用“.”隔开,1-9之间的月份及日期前请加“0”。如:1995.01.01 3、“政治面貌”一栏请填“中共党员”、“中共预备党员”、“共青团员”或“群众”等。其他民主党派请如实填写。四字及以上请分上下两行填写,具体分隔如下:中共/ 党员、中共/ 预备党员、共青/ 团员等。 4、“民族”一栏中,民族后请加“族”字,如:汉族。穿青人等后不加“族”。 5、“入学时间”一栏中请填写自己入学年份及月份,如:2015.09。预科生请按照大一时年份填写。 6、“专业班级”一栏请填写专业全称及班级,如电气工程及其自动化151。专业名称较长的专业可按上下两行填写。具体分隔如下:电气工程及其/自动化151、电子信息/ 工程151、测控技术/ 与仪器151。自动化、通信工程、信息工程专业同学请在一行填写。 7、“学号”、“身份证号”、“联系电话”等请如实填写。“联系电话”一栏请填写现用手机号码。 8、“家庭住址”一栏请填写现居地,精确至门牌号。 二、主要学习经历: 请填写从小学到大学所读院校、时间、地点等,若有降级、休学等填写清楚时间。 如:北方民族大学2015年09月至今宁夏回族自治区银川市 三、主要获奖情况: 请填写获奖时间、奖项名称或比赛名称、名次。 如:2015年09月国家奖学金 2015年10月电气信息工程学院第一届秋季新生田径运动会男子100米第一名四、家庭成员情况: 请填写直系亲属情况。与本人关系应为:父子(女)、母子(女)、兄弟、姐妹、兄妹、姐弟等。 “工作或学习单位”一栏,若为务农或自由职业,请填写家庭所在地址,若为学习,请填写学校名称,其他请按照工作单位填写。 “联系方式”请如实填写,保证能够联系到家庭成员。 电气信息工程学院办公室 二〇一五年十月二十六日

fortran语言内部函数

附录 FORTRAN 90标准函数 符号约定: ●I代表整型;R代表实型;C代表复型;CH代表字符型;S代表字符串;L代表逻辑型;A代表数组;P代表指针;T代表派生类型;AT为任意类型。 ●s:P表示s类型为P类型(任意kind值)。s:P(k)表示s类型为P类型(kind值=k)。 ●[…]表示可选参数。 ●*表示常用函数。 表1 数值和类型转换函数 函数名说明 ABS(x)*求x的绝对值∣x∣。x:I、R,结果类型同x; x:C,结果:R AIMAG(x)求x的实部。x:C,结果:R AINT(x[,kind])*对x取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) AMAX0(x1,x2,x3,…)*求x1,x2,x3,…中最大值。x I:I,结果:R AMIN0(x1,x2,x3,…)*求x1,x2,x3,…中最小值。x I:I,结果:R ANINT(x[,kind])*对x四舍五入取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) CEILING(x)*求大于等于x的最小整数。x:R,结果:I CMPLX(x[,y][,kind]))将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,kind:I,结果:C(kind) CONJG(x)求x的共轭复数。x:C,结果:C DBLE(x)*将x转换为双精度实数。x:I、R、C,结果:R(8) DCMPLX(x[,y])将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,结果:C(8) DFLOAT(x)将x转换为双精度实数。x:I,结果:R(8) DIM(x,y)*求x-y和0中最大值,即MAX(x-y,0)。x:I、R, y的类型同x,结果类型同x DPROD(x,y)求x和y的乘积,并转换为双精度实数。x:R, y:R,结果:R(8)

相关主题
文本预览
相关文档 最新文档