当前位置: 首页 > news >正文

云南seo网站关键词优化软件上海做网站报价

云南seo网站关键词优化软件,上海做网站报价,世界500强企业市值排名,郑州企业网站建设团队Fortran编程快速入门 1. 简介1.1 FORTRAN语言发展概况1.2 Fortran77和Fortran90的区别1.3 Fortran和C/C等大多数语言的不同1.4 简单的 Fortran 程序分析1.5 FORTRAN 源程序的书写格式1.6 编译环境配置 2. Fortran数据类型和变量2.1 数据类型2.2 变量2.2.1 命名规则2.2.2 隐含约… Fortran编程快速入门 1. 简介1.1 FORTRAN语言发展概况1.2 Fortran77和Fortran90的区别1.3 Fortran和C/C等大多数语言的不同1.4 简单的 Fortran 程序分析1.5 FORTRAN 源程序的书写格式1.6 编译环境配置 2. Fortran数据类型和变量2.1 数据类型2.2 变量2.2.1 命名规则2.2.2 隐含约定IN 规则2.2.3 IMPLICIT 语句隐式说明语句2.2.4 变量声明语法 2.4 第一个Fortran程序 3. 程序编译3.1 Fortran - Basic 语法3.2 Fortran变量用法实列3.3 Fortran - 常量3.3.1 例子 (Example) 3.4 Fortran - 运算符3.4.1 算术运算符 (Arithmetic Operators)3.4.1.1 例子 (Example) 3.4.2 关系运算符 (Relational Operators)3.4.3 逻辑运算符 (Logical Operators)3.4.3.1 例子 (Example) 3.4.4 Fortran中的运算符优先级3.4.4.1 例子 (Example) 1. 简介 大气、地球物理很多经典模型都提供了Fortran77源码为了使用这些模型学习Fortran77编程是有必要的。 1.1 FORTRAN语言发展概况 1适用于工程及科学计算的一种高级程序设计语言 21951年由约翰·贝克斯等人开始研究Fortran语言 31957年第一个Fortran程序在IBM704机上运行 41958和1962年先后推出FortranⅡ和FortranⅣ 51966和1978年先后颁布Fortran66 1.2 Fortran77和Fortran90的区别 Fortran奠定了高级语言发展的基础。Fortran的主要版本及差别按其发展历史Fortran编译器的版本其实很多。现在在广泛使用的是Fortran77和Fortran90另外现在还有95、2003和2008版本。Fortran77和Fortran90的区别 Fortran77 也称固定格式fixed format程序代码扩展名.f或.for 1若某行以C或c开头则该行被当成注释2每行前六个字符不能写程序代码可空着7~72为程序代码编写区73往后被忽略3太长的话可以续行所续行的第六个字符可以是0以外的任何字符。 Fortran90自由格式free format 扩展名.f90 1以!引导注释2每行可132字符行代码放在每行最前面3以续行放在该行末或下行初。 1.3 Fortran和C/C等大多数语言的不同 1不分大小写 2每句末尾不必要写分号 3程序代码命令间的空格没有意义 4不像CFortran不使用{ } 5数据类型多出了复数和逻辑判断类型。比如复数类型 6多出了乘幂运算**。乘幂除了整数还可以是实数形式。如开方开立方 7数组有一些整体操作的功能可以方便的对部分元素进行操作 8有些情况下可以声明大小待定的数组很实用的功能 1.4 简单的 Fortran 程序分析 Fortran 程序的基本结构 1一个 Fortran 源程序由一个或多个程序单位组成每个独立的程序单位以end语句结束。 2每个程序单位包括若干行不能一行写多条语句但可以几行写一条语句。 3语句前可不设标号也可根据需要设标号。 4各类语句在程序单位中的位置有一定规则。 5程序必须按规定格式书写。 1.5 FORTRAN 源程序的书写格式 Fortran77 源程序必须按以下格式书写 1每行只能在 80 列内书写并把 80 列分为 4 个区。 215 列标号区 15 位整数第 1 列为*或c时为注释行 3第 6 列续行标志区非空格或非零字符最多 19 个续行 4772 列语句区书写语句一行只能写一条语句 57380 列语句注释区一般作编号注释 1.6 编译环境配置 参考Fortran编程——VScode配置 2. Fortran数据类型和变量 2.1 数据类型 Fortran 处理六种类型 1整型Integer 2实型Real 3双精度Double precision 4复型Complex 5逻辑型Logical 6字符型Character 2.2 变量 2.2.1 命名规则 1变量名的第一个字符必须是字母 2在第一个字符后可跟 15 个字母或数字。如xm1totalk123… 注意几点 1变量名不区分大小写字母。如TOTALTotaltotal 代表同一变量 2变量名中的空格不起作用。如abca bcab ca b c 代表同一变量 3允许变量名与语言中具有特定含义的字“保留字”同名。但建议不要使用。如sin、read、end … 4尽量见名知义如:root、aver、result 等 5它不能超过31个字符。 2.2.2 隐含约定IN 规则 以 i、j、k、l、m、n 开头的变量为整型变量以其它字母开头的变量为实型变量“IN 规则”如 imaxm5number... 为整型变量 vh2aver... 为实型变量。注方便但只能用来区分整型与实型。 2.2.3 IMPLICIT 语句隐式说明语句 可以用 IMPLICIT 语句将某一字母开头的全部变量指定为所需的类型还可以用一个 IMPLICIT 语句同时指定几种类型。例如 implicit integer (act-v) implicit real (ij) implicit integer (ab)real(i,k)integer (x-z)2.2.4 变量声明语法 变量在类型声明语句中的程序或子程序的开头声明。 变量声明的语法如下 type-specifier :: variable_name例如 (For example) integer :: total real :: average complex :: cx logical :: done character(len 80) :: message ! a string of 80 characters稍后您可以为这些变量赋值例如 total 20000 average 1666.67 done .true. message “A big Hello from IOWIKI” cx (3.0, 5.0) ! cx 3.0 5.0i您还可以使用内部函数cmplx,将值赋给复杂变量 - cx cmplx (1.0/2.0, -7.0) ! cx 0.5 – 7.0i cx cmplx (x, y) ! cx x yi字符类型 字符类型存储字符和字符串。 字符串的长度可以由len说明符指定。 如果未指定长度则为1。 character (len 40) :: name name “Zara Ali”2.4 第一个Fortran程序 按照国际惯例写第一个Fortran程序“Hello world”。保存为hello.f program HelloWorldprint *,Hello,World!read(*,*)end注意如果是f90直接忽略代码前面的空格f77编码必须如上否则无法编译通过。 Fortran程序由一组程序单元组成如主程序模块和外部子程序或过程。每个程序包含一个主程序可能包含也可能不包含其他程序单元。 主程序的语法如下 - program program_name implicit none ! type declaration statements ! executable statements end program program_name请注意 所有Fortran程序都以关键字program开头以关键字end program结尾后跟end program名称。implicit none语句允许编译器检查是否正确声明了所有变量类型。 您必须始终在每个程序的开头使用implicit none。较旧版本的Fortran允许一种称为隐式类型的功能即您不必在使用前声明变量。 如果未声明变量则其名称的第一个字母将确定其类型。以ijklm或n开头的变量名称被认为是整数变量其他变量是实变量。 但是您必须声明所有变量因为它是良好的编程习惯。 为此你用声明开始你的程序implicit none此语句将关闭隐式类型。Fortran中的注释以感叹号开头因为编译器会忽略此后的所有字符字符串除外。print *命令在屏幕上显示数据。 参考Fortran - Basic 语法 3. 程序编译 前提需要安装好Fortran开发环境。 在终端中输入 gfortran hello.f -o hello如果是windows系统这样就会生成一个hello.exe程序如果是linux系统就会生成一个不带后缀名的hello可执行程序。执行结果在终端中输入 ./hello.exe 或者 ./hello3.1 Fortran - Basic 语法 每个程序包含一个主程序可能包含也可能不包含其他程序单元。 主程序的语法如下 ! 所有Fortran程序都以关键字program开头以关键字end program,后跟end program,名称。 ! implicit none语句允许编译器检查是否正确声明了所有变量类型。 您必须始终在每个程序的开头使用implicit none 。 ! Fortran中的注释以感叹号!开头因为编译器会忽略此后的所有字符字符串除外。 ! print *命令在屏幕上显示数据。 ! 压缩代码行是保持程序可读性的好方法。 ! Fortran允许使用大写和小写字母。 除字符串文字外Fortran不区分大小写。program program_name! 关闭隐式类型implicit none ! type declaration statements ! executable statements print *,Hello,World!read(*,*)end program program_name让我们编写一个程序添加两个数字并打印结果 program addNumbers! This simple program adds two numbersimplicit none! Type declarationsreal :: a, b, result! Executable statementsa 12.0b 15.0result a bprint *, The total is , resultend program addNumbers3.2 Fortran变量用法实列 以下示例演示了屏幕上的变量声明分配和显示 - program variableTestingimplicit none! declaring variables 变量声明integer :: total real :: average complex :: cx logical :: done character(len80) :: message ! a string of 80 characters!assigning values 赋值total 20000 average 1666.67 done .true. message A big Hello from IOWIKI cx (3.0, 5.0) ! cx 3.0 5.0iPrint *, totalPrint *, averagePrint *, cxPrint *, donePrint *, messageend program variableTesting3.3 Fortran - 常量 常量是指程序在执行期间无法更改的固定值。命名常量具有值和名称。命名常量应在程序或过程的开头声明就像变量类型声明一样指示其名称和类型。使用parameter属性声明命名常量。例如 3.3.1 例子 (Example) 以下程序计算重力作用下垂直运动引起的位移。 real, parameter :: pi 3.1415927program gravitationalDisp! this program calculates vertical motion under gravity implicit none ! gravitational accelerationreal, parameter :: g 9.81 ! variable declarationreal :: s ! displacement real :: t ! time real :: u ! initial speed ! assigning values t 5.0 u 50 ! displacement s u * t - g * (t**2) / 2 ! output print *, Time , tprint *, Displacement ,s end program gravitationalDisp3.4 Fortran - 运算符 Fortran提供以下类型的运算符 算术运算符、关系运算符、逻辑运算符。 3.4.1 算术运算符 (Arithmetic Operators) 下表显示了Fortran支持的所有算术运算符。 假设变量A5变量B3然后 操作描述值加法运算符添加两个操作数。A B将给出8-减法运算符从第一个减去第二个操作数。A - B将给2*乘法运算符将两个操作数相乘。A * B将给出15/除法运算符用除分子除分子。A/B将给1**指数运算符将一个操作数提升到另一个操作数。A ** B将给出125 3.4.1.1 例子 (Example) ! 尝试以下示例来了解Fortran中可用的所有算术运算符 -program arithmeticOp! this program performs arithmetic calculationimplicit none ! variable declarationinteger :: a, b, c! assigning values a 5 b 3 ! Exponentiation c a ** b ! output print *, c , c! Multiplication c a * b ! output print *, c , c! Division c a/b ! output print *, c , c! Additionc a b ! output print *, c , c! Subtraction c a - b ! output print *, c , cend program arithmeticOp3.4.2 关系运算符 (Relational Operators) 下表显示了Fortran支持的所有关系运算符。 假设变量A10变量B20则 操作符号描述结果.eq.检查两个操作数的值是否相等如果是则条件变为真。A B不是真的。/.ne.检查两个操作数的值是否相等如果值不相等则条件变为真。A B是真的。.gt.检查左操作数的值是否大于右操作数的值如果是则条件变为真。A B不是真的。.lt.检查左操作数的值是否小于右操作数的值如果是则条件变为真。(A B) 为真.ge.检查左操作数的值是否大于或等于右操作数的值如果是则条件变为真。A B不是真的。.le.检查左操作数的值是否小于或等于右操作数的值如果是则条件变为真。A B是真的。 3.4.3 逻辑运算符 (Logical Operators) Fortran中的逻辑运算符仅适用于逻辑值.true 和.false。 下表显示了Fortran支持的所有逻辑运算符。 假设变量A .true。 变量B .false。 那么 - 操作描述结果.and.称为逻辑AND运算符。 如果两个操作数都不为零则条件成立。A.and.B是假的。.or.称为逻辑OR运算符。 如果两个操作数中的任何一个非零则条件变为真。A.or.B是真的。.not.称为逻辑非运算符。 用于反转其操作数的逻辑状态。 如果条件为真则Logical NOT运算符将为false。A.not.B是真的。.eqv.称为逻辑等效运算符。 用于检查两个逻辑值的等效性。A .eqv.B是假的。.neqv.称为逻辑非等价运算符。 用于检查两个逻辑值的非等价性。A .neqv.B是真的。 3.4.3.1 例子 (Example) program logicalOp! this program checks logical operatorsimplicit none ! variable declarationlogical :: a, b! assigning values a .true. b .false. if (a .and. b) thenprint *, Line 1 - Condition is trueelseprint *, Line 1 - Condition is falseend ifif (a .or. b) thenprint *, Line 2 - Condition is trueelseprint *, Line 2 - Condition is falseend if! changing values a .false. b .true. if (.not.(a .and. b)) thenprint *, Line 3 - Condition is trueelseprint *, Line 3 - Condition is falseend ifif (b .neqv. a) thenprint *, Line 4 - Condition is trueelseprint *, Line 4 - Condition is falseend ifif (b .eqv. a) thenprint *, Line 5 - Condition is trueelseprint *, Line 5 - Condition is falseend ifend program logicalOp3.4.4 Fortran中的运算符优先级 运算符优先级确定表达式中的术语分组。 这会影响表达式的计算方式。 某些运算符的优先级高于其他运算符; 例如乘法运算符的优先级高于加法运算符。 3.4.4.1 例子 (Example) program precedenceOp! this program checks logical operatorsimplicit none ! variable declarationinteger :: a, b, c, d, e! assigning values a 20 b 10c 15d 5e (a b) * c/d ! ( 30 * 15 )/5print *, Value of (a b) * c/d is : , e e ((a b) * c)/d ! (30 * 15 )/5print *, Value of ((a b) * c)/d is : , e e (a b) * (c/d); ! (30) * (15/5)print *, Value of (a b) * (c/d) is : , e e a (b * c)/d; ! 20 (150/5)print *, Value of a (b * c)/d is : , e end program precedenceOp
http://www.hkea.cn/news/14445808/

相关文章:

  • 欣赏别人做的网站樊城网站建设
  • 衡水网站网站建设郑州网站建设搜索优化
  • 怎样做百度推广网站手工制作图片作品
  • 做减肥餐的网站手机网站设计趋势
  • 李沧网站建设谁家好wordpress灯箱代码
  • 做站群什么样的算是违法网站黑龙江建设工程网
  • 租车网站模板下载公司门户官网
  • 网站建设系统服务国外优秀个人网页设计欣赏
  • 海外网站推广优化专员python做网站商城开发
  • 新密做网站优化全国特种作业人员证查询
  • 购物网站模板下载淄博专业网站建设哪家专业
  • 海南省城乡建设部网站首页魅影传说网页游戏开服表
  • 学习软件编程软件优化
  • 孝感网站建设磁力链
  • 海北公司网站建设价格低wordpress插件c
  • 同程网站建设分析安阳网站建设开发
  • 400电话申请网站源码程序天津都有哪些制作网站
  • wordpress图片轮播插件重庆seo技术教程
  • wordpress忘记密码ftp廊坊网站的优化
  • 维护公司网站建设个人网站首页布局
  • 四川工程建设项目一般挂什么网站电商软件开发平台
  • 成都网站建设电话咨询百度网络营销app下载
  • 顺德微网站建设电脑字体wordpress
  • 电子商务网站建设人才调研做英语教具的网站
  • 这几年做哪个网站致富女孩做网站工作辛苦吗
  • server 2012 iis 添加网站how to use wordpress
  • 济南网站建设及推广网站建设流量从哪里来
  • 用什么软件做网站模板做家具网站要多少钱
  • 济宁做网站有哪几家手机网站建设ppt
  • 网站做网站反向代理违法价格网