fortran90 知识点整理

fortran90 知识点整理
fortran90 知识点整理

Fortran90关于变量说明的新功能:

1.在变量说明的同时,可以给变量赋初值。

INTEGER::I=5,J=126

REAL::X=7.2,Z,W=774.2

2.在说明变量的同时也可说明其种别

REAL(KIND=4)::X,Y 或REAL(4)::X,Y

3.在说明变量的同时,还可说明变量的属性

INTEGER,PARAMETER::I=5,J=123

Ps :PARAMETER 属性

(1)功能:用一个符号代表一个常量,称为符号常量(常数)

(2)写法:

Real,Parameter ::G=9.8 &&说明类型时赋值

(3)位置:位于可执行语句之前

REAL,DIMENSION(1:10)::A

2.3.6 派生数据类型

根据需要而由基本数据类型定义新的数据类型。在一个派生类型中可包含多个基本类型。

如:TYPE STUDENT (定义开始)

CHARACTER(LEN=20)::DEPARTMENT

CHARACTER(LEN=10)::CLASS

CHARACTER(LEN=15)::NAME

INTEGER::NUMBER (成员定义)

END TYPE STUDENT (定义结束)

派生类型变量的定义:

TYPE(STUDENT)::PERSON

变量的赋值:

PERSON=(”COMPUTER”,”92_2”,”LI LIN”,21)

成员的表示:

PERSON%CLASS=“92_2”

PERSON%NAME=“LI LIN”

主程序其他限制

主程序的可执行部分不能包含有RETURN语句或者ENTRY语句。

程序名对可执行程序是全局的,而且不得于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得于主程序内的任何局部名相同。

在主程序的作用范围内的说明不得包含OPTIONAL语句、INTENT语句、PUBLIC语句或它们的等价属性,在主程序内SAVE语句不起作用。

主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。

2.3.2 子程序

子程序是可以完成某一独立算法或功能的程序单元,但它功能的具体体现要通过主程序(或子程序)的调用来实现。

按子程序与主程序的位置关系分为内部过程和外部过程。

模块也是一种在程序单元之外独立编写的程序单元。它有独特的形式,即模块程序单元内没有可执行语句,除了说明语句外,最多包含内部过程。模块的主要作用是供其它程序单元引用。

程序单元引用模块,实际是将模块内的全部语句复制到本程序单元。因此模块起共享及复制的作用。

模块的引用采用语句:

USE 模块1,模块2,…

基本语句概述

程序的最基本的语句主要有四种:类型说明语句、赋值语句、输入语句、输出语句。运用这些基本的语句,就可以编写一些简单的程序。

内在函数

FORTRAN 90配置的函数称为内在函数。内在函数分为三种:

基本函数:

SIGN 符号

函数值:|A1|(若A2>0)

-|A1|(若A2<0) SIGN(A1,A2)

Eg : SIGN(-3.0,2.0)=3.0

SIGN(3.0,-2.0)=-3.0

某些函数参数只能为实型

如:log(2.0) (loG(2)错)

转换函数

KIND()

SELECTED_INT_KIND()

SELECTED_REAL_KIND

PRECISION()

RANGE()

……

不轻易使用整型量除整型量 1.0/2 2.0**(-1)

运算对象类型相同时,运算结果的类型为同一类型

注意:5/2=2 1/2=0 !!

运算对象类型不同时,系统一般先转换成相同类型后再运算转换规则是:较低级的类型转换为较高级的类型

数据类型隐含的高低次序为(由低到高):

整型→实型→双精度→复型

例:8/5+2.0*5/2=6.0(逐步转化)

赋值语句

1、类型要求

逻辑型、字符型的赋值语句要求“=”两边类型相同

数值型赋值,不区别整型、实型和复型

2、种别方面

字符型要求种别相同

其余类型的e、V种别允许不同

输入输出语句

1、I/O的对象——列在

I/O是相对于内存而言的,

键盘属于输入设备,

显示器属于输出设备,

优盘、硬盘既是输入设备,又是输出设备。

2、I/O的方向及语句

READ (U,f) U:设备(部件) f:格式

WRITE

其中: 输入READ语句

输出PRINT语句,只输出到显示器

WRITE语句,适合任何输出设备

U(部件) * : 系统约定设备

某个值: 指定通道号(设备逻辑号、文件号)

表控格式I/O(*): 系统约定的格式。

f(格式) 基本格式(自定格式)I/O:按用户要求的格式组织I/0。

带控制信息表的I/O:

I:碰到回车(ENTER)为一个记录。

O:一行为一个记录。

程序执行过程中按表控格式输入数据

各数据间有分隔符:,或空格

类型匹配:整型:带小数点只取整数部分;

复数:(实部,虚部);

字符:‘一串字符’:赋值时长度转化或一串字符即‘’可省略。

逻辑:以T或F作为第一个字母的字符串(点号1个、空格多个在前忽略)

3.输入的数据必须是常数,不能是变量和表达式

如输入2+1,则出错。

4.输入数据个数:

1)不得少于变量的个数;

2)可分行输入;

3)多余的数据不起作用

5.空格可以多个,/表示输入数据结束,后面的数据被取消,没有输入数据的变量值为原值;

Read*,A,B,C

输入:2,1/3

结果:A=2 B=1 C=0

6、如果几个连续变量需要赋同一个值,可以使用重复因子r,即r*[c]:r为重复数

4*0.5,2*3,2*’AB’,3*(1.0,-1.0)

输入输出的三种不同的格式:

1.表控格式的输入输出

2.有格式的输入输出

3.带控制信息表的输入输出

整型编辑符:Iw[.m]

1.I 编辑符控制输出:

功能:用于整型数据的输入输出

格式:Iw Iw.m rIw

w—输入输出数据字段总宽度

m—至少m位数字

r—为重复系数

例1.设J=10,K=-12,L=12

WRITE (*,”(I3,I5,I7)”)J,K,L

□10□□-12□□□□123

注意:

1.数字在指定的区域内右端对齐,不足w则左边补空格。

2.负数的符号也包含在字段宽度内

3.如果应输出的列数超过了规定的字段宽度,则不输出有效数据,以w个*填充。

4、BN, BZ :Blank interpretation

Specifies interpretation of blanks in numeric fields (空格是否当0处理)仅用于输入格式语句,如

read “(BN,2I3)”,I,J

例2.如果将格式串改为:

“(I3,I5.4,I7.5)”

则输出:

□10-0012□□00123

例3.如果L=123456

□10-0012□123456

!!Iw.m :m<位数,则按照实际数输出

实型编辑符

1.编辑符格式

[r]Fw.d 将数据按小数形式输出

[r]Ew.d 将数据按指数形式输出

[r]Gw.d 根据数据大小决定采用E或F格式

r—重复系数

w—字段宽度(总宽度)

d—小数部分宽度

F编辑符

功能:用于实数编辑,小数形式的输出(定点数:单精度实数,4个字节,7个有效数字) 当实型数值小于0.0(负数)时,则w>=n+d+2

当实型数值大于或等于0.0时,则w>=n+d+1

用此来确定w的宽度

注意:

1.w包括数符和小数点两位

2.若数据小于w位,则左边补空格

3.输出值时舍入,而不是截断

4. 如果是科学计数法则转换小数形式

字符型编辑A

A用来编辑字符型变量,它不关心该字符串的长短如何。例:

CHARATER*5 A,B,C

READ(*,’(A,A,A)’)A,B,C

WRITE(*,’(A,2X,A,2X,A)’)A,B,C

END

输入:ABC□DBASICFORMAT

结果:ABC□D□□BASIC□□FORMA

!!!2X表示□□

X编辑描述符

功能1:在输出时产生空格,它的一般形式为:nX

关系表达式与逻辑表达式

关系运算符:

> 、>=、<、<=、==(等于)、/=(不等于) (常用)

.GT.、.GE.、.LT.、.LE.、.EQ.、.NE.

注意

1、每个关系表达式中的关系运算符只准出现1次,运算符两侧都是表达式;

错例:2b)

2、运算对象:

关系运算符两边的运算对象类型应相容:

错例:A= =.TRUE. 2<‘A’

复型:只能进行= =、/=。不能比较大小

字符型:可以进行各种关系运算

逻辑运算符(5个)

.NOT. a:求反运算,

a.AND.b:a与b同时为真,表达式值才为真

a.OR.b:a与b有一个为真,表达式值就为真

a.EQV.b:a与b值相等,表达式值为真

a.NEQV.b:a与b值不相等,表达式值为真

类型运算符优先级

括号() 1

算术运算** 2

*,/ 3

+,- 4

关系运算>,>=,<,<=,==,/= 5

逻辑运算.NOT. 6

.AND. 7

.OR. 8

.EQV.,.NEQV. 9

IF语句

使用范围:特殊单分支

语句写法:

IF(条件)一条语句

例:IF (X>0) PRINT*,X

执行过程:

1、计算条件表达式的值

2、真右边语句IF的下一个语句

3、假IF的下一个语句

注意:

1.右边通常为一条且只一条可执行语句。

错例:IF (A

2.不能为以下语句:

END、另一个逻辑IF、块IF、ELSIF、ENDIF、DO

错例:IF(X<2)END

3.常应用于简单的条件赋值或条件转移(在循环结构中)

4、不论条件真假都执行IF的下一个语句

IF结构

使用范围:二分支结构

书写格式:

IF(条件)THEN ! 块IF语句

语句体1(then块)! 由若干语句组成

ELSE ! ELSE语句

语句体2(else块)!由若干语句组成

ENDIF ! ENDIF语句

IF结构执行过程:

计算条件的值

真THEN块ENDIF的下一个语句

假ELSE块ENDIF的下一个语句

注意:

1. IF—then标记语句的开始,ENDIF 与之匹配,标记语句块结束

2.条件表达式写法

IF结构的缺省形式:

缺省ELSE块:

IF(lexp)THEN

语句体1

ENDIF

缺省THEN块:

IF(lexp)THEN

ELSE

语句体2

ENDIF

多分支结构

方法1:转化为单分支,逻辑IF语句并列

方法2:逐次二分,转化为块IF结构嵌套

嵌套过多容易出错,也不易维护,因此应尽量减少嵌套的层次;

方法是把条件分细,列成多条ELSEIF语句,ELSEIF结构为:

Elseif 结构:

IF(e1)THEN

block1

ELSEIF(e2)then

block2

ELSEIF(e3)then

block3

--------

ELSE

block n

ENDIF

IF结构的取名

IF结构可:无名或有名

IF结构的取名与变量的取名方法相同

IF结构名:IF (e1) THEN

块1

ELSEIF (e2) THEN [IF结构名]

块2

ELSEIF(en) THEN [IF结构名]

块n

ELSE [IF结构名]

块n+1

END IF IF结构名

同一IF结构中的结构名一定要一致!

CASE结构

使用范围:多分支结构

SELECT CASE(情况表达式)

CASE(情况选择器1)

block1(块1)

CASE(情况选择器2)

block(块2)

--------

CASE(情况选择器n)

block n

[CASE DEFAULT

默认块]

END SELECT

执行过程:

1. 计算情况表达式的值

2. 顺序匹配各情况选择器,执行相应的block1,再到END Select下一个语句

3. 如果均不匹配,则执行默认块

4. 执行END Select的下一个语句

情况表达式:

整型变量、逻辑变量、字符型变量或相应的表达式

不能是实型或复型表达式

表达式列表(情况选择器):

只能是常量,不能为变量,可有多条语句;

类型与情况表达式类型应一致,尤其字符型时种别参数必须一致,但长度可以不同;

,(逗号)分隔符表示分隔单个值的列表。

例:case(3,5,7)值不能重复

:(冒号)分隔符表示值的范围,连续的值

例:case(5:10); case(‘i’:‘n’)

下界、上界可省略

Case default:最多出现一次

例4-8 输入一个数,判断能否被3整除,打印相关信息注意输出的格式为(*,’(I6,2X,A)’)

循环结构程序设计

循环的分类:

1、已知循环次数

2、已知循环条件

循环的表示及适用范围:

循环均由Do结构表示,其Do结构共有三种形式:

1.不带循环变量的DO结构

2.带循环变量的DO结构

3.Do WHILE循环结构

不带循环变量的DO结构

一般形式

[结构名:]DO !循环开始语句

循环体!循环体

ENDDO [结构名] !循环结束语句

说明:

1、结构名可以省略,多层嵌套时,为使结构清晰才用;

2、循环体可以为0~n条语句或结构,包含以下语句:

重复语句,循环变量的变化,循环控制语句等;

3、DO 循环入口语句,只能从该语句进入循环;

4、ENDDO 循环终止语句,可以不经过该语句退出循环

使用范围:

循环次数未知,仅给定了循环终止条件

无循环变量的DO结构执行过程:

进入DO结构后,从DO语句下面第一句执行起顺次执行到END DO前的最后一句,

再返上来从DO语句下面第一句执行起,重复执行整个DO块。

对于不带控制变量的DO结构,DO块中必须有EXIT语句,使它停止循环,退出循环,转向执行END DO下面的语句。

EXIT和CYCLE语句

EXIT语句

循环出口语句,一般形式为:

EXIT

作用:停止循环,将控制转移到当前循环(或指定do结构)之外。

一般用法

IF (逻辑表达式) EXIT [DO结构名]

CYCLE语句

短路语句,一般形式为:

CYCLE [DO结构名]

作用:在循环执行到该语句时,跳过循环体在它后面的那些语句。再从循环体的第一条语句开始执行。

一般用法:

IF (逻辑表达式) CYCLE [DO结构名]

带循环变量的DO结构

使用范围:计数型循环——已知循环次数

一般形式:

[结构名:] DO 循环控制变量V=初值e1, 终值e2 [ , 步长值e3]

循环体!重复执行的语句

ENDDO [DO结构名]

e1、e2、e3可以是正值,也可以是负值,最好是整型。

例:DO I=1,100,2

S=S+I

ENDDO

有关注意事项:

1.e1,e2,e3可为常量、已有值的变量或表达式e3=1时可省略

2. v与e1,e2,e3类型不一致,按赋值语句转化。

do I=1.5,3.6,1.2 do I=1,3,1

3. 语句执行次数:

do语句:1次(负责赋初值和循环次数的计算)

循环体语句次数:max(int((e2-e1+e3)/e3), 0)

4、e3不允许为零(可正、可负),否则程序出错

do I=1.5,6.5,-0.5 I的取值为:?

5、循环变量可不在循环体内出现,仅控制循环次数。

do I=1,10

print*,’a’

Enddo

6、DO循环变量在循环体内不能赋以新值,但可以引用。即循环变量在循环体中不能出现在赋值号的左边。

例:

DO I=3,6

I=5 !!错误

J=I+I ;print *,I

ENDDO

7、循环变量在循环体内不能被重新赋值,但在循环体外可以被重新赋值。两个并列的DO 循环可以使用相同的循环变量

DO I=1,10,2

ENDDO

I=20

DO I=1,5

ENDDO

9、在带循环变量DO 结构中仍可使用EXIT和CYCLE语句。

10、在DO结构中包含的IF结构和CASE结构等必须是完整的结构,不允许出现结构的交叉。

11、循环可以不经ENDDO终止,但是不能从循环体外转入循环体内(GOTO)。

12、给定一个循环,首先要判断循环是否一次也不做。如果循环变量大于终止,循环一次也

不做,直接输出结果。

13、循环正常退出时,v的值超过循环变量的终值;循环非正常退出时,v保持当前值。DO WHILE 结构

DO WHILE结构的一般形式:

[结构名:] DO WHILE(逻辑表达式)

循环体

END DO [结构名]

相当于:

DO

IF(.NOT.逻辑表达式)EXIT

循环体

END DO

DO结构嵌套

DO结构嵌套:一个DO结构循环体内可以包含另一个完整的DO循环结构,这就是DO循环结构的嵌套

注意:

3、执行到EXIT语句,没有指明结构名时,转到当前循环体外;若指定了结构名,则转出该结构名代表的循环体外;

如:II:DO I=3,50

JJ:DO J= 2,I-1

IF (MOD(I,J)==0) EXIT

END DO JJ

IF(J>=I) PTINR*,I

END DO II

隐含DO循环

隐含DO循环实际上是带控制变量的DO结构。但简化成只有DO结构的第一句,且把DO 关键字隐去。

隐含DO循环的形式为:

(list,v=u1,u2,u3)

说明:

1、左括号相当于DO,右括号相当于ENDDO;

2、List可以是一个或多个常量、变量、数组元素等,甚至可以是另外的隐含DO循环(隐含DO循环嵌套)

不能独立存在,主要用于输入输出语句,常用于数组的输入输出。

如:READ *,(A(I),I=1,5)

READ *,A(1),A(2),A(3),A(4),A(5)

隐DO、显DO执行过程的区别

1、输入、输出格式的区别:

PRINT *,(I,I=1,3)PRINT*,1,2,3输出一行

DO I=1,3 PRINT*,1

PRINT*,I PRINT*,2

ENDDO PRINT*,3

输出三行

几种常见的隐含DO循环的形式

1.按指定步长读写。例如

PRINT *,(J,J=1,7,2)

2.隐含DO循环与普通变量混合使用。例如

PRINT *,A,B,(X(I) ,I=1,3),C

3.用于输出一些特殊符号。例如

PRINT *,(’-’,I=1,80)

4.隐含DO循环可以并列出现。例如

print *,(I,I=1,2),(J,J=1,2)

程序单元和过程

子程序单元不能独立存在,只能被主程序单元或被其它子程序单元调用,甚至可以递归调用(调用本身)

子程序(又称过程)的分类

1、函数子程序分为:内部函数子程序,外部函数子程序

2、子例行子程序分为:内部子例行子程序,外部子例行子程序

外部函数子程序

Visual Fortran90的函数:

1、内在函数(系统函数、标准函数)

如:sin、cos、sqrt、abs、kind……

2、Function语句编写的函数(自定义)

分为内部函数、外部函数

函数子程序的编写方法

[RECURSIVE]FUNCTION 函数名(虚元表)RESULT(结果名)

说明部分

程序体:具体计算

END [FUNCTION [函数名]]

如:FUNCTION FACT(N) RESULT(FACT_RESULT)

IMPLICIT NONE

INTEGER::N,I,FACT_RESULT

FACT_RESULT=1

DO I=1,N

FACT_RESULT=FACT_RESULT*I

ENDDO

END FUNCTION FACT

PROGRAM MAIN

INTEGER::FACT,SUM=0,I

DO I=1,5

SUM=SUM+FACT(I)

ENDDO

PRINT*,SUM

END

说明:

子程序END语句写法:END [FUNCTION [函数名]]

子程序END语句功能:

1、函数单位的结束标志

2、将控制返回到主调程序。

子程序开始语句的写法

[RECURSIVE]FUNCTION 函数名(虚元表)RESULT(结果名)

1、作为函数子程序的第一行(注释行除外)。

2、如果函数是递归的,则应以RECURSIVE开头。

3、函数名与普通变量名的取法相同,且为全局名,即作用域为整个程序,不得与已有的全局名同名。

4、主调程序与被调程序两个单位之间的数据传递:

①RESULT (结果名):子程序的一个输出结果

一般写法:函数名_RESULT,用于保存一个计算结果,称为函数值。且结果名有类型,必须在子程序说明部分说明类型。

②虚元表:子程序的所有输入,及除函数值之外的其他计算结果的输出。虚元之间用逗号分隔,都要在说明语句中说明类型。如果没有虚元,函数名后是一对空括号。

5、虚元的含义:编写子程序时没有具体值(调用时或调用结束后才获得数值),因此只是一个符号,表示输入、输出,名字可随便用户取。

6、虚元可以是变量名、数组名、过程名、指针等。

7、虚元的可选属性INTENT:

INTENT(IN):表示函数开始时,虚元从实元中获得值,作为子程序的输入(不得再改变其值) INTENT(OUT):表示函数结束时,把虚元的值传送给实元,作为子程序的输出(对应的实元不能是表达式)

INTENT(INOUT):表示虚元既要从实元中获得值,又要向实元传送值,作为子程序的输入输出。

例:REAL,INTENT(IN)::X,Y

子程序程序体的写法

分为说明部分和执行部分。

1、说明部分应对程序体内一切变量、数组等实体(包括虚元)作出说明,同时还要说明函数结果变量名,但不可说明函数名。

2、执行部分中必须对函数结果名至少赋值一次。

外部子例行子程序

外部子例行子程序:过程的另一种形式。用户定义,用于完成复杂计算任务,返回一个或多个值,或用于其它数据处理。

外部子例行子程序的结构

[Recursive]Subroutine 子程序名(虚元表)

说明部分

程序体

End [Subroutine [子程序名]]

与函数子程序的区别

1.没有RESULT关键字。

2、虚元:负责子程序的全部输入和全部输出

3、无虚元时:SUBROUTINT 子程序名或

SUBROUTINT 子程序名()

4、函数子程序的调用是表达式形式。

而子例子程序必须通过CALL语句来调用。

CALL 子程序名(实元表)

如:

SUBROUTINE FACT(N,FACT_VALUE)

IMPLICIT NONE

INTEGER,INTENT(IN)::N

INTEGER,INTENT(OUT)::FACT_VALUE

INTEGER::I

FACT_VALUE=1

DO I=1,N

FACT_VALUE=FACT_VALUE*I

ENDDO

END SUBROUTINE FACT

PROGRAM MAIN

INTEGER::SUM=0,I,VALUE

DO I=1,5

CALL FACT(I,VALUE)

SUM=SUM+VALUE

ENDDO

PRINT*,SUM

END

待留

字符型数据基础

字符型常量与变量

说明(1)字符常量区分字母大小写

(2)空格为有效字符

(3)字符不受fortran90字符集的限制

(4)单撇号为有效字符时,改写为两个单撇号或双撇号

(5)种别参数用前缀法表示

(6)长度>=0

字符型常量长度的计算

长度为字符的个数:

起止界不算

两个单撇号或双撇号算一个

空格为有效字符算一个

字符型变量的类型说明:

1、一般形式:

Character ([len=]n1[,[kind=]n2] )[,属性列表]:: 变量名[=初值] 2、只有长度说明而无种别参数说明时,可采用以下说明:

Character(len=7)::A

Character(7)::A

Character*7::A

3、如若个别说明,可在变量后指明其具体长度:

例:character (8):: strg, strh, stri*12

4、不说明长度,长度默认为1

5、长度可为整型表达式,但要加括号

例:character(2)::a,b*(2+3)

6、有时可把长度值写成一个星号,表示此处暂不指明其长度,也可理解为长度任意,但要加括号。例:

Character(LEN=*)::CH,PARA

Character(*)::CH,PARA

Character*(*)::CH,PARA

Character(2):: CH,PARA*(*)

使用范围:

(1)具有PARAMETER属性的字符常量

Character(*),parameter::para=‘FORTRAN_90’

字符串长度取对应的字符常量的长度。

(2)用字符变量作为虚元时,虚元的长度取对应实元的长度

虚元可以和任意长度的实元相结合,有利于提高子程序的通用性。

字符子串

子串的一般形式为:字符变量名(e1:e2)

其中,e1和e2为整型表达式,表示起始和终止位置。

1<=e1<=e2<=长度L

如:A=‘123456’A(1:3)‘123’

字符表达式

字符运算符“//”

功能:将两个字符型数据按顺序首尾连接起来,成为一个新的字符型数据。

例:‘abc’//’def’得‘abcdef’

字符型数据的输入与输出

字符型赋值语句

长:截取左边

短:右补空格

表控格式的输入与输出

例如:CHARACTER(5):: A,B,C

Read *,A,B,C

输入:‘CHINA’,‘NEW’,‘SHANGHAI’

结果:A值CHINA ;B值NEW ;C值SHANG

注意

(1):表控格式输入字符型数据时

必须输入用单撇号或双撇号做定界符的字符串。

各常量之间应用逗号分隔。

(2) :长度转换同赋值长:截取左边短:右补空格

(3):表控格式输出时:按值左对齐输出,没有定界符,输出多个变量时,各变量连续输出,中间不留空格。

(2)用字符型编辑符:Aw

w是规定的输入宽度.

注意: 长度转化规则是:

若长度L=w,输入的字符个数恰好够用。

若L>w,输入的字符不能满足,在右边补足L-w个空格

若L

用字符型编辑符:Aw

w是规定的输出宽度.

例: CHARACTER(LEN=5)::A,B,C*4

A='A1234'

B='B1234'

C='C123'

PRINT '(1X,A5,A7,A2)',A,B,C

长度转化规则是:

若长度w=L,输出的字符个数恰好够用,如上例中A;

若w>L,在字符变量左边补足w-L个空格输出(右对齐),如上例中B;

若w

字符型数组

如果具有Dimension属性,就成为字符数组。

例: character(3),dimension(4)::a

A的每个元素的长度均为3

A(1)(1:1)表A(1)中的第1个字符

用于字符处理的内在函数

1.求字符串长度函数

LEN:字符串的长度例:LEN(‘ASD□□’) 值5

LEN_TRIM:去掉尾部空格后的长度。

例:LEN _TRIM(‘ASD □□’) 值3

注意:若参数是数组名,则结果为数组中元素的长度。

例:CHARACTER(LEN=5),DIMENSION(1:20)::A

则LEN(A)的值是5。

2.除去字符串尾部空格函数(TRIM)

例:TRIM(‘ASD □□’) 值ASD

数组

数组不得重复说明例:INTEGER,DIMENSION(2)::A

INTEGER,DIMENSION(2,3)::A

通过下标引用数组元素

下标表达式应是整型表达式,允许出现+ - * 等算数运算符。操作数可以是常数、变量,也可以是简单的内在函数或数组元素,但表达式的值一定是整数。

d1 <= 下标表达式的值<= d2

例:A(3*2),A(ABS(-3)),A(5+I),A(A(I))

一维数组的输入与输出

方法一、使用数组名输入输出该数组的所有元素

PROGRAM SUM_DIM

IMPLICIT NONE

INTEGER,DIMENSION(15)::A

INTEGER::S=0,I

READ*,A A代表15个元素一行输入或若干行or 使用自定格式:READ '(5I4)',A DO I=1,15

S=S+A(I)

ENDDO

PRINT*,A A代表15个元素打印一行or 使用自定格式:PRINT '(5I4)',A PRINT*,S

END

使用数组片段输出

DO I=1,11,5

WRITE(*,'(1X,5I4)') A(I:I+4)

ENDDO

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

数组构成器

如果数组中需要数据,除了可以使用READ语句外,还可使用数组构成器对数组全部或部分元素赋值。

数组构成器是左右两端用“(/ ”和“/)”定界的同类型数据的集合。

数组构成器的一般写法

1、值的序列:

例:(/1,2,3,4/)

2、隐含DO循环法,其一形式为:

(/隐含DO表/)

例:(/(SQRT(REAL(I)),I=1,4)/)

3、数组元素法,其一般形式为:

(/数组元素,数组元素,…,数组元素/)

例:(/V(3),V(6),V(7),V(9)/)

4、数组片段法,其一般形式为:

(/数组片段/)

例:(/V(3:9:3)/)

相当于:(/V(3),V(6),V(9)/)

二维数组中:使用数组名按列输入输出所有元素:

小说基础知识 (2)

现代文阅读:小说 一、小说是 以塑造人物形象为中心,通过故事情节、环境的描写来反应社会生活 按照篇幅及容量可分为长篇、中篇、短篇和。 按照体制可分为章回体小说、日记体小说、书信体小说、自传体小说。 按照语言形式可分为文言小说和白话小说 二、小说的三要素:人物,环境,故事情节 三、故事情节的结构及其作用(有的包括序幕、尾声) 1·开端:交代背景铺垫下文 2·发展:刻画人物反应性格 3·高潮:表现冲突揭示主题 4·结尾:深化主题引人思考 情节的作用:使小说变得丰富、生动、曲折,可以强化人物性格、深化主题增强艺术感染力 阅读分析小说要抓住的几个方面: 1、整体感知小说内容,把握小说情节脉络 整体感知小说内容理清作者思路把握结构并概括各部分的主要内容 在叙述上主要以顺叙,倒叙或者插叙为主 一般来说:倒叙的作用是设置悬念、为下文做铺垫、吸引读者 插叙的作用是对情节有力的支撑刻画人物揭示主题 概括情节要完整: 格式:什么人在什么地方干了件什么事情结果怎么样 2、把握人物形象要从刻画人物的方法入手

正面描写、侧面描写; 语言、动作、肖像、细节、神态、心理描写; 对比描写、环境烘托 类型:品味分析小说中的人物形象、性格特点 1·必须与文章的具体内容结合起来,具体的事件表现出人物性格 2·挖掘人物的深层含义,体会其所代表的社会群体特征 3·结合具体内容分析正面描写(外貌、语言、动作、心理等)和侧面烘托抓住人物形象描写的特点来理解人物内在的形象特点 抓住小说细节描写的作用:以小见大、塑造人物、突出主题 3、环境描写也是为人物为主题服务的 环境描写的作用:再现自然风光;交待背景;营造气氛;烘托人物情感和思想等小说要分析环境描写在塑造人物、烘托主题方面的作用 1·社会环境是小说故事发生的背景、交代或暗含时代背景、社会风俗、思想观念和人与人之间的关系 2·自然环境一般是为了表现人物的身份、地位、性格、表达人物的心情渲染气氛 抓住人物在大环境、背景中的某一行为理解其意义与精神 具体步骤: 第一步:分析环境本身的特点 自然环境描写:表现了……地域风格 提示了……时间、季节 渲染营造了……氛围 社会环境:指出相关语句揭示了……社会现实

fortran常见问题解决

楼主为了减少重复回答问题,特编此帖,并不定期添加和更新内容。 错误难免,欢迎讨论,仅供参考。 很多人问哪里可以找到Fortran编译器,有不少热心学友提供网址,特汇集在这里。虽然俺检验过这些链接,但是它们不一定总有效。 Fortran编译器下载: CVF? FTN95(License:Freeforpersonaluse) 以下操作,如无特别说明,都是以为例。 1.如何加大Stacksize? 选Project=>Settings=>Link=>Category:Output=>? Stackallocations Reserve:这里填新值(默认为1M,若需要10M,则填) 2.如何用Fortran批量生成文件? 设要生成4000个文件,文件名为AA1-AA4000,如何写循环生成文件,而不用写4000次write 命令呢? 用内部文件: character(len=80)::filename,form integer::i doi=1,4000 selectcase(i) case(1:9) write(form,'(i1)')i case(10:99) write(form,'(i2)')i case(100:999) write(form,'(i3)')i case(1000:9999) write(form,'(i4)')i endselect write(filename,*)"AA",trim(form),".TXT" open(10,file=filename) write(10,*)i close(10)

enddo? stop end 3.如何用Fortran动态生成输出格式? 设有一个数组data(100),输出时,希望每行输出num个数,而num由用户输入,如何实现? 用内部文件: character(len=80)::form real::data(100) integer::i,num data=(/(i,i=1,100)/)/ read(*,*)num write(form,*)"(",num,"" write(*,form)data stop end 4.MS是不是很垃圾? 是垃圾,其中Bug太多,多到不可用的地步! 在这个主题里,换了CVF后问题就没了的人已有相当的数目。 如果你用,遇到莫名其妙的错误,建议换,这是一个比较成熟的编译器。 5.如何用F90/95生成随机数? 注意: 现在计算机产生的随机数都是伪随机数。 random_number(x)产生一个0到1之间的随机数(x可以是向量),但是每次总是那几个数。用了random_seed()后,系统根据日期和时间随机地提供种子,使得随机数更随机了。 programrandom implicitnone real::x callrandom_seed()!系统根据日期和时间随机地提供种子 callrandom_number(x)!每次的随机数就都不一样了 write(*,*)x stop endprogramrandom 6.函数/子程序超载的例子

高级中学语文现代文阅读的基础知识总结.doc

高中语文现代文阅读的基础知识总结 现代文阅读的基础知识总结 1、说明文(A、准确把握说明中心B、理清说明的顺序[a时间顺序b空间顺序c逻辑顺序]C、分析说明的方法[a 下定义说明b举例说明c引用说明d分类说明e图表说明f数字说明g比较说明]) 2、议论文(A、把握论点B、分析论点展开的过程C、把握作者的论证思路(1)、议论文的结构:引论(提出问题)本论(分析问题)结论(解决问题)(2)、本论的结构:a总分式b 并列式c递进式e对照式(3)、分析论证方法:a理证法、例证法、引证法、对比法、类比法、喻证法、反正法、归谬法、引申论证法) 3、散文(①、散文的种类:A、写人记事散文B、写景抒情散文C、托物言志散文D、寓理于事的散文②线索:物、事、人、情、时、地[明线和暗线,单线和复线]) 4、表达方式(记叙、描写[人物描写:语言、动作、神态、心理、肖像描写;环境(自然与社会)描写:动静结合、虚实结合、远近高低结合、色彩声音味道结合、正面描写与侧面描写、白描与细描、概括描写与细节描写]、抒情[直接抒情(直抒胸臆)、间接抒情:借景抒情、寓情于景、触景生情、托物言志、借古讽今、借事抒情、寓理于事]、议论、说明) 5、表现手法(卒章显志、以小见大、欲扬先抑、照应、赋陈、比兴、用典、渲染、象征、联想、想象、衬托、烘托) 6、重要的词语在文中的含义:一是理解词语在文中的语境义;二是理解词语在文中的指代义;三是理解词语在文中的隐含义。(修辞型、指代型、概括型) 7、重要的词语在文中的作用(解释含义、分析表达效果) 8、重要的句子在文中的含义和作用:重要的句子通常是

指:①表明文章主旨或表现作者观点的句子;②内涵比较丰富,表达比较形象或比较含蓄的句子;③表现记叙线索和作品脉络层次的关键性语句;④结构复杂,较难理解的语句。(考含义重在解释,考作用要从内容与结构上来回答,要特别注意开头句、过渡句、结尾句的作用) 9、整体阅读,圈画重点词句、理解文章结构脉落(要注意文中议论、抒情的句子);选择题要明确范围,认真筛选,仔细比对、慎重下手 10、读写结合题:(知识梳理型、措施建议型、鉴赏评价型、是非评价型、列举印证型、联想(感悟)仿写型、图画评述型) 现代文阅读的基础知识 一、表达方式: 在用语言、艺术、音乐、行动把思想感情表示出来时所采取的方法和形式、 1、表达方式分为叙述、描写、说明、抒情、议论的表达方式的分类解释; 2、一篇文章可以以一种表达方式为主,兼用其它表达方式; 3、现在流行的话题作文的要求里也有相关表述可任选一种表达方式为主并综合运用其它各种表达方式。 二、描写方法:是用生动形象的语言把人物或景物具体描绘出来的一种手法。 1、按内容来分:描写有人物描写和景物描写两种。 人物描写的方法主要有六种,即概括描写、肖像描写、语言描写、行动描写、心理描写、细节描写; 景物描写则包括静态与动态、客观与主观、反衬与对比三种。

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=)的语法格式声明字符变量的长度。

中考语文现代文阅读各种文体基础知识

中考语文现代文阅读各种文体基础知识 一、表达方式:记叙、描写、抒情、说明、议论 二、表现手法:象征、对比、烘托、设置悬念、前后呼应、欲扬先抑、托物言志、借物抒情、联想、想象、衬托(正衬、反衬) 三、修辞手法:比喻、拟人、夸张、排比、对偶、弓I用、设问、反问、反复、互文、对比、借代、反语 四、记叙文六要素:时间、地点、人物、事情的起因、经过、结果 五、记叙顺序:顺叙、倒叙、插叙 六、描写角度:正面描写、侧面描写 七、描写人物的方法:语言、动作、神态、心理、外貌 八、描写景物的角度:视觉、听觉、味觉、触觉 九、描写景物的方法:动静结合(以动写静)、概括与具体相结合、由远到近(或由近到远) 十、描写(或抒情)方式:正面(又叫直接)、侧面(又叫间接) 十^一、散文的分类:叙事散文?抒情散文.哲理散文十二.散文的特点:形散而神不散十三、小说三要素:人物形象、故事情节、具体环境十四、小说情节四部分:开端、发展、高潮、结局(序幕?尾声)十五、环境描写分为:自然环境、社会环境十七、说明文分类: 1、事物说明文、事理说明文 2、科技性说明文、文艺性说明文(也叫科学小品或知识小品) 十八、说明文结构::“总(概说)一一分(具体)”式、“总一一分一一总”式、“分一—总”式、并列式、递进式等。 十九、说明顺序: 1、时间顺序: 2、空间顺序: 3、逻辑顺序:(先总后分、由主到次、由表及里、由简到繁、由此及彼、从特殊到一般、由现象到本质等)。 十六、说明方法:举例子、列数字、打比方、作比较、引用,下定义、分类别、作诠释、摹状貌、 二十、议论文三要素:论点、论据、论证二十一、论据分类为:事实论据、道理论据二十二、论证方法:举例(或事实)论证、道理论证(有时也叫引用论证)、对比(或正反对比)论证、比喻论证二十三、论证方式:立论、驳论(可反驳论点、论据、论证) 二十四、议论文的文章的结构:总分总、总分、分总;分的部分常常有并列式、递进式。中考语文现代文阅读各种文体答题技巧 中考记叙文阅读常见的考点:一、理解文章重要词语的含义。二、理解文中重要句子的含意。三、理解文中重要句段作用。四、筛选并整合文中的信息。五、分析文章结构,把握文章思路。六、归纳内容要点,概括中心意思。七、鉴赏文学作品形象、语言、表达技巧。八、评价文章的思想内容和作者的观点态度。九、体验作品的形象和情境,拓展作品的主旨 和内涵。 中考记叙文阅读答题技巧 1语句在表情达意方面的作用: 渲染气氛、烘托人物的形象(或人物感情)、点明文章中心(揭示主旨)、突出主题(深化中心) 2、布局谋篇的技巧:开门见山、首尾呼应、卒章显志、伏笔照应、层层深入、过度铺垫、设置线索;结构严密,完整匀称;烘托铺垫,前后照应;设置悬念,制造波澜,起承转合,曲折有致。材料和中心的关系的处理,主次详略是否得当;材料是否典型、真实、新颖、有力。 3、环境描写作用: ⑴自然环境描写作用。[景物描写的作用] ①交代故事发生的时间、地点。②渲染……气氛。③烘托人物……心情,表现人物…… 性

fortran常见错误

FAQ之常见错误 2014-02-02 13:45:35 来源:Fcode研讨团队评论:2点击:4419 本文从编译错误,链接错误,运行时错误,计算结果错误等四个方面介绍了常见的错误及解决思路。适合初学者阅读。 首先应该明确:错误有哪几种?我们当前遇到的是何种错误? 阐述这些问题前,我们先讨论一下常规的应用程序开发的过程: 1>>编写代码,使用一个或多个源代码文件。 2>>对第一步的每一个源代码文件执行编译操作。得到一个或若干个目标代码。 3>>将目标代码,运行时库(Run-time Library)和其他使用到的函数库链接起来。得到一个可执行文件(EXE 或其他) 4>>编写程序的说明书,必要的(输入)数据文件 5>>将上述得到的结果发布给用户。(发布的方式可以是刻录成光盘,销售,放在网站上供别人下载,或者其他) 6>>用户得到程序后,运行,输入数据,得到计算结果。 对于很多 Fortran 程序员来说,可能用户就是自己,也可能仅仅是自己教研室的同事同学。所以第4,5,6步骤很多时候不明显。而如果使用集成开发环境(IDE)进行开发,第1,2,3步骤又可以一键完成。因此,很多初学者就认为,写程序就是:输入代码,运行,得到结果。这样的理解太狭义。 不管我们面对什么使用者来写代码,程序开发应该是上述的过程。我们的编译器,编译环境,也是为这个过程而设计的。 于是,我们将错误分为四种: 一. 编译错误(发生在第2步) 编译错误,一般是源代码书写格式不正确,不符合语法要求。 二. 链接错误(发生在第3步) 链接错误,一般是源代码结构不完整,运行时库或函数库使用不合理。 三. 运行时错误(发生在第6步) 运行时错误,一般是执行代码时,遇到了事先未料及的错误。比如内存不足了,磁盘空间不够了,输入文件格式不对了,输出文件写入失败了等等。 四. 计算结果不符合预期(程序代码不规范,或不符合你的设想) 计算结果不符合预期,可能性就很多了。语法与你的想法不一致,超出函数库的适用范围,执行流程控制不当等等。 这四种错误,其排查难度依次增大。也就是,编译错误最容易排查和修改,而计算结果不正确,最让人头疼。

现代文阅读知识点

现代文阅读知识点 1.景物描写的作用:渲染气氛;烘托人物心情;推动情节发展;表现人物的品质;衬托中心意思 2.运用描写方法的作用:表现人物性格;反映作品主题 3.运用比喻拟人等修辞的作用:运用了的修辞,生动形象地写出了 4.运用排比的作用:增强语言启示,生动形象地写出了 5.反问句的作用:加强语气;引起下文;承上启下 6.设问句的作用:引起读者的注意和思考;引出下文;承上启下 7.题目的作用:概括内容;揭示主题;提示线索; 8.记叙文第一段的作用: 1)环境描写:点明故事发生的地点,环境;引出下文;为下文情节发展作铺垫; 2)其他:开篇点题;奠定全文的感情基调;总领全文或引起下文;为下文情节发展作铺垫; 9.中间句段的作用:承上启下的过度作用 10.结尾议论性句子的作用:总结全文;照应开头;点明中心;深化主题 11.记叙顺序:顺叙、倒叙、插叙 12.写作人称的好处:第一人称,真实可信;第二人称,亲切自然;第三人称,可以多角度描写,不受时间和空间的限制 13.记叙线索的形式:实物;人物;思想感情变化;时间;地点变换;中心事件 14.找线索的方法:标题;反复出现的某个词语或某个事物;抒情议论句 15.赏析句段从三方面考虑:内容(写了什么,选材有什么独特之处);形式(写作方法,语言特色,修辞);感情(文章的社会价值,意义,作用等) 初中语文基础知识点归纳 第一部分 二种常见叙事线索:物线、情线。 二种语言类型:口语、书面语。 二种论证方式:立论、驳论。 二种说明语言:平实、生动。二种说明文类型:事理说明文、事物说明文。 二种环境描写:自然环境描写--烘托人物心情,渲染气氛。 社会环境描写--交代时代背景。 二种论据形式:事实论据、道理论据。 第二部分 三种人称:第一人称、第二人称、第三人称。 三种感情色彩:褒义、贬义、中性。 小说三要素:人物(根据能否表现小说主题思想确定主要人物)情节(开端/发展/高潮/结局)环境(自然环境/ 社会环境。) 人物主要掌握通过适当的描写方法、角度刻画人物形象,反映人物思想性格的阅读技巧。 情节主要了解各部分的基本内容及理解、分析小说情节的方法、技巧。 开端交代背景,铺垫下文。例:《孔乙己》开端部分叙写咸亨酒店的格局和两种不同 身份、地位的酒客(短衣帮、长衫主顾)来往的情景,交代了当时贫富悬殊、阶级对立的社会背景,为下文孔乙己这一特殊的人物的出场作下铺垫。 发展刻画人物,反映性格。例:《孔乙己》发展部分叙写孔乙己第一次到咸亨酒店喝酒遭人耻笑的情景,通过刻画孔乙己的肖像、神态、动作、语言等,揭示其贫困潦倒、自欺欺人、迂腐可笑、死要面子、好逸恶劳的思想性格。 高潮表现冲突,揭示主题。例:《孔乙己》高潮部分叙写孔乙己最后一次到咸亨酒店喝酒遭人耻笑的情景,通过侧面反映丁举人的横行霸道、心横手辣和正面描写孔乙己的身残气微,表现其悲惨遭遇,从而深刻的揭露了封建科举制度的罪恶。 结局深化主题,留下思考。例:《孔乙己》结局部分以“大约”、“确实”这样一组意味深长的词句,不仅为孔乙己的悲惨命运增添了悲剧意味,还给读者留下了无穷的思考。 环境主要理解自然环境和社会环境的作用。 自然环境描写自然景观,渲染气氛、衬托情感、预示人物命运、揭示社会本质、推动情节发展。 例1:《孔乙己》高潮部分通过描写秋天悲凉的景象,渲染了凄凉的气氛,预示着孔乙己即将死亡的悲惨结局。 例2:《在烈日和暴雨下》全文极力描写烈日、狂风暴雨,不仅步步亦趋地推动着情节发展,还表现了拉车人牛马不如的悲惨命运,更深刻地揭示了当时社会的炎凉。

Fortran常见错误

fortran运行常用错误(转) (2006-11-1010:18:44) 转载▼ 分类:分子动力学 41Insufficient virtual memory虚拟内存不足 70Integer overflow整数溢出错误 71Integer divide by zero整数除0错误 72Floating overflow浮点数溢出错误 73Floating divide by zero浮点数除0错误 74Floating underflow浮点数下溢错误 75Floating point exception浮点数异常错误 77Subscript out of range数组定义超出边界 95Floating-point conversion failed浮点数格式转换失败 146Null pointer error空指针错误 147Stack overflow堆栈溢出 148String length error字符串长度超出允许范围 149Substring error数组下标超出允许范围 150Range error整数值超出允许范围 151Allocatable array is already allocated数组重复定义 161Program Exception-array bounds exceeded引用数组下标超出允许范围162Program Exception-denormal floating-point operand非法浮点数操作符163Program Exception-floating stack check浮点数堆栈检查 164Program Exception-integer divide by zero整数除0错误 165Program Exception-integer overflow整数溢出 166Program Exception-privileged instruction非法执行特权指令 168Program Exception-illegal instruction非法指令 170Program Exception-stack overflow堆栈溢出

现代文阅读能力训练方案一基础知识辨识

现代文阅读能力训练方案一:基础辨识能力 学生姓名:时间:年月日【常见考点】 基础辨识能力指的是在现代文阅读中对各文体基础知识的识别能力。具体来说,指能辨识各种文体,能判别各文体的组成要素,能分辨各文体中的表达方式,能指出各文体的结构或顺序,能判断文中的各种修辞手法,等等。 在中考阅读题中,考查“基础辨识能力”的考点主要有: 1.指出记叙文中记叙的人称、顺序、线索和要素等。 2.辨识说明文的说明对象、说明顺序和说明方法等。 3.判别议论文的论点、论据和论证方法。 4.分辨小说的主要人物、情节和环境等。 5.识别特殊体裁(如新闻)的结构。 6.辨别文中的记叙、说明、议论、描写、抒情等表达方式。 7.判断文中的各种修辞手法。 【答题点拨】 解答基础辨识题首先要夯实基础,熟练掌握各种文体的基本知识,然后在阅读训练中掌握答题的技巧。 比如,辨识说明文的说明顺序就是一个难点,我们可以总结出一些规律: 1.看说明的内容。一般来说,说明事物的形态、结构,多用空间顺序;说明事物的发展变化多用时间顺序;其他则多用逻辑顺序。 2.看说明的对象。说明某事物多用时间、空间顺序,说明事理则多用逻辑顺序。 3.看标志词、过渡词。如果文段有表时间、空间的词语,则多为时间、空间顺序;如果文段有“为什么、首先、所以”等推理性的词语,则多为逻辑顺序。辨识议论文的论点是议论文阅读的关键,答题时先要看文题,以得到启发和指引;再看文段,确定提出观点的段落;最后抓住概括性的句子即可。小说的阅读重点是对主要人物的辨识,判断的依据不应该是描写人物的笔墨有多少,而应该看小说的主题、作者的意图靠谁来表达。 【单项训练】 (一)海底“黑烟囱” ①1979年,美国的“阿尔文”号载人深潜器在东太平洋海底熔岩上,发现的350摄氏度的含矿热液以每秒几米的速度喷出。矿液刚喷出时为澄清溶液,与周围海水混合后,很快产生沉淀变为“黑烟”,形成

Fortran 运行中给出的系统错误及解决方法

. Fortran 运行中给出的系统错误及解决方法 以下均为linker tools errors and warnings Linker Tools Error LNK1000 unknown error; consult documentation for technical support options Note the circumstances of the error, try to isolate the problem and create a reproducible test case, then contact technical support. Linker Tools Error LNK1101 incorrect MSPDBxx.DLL version; recheck installation of this product The version of MSPDBxx.DLL available on your system does not match the version required by this tool. Linker Tools Error LNK1102 out of memory There was not enough memory for the tool to run. Probably the paging file exceeded available disk space. If a shortage of disk space is not the cause, note the circumstances of the error, try to isolate the problem and create a reproducible test case, then request technical support. Linker Tools Error LNK1103 debugging information corrupt; recompile module Probably the compilation was terminated before a valid object file was created.Recompile the given object file. If recompiling does not correct the problem,note the circumstances of the error, try to isolate the problem and create a reproducible test case, then consult technical support. Linker Tools Error LNK1104 cannot open file "filename" The tool could not open the given file. One of the following may be a cause: l There was not enough disk space. l The file does not exist. l The filename or its path was incorrectly specified. l The specified drive is invalid. l The file does not have the appropriate permissions. l The path for filename expands to more than 260 characters. l If the given file is named LNKn, which is a filename generated by the linker for a temporary file, then the directory specified in the TMP environment variable may not exist, or more than one directory is specified for the TMP environment variable. (Only one directory path should be specified for the TMP environment variable.) l If the error occurs on the executable filename, an earlier version of the executable may still be running. You will need to terminate the executable before linking it. In Windows NT (including Windows 2000) or Windows 95,you can use the utility PVIEW to look for and kill instances of the application. l If the error message occurs for a library name, and you recently ported the .MAK file from a previous Microsoft Visual C++ development

Visual Fortran常见错误内容

Visual Fortran 常见运行错误信息 41 Insufficient virtual memory 虚拟内存不足 70 Integer overflow 整数溢出错误 71 Integer divide by zero 整数除0错误 72 Floating overflow 浮点数溢出错误 73 Floating divide by zero 浮点数除0错误 74 Floating underflow 浮点数下溢错误 75 Floating point exception 浮点数异常错误 77 Subscript out of range 数组定义超出边界 95 Floating-point conversion failed 浮点数格式转换失败 146 Null pointer error 空指针错误 147 Stack overflow 堆栈溢出 148 String length error 字符串长度超出允许范围 149 Substring error 数组下标超出允许范围 150 Range error 整数值超出允许范围 151 Allocatable array is already allocated 数组重复定义 161 Program Exception - array bounds exceeded 引用数组下标超出允许范围 162 Program Exception - denormal floating-point operand 非法浮点数操作符 163 Program Exception - floating stack check 浮点数堆栈检查 164 Program Exception - integer divide by zero 整数除0错误 165 Program Exception - integer overflow 整数溢出 166 Program Exception - privileged instruction 非法执行特权指令 168 Program Exception - illegal instruction 非法指令 170 Program Exception - stack overflow 堆栈溢出 540 Array or substring subscript expression out of range 数组下标低下数组定义 下界或高于数组定义上界 541 CHARACTER substring expression out of range 字符串非法表示 542 Label not found in assigned GOTO list 不属于GOTO语句引用的标号 543 INTEGER arithmetic overflow 整数运算结果出现溢出 544 INTEGER overflow on input 输入的整数值超出允许范围 545 Invalid INTEGER 非法整数值 546 REAL indefinite (uninitialized or previous error) 产生非法实数 547 Invalid REAL 非法实数 548 REAL math overflow 实数值溢出 549 No matching CASE found for SELECT CASE select case语句中缺少case项 550 INTEGER assignment overflow 整数定义超出允许范围 556 A edit descriptor expected for CHARACTER 字符型数据的格式化输入和输出需要A编辑符 557 E, F, D, or G edit descriptor expected for REAL 实数型数据的格式化输入和输 出需要E,F,D,G编辑符 558 I edit descriptor expected for INTEGER 整数型数据的格式化输入和输出需要I编辑符 559 L edit descriptor expected for LOGICAL 逻辑型数据的格式化输入和输出需要L编辑符 568 Multiple radix specifiers 输入或输出语句重复说明 582 Array already allocated 数组已分配 583 Array size zero or negative 数组大小为0或负数

现代文阅读基础知识及答题格式归类

现代文阅读基础知识及答题格式归类(一) 一、表达方式:记叙、描写、抒情、说明、议论 二、表现手法:象征、对比、烘托、设置悬念、前后呼应、欲扬先抑、托物言志、借物抒情、联想、想象、衬托(正衬、反衬) 三、修辞手法:比喻、拟人、夸张、排比、对偶、引用、设问、反问、反复、互文、对比、借代、反语 四、记叙文六要素:时间、地点、人物、事情的起因、经过、结果 五、记叙顺序:顺叙、倒叙、插叙 六、描写角度:正面描写、侧面描写 七、描写人物的方法:语言、动作、神态、心理、外貌 八、描写景物的角度:视觉、听觉、味觉、触觉 九、描写景物的方法:动静结合(以动写静)、概括与具体相结合、由远到近(或由近到远) 十、描写(或抒情)方式:正面(又叫直接)、反面(又叫间接) 十一、叙述方式:概括叙述、细节描写 十二、说明顺序:时间顺序、空间顺序、逻辑顺序 十三、说明方法:举例子、列数字、打比方、作比较、下定义、分类别、作诠释、摹状貌、引用 十四、小说情节四部分:开端、发展、高潮、结局 十五、小说三要素:人物形象、故事情节、具体环境 十六、环境描写分为:自然环境、社会环境 十七、议论文三要素:论点、论据、论证 十八、论据分类为:事实论据、道理论据 十九、论证方法:举例(或事实)论证、道理论证(有时也叫引用论证)、对比(或正反对比)论证、比喻论证 二十、论证方式:立论、驳论(可反驳论点、论据、论证) 二十一、议论文的文章的结构:总分总、总分、分总;分的部分常常有并列式、递进式 二十二、引号的作用:引用;强调;特定称谓;否定、讽刺、反语 二十三、破折号用法:提示、注释、总结、递进、话题转换、插说。 二十四、其他: (一)某句话在文中的作用: 1、文首:开篇点题;渲染气氛(记叙文、小说),埋下伏笔(记叙文、小说),设置悬念(小说),为下文作辅垫;总领下文; 2、文中:承上启下;总领下文;总结上文; 3、文末:点明中心(记叙文、小说);深化主题(记叙文、小说);照应开头(议论文、记叙文、小说) (二)修辞手法的作用: (1)它本身的作用;(2)结合句子语境。 1、比喻、拟人:生动形象; 答题格式:生动形象地写出了+对象+特性。 2、排比:有气势、加强语气、一气呵成等; 答题格式:强调了+对象+特性 3、设问:引起读者注意和思考; 答题格式:引起读者对+对象+特性的注意和思考 反问:强调,加强语气等; 4、对比:强调了……突出了…… 5、反复:强调了……加强语气 (三)句子含义的解答: 这样的题目,句子中往往有一个词语或短语用了比喻、对比、借代、象征等表现方法。答题时,把它们所指的对象揭示出来,再疏通句子,就可以了。

FORTRAN常见错误

FORTRAN常见错误 41 Insufficient virtual memory 虚拟内存不足 70 Integer overflow 整数溢出错误 71 Integer divide by zero 整数除0错误 72 Floating overflow 浮点数溢出错误 73 Floating divide by zero 浮点数除0错误 74 Floating underflow 浮点数下溢错误 75 Floating point exception 浮点数异常错误 77 Subscript out of range 数组定义超出边界 95 Floating-point conversion failed 浮点数格式转换失败 146 Null pointer error 空指针错误 147 Stack overflow 堆栈溢出 148 String length error 字符串长度超出允许范围 149 Substring error 数组下标超出允许范围 150 Range error 整数值超出允许范围 151 Allocatable array is already allocated 数组重复定义 161 Program Exception - array bounds exceeded 引用数组下标超出允许范围 162 Program Exception - denormal floating-point operand 非法浮点数操作符 163 Program Exception - floating stack check 浮点数堆栈检查 164 Program Exception - integer divide by zero 整数除0错误 165 Program Exception - integer overflow 整数溢出 166 Program Exception - privileged instruction 非法执行特权指令 168 Program Exception - illegal instruction 非法指令 170 Program Exception - stack overflow 堆栈溢出 540 Array or substring subscript expression out of range 数组下标低下数组定义 下界或高于数组定义上界 541 CHARACTER substring expression out of range 字符串非法表示 542 Label not found in assigned GOTO list 不属于GOTO语句引用的标号 543 INTEGER arithmetic overflow 整数运算结果出现溢出 544 INTEGER overflow on input 输入的整数值超出允许范围 545 Invalid INTEGER 非法整数值 546 REAL indefinite (uninitialized or previous error) 产生非法实数 547 Invalid REAL 非法实数 548 REAL math overflow 实数值溢出 549 No matching CASE found for SELECT CASE select case语句中缺少case项550 INTEGER assignment overflow 整数定义超出允许范围 556 A edit descriptor expected for CHARACTER 字符型数据的格式化输入和输出需要A编辑符 557 E, F, D, or G edit descriptor expected for REAL 实数型数据的格式化输入和输 出需要E,F,D,G编辑符 558 I edit descriptor expected for INTEGER 整数型数据的格式化输入和输出需要I编

最新现代文阅读基础知识点

说明文的阅读 1、种类(两类):、。 2、说明方法(10种):、、、、、、、、、。 3、说明顺序(三种):、、。 4、逻辑顺序(7种):、、、、、、、。 5、说明语言(大前提二方式):;、。 记叙文的阅读 1、记叙的六要素:、、、、、。 2、记叙顺序(三种):、、。 3、常用的表达方式(5种):、、、、。 4、常用的修辞方法(8种):、、、、、、、。 5、人物描写方法(5种):、、、、。 6、描写角度(2种):、; 感觉角度(5种):、、、、。 7、景物描写的作用(6

点):、、、 、、。 8、常用的表现手法(10种):、、、、、、、、、。 9、小说的三要素:、、。 10、故事情节的四部分:、、、。 11、某句话在文中的作用: 文首:、、、、、。 文中:、、。 文末:、、、。 议论文的阅读 1、三要素、、。 2、什么叫论点及其要求。 3、什么叫论据及其形式。 4、什么叫论证。

5、常用的论证方法(4种)、、、。 6、最基本的结构(两种)、。 7、语言的特点、、。 说明文的阅读 1、种类(两类):事物性说明文和事理性说明文。 2、说明方法(10种):举例子、列数字、打比方、作比较、下定义、分类别、作诠释、摹状貌、作引用、配图表。 3、说明顺序(三种):时间顺序、空间顺序、逻辑顺序。 4、逻辑顺序(7种):原因和结果、概括和具体、主要和次要、整体和局部、现象和本质、一般和特殊、具体和抽象等。 5、说明语言(大前提二方式):准确;平实、生动。 记叙文的阅读 1、记叙的六要素:时间、地点、人物、事件的起因、经过、结果。 2、记叙顺序(三种):顺叙、倒叙、插叙。 3、常用的表达方式(5种):记叙、描写、抒情、说明、议论。 4、常用的修辞方法(8种):比喻、拟人、夸张、排比、对偶、反复、设问、反问。 5、人物描写方法(5种):语言描写、动作描写、神态描写、心理描写、外貌描写。

fortran 排除错误

安装好VISUAL FORTRAN后 1、运行Developer studio即可开始编译FORTRAN程序 2、选择File菜单中的New选项 3、在弹出的对话框选择projects标签,其他标签不用管,projects格式选用Fortran console application;在project name里命名(最好英文名),点击“ok ” 4、接下来画面中,选择“an empty project”,点击“finish” 5、接下来画面点击“ok” 6、再选择一次File菜单中的new 7、对话框选用files标签,选择Fortran free format source file ,并在file里命名 8、点击“ok” Source Files 放源文件(.c、.cpp)程序的实现代码全放在这里 Header Files 放头文件(.h)声明放在这里 Resource Files 资源文件(.rc)放图标、图片、菜单、文字之类的,主要用来做界面的东东一般都放这里 External Dependencies 除上三种以外的,程序编译时用到的文件全放这里 fortran内部函数出错信息解释 内部函数出错信息解释 [sourcefile(line)]run-time error M62××MATH 错误号函数级数学错误信息 M6201 functionnames:DOMAIN error 函数的自变量超出了约定的取值域,例如sqrt(-1) M6202 functionname:SING error 无意义的变量。例如log10(0) M6203 functionname:OVERFLOW error 函数的结果值或其中一个既时计算值太大以致不能表示,例如EXP(250000.0) M6204 functionname:UNDERFLOW error 函数的结果值或其中一个既时计算值太小以致不能表示。 M6205 functionname:TLOSS error 完全丢失精度,例如COS(1E30) M6206 functionname:PLOSS error fortran debug模式设置和技巧 CVF中有两种编译(连接、执行)模式:release模式和debug模式。调试程序时,宜用debug 模式;调好后再用release模式,得到高效的执行程序。设定debug模式:点击菜单 Build/Set Active Project Configuration,选*- Win32 Debug,OK,即设定为debug模式。以debug模式执行:点击“Go (F5)”按钮,或直接按F5键,则执行程序,并在第 一个出错语句处停止,在该语句前有一个小黄色箭头。若程序没错,则一直执行完毕,自动关闭dos窗口。此时,宜用“!”按钮或“Ctrl+F5”键,执行完成后,dos窗口等