Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队 http://www.fcode.cn.

Slides:



Advertisements
Similar presentations
營養午餐 嘉大附小四年二班. 形容詞豐富 鍋燒烏龍麵裡有很多料,有細細長長的麵、翠 綠的青菜、像雨傘的香菇、紅紅的蘿蔔和像圓 月的丸子。每次去盛鍋燒烏龍麵時,我都會聞 到香噴噴的味道,讓我好餓,似乎可以吃下一 頭牛。吃下第一口時,有彈牙的麵、鮮甜的青 菜、 QQ 的香菇、軟軟的丸子,還有脆脆的紅 蘿蔔。每當我吃完第一碗,就還想吃第二碗,
Advertisements

项目四 网店推广与营销 4.1 店内推广与营销. 教学目的: 通过本节内容的学习,帮助学生了解消费者保障服务分类,理解店内活动是运 营店铺时不可缺少的一些营销活动。 知识要求: 1. 了解申请加入消费者保障服务项目的条件 2. 了解店内活动如满就送、限时打折、搭配套餐、优惠券的设置 技能目标: 1.
广西 2014 年 “ 区培计划 ” 学前教育远程培 训 总结简报 南宁马山县幼教 1 班 莫毅.
中职教师省级网络培训 使用说明 南京中华中等专业学校教研处 平台登陆 登录 (江苏教师教育) 在页面右侧找到登录框,填写用户名、密码进入系统.
“ 税融通 ” 业务简要介绍. + 一、什么是 “ 税融通 ” ? + “ 税融通 ” 是指银行金融机构根据中小微企业 纳税情况,向依法诚信的中小微企业提供 一定数额的信用贷款或担保贷款的金融产 品。
学年 江西省教师全员远程培训指南. 培训学习及考核时间安排 学习时间: 2013 年 10 月 年 1 月 15 日 考核时间: 2014 年 3 月 1 日 年 3 月 30 日.
-- 八 (19) 班第二学期期中家长会 、关于期中考试 2 、关于班级常规活动 3 、关于会考、体育 4 、关于自主招生 5 、给家长的一些建议.
山东理工大学成人高等教育 新生入学指南. 如何获悉学院的通知公告等? 1. 网站。所有的通知公告等都通过远程与继 续教育学院网站 发布, 同学们应每周登录 “ 学生工作室 ” 或 “ 函授教育 ” 关注是否有新的通知公告。
此时此刻,我还是爱你?还是不爱? 我想,我不爱你了! 因为我累了, 我爱得累了 …………. 你的好对于我来说 像是一种无形的压力 每次你对我好 我都觉得好难承受 你越是对我好 我就越怕你 总是想逃避。
财务处目前共有 50 人,其中事业编 32 人,非事业编 18 人。分为 6 个科室,分别是会计核算科、资金结算中心、综合管理科、预算管理科、 基建财务科和一卡通中心。 会计核算科主要业务为收入入账、费用报销审核等。 资金结算中心主要业务为资金收付、开具发票、学费管理。 综合管理科主要业务是工资及住房公积金管理、税务管理、收费项目.
心理咨询师的个人品牌建设 徐钧 南嘉心理咨询师部落(俱乐部) 申请 QQ 酒香还怕巷子深 你需要一个 “ 个人品牌 ” 以让别人知道你 你是谁? 你的目标是什么? 你要成为什么样的人? 你能做什么? 你会怎样做? 怎么与你有效沟通?
房地产法 主讲教师:龙慧峰 QQ: 电话: 法律实质上既是物质的又是意识形态的这一 事实是与以下事实相联系的:法律既是从 整个社会的结构和习惯自上而下发展而来, 又是从社会中的统治阶级们的政策和价值 中自上而下移动。 —— 【美】伯尔曼《法律与革命》
某中学一青少年因迷上网络游戏,视力由1. 2下降到0
加强工作室资源建设 提升网络辐射影响力 林月周工作室
和合共美,同修共进 ——工作室三年感言 何伟俊
凉山州2011级一诊考试情况分析 暨后期复习建议 四川省凉山州教育科学研究所 谌业锋.
发挥学科优势 打造“互联网+”党建工作模式
《凉山州中长期教育改革和发展规划纲要》( 年)解读 (讲座幻灯课件请在网上下载,让我们一起思考!)
坚持群众路线 做到“三严三实” 内蒙古直属机关工委党校 裴聚斌 电话:
新所得税申报表如何填写 注册税务师 注册会计师 高级会计师 注册资产评估师 注册土地估价师 注册房地产估价师 主讲人:林溪发
校园法治网 ◎传播校园法制文明 ◎营造校园法治环境
人类行为的起源 康复医学系 王海成 医学教授 精神科主任医师 QQ: 手机:
我的未来,我做主之 坚持不懈,直到成功。 电话: QQ: 时间:2013年5月27日 肖亚平.
(讲座幻灯课件请在网上下载,让我们一起思考!)
自读高晓声的小说 《陈奂生上城》 写一篇800以上的感悟文章.
高考成功心理 平凉一中 刘雅娟.
2012江西(九江吉安)事业单位 公共基础知识 备考指导 主讲:罗红军 qq: 新浪微博:罗红军的微博
运筹帷幄 决胜高考 应怎样去做? 湖北黄冈中学 余利平 QQ:
幼儿园环境创设 成智客服QQ:
工作中的九型人格 主讲嘉宾:梁旭 ---九型人格应用系列课程 介绍自己 有多少听过九型 课程纪律 课程时间 工作中的九型人格
客 家 仙 草 台北縣中和市秀山國民小學 五 年 十 班 王 靖 婷.
上海培训班交流材料 顶岗实习考核评价体系研究 辽宁建筑职业技术学院  孙玉红 2010年6月.
计算机基础知识 陈嘉明 玉溪农业职业技术学院.
凝心聚力 弘扬宣传思想工作正能量 ——2015年工委宣传部上半年工作总结.
教体系统“两学一做”辅导报告.
党员服务站宣传册 党站宗旨: 主导精神: 全心全意为同学服务 踏踏实实树党员形象 以人为本 服务为重
一切为了孩子 为了孩子的一切 港中数学网 收集整理 —八(1)班家长会.
制定和执行一标两案的基点 —对技能大赛和教学质量检测工作的认识
淮北一中2014心理班会课1 (给莘莘学子加油) QQ:
加强作风建设 同心共筑 四川省委党校 任春艳.
(讲座幻灯课件请在网上下载,让我们一起思考!)
健康所系,性命相托 ——2012级新生教育管理工作阶段总结 中山大学中山医学院 汇报人:刘少静.
网络研修天地 我与名师同行 ——襄阳高新区小学数学班简报 编辑:王继锋.
第一章 总论(承前) 主要内容: 1.简单介绍了会计的产生的和发展
第四章 中国近代文化 思想 科技 教育 历史 文学 戏剧 百侯中学 QIUHANZHANG制作 QQ: 绘画 退出.
港澳高校调研学习汇报 心理健康教育专题.
2010年个人岗位 精细化管理方案 鸡西大学继续教育部 刘欣悦.
大学生意外事故处理与应对.
譬喻法 可讓文句多采多姿 她跑得像隻黑豹般快速.
资产评估实务 财经学院 童彦成 电话: QQ:
让爱住紫荆 教师师德培训.
长沙神来福小吃培训 1.特色小吃培训 2.特色餐饮培训 3.家常菜培训 4.这种馅饼培训 5.特色面条培训 6.长沙臭豆腐培训 7.早餐培训
2011年梅州市高(完)中校长任职资格培训班 领导、校长莅临指导! 热烈欢迎.
我的母亲 老舍. 我的母亲 老舍 关于作者和写作背景 老舍是中国饮誉世界的小说家、戏剧家,是一位文化巨匠,一位语言艺术大师。  关于作者和写作背景   老舍(1899~1966)满族,原名舒庆春,字舍予,生于北京。 老舍是中国饮誉世界的小说家、戏剧家,是一位文化巨匠,一位语言艺术大师。
第十五章 中国特色社会主义事业的领导核心 王晓莹.
工资福利退休 政策及办事指南.
香港普通話研習社科技創意小學 周順強老師.
简明连贯得体 准确鲜明生动 写完读一遍 不顺改一改 真诚教育 zhenchengjiaoyu 四年级作文第10课
全员培训 幼儿教师 南通市 总结 2014 通州9班 赵杏芳.
香港明愛 綜合家居照顧服務 PWD個案分享.
5月9日—5月13日买家电请来金坛康美海尔,苏果一楼海尔专卖店:买空调送液晶,买冰箱送洗衣机!豪礼送不停,省钱又省心。
远程教育站点管理 及齐鲁先锋平台的使用 平阴县党员干部现代远程教育中心.
Chapter 2 Basic Elements of Fortran
第4章 常量和变量 常量和变量都是程序中预留的用于保存数据的内存空间。常量的值在程序运行过程中始终不会发生变化。而变量的值在程序的运行过程中是可以变化的。在Fortran语言中,有五种基本的数据类型可供使用。他们分别是整型(INTEGER)、实型(REAL)、复型(COMPLEX)、字符型(CHARACTER)和逻辑型(LOGICAL)。按用途,又可以分数值型、字符型和逻辑型三种。相应的常量和变量也可以分为这三种。本章将按照用途介绍常量和变量的基本概念。
排列组合 1. 两个基本原理 分类加法计数原理 分步乘法计数原理.
第三节 常见天气系统.
2016年12月刊.
Fortran 实用编程 Fortran Coder 研讨团队 系列视频教程
Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队
Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队
Presentation transcript:

Fortran 实用编程 系列视频教程 Fortran Coder 研讨团队 http://www.fcode.cn

关于 Fortran Coder Fortran Coder 始于2006年,是一个以科学计算编程为主题的非盈利性研讨团体。大多数由各行业高等学府学生,研究人员及生产一线的工作人员组成。 研讨内容涉及:Fortran77/90/95/2003/2008语法规范,各平台32位及64位编译器,IMSL,MKL,Lapack 等数学函数库,MPI,OpenMP,Coarray 并行及高性能计算,winteracter / DisLin / Matfor / GTKFortran 等绘图及界面库。

关于本套视频 本套视频以解决实际问题为主要目的,旨在为您解答课本上较少涉及到的实际问题。通过本套视频,您会更容易了解: 如何查找错误?如何解决错误? 如何学习 Fortran2003 和 Fortran2008 语法? 如何用最通俗易懂的写法解决实际问题? 如何看懂别人的优秀代码并为自己所用?如何让自己的代码更优美、更普适? 本套视频由 Fortran Coder 研讨团队录制,供所有 Fortran 程序员和学习者免费自由的观看,您可随意的传播它。但请保证视频完整性。 我们将会不定期的更新本套视频,请持续关注我们的网站、QQ群! 同时,如果您对 Fortran 相关有自己的见解,并愿意通过录制视频的方式与其他人分享,请联系我们!

上节要点回顾 文件只有两种:文本文件和二进制文件,这是文件的本质 fortran读取文件有三种方式:顺序、直接、流文件读取 因此,组合以后以后,一共 2*3=6 种 读写文件用到 Open/Read/Write/Close 四个语句 Read读取时尽量采样表控格式(*) 顺序读取需从前往后依次读取,直接读取可以跳转,但要求每记录(行)的长度一致。

语法之文件读写(下) 第十一讲 讲解人:雪球 gao@fcode.cn http://www.fcode.cn 讨论QQ群:2338021 基础篇 第十一讲 语法之文件读写(下) 讲解人:雪球 gao@fcode.cn http://www.fcode.cn 讨论QQ群:2338021

目 录 1 顺序读写无格式文件 2 直接读写无格式文件 3 流文件读写无格式文件 4 其他问题

顺序读写无格式文件 无格式文件(二进制文件),用于机器阅读,人类读懂较困难。 但是,它的格式与内存一样。因此是简单的复制到文件里,速度非常快! 非常适合: 大量的数据、中间数据、不希望普通用户看懂和随意更改的数据。 (SEGY、netcdf、bmp 、surfer grid 等都是二进制文件) 在了解二进制文件前,强烈建议安装一款“十六进制编辑器”软件。 用它,可在一定程度上“读懂”二进制文件(前提是你了解这个文件的格式) 本期资料里,附送一款 MiniHex 的绿色软件,可以打开任何二进制文件。

顺序读写无格式文件 顺序写入无格式文件,以记录为基本单元,读写过程分若干笔记录: 每次一笔记录,在记录前后各多出4个字节,用来记录本次写入的长度。 顺序读取时,通过这4个字节知悉当前记录的长度。

顺序读写无格式文件 我们再读取此文件时,程序会首先读入前 4 个字节,获得本笔记录的长度。 随后读入后 4 个字节,以验证是否与前 4 个字节相同(如不同则报错) 最后,把中间的字节按顺序,读取到变量列表里。

顺序读写无格式文件 因为有这个特殊的前后4字节,所以, 用 Fortran 顺序写入的文件,尽量还是用 Fortran 顺序读取。 用其他方式也可以读取顺序写入的文件,但会比较罗嗦和繁杂。 即: 只用 fortran,可以用顺序读写。 与其他软件、语言交互,通常不使用顺序读写。

目 录 1 顺序读写无格式文件 2 直接读写无格式文件 3 流文件读写无格式文件 4 其他问题

直接读写无格式文件 直接读写无格式文件,也以记录为基本单元,读写过程分若干笔记录: 但每一笔记录的长度,是固定的,在 Open 时指定。 在某些编译器上RecL 的含义是多少个 4 字节,而不是多少字节

直接读写无格式文件 直接读写无可以随便跳转到任何整记录读写,也可以一边读一边写。 读取时,不一定按照写入时候的顺序。

直接读写无格式文件 直接读写无可以随便跳转,自定义顺序,因此读写比较灵活。 但要求每个记录的长度一样,且Open以后就无法改变。 对于数据结构比较混乱(有2字节,有4字节,有8字节)的文件,读取不方便。 很多时候不得不多次Open、Close。用不同的RecL来读写不同长度的数据部分。 在以前,我们有一些技巧,来实现一次读取。 例如 Equivalence 语句,让不同长度的数据共享内存 就可以读写一个,而得到另一个。 然而,现在有了流文件方式,就不再推荐这种奇淫巧计了。 或者使用 MvBits 等函数对内存中的个别位进行移动

直接读写无格式文件 下面我们看一个直接读写 Goldensoft Surfer *.grd 文件的例子: 资料中有 fcode_test.grd,它是一个 6*10 的网格化文件 内容 类型 数值 长度 标记 character(len=4) DSBB 4 M、N integer(kind=2) 6 、 10 2*2 MinX 、MaxX real(kind=8) -2.0d0、3.0d0 8*2 MinY 、MaxY -4.0d0、5.0d0 MinZ 、MaxZ 0.0d0、5.83d0 Grid( M , N ) real(kind=4),dimension(m,n) 数组 4*6*10 共296字节

直接读写无格式文件 直接读写,理论上可读写任何文件。但对于长度不一的数据,会比较繁琐。 因此,它更适合读写那些:大量的,长度相同的, 或纯粹的数组。 在Fortran2003以前,它是读取二进制文件的唯一选择。 我们曾经用它开发过读写 SEGY 的代码,其逻辑复杂性不言而喻。 在 Visual Fortran 系列编译器上,还扩展有 binary 方式的读写。 其类似顺序读写,但没有前后4字节的表征。因此也比较灵活。但它是扩展语法,不规范

目 录 1 顺序读写无格式文件 2 直接读写无格式文件 3 流文件读写无格式文件 4 其他问题

流文件读写无格式文件 流文件,是 Fortran2003 的新语法!它完胜前 2+1 种读取方式! 它允许自由控制读写位置,自动判断本次读写的长度!强烈推荐!

流文件读写无格式文件 流文件,打开时,不指定 recl,打开后,读取位置自动在文件开始处。 执行 read 语句时,不指定 rec,读取长度 L 根据后面的变量表自动计算。 读取后,读取位置自动向后移动 L 个字节。一切都是自动完成的。

流文件读写无格式文件 除了可以自动判断位置和长度之外,流文件也允许随意跳转。 如上,我们只想读取 m,n 可直接跳转到第 5 字节读取,而不读取 DSBB 也可以查询当前读取的位置: 查询以后,可以跳过一定的字节(如32)继续读取:

流文件读写无格式文件 我们可以用一个派生类型 type 来定义头部信息,之后一次读取整个头部。 尤其对于类似 SEGY 这种有多个头部(道头)的文件来说,非常方便。

流文件读写无格式文件 流文件读写非常方便,它甚至可以方便的读取“顺序写入的二进制文件”。

流文件读写无格式文件 小结: 二进制文件的读写,一定是建立在知晓文件格式的前提下。(猜测?) 准备并学习一款十六进制编辑器,对二进制文件的读写非常有用。 流文件方式是万能的,能方便的读写任何二进制文件。 但对于某些非常规则的纯粹的数组,直接读取方式效率最高。 一些老代码生成的顺序写入的文件,还是可以用顺序方式读写。 对于 Visual Fortran 扩展的 binary 方式,能读懂就可以,最好自己不要用。

目 录 1 顺序读写无格式文件 2 直接读写无格式文件 3 流文件读写无格式文件 4 其他问题

Open( FID , File = "文件名" , convert="BIG_ENDIAN" ) 其他问题 关于字节序: 对于超过1个字节的数据类型,如 integer , real 占有 4 个字节。 那么就存在 4 个字节的存储顺序的问题。这就是字节序 Open( FID , File = "文件名" , convert="BIG_ENDIAN" ) Little-endian Big-endian

流文件读写无格式文件 关于文件路径的问题: Fortran 标准语法中,并没有规定任何文件夹(目录/路径)的问题。 Open 语句的 File 子句,是传递给操作系统(系统调用),因此,一般可以使用带(绝对或相对)路径的文件名 Open( 12 , File = "subfolder\filename.ext" ) ! windows Open( 12 , File = "D:\dir\subdir\filename.ext" ) ! windows Open( 12 , File = "/etc/passwd" ) ! linux Open( 12 , File = "../../otherdir/filename.ext" )! linux

流文件读写无格式文件 关于文件路径的问题: 如果不带任何路径,则被认为是当前路径(working directory) 如果带相对路径,则以当前路径为基准。 通过命令行执行时,当前路径一般在提示符上(或 pwd 命令查看) 直接双击运行,当前路径在 exe 所在的文件夹 通过 IDE 方式运行,当前路径一般在工程所在文件夹。 一些 IDE 还允许设置当前路径(只对IDE方式运行有效)。

流文件读写无格式文件 关于文件路径的问题: 程序中可以通过一些方式,动态的更改当前路径 不同的编译器都有类似的扩展 IVF : ChangeDirQQ ; gfortran : ChDir ; 有的编译器还允许获得当前路径 IVF / gfortran : GetCWD 我们来看一个演示

感谢收看! Fortran Coder Group http://www.fcode.cn 下一讲:语法内的标准函数 敬请关注 & 期待 还有疑问?请联系我们 Fortran Coder Group http://www.fcode.cn