6 四、几个著名的 Fortran程序包 MSL-国际数学和统计链接库 BLaS--Basic Linear Algebra Subroutines 8 LAPACK--Linear Algebra PACKage 51 Fortran语言发展概况 2021/2/24
6 2021/2/24 四、几个著名的Fortran程序包 ❖ IMSL--国际数学和统计链接库 ❖ BLAS--Basic Linear Algebra Subroutines ❖ LAPACK--Linear Algebra PACKage §1 Fortran语言发展概况
§2简单的 Fortran程序分析(P46-48)7 【例31】求x、y、z三个数的平均值。(p46) c Calculate the average of the numbers x=90.5注程行:首字任必须是C或“ y=87.0}第2~4行:赋值语句,分别给3个变量 z=68.5X、y、z赋值。 aver=(x+y+2)3.0第5行:计算赋值语句,计算3个 数的平均值并赋给变量aver write(", ")The three numbers are,X, y, z writer(,+) average=,aver6m7行:输出语句 分别输出3个数和它们 end→表示程序结束 的平均值。 2021/2/24
7 2021/2/24 C Calculate the average of the numbers x=90.5 y=87.0 z=68.5 aver=(x+y+z)/3.0 write(* , *) 'The three numbers are', x, y, z write(* , *) 'average=', aver end 【例3.1】求x、y、z三个数的平均值。(p46) 第2~4行:赋值语句,分别给3个变量 x、y、z 赋值。 第5行:计算赋值语句,计算3个 数的平均值并赋给变量aver。 第6~7行:输出语句, 分别输出3个数和它们 的平均值。 §2 简单的Fortran程序分析(p46-48) 注释行,首字符必须是“C”或“*”, 表示该行是注释行。 表示程序结束
8 ◆变量:在程序中按规定规则组合的、代表存 储单元的符号串。 变量代表的存储单元在计算机内存当中 每个变量存放一个数(包括字符),由编译系 统自动分配。 对变量中存放的数,再次赋值时被覆盖, 否则一直保留。 §2简单的 Fortran程序分析 2021/2/24
8 2021/2/24 ◆变量:在程序中按规定规则组合的、代表存 储单元的符号串。 变量代表的存储单元在计算机内存当中, 每个变量存放一个数(包括字符),由编译系 统自动分配。 对变量中存放的数,再次赋值时被覆盖, 否则一直保留。 §2 简单的Fortran程序分析
【例32】分别计算半径R=1、3、12、5时的圆周 长C(p47) 本题思路: ①计算圆周长C的公式都一样,即C=2mR。 ②编程时,分别给半径R赋不同的值,用同一个 公式计算c; ③据此,把程序写成两部分:子程序专门用于 计算圆周长;主程序用不同的半径值分别调用子程 序,并输出C值。 §2简单的 Fortran程序分析 2021/2/24
9 2021/2/24 本题思路: ①计算圆周长C的公式都一样,即C=2πR。 ②编程时,分别给半径R赋不同的值,用同一个 公式计算C; ③据此,把程序写成两部分:子程序专门用于 计算圆周长;主程序用不同的半径值分别调用子程 序,并输出C值。 【例3.2】分别计算半径R=1、3、12、5时的圆周 长C。(p47) §2 简单的Fortran程序分析
c主程序 10 program ex3 2 write(*,)'r=,1.0,"c=,c(10) write(*,*)'r=,30,"c,c(3.0) write()r=,120,c=,c(12.0) write(,)r=,50,C=,c(5.0) end c子程序 function c() 3.1415926 C=2.0*pi*r end §2简单的 Fortran程序分析 2021/2/24
10 2021/2/24 §2 简单的Fortran程序分析 C 主程序 program ex3_2 write(* , *) 'r=', 1.0, ' c=', c(1.0) write(* , *) 'r=', 3.0, ' c=', c(3.0) write(* , *) 'r=', 12.0, ' c=', c(12.0) write(* , *) 'r=', 5.0, ' c=', c(5.0) end C 子程序 function c(r) pi=3.1415926 c=2.0*pi*r end