程序游戏内存不能为read

游戏内存不能为read  时间:2021-01-19  阅读:()

Fortran95简介-全文版By陈鲸太FORTRAN的演进FORTRAN的起源,要追溯到1954年IBM公司的一项计划.
由JOHNBACKUS领导的一个小组,尝试着在IBM704计算机上面发展一套程序,它可以把使用接近数学语言的文字,翻译成机械语言.
这个计划在刚开始并不被大家看好,但他们在1957年交出了成果,也就是第一套FORTRAN编译器,FORTRAN语言也就因此诞生了.
FORTRAN语言的执行效率普遍的令各界满意,它证明了这项计划的可行性,也成为第一个被广泛使用的高级语言.
FORTRAN的名字来自于英文的FORMULATRANSLATOR这两个字,而这两个字恰是数学公式翻译器的意思.
旧版的FORTRAN77是在1978年由美国国家标准局(ANSI)所正式公布的,之后改版有1992年提出的FORTRAN90以及1997年的FORTRAN95,本文是为了FORTRAN95所撰写.
编译器简介1、VISUALFORTRANVISUALFORTRAN一开始是起源于MICROSOFT的FORTRANPOWERSTATION4.
0,这套工具后来卖给DIGITAL公司来继续发展,下一个版本称为DIGITALVISUALFORTRAN5.
0,DIGITAL后来被COMPAQ合并,所以接下来的6.
0及6.
5版就称为COMPAQVISUALFORTRAN.
而COMPAQ目前又跟HP合并,也许下一个版本会称为HPVISUALFORTRAN.
VISUALFORTRAN被整合在一个叫作MICROSOFTVISUALSTUDIO的图形接口开发环境中,VISUALSTUDIO提供一个统一的使用接口,这个接口包括文书编辑功能,PROJECT的管理、除错工具等等,所以在使用上其实跟上学期的VISUALC++满类似的,同学们上课用过VISUALC++,对VISUALFORTRAN应该不会陌生.
VISUALFORTRAN6.
5除了完全支持FORTRAN95的语法外,扩充功能方面提供完整的WINDOWS程序开发工具,专业版还内含IMSL数值链接库.
另外它还可以和VISUALC++直接互相连结使用,也就是把FORTRAN和C语言的程序代码混合编译成同一执行档案.
2、在工作站使用FORTRAN学校计中工作站也提供FORTRANCOMPILER,使用方式很简单,只需要在存放FORTRAN档案的目录下面输入下面叙述即可:ccsun33[u8623033/fortran]%f77filename.
for这个指令使用f77的compiler,其中filename.
for就是我们所编写的FORTRAN程序档案ccsun33[u8623033/fortran]%f90filename.
for这个指令使用f90的compiler而指令按下enter键之后,会把结果COMPILE到a.
out这个档案里面,我们想要执行这个程序,只要在命令提示字符后打a.
out就可以看到执行结果:ccsun33[u8623033/fortran]%a.
out如果在compile的过程中想要把执行档改成别的档名,不要每次都变成a.
out,那我们可以输入下列指令ccsun33[u8623033/fortran]%f77filename1.
for–ofilename2或者ccsun33[u8623033/fortran]%f90filename1.
for–ofilename2则filename2会变成我们的执行档名字在COMPILEFORTRAN的时候,我们必需登入学校计中ccsun26~ccsun35的机器才可以使用(学校规定),并且因为软件总数只有两套,同时间只有两个人能可compile.
FORTRAN基本事项字符集字符集是指使用FORTRAN的时候,所能使用的所有字符有符号.
FORTRAN所能使用的字符集有1、英文26个字母:大小写不分2、数字:0到93、22个特殊符号:有冒号、等号、加号、减号、惊叹号…等等书面格式FORTRAN程序代码的写作格式有两种,FREEFORMAT(自由格式)以及FIXEDFORMAT(固定格式).
简单来说,FIXEDFORMAT是属于旧式的写法,它在写作版面上有很多限制.
FREEFORMAT是FORTRAN90之后的新写法,取消了许多旧的限制.
FORTRAN程序代码附加档名为*.
F或*.
FOR的档案,就是指以FIXEDFORMAT来写作的程序,若以*.
F90为附加档名的档案,就是以FREEFORMAT来写作的程序.
建议现在都应该改用FREEFORMAT来写作程序.
FIXEDFORMAT固定格式之中,规定了程序代码每一行中每个字符字段的意义.
如下表所示:第1个字符如果是字母c,C或*(星号),表示此行是批注第1-5个字符如果这边是数字,表示这一行的代号,否则应为空白第6个字符如果是0以外的字符,表示这一行程序会接续上一行第7-72个字符FORTRAN程序代码的写作区域第73个字符之后不使用,超过部份会被忽略,有的编译器会有错误讯息FIXEDFORMAT是为了配合早期需要使用打洞卡来输入程序才发明出来的格式.
现在都应该要使用FREEFORMAT来写作程序.
早期的计算机,还没有使用显示器作为输出装置,不能像现在一样直接利用键盘来修改程序.
早期的程序是利用打洞卡片一张一张的记录下来,再拿给计算机执行.
有着打洞卡的淘汰,FIXEDFORMAT也没有必要再继续使用下去.
不过同学们还是可以大概了解一下,因为仍有些旧程序是用这种格式来写作.
FREEFORMATFREEFORMAT基本上允许非常自由的写作格式,它没有再去规定每一行的第几个字符有什么作用.
需要注意的事项只有下面几点:1、惊叹号「!
」后面的文字都是批注.
2、每行可以写作132个字符.
(注意!
并不是无限长)3、行号放在每行程序的最前面.
4、一行程序代码的最后如果是符号&,代表下一行程序会和这一行连接.

例子:sample1.
f90!
FreeFormatprogrammainwrite(*,*)"hello"!
打印出hello这个字write(*,*)&"hello"wri&te(*,*)"hello"end输出、输入及宣告输出基本范例输出使用write指令,如下例sample2.
f90programmainwrite(*,*)"hello"stopendFORTRAN程序通常以PROGRAM叙述来开头,PROGRAM后面还要接一个自订的程序名称.
这个名称可以完全自订,不需要和档名有任何的关系,这个名字表示「主程序」的名字.
我在这里取名为MAIN,这个名字可以看个人喜好修改.
FORTRAN程序最后还要有END这个叙述,表示程序代码写到这一行结束.
WRITE指令就是作为输出用,WRITE(*,*)之中两个星号各有各自的意义,前面的星号表示输出的位置使用内定值,也就是屏幕,后面的星号表示不特别设定输出格式.
另外,下面三种输出格式其实会得到一样的结果:WRITE(*,*)"HELLO"WRITE(6,*)"HELLO"WRITE(UNIT=6,FMT=*)"HELLO"关于WRITE还有几点要注意1、每一次执行write指令之后,会自动换到下一行来准备做下一次的输出.
2、因为双引号是用来包装字符串用的,所以想要印出双引号的时候,要连用两个双引号.
例:想要印出MYNAMEIS"CASTER".
就要下达WRITE(*,*)"MYNAMEIS""CASTER"".
"这个叙述3、FORTRAN90可以使用双引号或单引号来包装字符串,FORTRAN77标准中只能使用单引号,不过大部份的FORTRAN77还是可以接受双引号.
范例中还有另一个指令STOP,STOP是终止程序的意思,它可以出现在程序的任何地方,程序执行到这个指令就会中止.
除非必要,不要把STOP指令使用在主程序结束之外的其它地方.
因为一个程序如果有太多的终止点会容易出错.

STOP指令在这个地方可以省略,因为主程序的程序代码执行完毕后,程序会自动终止.
加上这个指令只是为了更明确表示程序到此结束而已.
END是用来包装程序代码使用的,说明程序代码已经写作完毕.
FORTRAN90标准中,可以使用下面三种方法来表示程序代码写作结束,FORTRAN77只能使用第一种方法.
ENDENDPROGRAMENDPROGRAMMAIN!
MAIN是主程序的名字PRINT指令用法大致上和WRITE相同,只是专门针对屏幕作输出,因此少了指定输出的能力,它也具有限定输出格式的功能,其语法如下:PRINT*,"输出字符串"宣告1、整数整数的宣告法很简单,如下:integera!
宣告a为一个整数,内定范围为2^32~-2^322、浮点数reala!
宣告a为一个浮点数,默认值为单精度浮点数real*4a!
宣告a为一个单精度浮点数,大小为4bytereal*8a!
宣告a为一个双精确度浮点数,大小为8byte单精度可记录的数值最大为3.
4*10^38,最小为-3.
4*10^383、复数FORTRAN是少数有提供复数型态的程序语言,宣告方法如下complexa设定复数的方法如下:a=(x,y)!
x为实部,y为虚部例如我们设a=(3,8)就表示a是3+8i范例:sample3.
f90programmaincomplexa,ba=(1.
0,1.
0)b=(3.
0,4.
3)write(*,*)"a+b=",a+bwrite(*,*)"a-b=",a-bwrite(*,*)"a*b=",a*bwrite(*,*)"a/b=",a/bstopend则执行结果如下a+b=(4.
0,5.
3)a-b=(-2.
0,-3.
3000001)a*b=(-1.
3000002,7.
3)a/b=(0.
2655511,-0.
047289926)4、字符及字符串宣告一个字符的方法如下CHARACTERa宣告字符串的方法如下CHARACTER(10)A!
宣告A这个字符串的最大长度为10另外使用下面几种宣告语法也是相同的结果CHARACTER*10CHARACTER(LEN=10)CHARACTER*(10)宣告好之后,我们要给予这个变量一个初始值的方法如下:A="字符串内容"!
双引号在FORTRAN90适用A='字符串内容'!
单引号在部份FORTRAN77及所有FORTRAN90都适用输入指令输入指令的基本语法如下:INTEGERAREAD(*,*)A!
读入一个整数,并存到A内READ(5,*)A!
同上READ(UNIT=5,FMT=*)A!
同上第一个星号表示输入的来源使用内定的装置,第二颗星号来源表示不指定输出格式.
键盘的输入位置是5,也就是预设位置,所以可以用星号代替键盘代码.
格式化输出格式化输出入的控制字符非常丰富,但是常用的并不多,在这里我们只示范几个比较常用的部份.
A.
关于IWRITE(*,"(I5)")100!
用5个字符的字段来输出一个整数OUTPUT:__100WRITE(*,"(I3)")100000OUTPUT:***输出10000需要5个字段,但是输出格式只给三个字的字段,因此印出三颗星号作为警告WRITE(*,"(I5.
4)")3!
输出五个字符字段,至少输出4位,不足补0OUTPUT:_0003B.
关于FWRITE(*,"(F9.
3)")123.
45!
输出9个字符字段,包括小数部份3个位数OUTPUT:__123.
450C.
关于EWRITE(*,"(E15.
7)")123.
45!
用科学计号表示法,输出15个字符字段,小数部份占7位OUTPUT:__0.
1234500E+03D.
关于AWRITE(*,"(A10)")"HELLO"!
用10个字符宽度输出字符串OUTPUT:HELLOWRITE(*,"(A3)")"HELLO"OUTPUT:HELE.
关于BWRITE(*,"(B6.
5)")3!
把3变成二进制输出,字6个字符宽,至少输出5位OUTPUT:_00011F.
关于XWRITE(*,"(3X)")20!
输出前先填3个空格符OUTPUT:___20变量名称的取名原则变量名称的长度限制随着各家编译器而有所不同.
FORTRAN77规定至少要支持到6个字符,FORTRAN90则规定最少要支持到31个字符.
变量的名字最好是取成一个有意义的英文单字,这样可以减少程序写作时出错的机会.
IMPLICIT指令FORTRAN标准中有一项不太好的功能,它的变量并不一定要经过宣告之后才能使用,编译器会依变量名称的第一个字母来自动决定这个变量的型态.

第1个字母若为I,J,K,L,M,N的变量会被视为整数型态,其它的变量则会被当成浮点数来使用.
来看下面范例:SAMPLE4.
f90PROGRAMMAINI=11+22WRITE(*,*)"11+22=",JSTOPEND程序执行结果会得到11+22=0这个结果当然是错误的,错误是出在程序的第3行,原本应该是要输出变量I,却不小心打成J,而J仍未设定任何数值,所以会输出0来.
打错字是写程序的过程当中最容易发生的错误,这一类的错误通常很难查觉出来,尤其是在写作大程序的时候.
所以建议在FORTRAN程序中,开始作宣告之前,都加入下面这个叙述:IMPLICITNONE加入这个叙述之后,会把内定型态的功能关闭,因此这个范例程序若加入这一行,那么在COMPILE的过程中就会发生错误,我们必需事先宣告所有会使用的变量才可以.
IMPLICIT指令要马上接在PROGRAM指令的下一行,不能把它放在其它位置.
常数的宣告常数的宣告有下列两种方式A.
REALPIPARAMETER(PI=3.
14159)这个方式先宣告PI是一个浮点数,再宣告它是一个常数,也就是我们所说的圆周率B.
REAL,PARAMETER::PI=3.
14159这个方式同时宣告PI为浮点数及常数程序结构FORTRAN的程序结构应该如下PROGRAMxxxxIMPLICITNONEINTEGERINT1,INT2宣告区REALREAL1,REAL2READ(*,*)INT1,INT2程序主体WRITE(*,*)INT1+INT2STOPEND其中宣告区不可与程序主体交错.
FLOWCONTROLIF…THEN…ELSE基本语法如下IF(逻辑判断式)THEN执行动作1ELSE执行动作2ENDIFSAMPLE5.
f90PROGRAMMAINIMPLICITNONEREALHIEGHTREALWEIGHTREAD(*,*)HEIGHTREAD(*,*)WEIGHTIF(WEIGHT>HEIGHT-100)THENWRITE(*,*)"TOOFAT!
"ELSEWRITE(*,*)"UNDERCONTROL"ENDIFSTOPEND逻辑表达式FORTRAN90的逻辑运算符号共有下列几种:==相等/=不相等>大于>=大于等于<小于<=小于等于.
AND.
如果两边式子都成立,整个条件就成立.
OR.
两边的式子只要有一个成立,整个条件就成立.
NOT.
如果后面的式子不成立,整个式子就算成立.
EQV.
两边式子的逻辑运算结果相同时,整个式子就成立.
NEQV.
两边式子的逻辑运算结果不同时,整个式子就成立FORTRAN77要用缩写来作判断,不能使用逻辑符号.
EQ.
等于.
NE.
不等于.
GT.
大于.
GE.
大于等于.
LT.
小于.
LE.
小于等于DO循环DO循环基本语法如下:DO起始值,终止值,累加值执行程序代码ENDDO举例如下:DOI=10,5,-1WRITE(*,*)IENDDO在这个程序中,我们设定初始值是I这个变量为10,然后每次减1,一直到I=5为止,因此程序会印出:1098765DOWHILE…DOWHILE的基本语法如下:DOWHILE(逻辑运算)程序代码ENDDO因为跟同学们上学期学过的C语言几乎一样,因此在这里不再多描述.
数组的宣告与使用宣告数组宣告数组有下列几种方法:integera(10)!
宣告a这个数组有10个元素integer,dimension(10)::a!
同上,另一种作法而在FORTRAN77当中,我们必需用下面这种方法integeradimensiona(10)请记住在FORTRAN当中的数组是从1开始算,也就是a(1),a(2)一直到a(10)使用数组我们要使用已经宣告出来的数组,直接利用其index即可,例如:a(1)=18也可以利用DATA这个叙述INTEGERA(3)DATAA/36,24,36/在FORTRAN90中,还可以省略DATA这个叙述INTEGER::A(3)=(/36,26,36/)使用这个方式必需注意,括号跟除号之间不能有空格,并且冒号不能省略.

香港E3 16G 390元/ 香港E5*2 32G 600元/ 香港站群 4-8C 1200元/ 美国200G高防 900/ 日本100M 700元

3C云国内IDC/ISP资质齐全商家,与香港公司联合运营, 已超6年运营 。本次为大家带来的是双12特惠活动,香港美国日本韩国|高速精品|高防|站群|大带宽等产品齐全,欢迎咨询问价。3C云科技有限公司官方网站:http://www.3cccy.com/客服QQ:937695003网页客服:点击咨询客户QQ交流群:1042709810价目表总览升级内存 60元 8G内存升级硬盘 1T机械 90元 2...

CloudCone:$17.99/年KVM-1GB/50GB/1TB/洛杉矶MC机房

CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...

VirMach(8元/月)KVM VPS,北美、欧洲

VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...

游戏内存不能为read为你推荐
虚拟空间租赁虚拟主机租用价格多少钱一年美国主机空间买空间网的美国主机咋样?网站域名网站域名是什么域名服务域名服务器是什么?有什么作用域名服务商域名服务商所属区域怎么填写国内ip代理谁给我几个北京或国内的IP代理啊,高分,能用的域名申请申请域名需要哪些流程具体点 谢谢100m网站空间网站空间100M指多大免费网站空间申请如何申请到免费的网站空间网站空间免备案哪有不用备案的网站空间?
域名备案号查询 cn域名备案 鲨鱼机 php主机 国内加速器 三拼域名 新天域互联 howfile 美国在线代理服务器 免费申请网站 百度云1t 免费智能解析 酷番云 空间登陆首页 上海电信测速网站 广州虚拟主机 免费asp空间申请 lamp是什么意思 阿里云个人邮箱 免费赚q币 更多