fortran95教程5章
fortran95的使用方法5

第14章固有过程固然,我们已经能够做到运用FORTRAN 95来描述任何的计算任务,因为FORTRAN 95所提供的数据类型,固有运算,派生类型,自定义运算,以及构造函数与子例行程序的方法,都足以使得我们应付任何的计算问题。
不过FORTRAN 95标准还提供了大量的科学计算的常规计算与函数,都可以作为固有过程直接使用,而不需要我们自己来编写源码。
这就好像对于一个汽车装配师,除了给他提供螺栓,轴承之类的标准零件,还给他提供更高层次的标准配件,例如各种型号的发动机,电机之类。
因此熟练掌握固有过程,将给我们带来如虎添翼的感觉。
FORTRAN 95把固有过程作为标准来提出,就意味着任何的FORTRAN 95的编译器实现版本,都必须能够提供它们:115个固有过程,其中包括109个固有函数和6个固有子例行程序。
当然不排除很多的编译器还提供额外的固有过程。
正是由于固有过程是属于FORTRAN 95的标准内容,因此和固有运算,例如+,一样,总是“随叫随到”,无论在哪个程序单位内部,只要使用某个固有过程的名称,就等于调用了该固有过程。
不过,如果它的名称被用户定义的函数或子例行程序所“侵占”,那么在下面的情况下,被调用的将是用户自定义的函数或子例行程序而不是固有过程:●该自定义函数或子例行程序的界面是显式的;●该自定义函数或子例行程序出现在EXTERNAL语句当中;●该自定义函数属于语句函数。
当然上述的名称被侵权的有效范围只是该自定义函数或子例行程序的作用域。
相应的,固有过程也就只能在下面的情形下夺回被侵占的名称:●不存在使用该名称的语句函数;●它的名称出现在INTRINSIC语句当中;●相应的用户定义的过程的界面是隐式的。
例如在一个模块或一个内部过程里面,由于它的界面是显式的,那么固有过程的名称就能够被侵占,除非固有过程的名称出现在一个有效的INTRINSIC语句当中。
下面我们主要讨论固有过程的按照功能的分类,以及每个种类的固有过程所能够完成的计算任务。
Fortran95简介-全文版

Fortran95简介-全文版Fortran95簡介-全文版By陳鯨太FORTRAN的演進FORTRAN的起源,要追溯到1954年IBM公司的一項計畫。
由JOHN BACKUS 領導的一個小組,嘗試著在IBM 704電腦上面發展一套程式,它可以把使用接近數學語言的文字,翻譯成機械語言。
這個計畫在剛開始並不被大家看好,但他們在1957年交出了成果,也就是第一套FORTRAN編譯器,FORTRAN語言也就因此誕生了。
FORTRAN語言的執行效率普遍的令各界滿意,它證明了這項計畫的可行性,也成為第一個被廣泛使用的高階語言。
FORTRAN的名字來自於英文的FORMULA TRANSLATOR這兩個字,而這兩個字恰是數學公式翻譯器的意思。
舊版的FORTRAN77是在1978年由美國國家標準局(ANSI)所正式公布的,之後改版有1992年提出的FORTRAN90以及1997年的FORTRAN95,本文是為了FORTRAN 95所撰寫。
編譯器簡介1、VISUAL FORTRANVISUAL FORTRAN一開始是起源於MICROSOFT的FORTRAN POWERSTATION 4.0,這套工具後來賣給DIGITAL公司來繼續發展,下一個版本稱為DIGITAL VISUAL FORTRAN 5.0,DIGITAL後來被COMPAQ合併,所以接下來的6.0及6.5版就稱為COMPAQ VISUAL FORTRAN。
而COMPAQ目前又跟HP合併,也許下一個版本會稱為HP VISUAL FORTRAN。
VISUAL FORTRAN被整合在一個叫作MICROSOFT VISUAL STUDIO的圖形介面開發環境中,VISUAL STUDIO提供一個統一的使用介面,這個介面包括文書編輯功能,PROJECT的管理、除錯工具等等,所以在使用上其實跟上學期的VISUAL C++滿類似的,同學們上課用過VISUAL C++,對VISUAL FORTRAN應該不會陌生。
FORTRAN语言程序设计——FORTRAN95

教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
该教材有配套的实验指导书——《FORTRAN95程序设计实验指导与测试》。 该教材还提供电子课件等资源。
教材特色
该教材以程序设计为主线,以编程应用为驱动,通过案例和问题引入知识点,重点讲解程序设计的思想和方 法。书中所有程序实例都是由教师在多年授课过程中挑选所得,并采用Microsoft Develop Studio集成开发环 境。为适应不断更新的计算机操作系统,在实验教材中还给出了Windows 7、Windows 10操作系统下使用Visual Fortran的上机操作过程。
全书共14章,主要内容有: FORTRAN95概述及编译环境的介绍、FORTRAN95程序设计基础、顺序结构程序设 计、选择结构程序设计、循环结构程序设计、数组、函数与子程序、文件、派生类型与结构体、指针、模块、常 用数值算法。
成书过程
修订情况
ห้องสมุดไป่ตู้出版工作
该教材由王丽娟、段志东主编,李玉龙主审。第1、2、12、14章由王红鹰编写,第3、5、6、7章由陈权编写, 第9、11、13章和附录A由段志东编写,第4、8、10章和附录B由王丽娟编写。
该教材在规划和编写过程中得到了兰州交通大学教务处、计算机教学示范中心、电信学院、继续教育学院、 土木工程学院的领导和教师们的支持。
2017年9月1日,该教材清华大学出版社出版。
内容简介
该教材介绍FORTRAN95的语法规则以及利用它进行程序设计的方法。全书共14章,主要内容有: FORTRAN95 概述及编译环境的介绍、FORTRAN95程序设计基础、顺序结构程序设计、选择结构程序设计、循环结构程序设计、 数组、函数与子程序、文件、派生类型与结构体、指针、模块、常用数值算法。另外,还扩充了计算思维和计算 机系统组成的相关知识。
最新《FORTRAN95程序设计》学习笔记资料

《FORTRAN 95 程序设计》学习笔记66RPG gg★ 目录★《FORTRAN 95 程序设计》学习笔记 (1)基础知识(基础、字符串、FORMAT 、隐式、TYPE) (1)流程与控制(if 、select、do) (4)数组(声明、隐式循环、整体操作、可变数组) (5)函数与子程序(子程序、函数、全局变量) (6)MODULE 与面向对象(重载操作符、虚函数) (9)文件相关(OPEN 、WRITE 、READ) (10)指针(指向变量、数组、函数) (11)Visual Fortran 编译器(DLL ,VB 调用) (12)数值算法与IMSL (数值算法插件) (14)常用库函数(数学、数组、零碎、子程序) (15)基础知识(基础、字符串、FORMAT 、隐式、TYPE)★ 【小玩意】二进制观察器:装在M.. Visual Studio\DF98\bin ,有一个Bitviewer ,可以观察变量储存方式★ 【语法】续行:行结尾或行开头使用& 符号;注释:使用! 符号★ 【语法】数学表达式:+ ;- ;* ;/ ;(;);** 乘幂★ 【语法】程序结束:STOP (Ruby 的exit)★ 【语法】输出:write(*,*),完整写法:write(unit=*,fmt=*)建议:少用print ,尽量用write★ 【语法】声明整型:integer(kind=4) a ;其中kind 是使用的bytes 数, 4 or 2其他写法:integer*4 a; integer(4) a浮点:real(kind=4) a ;有效数位 6 位(12345678 存为 1.234567E7 ),如果是kind8 则为15 位有效数字此外:1E10:单精10X0, 1D10:双精10X0复数:complex :: a=(2,3)实部:real(a) ;虚部:imag(a)布尔型:Logical , .true. 和.false.★ 【语法与函数】字符串:character(20) string注意理解, fortran 的弱智字符串就是一个长度不能变的一维的东西, 极其猥琐, 和Java、Ruby 不能相提并论的string(13:13) = a” :对第13个字节的读、存string(2:3) = “go”string(6) = “我的妈呀”:从第6 个位置开始设置为“我的妈呀”a = string_a II string_b :用"〃”连接两个字符串【常用函数】char(num) , ichar(char):ASCII 码的转换相关功能【常用函数】len(string) , len_trim(string) :长度,去掉尾部空格后的长度【常用函数】index(string,key) :找key 在string 首出现的位置【常用函数】trim(string) :返回去掉尾部空格的字符串(用途不大)【函数】repeat(char,int):返回一个重复int次的char串character(len=20) string 普通声明;character(len=*) string 接收的时候可自动长度★ 【规范格式】FORMA T 格式化e.g.write (*,100) A100 format(I4) 这里是100 号标识调用的格式参数控制符(前面加数字为重复次数,如416或<a>l6。
Fortran的讲义第五章共21页文档

ASSEM_FORCE.f90
<where语句>→wt;
<where语句>→[<标签>:]where(<屏蔽表达式>) {<赋值语句>}
else where(<屏蔽表达式>)[<标签>] {<赋值语句>}
{else where(<屏蔽表达式>)[<标签>] {<赋值语句>}}
给单个数组元素赋值
用数组构造器赋值(Fortran90)
两种格式:(/…/) 或 […] 只能给一维数组(或数组片段)赋值 可以是常量、表达式、三元组、隐式do循环或数组片段
用reshape语句给多维数组(或数组片段)赋值
数组元素赋值
exam_5_2
条件赋值(where)- Fortran90
第m次消元
m1,2,...n,
A (m ) AA mj
(m 1 ) mj
(m 1 ) mm
jm ,m 1 ,.n ..b ,m (m )b A m ( m (m m 1 1 )m )
pure函数(Fortran95): 确保函数不影响程序其它部分的状态
数组元素赋值
条件赋值(forall)- Fortran95
exam_5_2
<forall语句> → forall(<三元组>{, <三元组>}[,<屏蔽表达式>]) <赋值语句
>
<forall语句>→ [<标签>:]forall(<三元组>{, <三元组>} [,<屏蔽表达式>]) <赋值语句> {<赋值语句>} end forall[<标签>]
fortran 95程序设计

fortran 95程序设计
Fortran 95程序设计是一门针对科学计算和工程学科的高级编程语言。
这门语言的设计目的是为了提供一种简洁、高效、易于实现和易于维
护的编程环境,以便于开发出更高质量的科学计算和工程解决方案。
Fortran 95的特点之一是其输入输出,因为它可以使用多种方式输入
和输出数据,使程序的编写更加简单而不失灵活性。
另一个特点是其
令人宜人的书写风格,使得代码的可读性和可维护性得到了更好的保障。
此外,Fortran 95还支持模块化编程,由于模块被编写为独立的
实体,因此可以更好地调试和修改源代码。
在Fortran 95代码中,程序员使用各种算法和数学技术来解决问题。
这门语言不仅提供了一些基本的算法和数据结构,还支持数组操作、
字符串操作、位操作等高级操作。
它的函数式编程能力也很强,可以
使程序更加高效、简洁和易于维护。
虽然Fortran 95在以往的几十年中已经被不断地改进和扩展,但是它仍然存在一些问题。
例如,它只支持有限的异常处理机制,无法处理
不同层级的异常。
此外,一些新的编程语言,如Python和R,已经逐渐取代了Fortran在科学计算和工程学科中的地位。
总之,Fortran 95程序设计是一门高级编程语言,具备简洁性、高效性、易实现性和易维护性的特点。
虽然它可能存在一些缺陷和限制,但是对于需要高效可靠的科学计算和工程解决方案的行业和领域,Fortran 95仍然是一个很好的选择。
30分钟快速学习Fortran_95

Fortran 95: 函数和子程序
• Function add(a,b) implicit none real, intent(in) :: a, b real :: add add = a + b end function 主程序调用: b = 2.0 x = add(23.1,b)
Note: 1. 所有输入的变量都用 intent(in)或intent(inout)显式 或 显式 限定, 限定,说明改动不改动 2. 返回变量只能是单一变量, 也要说明类型,但不用制定 intent 3. 保持function的独立性是非 常重要的 4. 主程序中用一般函数方法调 用
read(unit=1,fmt=*) a, b, c write(unit=2,fmt=“(f3.1,i5,a5)”) x,I,name
2. 3.
Fortran的格式字符串很灵 活,请参加其它资料 请不要用Fortran77中的 请不要用 中的 format语句!严重降低程 语句! 语句 序可读性
Fortran 95: I/O
Fortran 95: I/O
简单的I/O • Read *, a, b • Print *, a, b, “hello” 复杂的格式化I/O • Read “(f5.1, f8.2)”, x1, x2 • Print “(f5.1, f8.2)”, x1, x2
Note: 1. 若配合文件读写,则需要 制定“设备”,则要用
• 运行:
Fortran 95: 格式
• • • • • • 自由格式 大小写不分 &为换行连写 !为注释语句 ! 程序中任何地方用stop可推出程序 建议每个域(program、module、function、 subrouting)第一行都写implicit none
Fortran95学习用强大ppt

2024/8/9
31
1.6 Fortran程序的编辑与运行
三、给项目工作间添加和编辑文件
七、打开项目文件
选“File”→“Open”→在打开对话框文 件类型下拉列表中选“Project Workspace(*.mdp)”→然后选项目工作间文 件夹中的项目文件。
2024/8/9
33
1.7 简单程序设计
例1:求一元二次方程x2+3x-5.6=0的 根,并打印结果。
• 利用公式:
x1,2 b
基本思想
将一个需要求解的问题分解为一 系列实体(对象),然后围绕这些对 象建立数据和函数;函数的功能决定 了该对象的行为。规定一个对象的函 数可以访问另一对象的函数,但一个 对象的数据不能应用于另一对象的函 数中。
几个基本概念: 类,对象,属性,事件,方法
三类机制: 封装、继承、多态
2024/8/9
选 “Build”→ “Build aaa.exe”。 六、运行项目文件
执行选结“果B)uild”→ “Execute aaa.exe”。(显示程序
2024/8/9
32
1.6 Fortran程序的编辑与运行
注:若Fortran程序是由一个主程序文件和若 干个子程序文件组成,则应将各文件添加 到同一项目工作间,分别进行编译,然后 连编和运行项目文件。
2024/8/9
10
1.2 算法及其表示方法
例3 求两个正整数m,n的最大公约数。 1)比较m与n的大小,如果m<n,则交换m
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章准备数据从本章开始,我们将赋予语言实质性的语义,也就是规定上章所描述的语言的每一个细节所具有的涵义。
这种涵义与其说是我们对于一种语言细节的定义,不如说是算法的要求,要求语言具有足够多的细节,用来表达在算法当中有可能出现的精细情节。
对于任何的问题,站在计算机的角度来看,总是可以把它抽象为如下图所示的结构:因此要准备通过计算来解决一个问题,首先要作到的是把该问题所涉及到的数据整理好,也就是列出所有的数据,然后根据数据的数学属性进行分类,这个分类的过程就是对数据施加足够的标记的过程,将来把这些数据输入到计算机,计算机将能够依据这些标记,辨识出数据所应该具有的数学属性,从而施加相应的合法数学运算。
所以作为向计算机描述计算问题的FORTRAN语言,它首先要作到的是约定如何给数据施加足够详细的标记。
对这个标记过程的第一个要求是保证准确性,也就是说这个语言的标记系统必须正确地反映真实世界的问题里面,数据所具有的数学属性,因此这个标记系统必然是与数据的数学分类结构保持一致的。
从数学的观点来看,世界上的所有数据,总是可以被表示为整数,实数,复数等等基本的数据种类,因此本章的内容就是讨论:●FORTRAN语言如何把数据归结为一些基本数据类型;●然后为了足够详尽地描述每一个数据类型的属性,FORTRAN是如何施加相应的标记的;●FORTRAN语言对于这些标记(语法形式)所约定的语义是什么。
然后我们就可以知道,要想用FORTRAN来描述一个问题的算法,并进而以问题算法的FORTRAN语言版本为媒介,通过计算机来得到计算结果,第一个步骤,就是准备好数据的FORTRAN描述。
5.1 数据是什么在上一章里,据称计算机能够使用语言,而且是非常类似于人类的语言,至少从形式上看很象,这难免会令某些人(特别是看过KUBRICK的影片《2001: A Space Odyssey》的观众们)感到恐惧:)别怕!且先不讨论FORTRAN作为语言是否具有与人类语言等价的表达能力,至少从自然语言的语义学的角度来看,FORTRAN说出来的话其实是绝对空洞的,因为FORTRAN 语言的全部语义基础就只是数据,而数据对机器而言,只是意味着经过编码的符号。
一台计算机其实是由以下6个部分组成:●数据------也就是基本数据元素以及数据结构;●基本操作------也就是一个对上述数据进行操作的基本操作集;●顺序控制------也就是一个控制针对数据的基本操作执行的时间顺序的机制;●数据存取------也就是一个如何给操作提供数据的机制;●存储管理------也就是一个数据存储分配机制;●操作环境------也就是一个支持程序和外部环境进行数据通讯的机制。
因此一台计算机●在程序的使用者看来,就是给它输入数据,它再给你加工过的结果数据;●在程序的编制者看来,就是把对数据的处理过程表示为计算机有限的一系列基本操作(指令)的集合,使得计算机能够处理相应的数据;因此,计算机的一切可以说都是围绕着数据----如何表达数据,如何处理数据。
而计算机语言所要具备的两个部分的功能,首先就是完备的描述数据的性质,然后就是描述数据的处理过程。
那么,什么是数据呢?●数据就是符号化了的信息!对于计算机来说,任何信息都只有表示为符号,才能被认可;反过来说,计算机只能输入符号,而不会也不能理解符号的含义,它的能力只是体现在按照既定规则来处理符号。
然后,就是给出数据的表示,即如何用符号来明确而无歧义地表达数据。
要使得符号具备数据的含义,需要经过这么几个步骤:●处理符号的第一步:给符号分类,并给出描述符号性质的方法。
这个分类是人作为设计者给符号规定语义的第一步,因为对于人来说,数据不能只是符号,而是具有来自真实世界的语义,设计者正是根据符号的这种语义,制定相应的处理符号的规则,而计算机要想能够正确地处理符号,基本的前提,就是每当引入一个数据,都得由人向机器声明这个数据是什么类型,这个数据具备什么性质,而且假设计算机已经被引入处理该种数据类型的规则。
●处理符号的第二步:区分常量与变量。
这一对范畴反映了最基本的人类抽象能力,也正是人类思维的基本模式。
要想让机器模拟这种能力,最简单的做法就是:任何时候都必须首先声明,哪些符号表示常量,哪些符号表示变量,而变量相应的取值范围必须规定好,也就是说必须描述其取值为具有何种属性的常量值的集合;或至少已经被机器默认。
●处理符号的第三步:给每一类数据规定相应的合法运算。
对于一种数据可以执行什么样的运算,来自于语言设计者对数据语义的规定,只有当运算被表示为相应的机器指令或指令集合,这时在表面看来,机器才开始真正“理解”了数据的“涵义”。
因此可以说,数据的定义构成了计算机的“灵魂”。
按照上面讨论的步骤,说明一个数据类型包括四个方面:●命名的语法●取值的范围与属性说明●该数据类型的常量的表示方法●定义合法的运算因此相应的一个数据类型的四个要素就是:(1) 名字;(2) 值的集合;(3) 表示值(相应的常量)的方法;(4) 操作值的运算的集合。
对于这四个要素,FORTRAN一方面要约定它们的语法形式,从而可以构成符号描述的唯一性标记,保证相应的描述语句能够被FORTRAN编译系统无歧义的辨识,另一方面就是要给出这些语法形式所对应的含义。
5.2 用FORTRAN来说明数据的性质真实世界的数据显然是多种多样的,几匹马,轴承的内径,圆周长与直径的比值,电子的波函数,非各向同性电介质的电极化率,10个被试每日的最高血压等等,这些数据都具有非常不同的形式与性质,如果我们每针对一种数据形式,都把它定义为某一种新的数据类型,则肯定是烦不胜举,因此合理的途径是找到一种统一的数据描述方式,而对于科学计算问题来说,自然的数据分类方式是数学对数值数据的分类,再加上非数值型数据,会是非常适合于科学计算的数据表达方式。
当然,如果是以描述其他类型的问题为目的,如事务处理,符号演算等,则选用另外的数据分类方式会更有效。
至少从数学的观点来看,我们常常需要处理的数据,都可以表示为一些基本数据类型的组合,例如我们知道向量实际上就是一个数组,数组的每个元素为标量,因此应用数组这种结构,就可以自然地表示向量,另外复数尽管也可表示为一个二元数组,但是这种二元数组的乘法不同于二维向量,因此为了避免这种歧义,FORTRAN把复数当成一个基本数据类型。
而几种基本标量里面,整数和实数都同样必须构成基本的数据类型。
由此可以建立FORTRAN的对数据的类似描述。
由于真实世界问题的要求的不同,对数据的描述也有程度不等的情况,最基本的情况就是直接说明数据的类型以及其他属性,又由于数据表示的实现具有一个重要的参数,即存储空间,所以当问题要求的数据,不能满足于默认的存储空间的时候,这时,就需要进一步给出数据的种别参数,这是更加详细的数据描述。
如果在真实世界问题当中出现的的数据对象,干脆不符合已有的固有数据类型以及数组的定义,这时就还需要根据用户的要求构造一个依赖于问题的特定的数据结构,这就是数据描述时会遇到的第三种情况。
对于这三种情况,FORTRAN的解决方式如下:第一种情况:确定数据的类型以及相应的可能具有的属性。
首先,FORTRAN所能辨识的数据类型首先分为两大类:●固有数据类型●派生数据类型根据语义上的基本差别,数据首先具有一些基本的类型,这些基本类型一般是和构成真实世界里的信息的那些基本元素相对应,比方说数字,字符等。
然后其他情况下遇到的数据都可以由这些基本数据类型组合得到。
不过一种语言具体的规定哪些基本的数据类型,往往受到该种语言主要应用的场合的影响,由于FORTRAN主要用来进行科学计算,因此它所定义的基本数据类型,正是与我们在科学计算问题当中遇到的数据类型相契合的。
●所谓固有类型,是FORTRAN语言所定义的最基本的数据类型,每一种固有类型是和该种数据类型相应的各种运算一起隐式定义的,也就是说一旦声明引入某种固有数据类型,则系统总是默认为对它进行相应的运算是合法的,并且总是可访问的。
这样就做到了每种数据类型都和它相应的运算捆绑在一起,使得问题的描述非常自然。
●固有类型包括五种:整型(INTEGER)、实型(REAL)、复型(COMPLEX)、逻辑型(LOGICAL)和字符型(CHARACTER)。
这个分类完全是遵循数据的数学分类,即整型指整数,实型指实数,复型指复数,逻辑型指逻辑值,字符型则是语言的基本元素。
这样就可以把基本的数学语言一一对应的直接翻译为FORTRAN语言。
●所谓派生类型是由用户定义的,非隐式定义的类型,只要用一个类型定义来声明其成员是何种固有类型,或者是何种其它已经定义过的派生类型,就能够被FORTRAN 认可为一种数据类型。
由于派生数据类型正是由固有数据类型充当成员而构成的,因此在结构关系上,可以把固有数据类型看成原子,而把派生数据类型看成分子。
由于语言的根本目的就是为描述算法服务的,因此从这个角度出发,派生数据类型本质上体现了非常重要的数据抽象与数组合的思想,由于我们需要运用语言来描述的问题是开放性,我们很难划定需要FORTRAN来描述的问题的范围,因此通过构造派生数据类型,使得我们可以很自然而简洁地建立新的数据类型。
这是FORTRAN在FORTRAN77标准之后的一个重大进步。
派生类型数据最重要的用途就是扩充了数组这种重要的数据结构,由于数组在科学计算领域,是一种极端重要的数据结构类型,FORTRAN除了能够直接描述数组,同时还能描述更为广泛的派生数据类型,也就可以直接对一个数据集合的各个成员同时施加运算,拥有了这种自然的数据类型,就避免了象FORTRAN的早期版本那样,需要通过特别设计的算法来实现这种运算。
所谓固有数据类型的固有,对于FORTRAN来说,就是为每一种固有数据类型规定了它的存储模式。
在FORTRAN77及其之前的标准里,整型,实型,逻辑型数据都是使用了一个数值存储单元,而复型和双精度数据则使用了两个数值存储单元,字符型数据使用一个字符存储单元。
由于存储模式是非常底层的语言实现结构,因此FORTRAN后续的标准要想保持兼容,只有继承这个约定。
因此在FORTRAN90与95当中,默认的整型,实型,逻辑型数据都是使用了一个数值存储单元,而默认的复型和双精度数据则使用了两个数值存储单元,默认的字符型数据使用一个字符存储单元。
而作为语言的一个发展,在FORTRAN90之后的标准里,开始允许在一个程序单元内,由用户定义特定的不依赖于固有数据存储模式的数据类型,这就是第6章的派生数据类型。
建立一种数据类型,最大的好处就是可以把相关的运算和数据捆绑在一起,对于一个特定问题当中的数据对象,是否应该被明确地看成数据类型,属于语言设计的权宜,因为建立一种数据类型所能带来的好处可以用算法来补偿,而FORTRAN77之后的版本的选择是增加派生数据类型,这样使得我们可以在进行科学计算时,有更为自然的描述方式。