Fortran 实用编程系列视频教程.ppt
合集下载
FORTRAN语言程序设计ppt课件

do i=1,10 !循环语句
s=s+i
!循环体
enddo
上述循环所要执行的重复操作是: s=s+i (即循环体),但每一次循环时,循环 体的操作数据s,i的值是不同的。
.
精选2021版课件
8
2.3 算法的表示方法
(1)传统流程图 即用有向线段将描述算法步骤的各功能框连接起来.如下图所示:
A B 图(a)顺序结构
1.逻辑常量仅有两个,.TRUE.(真)和.FALSE.(假)。注意:逻辑常量 两侧的两个小数点不能省略。逻辑型常量是具有逻辑型数据类型的非数 值数据,又称为逻辑值或布尔值。
2.对于逻辑值.TRUE.,在其存储单元字节内每位为“1”,可视为整数值 -1;对于逻辑值.FALSE.,在其存储单元字节内每位为“0”,可视为整数 值0,它们均能参与整数运算。如7+.FALSE.,结果仍为7。1+.TRUE., 结果则为0。
数组、函数、过程等实体的名称。
名称的定义(即语法描述):由英文字母开头的31个以内 的字母、数字、下划线(_)以及美元符字符序列组成。
例:NUMBER、x1、root_2、y$ _ab、5xy、x.y
5.2.2 保留字 一个语句中的特定单词,如PROGRAM、END、IF、ENDIF、
DO、ENDDO等,称为语句保留字。 说明: FORTRAN90程序中允许用保留字作为其它实体的名 称,但是一般不提倡。
1x10-10
注意:单独的指数部分不能构成一个实型常量。 例:E5
5.6.2.3 复型常量
表示普通代数中的复数。即: a ± bi(其中a是实部, b是虚部)
一般形式:(a,b)
例:(-3,5)
!表示复数:-3+5i
Fortran-第十一讲55页PPT

SUBROUTINE localsub1(var1,var2)
...
END SUBROUTINE localsub1
END PROGRAM main
递归过程
RECURSIVE SUBROUTINE sub() RECURSIVE FUNCTION f() 例:
RECURSIVE INTEGER function fact(n) RESULT(answer) IMPLICIT NONE INTEGER :: n IF (n>=1) THEN answer=n*fact(n-1) ELSE answer=1
例如:
REAL,POINTER :: p
REAL,TARGET :: a=3.
p=>a
运行结果称指针p与变量a相关联
p单元内存储的是变量a在内
p=4
存中的地址
修改的是p指向的内存单元的值
等价于
a=4
REAL,POINTER :: p1,p2
REAL,TARGET :: a=3.,b=4. p1=>a p2=>p1 此时p2的值? Pointer1=>Pointer2
用数组的处理方法是有一定的局限性的, 如果向量的每个维度不是同一类型,就不 适合了
下面我们从简单的二维向量的处理开始学 习如何在模块中声明派生数据类型以及使
问题:创建一个包含二维向量数据类型的 模块以及两个完成向量加减法的函数
第一步: 创建一个容纳二维向量的派生数据类型: TYPE :: vector REAL :: x REAL :: y END TYPE vector
声明变量
因为自定义的数据类型是由内置数据类型 组成的,所以,也称之为派生数据类型
01章FORTRAN程序设计基础精品PPT课件

的问题,因此应提供输出结果,否则算法就没有 实际意义。
16
1.2.2 算法的描述
算法的描述有许多方法,常用的有:自然 语言、一般流程图、N-S图等。前面例1.1~ 例1.2的算法是用自然语言──汉语描述的,其 优点是通俗易懂,但它不太直观,描述不够 简洁,且容易产生二义性。在实际应用中常 用流程图表示算法。
17
1. 一般流程图
一般流程图是一种传统的算法描述方法,它用不同 的几何图形来代表不同性质的操作。例如,用矩形框 表示要进行的操作,用菱形框表示判断,用流程线将 各步操作连接起来并指示算法的执行方向。一般流程 图的主要优点是直观性强,初学者容易掌握。缺点是 对流程线的使用没有严格限制,如毫无限制地使流程 任意转来转去,将使流程图变得毫无规律,难以阅读。 为了提高算法可读性和可维护性,必须限制无规则的 转移,使算法结构规范化。
9
什么叫程序设计?
对于初学者来说,往往把程序设计简单地理解 为只是编写一个程序。这是不全面的。“程序设计” 反映了利用计算机解决问题的全过程,包含多方面 的内容,而编写程序只是其中的一个方面。使用计 算机解决实际问题,通常是先要对问题进行分析并 建立数学模型,然后考虑数据的组织方式和算法, 并用某一种程序设计语言编写程序,最后调试程序, 使之运行后能产生预期的结果。这个过程称为程序 设计。
x →max
i+1→i
n
n
输出max
20
2. 程序的三种基本结构
1966年Bohra和Jacopini提出了组成结构化算 法的三种基本结构,即顺序结构、选择结构和循 环结构。
《高级语言程序设计(Fortran)》
Tel: E-mail:
1
计算机是在“程序”的控制下进行自动工作的, 它解决任何实际问题都依赖于解决问题的程序。
16
1.2.2 算法的描述
算法的描述有许多方法,常用的有:自然 语言、一般流程图、N-S图等。前面例1.1~ 例1.2的算法是用自然语言──汉语描述的,其 优点是通俗易懂,但它不太直观,描述不够 简洁,且容易产生二义性。在实际应用中常 用流程图表示算法。
17
1. 一般流程图
一般流程图是一种传统的算法描述方法,它用不同 的几何图形来代表不同性质的操作。例如,用矩形框 表示要进行的操作,用菱形框表示判断,用流程线将 各步操作连接起来并指示算法的执行方向。一般流程 图的主要优点是直观性强,初学者容易掌握。缺点是 对流程线的使用没有严格限制,如毫无限制地使流程 任意转来转去,将使流程图变得毫无规律,难以阅读。 为了提高算法可读性和可维护性,必须限制无规则的 转移,使算法结构规范化。
9
什么叫程序设计?
对于初学者来说,往往把程序设计简单地理解 为只是编写一个程序。这是不全面的。“程序设计” 反映了利用计算机解决问题的全过程,包含多方面 的内容,而编写程序只是其中的一个方面。使用计 算机解决实际问题,通常是先要对问题进行分析并 建立数学模型,然后考虑数据的组织方式和算法, 并用某一种程序设计语言编写程序,最后调试程序, 使之运行后能产生预期的结果。这个过程称为程序 设计。
x →max
i+1→i
n
n
输出max
20
2. 程序的三种基本结构
1966年Bohra和Jacopini提出了组成结构化算 法的三种基本结构,即顺序结构、选择结构和循 环结构。
《高级语言程序设计(Fortran)》
Tel: E-mail:
1
计算机是在“程序”的控制下进行自动工作的, 它解决任何实际问题都依赖于解决问题的程序。
Fortran课件第一章

当 P 为真(T)时 A A P F T
当型循环传统流程图
当型循环 N——S 图
b) 直到型循环——先执行循环体 A 块一次; P 为假 当 (F) 时,反复执行循环体 A 块;当 P 为真(T)时,退出循环 体 A 块,流程转到下面的语句。注:也可以让 P 为真时, 执行循环,P 为假时,退出循环。
三、结构化程序设计方法 结构化程序设计方法,就是结合计算机语言的特点,把算法结 构化的程序设计方法。具体说来,就是规定一些基本结构,由基 本结构来组织更复杂的算法。 结构化程序设计方法中的三种基本结构:1)顺序结构,2)选 择结构,3)循环结构。 1) 顺序结构——顺序执行 A 块和 B 块。
A B A B
例 fortest101.f90
! Free Format Demo program main writቤተ መጻሕፍቲ ባይዱ(*,*) „Hi‟ write(*,*)& „John‟ write(*,10) 10 format(„Fine!‟) stop end program main
注释:程序 fortest101.f90 中,第一行有感叹号“!,说明“! ” ” 之后且同行的文本为注释部分;第四行程序代码后面的“&” ,说 明第五行“„John‟”是它的继续行;第七行的格式语句的标号“10” 写在前面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 . . . ... 72 73 C F I X E D F O R M A T p r o g r a m m a i n w r i t e ( * , * ) „ H i „ w r i t e ( * , * ) # „ J o h n „ w r i t e ( * , 1 0 ) 1 0 f o r m a t („ f i n e ! „ ) s t o p e n d Fortran 源程序必须包含且只能包含一个主函数(program 主 函数名…end 或 program 主函数名…end program 主函数名) 。 Fortran 程序由主函数开始执行,由主函数调用其他函数,最后返 回主函数结束。
当型循环传统流程图
当型循环 N——S 图
b) 直到型循环——先执行循环体 A 块一次; P 为假 当 (F) 时,反复执行循环体 A 块;当 P 为真(T)时,退出循环 体 A 块,流程转到下面的语句。注:也可以让 P 为真时, 执行循环,P 为假时,退出循环。
三、结构化程序设计方法 结构化程序设计方法,就是结合计算机语言的特点,把算法结 构化的程序设计方法。具体说来,就是规定一些基本结构,由基 本结构来组织更复杂的算法。 结构化程序设计方法中的三种基本结构:1)顺序结构,2)选 择结构,3)循环结构。 1) 顺序结构——顺序执行 A 块和 B 块。
A B A B
例 fortest101.f90
! Free Format Demo program main writቤተ መጻሕፍቲ ባይዱ(*,*) „Hi‟ write(*,*)& „John‟ write(*,10) 10 format(„Fine!‟) stop end program main
注释:程序 fortest101.f90 中,第一行有感叹号“!,说明“! ” ” 之后且同行的文本为注释部分;第四行程序代码后面的“&” ,说 明第五行“„John‟”是它的继续行;第七行的格式语句的标号“10” 写在前面。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 . . . ... 72 73 C F I X E D F O R M A T p r o g r a m m a i n w r i t e ( * , * ) „ H i „ w r i t e ( * , * ) # „ J o h n „ w r i t e ( * , 1 0 ) 1 0 f o r m a t („ f i n e ! „ ) s t o p e n d Fortran 源程序必须包含且只能包含一个主函数(program 主 函数名…end 或 program 主函数名…end program 主函数名) 。 Fortran 程序由主函数开始执行,由主函数调用其他函数,最后返 回主函数结束。
Fortran PPT课件1 (9)DO循环结构

3.2 DO循环结构
[name:] do [label[,]] [loop_control] block [label] term_stmt [name]
block为循环体,即重复执行的语句部分; term_stmt为循环终端语句,可谓CONTINUE 或者ENDDO,也可以是允许的其他可执行语句;
3.2 DO循环结构
do while(e) …… …… …… end do
逻辑表达式成立时,执行循环
do while循环执行过程
3.2 DO循环结构
例:使用DO WHILE循环计算2+4+6+8+10
program ex0604 implicit none integer, parameter :: limit=10 ! 计数器的上限 integer counter ! 计数器 integer :: ans = 0 ! 拿来累加使用 counter = 2 ! 设定计数器初值 do while( counter <= limit ) ans = ans + counter counter = counter + 2 ! 计数器累加 end do write(*,*) ans stop end
3.2 DO循环结构
FORTRAN 77经常用CONTINUE来结束程序
100
do 100, counter=2, limit, 2 ans=ans+counter continue
3.2 DO循环结构
Do i=e1, e2 [, e3]
1) 计数增值e3可以为负数,则终值e2必须小于起始 值,才能循环。例: do i=10, 1, -1 write (*, *) I end do 作计数器的变量I, 在循环的程序模块中不能再使 用命令来改变它的数值, 不然在编译中会发生 错误 do i=1, 10 i=i+1 end do
Fortran PPT课件1(FORTRAN程序语言简介)

1.2 FORTRAN语言简介
FORTRAN程序的组成
一个主程序(必须)段和若干个子程序段及 模块组成。
FORTRAN程序书写个语句。 (2)自由格式 扩展名为.f90,每一行可写多个语句,每个 语句用“;”隔开。
1.2 FORTRAN语言简介
固定格式(Fixed Format) 第1个字符C或* 注释行 第1-5 只能是数字或空格 数字为行代 码 第6个字符,“0”以外的字 符表示续行 第7-72个字符段 程序编写区 第73个字符以后 不使用
程序命令间的多余空格无意义
1.2 FORTRAN语言简介
自由格式(Free Format) 叹号“!”后面都是注释 每行可编写132个字符 行号放在每行程序的最前面 一行程序代码的最后如果是&,表示下一行是这一行的 续行;一行程序代码的最前面如果是&, 代表此行为 上一行的续行
FORTRAN程序的组成
一个主程序(必须)段和若干个子程序段及 模块组成。
FORTRAN程序书写个语句。 (2)自由格式 扩展名为.f90,每一行可写多个语句,每个 语句用“;”隔开。
1.2 FORTRAN语言简介
固定格式(Fixed Format) 第1个字符C或* 注释行 第1-5 只能是数字或空格 数字为行代 码 第6个字符,“0”以外的字 符表示续行 第7-72个字符段 程序编写区 第73个字符以后 不使用
程序命令间的多余空格无意义
1.2 FORTRAN语言简介
自由格式(Free Format) 叹号“!”后面都是注释 每行可编写132个字符 行号放在每行程序的最前面 一行程序代码的最后如果是&,表示下一行是这一行的 续行;一行程序代码的最前面如果是&, 代表此行为 上一行的续行
FORTRAN语言第2章共8章PPT课件

1.交替使用法, ″I ′ m a student″ ′He said:"I am feeling well." ′
2.重复使用法, ′I′′m a student′ "He said:""I'm feeling well."""
21
字符串内字符的个数称为字符串的长度。长度为0的字
符串称为空串。在字符串内部的空格是有效字符,并 占有一个字符的位置。例如, ′ABC ′和′A B C ′ 是两个不同的字符串。前者字符串的长度为3,后者为 5。 字符串中的一个西文字符占据一个字节的存储空间, 一个汉字(含汉语标点符号)占据2个字节的存储空间, 且按两个西文字符计算长度,如字符串‘中国’的长 度是4 。
“,”、“:”和空格; (F77中整数的空格被忽略,而F90及以上版本
整数加入空格将产生错误)
(2)整型常量不能有小数点;
(3)正负号和数字之间可以保留空格。
9
第一节 FORTRAN常量
三、FORTRAN常量 1、整型常量
整型数据:微机支持4种kind_Value:1,2,4,8 (1) 范围: -128~127 (2) 范围: -32768~32767 (3) -2147483648~2147483647(-231~231-1) (4)-9223372036854775808~9223372036854775807 Integer F77默认kind_Value的值为2
PARAMETER(PI=3.1415926,g=9.81) 该语句定义了两个符号常用PI和g,在该程序单位内,PI 代表3.1415926,g代表9.81。
parameter为特有的常量定义标识,要定义的项必须 放在()内,如果有多项,每项之间要用逗号隔开。
2.重复使用法, ′I′′m a student′ "He said:""I'm feeling well."""
21
字符串内字符的个数称为字符串的长度。长度为0的字
符串称为空串。在字符串内部的空格是有效字符,并 占有一个字符的位置。例如, ′ABC ′和′A B C ′ 是两个不同的字符串。前者字符串的长度为3,后者为 5。 字符串中的一个西文字符占据一个字节的存储空间, 一个汉字(含汉语标点符号)占据2个字节的存储空间, 且按两个西文字符计算长度,如字符串‘中国’的长 度是4 。
“,”、“:”和空格; (F77中整数的空格被忽略,而F90及以上版本
整数加入空格将产生错误)
(2)整型常量不能有小数点;
(3)正负号和数字之间可以保留空格。
9
第一节 FORTRAN常量
三、FORTRAN常量 1、整型常量
整型数据:微机支持4种kind_Value:1,2,4,8 (1) 范围: -128~127 (2) 范围: -32768~32767 (3) -2147483648~2147483647(-231~231-1) (4)-9223372036854775808~9223372036854775807 Integer F77默认kind_Value的值为2
PARAMETER(PI=3.1415926,g=9.81) 该语句定义了两个符号常用PI和g,在该程序单位内,PI 代表3.1415926,g代表9.81。
parameter为特有的常量定义标识,要定义的项必须 放在()内,如果有多项,每项之间要用逗号隔开。
第2章VisualFORTRAN5.0入门.ppt

2.2 FORTRAN90主要特征/指针
第二章 FORTRAN90开发环境
苏州科技大学计算中心
03/04第二学期
2.2 FORTRAN90主要特征
组织结构 书写形式 结构化 AN 90扩充了输入输出功能,引入了新的输入输出 方法,可设定文件操作的访问权限,可了解文件的开关状态。 READ和WRITE语句功能得到了扩充。
Sum:DO I<=10 S=S+I I=I+1
END DO Sum
2.2 FORTRAN90主要特征/结构化
第二章 FORTRAN90开发环境
苏州科技大学计算中心
03/04第二学期
2.2 FORTRAN90主要特征
组织结构 书写形式 结构化 过程 作用域 关联 数据类型 数组 指针 输入输出 语法检查
1962年,推出了FORTRAN Ⅳ。没有充分考虑兼容性。
1966年,推出FORTRAN 66,美国标准,后被ISO采用。
1978年,推出FORTRAN 77,兼容性好,结构化特征。
1991年,推出FORTRAN 90,现代语言,可视化编程。
1995年,微软公2.1 F司ORTRA在N语言D发展e概v述e/发l展o历p程er Studio集成开发平台上推 出FORTRAN PowerStation 4.0。引入可视化编程技术。
第二章 FORTRAN90开发环境
苏州科技大学计算中心
03/04第二学期
2.2 FORTRAN90主要特征
组织结构 书写形式 结构化 过程 作用域 关联 数据类型 数组 指针 输入输出 语法检查
FORTRAN 90提供五种预定义的内部数据类型(INTEGER、 REAL、COMPLEX、CHARACTER、LOGICAL),并引入了派生数据 类 型 特 征 , 提 供 了 派 生 类 型 声 明 语 句 TYPE…ENDTYPE, 使 FORTRAN 90能说明和定义复杂的数据结构。
第二章 FORTRAN90开发环境
苏州科技大学计算中心
03/04第二学期
2.2 FORTRAN90主要特征
组织结构 书写形式 结构化 AN 90扩充了输入输出功能,引入了新的输入输出 方法,可设定文件操作的访问权限,可了解文件的开关状态。 READ和WRITE语句功能得到了扩充。
Sum:DO I<=10 S=S+I I=I+1
END DO Sum
2.2 FORTRAN90主要特征/结构化
第二章 FORTRAN90开发环境
苏州科技大学计算中心
03/04第二学期
2.2 FORTRAN90主要特征
组织结构 书写形式 结构化 过程 作用域 关联 数据类型 数组 指针 输入输出 语法检查
1962年,推出了FORTRAN Ⅳ。没有充分考虑兼容性。
1966年,推出FORTRAN 66,美国标准,后被ISO采用。
1978年,推出FORTRAN 77,兼容性好,结构化特征。
1991年,推出FORTRAN 90,现代语言,可视化编程。
1995年,微软公2.1 F司ORTRA在N语言D发展e概v述e/发l展o历p程er Studio集成开发平台上推 出FORTRAN PowerStation 4.0。引入可视化编程技术。
第二章 FORTRAN90开发环境
苏州科技大学计算中心
03/04第二学期
2.2 FORTRAN90主要特征
组织结构 书写形式 结构化 过程 作用域 关联 数据类型 数组 指针 输入输出 语法检查
FORTRAN 90提供五种预定义的内部数据类型(INTEGER、 REAL、COMPLEX、CHARACTER、LOGICAL),并引入了派生数据 类 型 特 征 , 提 供 了 派 生 类 型 声 明 语 句 TYPE…ENDTYPE, 使 FORTRAN 90能说明和定义复杂的数据结构。
fortran第九章--过程附加特性ppt课件

Fortran95/2003
第九章 过程的附加特性
本章学习目标:
• 学习在Fortran 过程中如何使用多维数纽 • 理解何时、如何使用SAVE 属性或者SAVE 语句 • 理解可分配数组和自动数组之间的区别以及何时在过 程中分别使用它们 • 理解纯过程和逐元过程 • 学习怎样声明和使用内部子程序及函数
精选课件ppt
21
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
•精选课件ppt
•22
5
Fortran 也提供了SAVE 语句,任何列在SAVE 语
句中的局部变量都会在调用过程中保存;如果 SAVE 语句中没有变量,那么所有的局部变量都 会被被保存起来。
任何共享数据的模块都应该使用SAVE语句保存 数据,并通过USE 语句使用该模块数据。
注意,使用save仅在子程序中保留变量值,其 值如果没有返回,则调用程序仍不可见该值。
精选课件ppt
19
为什么要使用内部过程呢?在某些问题中,作为 解决方案的一部分,有一些低级操作可能要重 复执行。经定义内部过程未完成这些操作,可 以简化这些低级操作。
例9-5:内部过程示例。
精选课件ppt
20
内部过程函数和外部过程有以下三方面的区别:
(1)内部过程只能被宿主过程调用,程序中的其他 过程不能访问它。
局部变量(因为这一初始化隐含有SAVE 属性)。
任何被纯函数调用的过程也必须是纯过程。在
纯函数中每个参数都必须定义为INTENT (IN) ,
不能有任何外部文件I/O 操作,不能包含STOP
语句。
精选课件ppt
14
在函数语句中增加一个PURE 前缀就可以定义 纯函数。
第九章 过程的附加特性
本章学习目标:
• 学习在Fortran 过程中如何使用多维数纽 • 理解何时、如何使用SAVE 属性或者SAVE 语句 • 理解可分配数组和自动数组之间的区别以及何时在过 程中分别使用它们 • 理解纯过程和逐元过程 • 学习怎样声明和使用内部子程序及函数
精选课件ppt
21
此课件下载可自行编辑修改,供参考! 感谢您的支持,我们努力做得更好!
•精选课件ppt
•22
5
Fortran 也提供了SAVE 语句,任何列在SAVE 语
句中的局部变量都会在调用过程中保存;如果 SAVE 语句中没有变量,那么所有的局部变量都 会被被保存起来。
任何共享数据的模块都应该使用SAVE语句保存 数据,并通过USE 语句使用该模块数据。
注意,使用save仅在子程序中保留变量值,其 值如果没有返回,则调用程序仍不可见该值。
精选课件ppt
19
为什么要使用内部过程呢?在某些问题中,作为 解决方案的一部分,有一些低级操作可能要重 复执行。经定义内部过程未完成这些操作,可 以简化这些低级操作。
例9-5:内部过程示例。
精选课件ppt
20
内部过程函数和外部过程有以下三方面的区别:
(1)内部过程只能被宿主过程调用,程序中的其他 过程不能访问它。
局部变量(因为这一初始化隐含有SAVE 属性)。
任何被纯函数调用的过程也必须是纯过程。在
纯函数中每个参数都必须定义为INTENT (IN) ,
不能有任何外部文件I/O 操作,不能包含STOP
语句。
精选课件ppt
14
在函数语句中增加一个PURE 前缀就可以定义 纯函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
开发者和用户
2019-8-17
感谢你的观看
3
第一讲
基础篇 第二讲
常见编译环境的操作
讲解人
2019-8-17
感谢你的观看
4
目录
1
基本步骤与工程管理
2
gfortran 环境
3
IVF + VS 环境
2019-8-17
感谢你的观看
5
基本步骤和工程管理
编译
运行 链接
2019-8-17
感谢你的观看
6
基本步骤和工程管理
支持 Fortran 2003 及以前的语法及部分 Fortran2008 语法
一般使用命令行编译,亦有若干IDE支持配置为 gfortran 的编译环境
Windows
Linux
• Code::Blocks
• Code::Blocks
• Simply Fortran
• Eclipse / Photran
IVF 安装时,可能需要选择 位数
•32位可以与64位共存 •32位系统不能安装64位 IVF •有条件的话,都安装
2019-8-17
感谢你的观看
16
IVF + VS 环境
非常重要的一点是,必须选择 Integration with Visual Studio 选项 否则只能在命令行方式编译,而无法使用 IDE 方式。 在某些版本上,需要选择 customize 自定义安装方式。 我建议始终选择 customize 方式,以便确保 Integration 组件被安装
VS 安装时,如果只使用Fortran编译器, 可只安装 Visual C++ 相关内容,其他 内容选择不安装。(在某些版本上,需 要选择 customize 自定义安装方式)
安装后,首次运行 VS 可能会要求选择 熟悉的环境,此时任意选择既可。比如 常规环境
2019-8-17
感谢你的观看
15
IVF + VS 环境
编译、链接、运行是三个基本的步骤 编译是针对一个源代码文件,输出为目标代码 链接是针对一个或多个目标代码,也可以包含一个或多个库文件。输出为可执行程序 编译、链接是创造可执行程序的过程,是开发者应该做的事情。 运行是使用可执行程序的过程,是用户应该做的事情。 注意,编译链接运行是有先后顺序的。
即:编译链接时永远不知道用户会如何运行 运行时,无法再改变编译链接时决定的某些因素
• Eclipse / Photran
2019-8-17
感谢你的观看
10
gfortran 环境
Windows 上安装原生 gfortran : /wiki/GFortran
Linux 上安装原生 gfortran: RedHat 系列: sudo yum install gcc-gfortran Debian 系列: sudo apt-get install gfortran
Fortran 实用编程
系列视频教程
Fortran Coder 研讨团队
2019-8-17
感谢你的观看
1
关于 Fortran Coder
Fortran Coder 始于2006年,是一个以科学计算编程为主题的非盈利性 研讨团体。大多数由各行业高等学府学生,研究人员及生产一线的工作 人员组成。
研讨内容涉及:Fortran77/90/95/2003/2008语法规范,各平台32位及64位编译器,IMSL, MKL,Lapack 等数学函数库,MPI,OpenMP,Coarray 并行及高性能计算,winteracter / DisLin / Matfor / GTKFortran 等绘图及界面库。
感谢你的观看
19
感谢收看!
下一讲:常见问题的检测和排查 敬请关注 & 期待
还有疑问?请联系我们
2019-8-17
感谢你的观看
20
必须同时安装 IVF 和 VS 才能进行 IDE 方式的编译 而至少需安装 IVF 和 VSShell (Express 版)才能进行命令行方式的编译 安装时,先安装 VS,再安装 IVF,需注意的是:IVF对VS有版本的要求
2019-8-17
感谢你的观看
14
IVF + VS 环境
由于 IVF 和 VS 都是以光盘形式发布, 建议不解压,而使用虚拟光驱加载。
2019-8-17
感谢你的观看
17
IVF + VS 环境
VS 使用时必须了解的事情: • VS 只是外壳,是集成开发环境,提供编辑器。实际编译和调试是调用的 IVF,链接是调用
的微软的 link • 关注解决方案管理器(solution explorer)和输出窗口(output) • 要理解运行(run without debug)和调试(debug)两种方式 • 最好了解“工具”菜单“选项”,和“工程属性”这两个界面 • 会查看IVF的帮助
2019-8-17
感谢你的观看
11
目录
1
基本步骤与工程管理
2
gfortran 环境
3
IVF + VS 环境
2019-8-17
感谢你的观看
12
IVF + VS 环境
由于诸多因素,截止目前。IVF + VS 的组合是国内使用率最高的编译环境组合 IVF : Intel Visual Fortran( Intel ) VS : Visual Studio ( 微软 )
编译器
核心编译器 ifort
IVF 调试器
idb ,用于查错,亦可使用gnu的调试器 gdb
函数库
MKL / IMSL
链接器
链接成可执行程序
编辑器
编写代码,提供折叠,自动完成,定位等
VS
集成开发环境 集成环境
VC++运行库 是IVF运行时库依赖的一部分
2019-8-17
感谢你的观看
13
IVF + VS 环境
工程实际上就是可视化的 makefile
感谢你的观看
8
目录
1
基本步骤与工程管理
2
gfortran 环境
3
IVF + VS 环境
2019-8-17
感谢你的观看
9
gfortran 环境
gfortran 是 GNU 组织发布的开源软件,任何人和组织都可以自由地试用它。
它是 GCC 的一部分,支持 windows 和 Linux 等多个操作系统。
2019-8-17
感谢你的观看
7
基本步骤和工程管理
2019-8-17
工程是用于管理较大量代码的一种工具
它规定哪些源代码文件参与编译、链接,彼此 之间的依赖关系,编译时的参数等等
工程对较大型的代码来说,非常重要! 即便对小型的代码,他可有可无,但某些集成 开发环境(IDE)强制使用工程管理。
对于命令行编译方式而言,更多的采用 makefile 进行项目管理
2019-8-17
感谢你的观看
2
Hale Waihona Puke 上节要点回顾• Fortran 是一门语言,而非特定的软件 • Fortran 编译器是软件,把源代码翻译为可执行程序 • Fortran 的编译器有十几种不同的品牌可供选择 • 开发环境有两类:IDE 和命令行 • 建议学习 Fortran90+,而不只学习 FORTRAN 77 • Fortran 代码书写过程中,我们扮演两个角色:
2019-8-17
感谢你的观看
18
IVF + VS 环境
Debug 与 Release
Debug • 生成的文件较大 • 生成的文件运行速度较慢 • 允许调试 • 基本上没有进行优化
Release • 生成的文件较小 • 生成的文件运行速度较快 • 不允许调试 • 进行了合理的优化
2019-8-17
2019-8-17
感谢你的观看
3
第一讲
基础篇 第二讲
常见编译环境的操作
讲解人
2019-8-17
感谢你的观看
4
目录
1
基本步骤与工程管理
2
gfortran 环境
3
IVF + VS 环境
2019-8-17
感谢你的观看
5
基本步骤和工程管理
编译
运行 链接
2019-8-17
感谢你的观看
6
基本步骤和工程管理
支持 Fortran 2003 及以前的语法及部分 Fortran2008 语法
一般使用命令行编译,亦有若干IDE支持配置为 gfortran 的编译环境
Windows
Linux
• Code::Blocks
• Code::Blocks
• Simply Fortran
• Eclipse / Photran
IVF 安装时,可能需要选择 位数
•32位可以与64位共存 •32位系统不能安装64位 IVF •有条件的话,都安装
2019-8-17
感谢你的观看
16
IVF + VS 环境
非常重要的一点是,必须选择 Integration with Visual Studio 选项 否则只能在命令行方式编译,而无法使用 IDE 方式。 在某些版本上,需要选择 customize 自定义安装方式。 我建议始终选择 customize 方式,以便确保 Integration 组件被安装
VS 安装时,如果只使用Fortran编译器, 可只安装 Visual C++ 相关内容,其他 内容选择不安装。(在某些版本上,需 要选择 customize 自定义安装方式)
安装后,首次运行 VS 可能会要求选择 熟悉的环境,此时任意选择既可。比如 常规环境
2019-8-17
感谢你的观看
15
IVF + VS 环境
编译、链接、运行是三个基本的步骤 编译是针对一个源代码文件,输出为目标代码 链接是针对一个或多个目标代码,也可以包含一个或多个库文件。输出为可执行程序 编译、链接是创造可执行程序的过程,是开发者应该做的事情。 运行是使用可执行程序的过程,是用户应该做的事情。 注意,编译链接运行是有先后顺序的。
即:编译链接时永远不知道用户会如何运行 运行时,无法再改变编译链接时决定的某些因素
• Eclipse / Photran
2019-8-17
感谢你的观看
10
gfortran 环境
Windows 上安装原生 gfortran : /wiki/GFortran
Linux 上安装原生 gfortran: RedHat 系列: sudo yum install gcc-gfortran Debian 系列: sudo apt-get install gfortran
Fortran 实用编程
系列视频教程
Fortran Coder 研讨团队
2019-8-17
感谢你的观看
1
关于 Fortran Coder
Fortran Coder 始于2006年,是一个以科学计算编程为主题的非盈利性 研讨团体。大多数由各行业高等学府学生,研究人员及生产一线的工作 人员组成。
研讨内容涉及:Fortran77/90/95/2003/2008语法规范,各平台32位及64位编译器,IMSL, MKL,Lapack 等数学函数库,MPI,OpenMP,Coarray 并行及高性能计算,winteracter / DisLin / Matfor / GTKFortran 等绘图及界面库。
感谢你的观看
19
感谢收看!
下一讲:常见问题的检测和排查 敬请关注 & 期待
还有疑问?请联系我们
2019-8-17
感谢你的观看
20
必须同时安装 IVF 和 VS 才能进行 IDE 方式的编译 而至少需安装 IVF 和 VSShell (Express 版)才能进行命令行方式的编译 安装时,先安装 VS,再安装 IVF,需注意的是:IVF对VS有版本的要求
2019-8-17
感谢你的观看
14
IVF + VS 环境
由于 IVF 和 VS 都是以光盘形式发布, 建议不解压,而使用虚拟光驱加载。
2019-8-17
感谢你的观看
17
IVF + VS 环境
VS 使用时必须了解的事情: • VS 只是外壳,是集成开发环境,提供编辑器。实际编译和调试是调用的 IVF,链接是调用
的微软的 link • 关注解决方案管理器(solution explorer)和输出窗口(output) • 要理解运行(run without debug)和调试(debug)两种方式 • 最好了解“工具”菜单“选项”,和“工程属性”这两个界面 • 会查看IVF的帮助
2019-8-17
感谢你的观看
11
目录
1
基本步骤与工程管理
2
gfortran 环境
3
IVF + VS 环境
2019-8-17
感谢你的观看
12
IVF + VS 环境
由于诸多因素,截止目前。IVF + VS 的组合是国内使用率最高的编译环境组合 IVF : Intel Visual Fortran( Intel ) VS : Visual Studio ( 微软 )
编译器
核心编译器 ifort
IVF 调试器
idb ,用于查错,亦可使用gnu的调试器 gdb
函数库
MKL / IMSL
链接器
链接成可执行程序
编辑器
编写代码,提供折叠,自动完成,定位等
VS
集成开发环境 集成环境
VC++运行库 是IVF运行时库依赖的一部分
2019-8-17
感谢你的观看
13
IVF + VS 环境
工程实际上就是可视化的 makefile
感谢你的观看
8
目录
1
基本步骤与工程管理
2
gfortran 环境
3
IVF + VS 环境
2019-8-17
感谢你的观看
9
gfortran 环境
gfortran 是 GNU 组织发布的开源软件,任何人和组织都可以自由地试用它。
它是 GCC 的一部分,支持 windows 和 Linux 等多个操作系统。
2019-8-17
感谢你的观看
7
基本步骤和工程管理
2019-8-17
工程是用于管理较大量代码的一种工具
它规定哪些源代码文件参与编译、链接,彼此 之间的依赖关系,编译时的参数等等
工程对较大型的代码来说,非常重要! 即便对小型的代码,他可有可无,但某些集成 开发环境(IDE)强制使用工程管理。
对于命令行编译方式而言,更多的采用 makefile 进行项目管理
2019-8-17
感谢你的观看
2
Hale Waihona Puke 上节要点回顾• Fortran 是一门语言,而非特定的软件 • Fortran 编译器是软件,把源代码翻译为可执行程序 • Fortran 的编译器有十几种不同的品牌可供选择 • 开发环境有两类:IDE 和命令行 • 建议学习 Fortran90+,而不只学习 FORTRAN 77 • Fortran 代码书写过程中,我们扮演两个角色:
2019-8-17
感谢你的观看
18
IVF + VS 环境
Debug 与 Release
Debug • 生成的文件较大 • 生成的文件运行速度较慢 • 允许调试 • 基本上没有进行优化
Release • 生成的文件较小 • 生成的文件运行速度较快 • 不允许调试 • 进行了合理的优化
2019-8-17