1 FORTRAN 90 程序示例代码
!------------------------------------------------------------------------------------!
! Code NAME: people.F90 !
! Code DESC: This code contains module, structure(type),pointer !
! array,subroutine et al. usage. !
!------------------------------------------------------------------------------------!
! IGSNRR of CAS shuchangs@126.com !
!------------------------------------------------------------------------------------!
MODULE peopleType
IMPLICIT NONE
!PRIVATE
TYPE,PUBLIC :: peopleT
INTEGER,POINTER :: idCard
CHARACTER *10,POINTER :: name
CHARACTER *4,POINTER :: sex
INTEGER,POINTER :: age
INTEGER,POINTER :: archiveYear(:)
CHARACTER *50,POINTER :: archiveHistory(:)
END TYPE peopleT
TYPE,PUBLIC :: studentT
TYPE(peopleT) :: p
INTEGER,POINTER :: familyMembersNum
CHARACTER *10,POINTER :: familyMembers(:)
END TYPE studentT
!----------------------------------------------------
! Declare single instance of peopleType
!----------------------------------------------------
TYPE(peopleT) , PUBLIC, TARGET, SAVE :: people
TYPE(studentT), PUBLIC, TARGET, SAVE :: student
PUBLIC :: peopleInit
PUBLIC :: peoplePrint
PUBLIC :: studentInit
PUBLIC :: studentPrint
CONTAINS
SUBROUTINE peopleInit()
INTEGER,TARGET :: NUMBER=001
CHARACTER *10,TARGET :: NAME='SHU Chang'
INTEGER,TARGET :: AGE=20
CHARACTER *4,TARGET :: SEX='Girl'
INTEGER :: I
people.idCard => NUMBER
people%name => NAME
people.sex => SEX
people.age => AGE
ALLOCATE(people.archiveYear(1:AGE))
ALLOCATE(people.archiveHistory(1:AGE))
!Assign values to pointer arrays:
DO I=1,AGE
people.archiveYear(I)=2000+I
people.archiveHistory(I)='WELL'
END DO
END SUBROUTINE peopleInit
SUBROUTINE peoplePrint()
INTEGER :: i
print *,'The People Information----------------------------------------'
print *,'Basic Information:'
print *,'ID-CARD:',people.idCard,'NAME:',people.name,'SEX:',people.sex,&
'AGE:',people.age
print *,'Archive Information:'
DO i=1,people.age
print *,'Archive Year:',people.archiveYear(i),'Archive History:',&
people.archiveHistory(i)
END DO
print *,'---------------------------------------------------------------'
END SUBROUTINE peoplePrint
SUBROUTINE studentInit()
INTEGER,TARGET :: n=3
student.familyMembersNum => n
ALLOCATE(student.familyMembers(1:n))
student.familyMembers=(/'Father','Mother','Self'/)
call peopleInit
END SUBROUTINE studentInit
SUBROUTINE studentPrint()
INTEGER :: i
call peoplePrint
print *,'The Student Information----------------------------------------'
print *,'The family-members number is:',student.familyMembersNum
print *,'They are respectively:'
DO i=1,student.familyMembersNum
print *,student.familyMembers(i)
END DO
print *,'---------------------------------------------------------------'
END SUBROUTINE studentPrint
END MODULE peopleType
!The main program begins here:
program main
!Use the module of peopleType above.
use peopleType
!Local pointer variables:
integer,pointer :: numberL
character(len=10),pointer :: nameL
character(len=4),pointer :: sexL
integer,pointer :: ageL
!Call the subroutine: peopleInit() to initialize the peopleT structure.
print *,'The result is below when the subroutine is called:'
call peopleInit
call peoplePrint
!Relate the free pointer and the target pointer
numberL => people%idCard
nameL => people.name
sexL => people.sex
ageL => people.age
!Revalue them
numberL = 002
nameL = 'LIU Fei'
sexL = 'Boy'
ageL = 22
print *,'The result is here after the values being assigned:'
call peoplePrint
call studentInit
!Revalue them
numberL = 003
nameL = 'CHEN Qing'
sexL = 'Girl'
ageL = 18
print *,'The student Information is below:'
call studentPrint
end program
相关推荐
Fortran90程序设计 第一章 Fortran程序设计基础 第二章顺序结构程序设计
fortran 90程序设计,介绍了fortran的基本语法和使用规则,以及程序设计中的设计流程和数据结构等知识,让初学者有一个很好的感知兴趣接触fortran
Fortran90程序设计基础教程书,适合于入门的初学者
fortran 90程序设计教程,对于数学计算编程非常方便。
Fortran 初级程序经典范例,适合初学者
标准程序设计语言丛书 Fortran90
批处理fortran77转fortran90格式. 由于f77不支持可变数组,导致想添加的功能不能实现,于是想把整个工程从77转成90。有同学推荐,直接在f77的模式下强行把f90的功能加进去(比如可变数组,module等),然后用...
标准程序设计语言丛书 Fortran 90
介绍了fortran 90程序设计的基本方法,主要是介绍了fortran90 的程序设计思路。
fortran常用算法程序集(附源代码),可供fortran语言初学者参考学习。
FORTRAN+90 程 序 设 计 教 程
我们大学的Fortran90的程序设计课件,做的很不错,偷偷考的老师的,奉献给大家了
FORTRAN 90程序设计复习题
Fortran95程序设计(彭国伦)例题、习题程序
《Fortran95程序设计》主要讲述了Fortran 95程序设计的方法,包括数值计算、计算机绘图、窗口程序设计、与Visual C/Visual Basic/Delphi的链接、甚至是游戏程序的编写。
矿井通风网络解算程序 fortran90
Fortran95程序设计【彭国伦】,有需要的童鞋就下载吧
与计算方法相关的一些程序,在fortran90环境下运行。适用于科学计算。 包括解poisson方程,辛普森公式,松弛法解方程组
《程序设计基础—fortran90程序实验》.doc