### Fortran语言基础及其应用 #### 一、Fortran语言的发展与意义 ##### 1.1 Fortran语言发展概况 **1.1.1 Fortran的历史** - **Fortran I到Fortran IV**:Fortran(Formula Translation)是最早被广泛使用的高级编程语言之一,最初由IBM公司开发。Fortran I于1957年推出,之后经过多次更新和发展,到Fortran IV时期已经成为了科学计算领域的重要工具。 - **Fortran 77到Fortran 90**:随着计算机技术的进步和编程需求的变化,Fortran也经历了重大变革。Fortran 77作为Fortran IV的改进版,于1978年由ANSI发布标准,而Fortran 90则是在1991年发布,引入了许多现代编程语言的特性,如自由格式输入输出、模块化等。 **1.1.2 学习Fortran的意义** - **Fortran 77**:尽管Fortran 77相对老旧,但因其简单且效率高,至今仍在一些特定领域(如天文学、物理学)有着广泛的应用。 - **Fortran 90**:Fortran 90进一步增强了语言的功能性,使其更适合现代编程环境的需求,包括更强大的数据处理能力和更好的可读性。 ##### 1.2 Fortran程序简例 **1.2.1 编程实例** - **基本语句**:Fortran程序通常由一系列基本语句构成,如变量声明、赋值、循环控制等。 - **输出字符**:使用WRITE语句可以将结果输出到屏幕或文件中。 **1.2.2 Fortran程序的特点** - **结构清晰**:Fortran程序通常具有良好的结构和清晰的逻辑。 - **高效的数值计算能力**:Fortran特别适合进行大规模数值计算任务。 #### 二、Fortran程序的基本组成 ##### 1.3 Fortran程序的基本组成 **1.3.1 字符集** - Fortran使用标准ASCII字符集。 **1.3.2 源码格式** - **固定格式**:早期版本的Fortran要求源代码遵循固定的格式规范。 - **自由格式**:从Fortran 90开始,支持自由格式的源代码,提高了编程的灵活性。 **1.3.3 程序组成** - **程序总体构造**:一个完整的Fortran程序可能包含多个程序单位,如主程序、子程序等。 - **程序单位**:每个程序单位负责特定的功能。 - **程序体和语句顺序**:程序体包含了程序的具体实现细节。 - **英文名**:所有标识符(如变量名、函数名)都必须是英文。 - **标号和标签**:标号用于标记语句的位置,标签则用于标记特定的数据结构。 #### 三、数学运算 ##### 1.4 数学运算 **1.4.1 常量和变量类型** - **常量**:不可改变的数值或字符串。 - **变量**:在程序运行过程中可以改变的值。 **1.4.2 内在函数** - Fortran提供了丰富的内置函数,如数学函数(如SIN、COS)、逻辑函数等。 **1.4.3 算术表达式** - **算术运算符和运算优先级**:Fortran支持基本的算术运算符,如加减乘除。 - **算术表达式的含义和表示方法**:表达式由变量、常量和运算符组成。 - **表达式运算中的类型**:Fortran会根据变量和常量的类型进行相应的运算。 - **运算的误差**:由于浮点数的精度限制,某些运算可能会导致小数点后位数的误差。 **1.4.4 赋值语句** - **算术赋值语句**:用于将计算结果赋给变量。 - **执行时的类型转换**:当赋值时变量类型与表达式类型不一致时,Fortran会自动进行类型转换。 #### 四、Compaq Visual Fortran软件的使用 ##### 1.5 Compaq Visual Fortran软件的使用 **1.5.1 版本介绍** - Compaq Visual Fortran是一款流行的Fortran集成开发环境(IDE),支持多种Fortran版本。 **1.5.2 安装和运行** - 安装过程简单,运行稳定,是学习和开发Fortran程序的好工具。 #### 五、算法和流程图 ##### 2.1 算法和流程图 **2.1.1 算法** - 算法是一组解决特定问题的步骤和指令集合。 **2.1.2 流程图** - **传统流程图**:用图形符号表示算法的各个步骤。 - **三种基本结构**:顺序结构、选择结构、循环结构。 - **结构流程图**:强调模块化的流程图表示方法。 - **伪代码表示的算法**:使用类似于自然语言的描述来表示算法。 #### 六、逻辑运算 ##### 2.2 逻辑运算 **2.2.1 关系表达式** - **关系运算符**:用于比较两个数值或字符串。 - **关系表达式**:通过关系运算符连接两个表达式。 **2.2.2 逻辑表达式** - **逻辑量**:布尔值(真或假)。 - **逻辑运算符**:AND、OR、NOT等。 - **逻辑表达式的运算**:根据逻辑运算符的规则计算表达式的真假值。 **2.2.3 逻辑IF语句** - 用于根据逻辑表达式的值决定程序的执行路径。 #### 七、选择结构 ##### 2.3 选择结构 **2.3.1 块IF构造** - **块IF的组成和执行**:IF语句可以根据条件执行不同的代码块。 - **ELSEIF语句**:允许在IF语句中添加多个条件判断。 - **IF块构造**:可以嵌套使用多个IF语句。 - **IF构造的缺省形式**:IF语句的简化写法。 - **IF构造的嵌套**:IF语句可以嵌套使用,形成复杂的条件逻辑。 **2.3.2 多重选择和CASE构造** - CASE构造允许根据不同的条件执行不同的代码块,适用于多选一的情况。 #### 八、循环结构 ##### 3.1 单纯循环 **3.1.1 GOTO语句实现循环** - 使用GOTO语句可以实现简单的循环逻辑。 **3.1.2 有循环变量的DO构造** - **DO语句和循环次数**:指定循环变量和循环次数。 - **DO循环执行步骤**:定义循环体内的操作。 - **循环终端语句**:控制循环何时结束。 - **停止语句**:提前结束循环。 - **DO循环嵌套**:允许嵌套使用多个DO循环。 - **DO循环规则**:遵循特定的语法规则。 - **隐DO循环**:一种特殊的DO循环形式。 **3.2 条件循环** - **无循环变量的DO构造**:根据条件决定是否继续循环。 - **EXIT语句**:提前退出循环。 - **CYCLE语句**:跳过当前循环迭代,进入下一次迭代。 - **DOWHILE语句**:根据条件执行循环体内的操作。 #### 九、数据类型和属性 ##### 4.1 数据类型和属性 **4.1.1 类型说明语句** - **一般形式**:使用类型说明语句定义变量的类型。 - **类型说明**:指定变量属于何种数据类型。 - **赋初值**:可以在声明变量时为其赋予初始值。 - **DATA语句**:用于批量赋初值。 **4.1.2 种别说明** - **种别说明方法**:定义变量的精度等级。 - **种别值**:用于指示精度的数值。 - **种别函数**:获取变量的种别值。 - **常数种别**:为常数指定种别值。 - **整数的其他进制**:支持二进制、八进制和十六进制表示。 **4.1.3 属性说明** - **属性**:变量的特殊性质。 - **PARAMETER属性**:表示常量。 - **DIMENSION属性**:定义数组的维度。 #### 十、非数值型数据 ##### 4.2 非数值型数据 **4.2.1 逻辑型数据** - **逻辑型变量**:布尔类型的变量。 - **逻辑赋值**:对逻辑型变量进行赋值。 **4.2.2 字符型数据** - **字符变量**:存储字符串的变量。 - **字符子串**:从字符串中提取子串。 - **字符操作与赋值**:对字符变量进行各种操作。 - **字符比较**:比较两个字符串是否相等。 - **字符函数**:提供对字符串的操作功能,如长度查询、查找等。 #### 十一、派生数据类型 ##### 4.3 派生数据类型 **4.3.1 数据结构** - 定义复杂的数据结构,如记录类型。 **4.3.2 派生类型** - **派生类型定义**:用户自定义的数据类型。 - **缺省初始化**:为派生类型的成员提供默认值。 - **结构构造函数**:创建派生类型实例的方法。 - **应用**:在实际编程中使用派生类型。 #### 十二、数组 ##### 5.1 数组定义与类型 **5.1.1 定义数组** - **数组的描述**:一组相同类型的数据集合。 - **数组元素**:数组中的每一个数据项。 - **数组片段**:数组的一部分。 - **三元下标**:使用三个索引访问数组元素。 - **向量下标**:使用单个索引访问一维数组元素。 **5.1.2 数组类型** - **显示形状数组**:数组的尺寸在编译时确定。 - **自动数组**:根据上下文自动确定数组尺寸。 - **可调数组**:数组的尺寸可以在运行时调整。 - **假定形状数组**:部分尺寸在编译时已知,其余尺寸在运行时确定。 - **假定大小数组**:数组的尺寸由另一个数组决定。 - **延迟形状数组**:所有尺寸都在运行时确定。 #### 十三、数组赋值与运算 ##### 5.2 数组赋值与运算 **5.2.1 赋值** - **赋值方式**:为数组元素赋值。 - **数组的存储顺序**:数组元素在内存中的排列顺序。 - **与DO循环的差异**:直接赋值和循环赋值的区别。 - **RESHAPE语句**:改变数组的形状。 - **WHERE构造**:根据条件对数组进行操作。 - **FORALL屏蔽赋值**:在指定条件下对数组元素赋值。 **5.2.2 运算** - **基本运算**:数组之间的加减乘除运算。 - **数组与数组**:同维度数组之间的运算。 以上就是关于“77和90_95编程入门”的核心知识点概述,这些内容涵盖了Fortran语言的基础知识以及一些高级特性的介绍。通过对这些知识点的学习,读者可以对Fortran有一个全面的认识,并能够运用这些知识进行实际的编程实践。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 圆薄片自动装配设备sw20可编辑全套技术资料100%好用.zip
- 重型龙门CNC加工中心sw12全套技术资料100%好用.zip
- Analytics-90Day-2024-12-26-134101.000.ips.ca.synced
- 竹筷自动计数大袋包装封装输送设备sw16可编辑全套技术资料100%好用.zip
- 竹筷自动包装机sw16可编辑全套技术资料100%好用.zip
- 自动车钢管机(sw19可编辑+工程图)全套技术资料100%好用.zip
- 自动化球阀切割机(sw19可编辑+工程图)全套技术资料100%好用.zip
- 麒麟系统部署服务!!!!!!
- 自动剥离高精度贴膜机sw18可编辑全套技术资料100%好用.zip
- 自动化贴标机料卷送料拨料机 sw18可编辑全套技术资料100%好用.zip
- 自动化上下料烫金印刷机sw16可编辑全套技术资料100%好用.zip
- 自动化衣架除水口插针钩一体机sw17可编辑全套技术资料100%好用.zip
- 自动双轴包胶机sw18可编辑全套技术资料100%好用.zip
- 自动矫正叠料装盒机sw12全套技术资料100%好用.zip
- 自动上纸吸尘上料机圆盘烫印机sw16可编辑全套技术资料100%好用.zip
- 自动丝印机sw12可编辑全套技术资料100%好用.zip