Fortran程序设计
第十四讲习题课与GDB调试
复习第十三讲内容
旧版本的Fortran特性
格式:
1-5列是行号
第一列是C或者星号,表示本行为注释
第六列如果不是空白或0,表示续行
注释
有效语句位置
续行
旧版本
第一列用C或*
从第7列到72列
第6列非0为续行
Fortran90
!开始的行
从第1-132列
用&表示续行
行号
在1-5列
每行程序的最前面
DATA语句的使用
变量初始化:
DATA a,b,c /,2*/
数组初始化:
REAL a(2,2)
DATA a /1.,2.,3.,4./ !按列优先
旧的PARAMETER 语句:
INTEGER SIZE
PARAMETER (SIZE=1000)
COMMON语句
用BLOCK MON块中的数据
BLOCK DATA initial
INTEGER var1,MON /mydata/ var1,var2
DATA var1,var2 /1,2/
END BLOCK DATA
四条不必要的子程序特性
另一子程序的返回点
另一入口点
语句函数
将内置函数作为参数传递
语句函数
PAUSE
STOP
END
PAUSE语句
用于暂停程序的执行
已经在Fortran95中被删掉
STOP语句
用于终止程序的执行
可以在STOP后面加参数,形式如下:
STOP stop_value
例如:
STOP ‘pletion’
当终止时,会显示这个字符串
END语句
在Fortran90之前,所有的程序单元都用END结束
Fortran90以后,标准是用形如:
END PROGRAM
END MODULE
之类的语句
当然,也可以单用END
但是,内部过程和模块过程必须用
END SUBROUTINE和
END FUNCTION
算术IF语句
GOTO语句
计算GOTO语句
赋值GOTO语句
旧的DO循环与CONTINUE
多文件编译
迷宫的解法一
设置辅助数组的解法:
设置三个和maze数组一样结构的数组:
Step_maze 用于保存当前块在路径中的步数
Leave_direction 用于保存在路径中离开当前块的方向,0表示东面,1,2,3分别表示南西北
From_direction 表示从哪个方向到达当前块
过程列表:
Createmaze(maze,n) 创建一个随机的二维方阵maze(n,n),方阵的元素要么是0要么是1,1表示迷宫的通道,0表示迷宫的墙
Init_random_seed() 初始化随机数种子
Solve(maze,n) 在迷宫maze(n,n)中找到一条从maze(1,1)到maze(n,n)的路径,如果找不到,输出提示信息,找到就输出路径步骤
get_new_position(n,i,j,direction) 在数组direction中取得i,j的方向,并计算这个方向所对应的新的i,j值
check_direction(maze,n,i,j,direction,step_maze) 检查迷宫的下一个方向能否走的通
Fortran第十四讲-GDB调试(精选) 来自淘豆网m.daumloan.com转载请标明出处.