




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FORTRAN程序设计 主讲 张华zhhua1979 科技楼518 0 1课程的意义0 2教学内容和目标0 3教学要求0 4学习方法0 5教材及参考书 0前言 程序设计是物探工作者必备工具之一数据处理 格式转换等正反演 信号处理等国内外物探数据处理软件大多数采用FORTRAN语言编写FORTRAN语言计算领域的优越性 0 1课程的意义 教学内容基本概念 Fortran语言的语法程序设计 利用Fortran进行程序设计解决问题 利用Fortran解决专业问题教学目标具备初步高级程序设计能力能够程序调试 测试 验证能力养成良好的编程习惯具备采用程序设计解决实际物探问题的能力 0 2教学内容和目标 注意基本能力的培养理论教学与实践并重关于作业要求独立完成关于考核平时成绩30 考勤 作业和实验考试成绩70 0 3教学要求 多看 多练 多想 三多 多看 经典代码多练 典型的算法编程实现多想 程序的改进网络资源FORTRAN论坛 QQ群等Google 百度中搜索 FORTRAN 源码库 文库等 0 4学习方法 教材FORTRAN95程序设计 中国电力出版社参考书FORTRAN95 2003程序设计 中国电力出版社VISUALFORTRAN常用数值算法集 科学出版社VISUALFORTRAN编程指南 人民邮电出版社FORTRAN完全自学手册 机械工业出版社Fortran常用算法程序集 清华大学出版社 0 5教材及参考书 1 1算法1 2程序与程序设计1 3Fortran程序设计的初步 1算法与程序设计 现代含义是采用逻辑思维的方法对获取数据用计算机处理的步骤 即计算机解题步骤或计算机算法 算法有五个基本特征 正确性 一个好的算法或程序必须保证执行后的结果正确 可读性 一个好的算法或程序应有良好的可读性 通用性 一个好的算法或程序要尽可能通用 应适用一类问题的求解 提高算法设计的效率 如 设计求解一元二次方程2x2 3x 1 0的算法 该算法最好设计成求解一元二次方程ax2 bx c 0的算法 高效率 高效率包括时间和空间两个方面 执行速度快 运行时间短 占用内存少 1 1 1算法的概念 Fortran是结构化程序设计语言 每个程序单位可由三种基本结构组成 顺序结构 分支选择结构 循环结构实践证明 任何复杂的问题都可以用这三种基本结构来描述 1 1 2算法及其表示方法 自然语言描述 流程图描述N S图描述PAD图描述伪代码描述 1 1 2算法的描述方法 问题 输入依次10个数选择最大值 伪代码描述自然语言描述 inputx输入一个数 并把该数存入x中 max x把x的值送入max中 n 0设置一个计数器n 并置初值为0 ifn 9goto 如果n的值等于9则转入第 步执行 inputx输入一个数 并把该数存入x中 ifmax xthenmax x如果max的值小于x的值 则把x的值送入max中 n n 1计数器n增加1 goto 转向第 步执行 outputmax输出max的值 1 2 1程序与程序设计 计算机解决问题所需要的一系列代码化指令序列 计算机程序 程序 数据结构 算法即 程序就是在数据的某些特定的表示方式和结构的基础上 对抽象算法的具体描述 上述公式可扩充为 程序 数据结构 算法 程序设计方法 语言工具 1 2 3程序设计的基本方法 所谓面向过程的程序设计 是指利用面向过程的语言工具 如Basic Pascal Fortran和C等 进行程序开发的各项活动 面向过程的程序设计 优点 编程简单 结构性强 可读性好 程序执行时序特征明显 遵循这种结构的程序只有一个入口和一个出口 缺点 存在数据与程序模块的分离和程序的可重用性差等问题 1 2 3程序设计的基本方法 结构化程序设计方法 结构化编码在结构化程序设计中 任何复杂的算法 都可以由三种基本结构组成 在构造算法时 也仅以三种基本结构作为基本单元 遵循这种结构的程序只有一个输入口和一个输出口 模块化设计将一个复杂问题的程序分为若干个程序模块 每个模块完成一项特定功能 其中有一个主模块和若干个子模块 主模块控制各个子模块来实现整个程序的功能 自顶向下 逐步细化 1 3程序设计的基本方法 面向对象的程序设计是一种新的程序设计范型 它将一些新的理念和结构化程序设计中好的思想相融合 提供了一种全新的程序设计方法 面向对象的程序设计 基本思想将一个需要求解的问题分解为一系列实体 对象 然后围绕这些对象建立数据和函数 函数的功能决定了该对象的行为 规定一个对象的函数可以访问另一对象的函数 但一个对象的数据不能应用于另一对象的函数中 分析问题 建立数学模型 设计算法 绘制流程图 选择语言 编写程序 调试程序 分析结果 整理资料 撰写文档 进行程序设计要遵循有关的程序设计规则和采用成熟的程序设计方法 程序设计方法有两种 一种是面向过程方法 一种是面向对象方法 前者称为传统方法 后者称为现代方法 代表了程序设计方法的发展趋势 面向过程方法又分为模块化方法和结构化方法 1 2 2程序设计的步骤 Case1 估算地球的重力加速度随高度的变化数学模型 1 2 2程序设计的步骤 programEarth gra 估算地球的重力加速度随高度的变化implicitnone F 引力常数 Earth M 地球质量 Earth R 地球半径realf Earth M Earth R 定义常数parameter f 6 667E11 Earth M 5 976E24 Earth R 6 371E6 realR g R 海拔高程 g 重量加速度read Rif R 0 theng f Earth M Earth R R Earth R 3 海拔小于零elseg f Earth M Earth R R 2 海拔大于零endifprint 海拔为 R 重力加速度大约为 g m s 2 end 程序代码规范清晰 语句表达准确到位常量 变量类型申明清楚注释书写清楚 利人利己多练多写多编译充分利用人脑 简化计算量提高效率养成良好的编程习惯 1 2 3编程要点 1 3 1发展历史1 3 2特点与功能1 3 3字符集1 3 4标示符1 3 5书写格式1 3 6语句1 3 6编译环境 1 3FORTRAN程序设计初步 1957年IBM发表 Fortran FormulaTranslatorFortranI 第一个被正式推广使用的高级语言主要面向科学计算 是为科学 工程问题或企事业管 中的那些能够用数学公式表达的问题而设计 其数值计算的功能较强1966年AmericanStandardsAssociation制定Fortran66标准1978年4月ANSI正式公布新的标准 Fortran X3 9 1978 Fortran771991年5月通过了研制期间称为Fortran8x的Fortran90Fortran95标准在1997年由ISO公布 为Fortran90的修正版 加强了Fortran在并行运算方面的支持 1 3 1发展历史 发展历史长 积累的财富多书写和语法规则要求严格可直接对数组和复数进行运算具有不可替代的并行计算功能FORTRAN是一种编译语言 1 3 2特点和功能 字符是组成程序的基本符号 程序中的变量 函数 表达式 语句等程序基本要素都是用一个个不同的字符书写构成的 1 3 3字符集 标识符是用来表示程序中的变量 符号常量 函数 程序等对象的一组符号 命名规则标识符由字母和 或 数字 下划线符号组成 且第一个字符必须是字母 ABC x y2 S123 sum B2K9P3 MY SUB pro fileA B x y 6T S x B 1 3 4标识符 使用变量名 程序名 函数名和符号常量名等字母大写和小写等价空格不起作用没有保留字在给标识符起名时 应充分考虑其所代表对象的含义 尽可能做到见名知义 以便于程序的阅读 修改和调试不能出现同一个标识符代表不同对象 1 3 4标识符 FixedFormat 固定格式 是旧式的写法 有较多的限制文件名用 F或 FORFreeFormat 自由格式 Fortran90以后新增的写法文件名用 F90 1 3 5书写格式 Fixedformat 固定格式 源程序必须严格按照一定的格式来书写在编译时对一行中不同位置上的内容分别处理 在fixedformat中 规定了程序代码每一行中每个字段的意义程序代码中的多余的空格没有意义 仅做分隔和方便阅读 如SIN X SIN X 配合打孔卡片的使用 Fixedformat 固定格式 Fortran90开始使用 文件名为 F90不再规定每一行的第几个字符有什么作用叹号 后面的文本都是注释每行可以编写132个字符行号写在每行的最前面一行程序代码的最后如果是符号 代表下一行程序会和这一行连接 如果一行程序代码的开头是符号 代表它会和上一行程序连接freeformat中的空格同样无意义 纯粹用来作为分隔及方便阅读程序代码使用 Freeformat 自由格式 Freeformat 自由格式 Fortran90程序是一种分块形式的程序 整个程序由若干个程序模块组成 各模块都有相似的语句组织形式 其中主程序起整体控制作用 各辅程序模块各自完成问题中的一个算法 1 3 6语句 主程序 PROGRAM程序名 语句可省略 END PROGRAM 程序名 END必须有辅程序 过程 SUBROUTINE子程序FUNCTION函数BLOCK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源行业企业数字化转型中的智能制造与区域产业协同报告
- 2025年消防安全设施维护与操作员实操与安全规范试题卷
- 2025年光伏产业链供应链协同报告
- 2025年大学人文教育专业题库- 大学人文教育与产学研结合
- 2025年大学劳动教育专业题库- 劳动教育与大学生社会责任感培养
- 2025年大学人文教育专业题库- 大学生应如何理解人文教育的意义
- 2025年大学融合教育专业题库- 融合教育理念下的大学生综合素质提升
- 2025年人力资源管理师专业技能考核试卷:员工关系管理与冲突解决试题库
- 2025年医保知识考试题库及答案:医保定点医疗机构管理改革试题
- 2025年大学社会体育指导与管理专业题库- 社会体育项目项目评估
- 重离子、质子治疗前景与适应症-武汉
- 组织行为学(-)(英文版)课件
- 商务谈判(完整版)课件
- 小学数学教师新课标考试试题
- 小学数学北师大四年级上册五方向与位置四上《用数对确定位置》北师大版李雪梅PPT
- 步进电机控制系统课件
- 2022年混凝土预制U型槽单元工程质量评定表
- 井喷及井喷失控案例教育
- 职业发展与就业创业指导ppt课件完整版
- 挠度计算模板表格(自动版)
- 宝钢集团生产安全事故案例汇编
评论
0/150
提交评论