fortran语言编程第三章
- 格式:ppt
- 大小:316.50 KB
- 文档页数:17
fortran 语言编程Fortran 语言编程Fortran(Formula Translation)是一种面向科学计算和工程计算的高级编程语言。
它于1957年诞生于IBM,是最早被广泛采用的科学计算语言之一,目前已经发展到第四个版本(Fortran 2018)。
Fortran是一种编译型语言,它通过编写源代码并使用编译器将其转换成机器语言来执行。
本文将详细介绍Fortran语言的基础知识、语法规则和常用的编程技巧,以帮助读者了解和掌握这门强大的科学计算语言。
第一步:安装Fortran编译器要开始编写和运行Fortran程序,首先需要安装Fortran编译器。
有多种Fortran编译器可供选择,其中最常用的是GNU Fortran(gfortran)和Intel Fortran Compiler(ifort)。
可以从官方网站或其他可信的来源获得这些编译器的安装程序,并按照提示进行安装。
第二步:编写并编译Fortran程序在开始编写Fortran程序之前,需要了解Fortran的基本语法规则。
Fortran使用固定格式或自由格式,固定格式的源代码按照列格式排列,每行的前6列被保留用于行号和注释,从第7列开始是可执行代码。
自由格式没有列格式的限制,更加灵活,但在编译阶段需要指定自由格式。
下面是一个简单的Fortran程序示例,用于计算并输出两个数的和:fortranprogram additionimplicit noneinteger :: a, b, sumprint *, "Enter two numbers:"read *, a, bsum = a + bprint *, "The sum is:", sumend program addition将以上代码保存为一个以.f90为后缀名的文件(例如addition.f90),然后使用编译器将其编译成可执行程序。
第3章顺序结构设计本章介绍数据输入/输出语句及其他基本语句,简单介绍顺序结构及程序设计的基本步骤,书写简单程序。
3.1 变量的赋值变量代表计算机内存中的存储单元,它可以接收外部设备输入的数据,也可保留运算器的运算结果,还可以被送到外部设备输出。
FORTRAN语言要求变量必须被预先赋值,然后才能被使用,并提供了下面几种为变量赋值的方式,因此,程序中的变量都应该在使用之前用下列方式之一获得数据。
3.1.1 赋值语句1)赋值语句的格式和功能语句的格式:变量 = 表达式语句的功能:将一个表达式的计算结果值赋给一个变量。
关于赋值语句的说明:(1)赋值语句是执行语句。
(2)赋值语句中的“=”号叫做“赋值号”,它的作用是将其右边的表达式的结果赋给其左边的变量,即将表达式的值放入变量对应的内存单元中,因此,赋值号的意义是带有方向性和动作性的。
例如“A=5.5”的作用是将5.5 送到变量A对应的内存单元中。
(3)赋值语句兼有计算和赋值双重功能。
即先计算出表达式的值,然后将该结果赋给一个变量。
例如“N=N+1”的作用是用N的当前值加上1后再送入N中,假设N的当前值是5,则执行N=N+1后,N的值为6。
(4)根据赋值语句的功能,由于赋值号的方向性特性,赋值号左边只能是变量,以便提供一个获得数据的空间。
因此,“A=B”和“B=A”具有完全不同的意义,前者表示将B中的数据送入A中,后者表示将A中的数据送入B中。
语句“X+Y=10”是错误的,因为在内存中找不到名字为X+Y的变量。
2)执行赋值语句时的类型转换问题执行赋值操作时,被赋值的变量和表达式的类型可以相同,也可以不相同。
FORTRAN语言作如下规定:(1)变量与表达式的类型相同,则将表达式的结果直接赋值。
M=4 (变量M和4都是整型)A=3.5*SIN(X)(变量A和表达式3.5*SIN(X)都是实型)(2)如果类型不同,则应先进行表达式的计算,然后将该表达式的值转换为被赋值变量的类型。
前言FORTRAN90的新特性1、淘汰了所有转移语句,增加了新的控制结构,使程序结构化。
增加了结构块,模块及过程的调用灵活形式。
2、加强数组的算法功能。
提出超载概念与实现方法。
提高了文字处理功能。
3、更接近自然语言与公式演算。
允许在字符数据用选取不同种别。
特别:语句书写对列的要求放宽:一般一行写一条语句(也可也多个语句,用“;”分隔),没有标号区、续行区、正文区的区别。
一行最多为132列,可以在任何列处中断语句,中断处写一个“&”,随后在下一行任意列处继续。
一个语句最长不能超过2640个字符。
语句结尾不可有标号、符号。
注释以“!”开始,可以位于任何位置。
***以下只讨论与FORTRAN77不相同处。
第一章FORTRAN90的基本语句第一节类型说明语句1、变量名全长不得超过31个字符。
2、变量类型定义:INTEGER::X,YREAL::ACOMPLEX::B,C,D3、建议淘汰隐式说明,在程序说明部分一开始就写:IMPLICIT NONE向系统声明不使用隐式说明。
4、可以在变量说明时就置初值。
如:REAL::X=1.1,Y,Z=2.25、种别——决定变量的精度和所占内存单元数。
a.如:REAL(KIND=2)::X 说明变量X为REAL型,种别为2。
KIND是种别说明关键字。
如没有种别说明,则采用系统省缺值。
b.有关函数:KIND(X) 返回X的种别参数。
当X取常数0时,返回省缺种别参数。
如KI ND(0)、KIND(0.0)、KIND(.FALSE.)、KIND('A')分别返回整型、实型、逻辑型、字符型的省缺种别参数。
SELECTED_REAL_KIND(N,M) 返回种别参数,使之满足十进制有效位为N, 值范围在10**(-M)和10**M之间的实数。
SELECTED_INT_KIND(N,M) 与上类似,选择整型类别。
c.常数类别表示对数值型常数、逻辑型常数用后缀法,即在常数后加一下划线,再跟种别参数。
FORTRAN95第三章循环程序设计第三章的内容包括:1.DO循环:DO循环是FORTRAN中最基本的循环结构。
它允许我们指定循环变量的初始值、结束值和步长。
在每次循环迭代时,循环变量都会自动更新,并且在达到结束值时退出循环。
2.嵌套循环:FORTRAN也支持嵌套循环,这是在一个循环内部使用另一个循环。
嵌套循环使得我们能够处理更加复杂和具有分层结构的问题。
3.WHILE循环:FORTRAN还提供了类似于其他编程语言中的WHILE循环。
WHILE循环允许我们在循环前先检查一个条件,并且只要条件为真,就会继续执行循环体。
4.无限循环:有时候需要创建一个无限循环,即一个永远不会结束的循环。
在FORTRAN中,我们可以使用无条件的循环退出语句来跳出循环。
5.循环控制:在循环内部,我们可以使用控制语句来控制循环的执行方式。
这些控制语句包括CONTINUE、EXIT、CYCLE和END。
6.循环的应用:循环结构在许多数学和科学计算问题中都有广泛应用,如求和、求平均值、计算阶乘、寻找最大和最小值等。
循环程序设计是编程中非常重要的一部分,因为它可以帮助我们处理大数据集和执行复杂算法。
FORTRAN95提供了一系列强大的循环结构,使得我们能够更加灵活和高效地处理各种问题。
在循环程序设计中,重点应该放在优化循环的执行。
通过合理地选择循环变量的初始值、结束值和步长,以及使用合适的循环控制语句,可以使循环更加高效。
此外,避免在循环体内进行过多的计算和IO操作,可以减少循环的执行时间。
总之,循环程序设计是编程中一个基本但重要的概念。
FORTRAN95提供了丰富的循环结构和控制语句,使得我们能够更加高效地处理各种问题。
在实际应用中,我们应该根据具体问题的要求,合理选择和优化循环结构,以求得更好的性能和效果。
图2.1 “新建项目”对话框Intel Visual Fortran 中的项目类型程序开发之前,我们应充分了解各种项目类型的特点。
启动Visual Studio 按前面的步骤打开图2.1所示的对话框,在“项目类型”中列出了Intel Visual 编译器可创建的几种项目类型。
图2.2 Console Application工程输出窗口其中包括两种库文件工程:静态库文件,是已编译的、独立于主程序的程序段,适合于大型项目中程序的结构组织和程序间函数或子程序的重复调用。
但是,静态库文件会插入程序调用点,磁盘空间浪费较大;同时当静态库文件需要升级的时候,会带来工作效率的低下。
为了解决这些问题,出现了动态链接库。
Dynamic-link Library 动态链接库,很好地解决了静态库文件存在的问题,程序设计中。
QuickWin Application 多文档窗口应用程序。
编译器封装了部分图2.3 QuickWin Application工程输出窗口Standard Graphics Application单文档窗口应用程序,通常以全屏的形式出现,所示。
全屏形式和窗口界面之间可通过组合键“Alt+Enter不同,Standard Graphics Application程序界面中并没有菜单栏和图2.4 Standard Graphics Application工程输出窗口Application 窗口界面应用程序。
经过编译器封装,应用程序能够调用完整的Win32 API系统函数,所以Windowing Application 应用程序的弹性更大、更加复杂。
图3.1 解决方案资源管理器Source Files”文件夹,单击鼠标右键,选择图3.2 “添加新项”对话框图3.3 Example3-1程序运行界面这个程序中,简单的四个语句却实现了典型的Windows窗口界面,如菜单和状态栏等,所以,用Fortran编写窗口界面程序并没有想象中的困难,经过编译器对相关函数的有效封装后反而更加容易。
《FORTRAN语言》自学提纲第一章1 FORTRAN基础1. 一个FORTRAN程序由一个主程序或一个主程序与若干个子程序组成。
但一个完整的FORTRAN程序只能有一个主程序,主程序的第一个语句是PROGRAM语句,用以说明主程序的名称。
这个语句也可以省略,省略时默认为主程序的名称为MAIN。
2.FORTRAN的子程序主要有三种:⑴函数子程序,其第一个语句为FUNCTION;⑵子例行子程序,其第一个语句为SUBROUTINE;⑶数据块子程序,其第一个语句为BLOCK DATA。
主程序与各个子程序可以独立编译,最后再链接成一个可执行程序。
在编写并输入一个FORTRAN程序时,既可以将主程序与各个子程序存放在一个文件中,也可以将它们分别存放在不同的文件中。
但必须注意,主程序与各个子程序都是独立的程序单位,每个程序单位的最后一行必须用END语句作为结束。
在主程序中,虽然END语句还具有使程序停止运行的作用,但由于一个程序单位只能在最后一行有END语句,因此,在程序的其它位置处需要停止运行时,只能用STOP 语句,不能用END语句。
同样的道理,在子程序中,虽然END语句还具有使程序流程返回到调用程序的作用,但在子程序的其它位置(不是最后一行)需要返回到调用程序时,只能用RETURN语句,不能用END语句。
3.FOPTRAN源程序的书写格式有严格的规定。
⑴一行中第一列为“C”或“*”时,该行被认为是注释行。
注释行可以写在四个区中的一个区,且注释行可以出现在程序单位的任何位置。
但注释行不能有续行,需要时可以将连续若干行都定义为注释行。
⑵FORTRAN语句部分不能占用标号区及续行标志区,只能从第七列开始。
当语句太长时,可以使用续行。
在继续行的标号区内必须为空白(即继续行不允许有标号),标号只能出现在起始行上。
⑶起始行与继续行或各继续行之间的空格不起作用,因此,对于一般的语句,可以不必到72列才转为继续行,继续行也不必一定要从第7列接着写,但是,包括在引号内的字符串中的空格是有效的,因此,对于字符串要使用继续行时应特别注意,最好写到一行的72列时再转为继续行,且要从继续行的第7列接着写。