FORTRAN经典入门程序20例

FORTRAN经典入门程序20例
FORTRAN经典入门程序20例

对于FORTRAN的初学者。这些例子可作为小练习。

1.例题:计算工资问题。每小时工资为RATE,如果工作超过40小时,加班呢部分工资是正常时间工资的1.5倍。

C Payroll with overtime

program payroll

real rate, hours, pay

read (*,*) rate, hours

if (hours>40) then

pay=40*rate+(hours-40)*1.5*rate

else

pay=hours*rate

END IF

print *,"rate=", rate

print *, "hours=", hours

print *,"pay=",pay

end

2.学生成绩问题。大于80为A级。大于60小于80为B级。小于60为C级。IF的嵌套。注意空格可以看清楚else if ,end if,print的内容.

PROGRAM GRADESTUDENT

READ *,GRADE

IF (GRADE .GE. 80) THEN

PRINT *,GRADE,"GRADE=>A"

ELSE

IF (GRADE.LT.60) THEN

PRINT*,GRADE,"GRADE=>C"

ELSE

PRINT*,GRADE,"GRADE=>B"

END IF

END IF

END

3.三个数按从小到大排序。

PROGRAM MAXMIN

REAL A,B,C,T

READ *,A,B,C

IF (A.GT.B) THEN

T=A

A=B

B=T

ELSE

END IF

IF (B.GT.C) THEN

T=B

B=C

PROGRAM EQUATION

READ (*,*) X

IF (X .GE. 0.0) Y=3*X+6

IF (X .LT. 0.0) Y=-X**2+2*X-8

PRINT *,"X=",X, "Y=",Y

END

6.CONTINUE语句。为了使循环的起止范围清晰,使用终端语句

例:求5!

program ex1

FACT=1

do 10, N=1,5,1 ##DO 语句标号,循环不变量=初值,终值,步长FACT=FACT*N

10continue

print*,FACT

end

求1!+2!+3!+···+N!

READ *,N

FACT=1

do 10, I=1,N,1

FACT=FACT*I

SUM=SUM+FACT

10continue

print*,SUM

end

7.求E^X=1+X+X^2/2!+X^3/3!+...+X^N/N!

READ *,X,N

sum=1

TERM=1

do 10, I=1,N,1

TERM=TERM*X/I

SUM=SUM+TERM

10continue

print*,"EXP(",X,")",SUM

end

8.打印九九乘法表

do 10,I=1,9,1

do 20,J=1,I

PRINT*,I,"*",J,"=",I*J

20CONTINUE

10CONTINUE

end

9.百钱买百鸡

公鸡5元每只。母鸡3元每只,小鸡1元三只。求100元买一百只鸡。

INTEGER X,Y,Z

DO 10,X=0,100

DO 20,Y=0,100

DO 30,Z=0,100

IF(X+Y+Z .EQ. 100)THEN

IF(15*X+9*Y+Z .EQ. 300)PRINT *,X,Y,Z

END IF

30CONTINUE

20CONTINUE

10CONTINUE

END

10.DO循环用来处理循环次数确定的情况比较方便。在处理无法事先知道循环次数时,使用当型循环。

(1)DO WHILE

DO 标号,WHILE(逻辑表达式)

循环体

CONTINUE 标号

例统计若干同学的得分并计算平均值。

INTEGER SCORE,COUNT

READ*,SCORE

SUM=0

COUNT=0

DO 10, WHILE(SCORE .GT. 0.0)

SUM=SUM+SCORE

COUNT=COUNT+1

READ *,SCORE

10CONTINUE

AVER=SUM/COUNT

PRINT *,AVER

END

11.辗转相除法求最大公约数。如26和6的最大公约数。先用27除以6,余数是3,再用6除以3,余数为0,则3就是最大公约数。命令MOD()求余数。

INTEGER M,N,R,T

READ*,M,N

IF (M .LT. N)THEN

T=M

M=N

N=T

END IF

R=MOD(M,N)

DO 10, WHILE(R .NE. 0)

M=N

N=R

R=MOD(M,N)

10CONTINUE

PRINT *,"zui da gong yue shu",N

END

12.判断一个数是否是素数。SQRT()开根号

READ *,N

MAX=sqrt(real(N))

I=2

DO 10, WHILE (I .LE. MAX .AND. MOD(N,I) .NE. 0)

I=I+1

10CONTINUE

IF(I .GT. MAX)THEN

PRINT*,N,"IS A PRIME NUMBER"

ELSE

PRINT *,N,"IS NOT A PRIME NUMVER"

END IF

END

13.求100和200之间能被3或7整除的自然数。

I=100

10IF(I .LE. 200)THEN

IF (MOD(I,3) .EQ. 0 .OR. MOD(I,7) .EQ. 0)THEN

PRINT*,I,"ABLE"

ELSE

PRINT*,I,"UNABLE"

END IF

I=I+1

GOTO 10

END IF

END

14. 直到型循环,UNTIL 语句实现直到型循环。

格式“DO S1,UNTIL(条件)

循环体

标号S1 CONTINUE

例14用直到型循环求5!FORTRAN不支持UNTIL语句。INTEGER I,PRODUCT

I=1

PRODUCT=1

DO 10, UNTIL(I .GT. 5)

PRODUCT=PRODUCT*I

I=I+1

10CONTINUE

PRINT *,"5!=",PRODUCT

END

FORTRAN不支持UNTIL语句。让我们改成DO WHILE格式。INTEGER I,PRODUCT

I=1

PRODUCT=1

DO 10, WHILE(I .LT. 5)

PRODUCT=PRODUCT*I

I=I+1

10CONTINUE

PRINT *,"5!=",PRODUCT

END

15.

INTEGER R,I,J,S,T,SUM

DO 10, I=100,999,1

T=I

SUM=0

DO 20 ,J=1,3,1

R=MOD(T,10)

SUM=SUM+R**3

T=T/10

20 CONTINUE

IF (SUM .EQ. I) PRINT *,I,"is a daffodil NUMBER"

10 CONTINUE

END

15.求一元二次方程的根20Ax Bx C ++= 。

DOUBLE PRECISION A, B, C

COMPLEX X1,X2

READ *,A,B,C

IF (B**2-4*A*C .GE.0)THEN

X1=CMPLX ((-B+SQRT (B**2-4*A*C))/(2*A),0.0)

X2=CMPLX ((-B-SQRT (B**2-4*A*C))/(2*A),0.0)

ELSE

X1=CMPLX ((-B/(2*A)),SQRT (-(B**2-4*A*C))/(2*A))

X2=CMPLX ((-B/(2*A)),-SQRT (-(B**2-4*A*C))/(2*A))

END IF

PRINT *,X1,X2

END 16.

打印此图像。 CHARACTER *9 LINE

DO 10, I=-4,4,1

K=1 DO 40 J=1,ABS (I),1

LINE(K:K)=" "

K=K+1

40 CONTINUE

DO 20, J=1, 2*(4-ABS (I))+1,1

LINE(K:K)="*"

K=K+1

20 CONTINUE

PRINT*,LINE

DO 30, J=1,9,1

LINE(J:J)=" "

30CONTINUE

10CONTINUE

END

17.输出数组中的数值。

INTEGER A(1:10)

DO 10,I=1,10,1

READ *,A(I)

10CONTINUE

PRINT *,A

END

18.利用DO循环对数组进行输入和输出。从键盘上输入十个数,按顺序逐个放入到A(1)到A(10)中。INTEGER A(1:10)

DO 10,I=1,10,1

READ *,A(I)

10CONTINUE

DO 20,I=1,9,2

PRINT *,"A(",I,")",A(I)

20CONTINUE

END

19. 双重循环将从终端读入的数据赋值给W数组中的各元素。

REAL W(1:3,1:2) ##表示一个三行两列的数组,当前面数一样时,可以写出W(3,2) DO 10,I=1,3,1

DO 20, J=1,2,1

READ *,W(I,J)

20CONTINUE

10CONTINUE

PRINT*,W

END

20。输入10名学生的成绩,统计各个分数段的人数。

INTEGER GRADE(1:10),COUNTER(0:10)

READ *,(GRADE(I),I=1,10,1)

DO 10, I=1,10,1

COUNTER(GRADE(I)/10)=COUNTER(GRADE(I)/10)+1

10CONTINUE

DO 20,I=0,10,1

PRINT *,COUNTER(I),"=>",I*10,(I+1)*10-1

20CONTINUE

END

21.顺序查找。一组数据从第一个开始找,折半查找,顺序查找适用数据少的情况,折半查找用于数据多的情况,但数据必须按顺序排列。

INTEGER A(1:7)

DATA A/55,62,10,58,22,33,66/

READ *,X

DO 10, I=1,7,1

IF(A(I) .EQ. X) GOTO 20

10CONTINUE

20IF (I>7)THEN

PRINT *,X,"it is not here"

ELSE

PRINT *,X,"it is in the A the",I,"position"

END IF

END

FORTRAN程序设计复习题及答案

FORTRAN程序设计复习题 一、选择题 B (1)下列各FORTRAN表达式中合法的是 A) S+T*2P >= B) .NOT. (A*B+C) C) A2+B2/(C+D) <= D) (A+B).NOT.A*B.GT.(.NOT.只跟一个表达式) C (2)数学式(3/5)ex+y的FORTRAN表达式是 A) 3*EXP(X+Y)/5 B) 3*E* *(X+Y)/ C) (3/5)*EXP(X+Y)D) EXP(X+Y) D (3)下列FORTRAN77表达式中不合法的是 A) A.GT.B.EQV.C.GT.D B) A.AND.B.AND.C.AND.D C) .NOT.(X.LE.D) A.LT.B.LT.C.LT.D D(4)下列叙述中不正确的是 A) FORTRAN子程序可以单独编译 B) 对一个FORTRAN源程序进行编译和连接无误后可生成可执行文件 C) 即使编译和连接都正确无误,FORTRAN程序运行时仍可能出错 D) FORTRAN连接的主要任务是把函数库中的函数翻译成机器指令(正确描述:主要任务为连接目标文件) B (5)在下列FORTRAN77运算符中,优先级最高的是 A) .AND. B) .NOT. C) .OR. D) .EQ. B (6)FORTRAN表达式"6/5+9/2**3/2"的值为 A) 33 B) 1 C) 5 D) 3 A (7)下列FORTRAN77表达式中,合法的是: A) .AND.. B) 10.0 C) D) 提示:A)相当于 .AND.(.NOT.()) D (8)关于编译一个FORTRAN源程序文件,下列说法中错误的是 A) 允许编译只有一个主程序而没有子程序的源文件 B) 允许编译有多个子程序的源文件 C) 允许编译只有一个子程序而没有主程序的源文件 D) 允许编译有多个主程序的源文件 C (9)在FORTRAN77源程序中,续行标志符必须放在 A) 第1列 B) 第1-6列C) 第6列D) 第5列 D (10)下列关于"SUBROUTIN E MAP(X,Y)"语句行的叙述中,不正确的是 A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据 提示:子程序无返回值,自定义函数才有) A (11)FORTRAN表达式"2/4+"的值是 A) B) 1 C) D) 0 提示:2/4默认等于整型,=》 D (12)FORTRAN表达式"MOD,"的值是 A) B)0.0 C) D) A (13下列FORTRAN运算符中,优先级最低的是 A)逻辑运算符.AND. B)算术运算符*

基础设施和过程运行环境控制程序

1. 目的 对基础设施和运行环境进行有效控制,确保基础设施和运行环境满足制造使用的要求,并保持有效的过程能力。 2. 适用范围 2.1.适用于为实现产品符合性所需要的设施,如工作场所、硬件和软件、工具和设备、支持性服务如 通讯设施、运输设施等的控制; 2.2.本程序适用于基础设施和运行环境。 3. 职责 3.1.公司管理层负责组织经营计划的正确制定和执行过程的跟踪。 3.2.各部门负责提供经营计划的相关数据,并执行与自身范围相关的经营计划要求 4. 定义(略) 基础设施:指生产设备、模具和工装夹具、组织运行所必需的设施、包括服务软件的体系。 运行环境:工作时所处的一组条件或使用场所 5. 作业内容 5.1 设施的管理 5.1.1.设施的选购、验收; a)当需购置设备或附件时,由采购课负责采购,必要时,生产部协助采购。 b)设备购置进厂,生产部负责依据设备说明书或合同规定的技术条件进行验收,并验收合格准予 进厂;若验收不合格,则采购课办理退换或维修事宜,直到验收合格。 c)厂房设施购置进厂,由采购课负责依据设施使用说明书或合同规定的技术条件进行验收,并验 收合格准予进厂;若验收不合格,则采购课办理或维修事宜,直到验收合格设施应包括:工作 场所(车间、办公场所等)、设备和工具(包括工、卡、量具)、软件(计算机网络)、支持性服 务(水、电、气供应)、通讯设施、运输设施等。 d) 采购或自制完成的设施,生产部组织使用部门安装调试,确认满足要求后,由生产部 和使用部门在《设施验收单》上签字验收,并记录设施名称、型号规格、技术参数、 单价、数量、随机附件及资料等内容。《设施验收单》由文控中心保管。低值易耗的工、卡、量 具等使用部门自行验收。 e) 验收不合格的设施,生产部与供方协商解决,并在《设施验收单》上记录处理结果。 f) 生产部对验收合格的设备进行编号,并在《公司主要生产设施一览表》上登记。 g) 生产部根据合格的《设施验收单》办理登记和建档手续;低值易耗的工、卡、量具等由仓库凭 设施验收单办理入库手续。

FORTRAN 90 程序编程规范

FORTRAN 90 程序编程规范 Fortran 90 编程规范,使程序代码高度组织化,更加易读、易懂、易于维护,程序更加高效。使编出的程序更易懂、易于维护。 1 语言选择 数值预报创新系统软件开发应避免使用Fortran77 的某些过时特征以Fortran 90不一致的特征。选择Fortran 90 作为开发语言,并采用Fortran 90 的新功能,如动态内存的分配(dynamic memory allocation)、递归(recursion ), 模块(modules)、POINTER 、长变量名、自由格式等。 Fortran 77其中某些只是一些冗余的功能,这些功能已经过时,另外,还有一些在Fortran90 中被证明是不好的用法,建议不要使用。 2 Fortran 90 的新特性 2.1.1 建议使用的Fortran 90 新特性 建议使用Fortran 90 提供的模块(module ),并用Use ONLY 指定module 中哪些变量或派生类型定义可用于调用程序。 尽量使用数组下标三元组,这样可优化并减少所需的代码行数。为提高可读性,要在括号内表明数组的维数,例如: 1dArrayA(:) = 1dArrayB(:) + 1dArrayC(:) 2dArray(: , :) = scalar * Another2dArray(: , :) 当访问数组的子集时,例如在有限差分等式中,可以通过使用下标三元组实现。例如:2dArray(: , 2:len2) = scalar *( & Another2dArray(:, 1:len2 -1) & - Another2dArray(:, 2:len2) & ) 对程序单元(program units )命名,并使用End program ,End subroutine ,End interface ,End module 等结构再次指定“program unit ”的名称。 在逻辑表达式中使用>、 >=、 ==、 <、 <=、 /=,它们分别代 替.gt.、.ge.、.eq.、.lt.、.le.、.ne. 。新的表示方法更接近标准的数学符号 在变量定义中始终使用“::”;始终用“DIMENSION ”定义数组形状;始终用(len=)的语法格式声明字符变量的长度。

中国海洋大学Fortran程序考试典型题

1、找出100-150之间和400-450之间能被9整除的数 2、找出100-999之间的回文数 3、找出水仙花数

4、输出“*”图形 5、输入n个数,找出大于平均值的数和最小数

6、把一个数值型数组的相同数删除到只剩一个 7、形成一个5*5矩阵,对角线元素为“i”,其余为“j”program juzhen implicit none integer I,J integer,parameter::size=5 integer::a(size,size) forall(I=1:size,J=1:size,I>J) a(I,J)=j forall(I=1:size,J=1:size,I==J) a(I,J)=i forall(I=1:size,J=1:size,I

integer,allocatable::c(:) write(*,*) "输入数组A的数据个数" read(*,*) n write(*,*) "输入数组B的数据个数" read(*,*) m l=m+n allocate (a(n)) allocate (b(m)) allocate (c(l)) write(*,*) "从小到大输入A的元素" do i=1,n read(*,*) a(i) end do write(*,*) "从小到大输入B的元素" do i=1,m read(*,*) b(i) end do do i=1,n c(i)=a(i) end do i=1 do while(i=c(n))then n=n+1 c(n)=b(i) goto 10 else if(b(i)>c(j).and.b(i)

《基础设施管理程序》

基础设施管理程序 1.0目的 使企业的基础设施得到合理配置与优化,从而使质量管理体系得到有效实施和保持,以及不断满足顾客的需求。 2.0范围 适用于本公司所有设施和工作环境等资源的管理。 3.0职责 3.1装备部负责物资、设施配置管理,确保质量管理体系和正常生产所需能源和 工作环境; 3.2装备部负责生产设备的维护与保养; 3.3生产部负责现场的设备日常维护。 4.0定义 4.1工作环境:包括基础环境、工作纪律、各种规章制度、职工的劳防用品等; 4.2设施:为维持正常生产所需的生产办公设施,包括厂房、硬件、软件、工作 场所等。 5.0程序 5.1设施管理 5.1.1确定与提供 a)在进行产品实现策划或项目策划时,主管部门应召集各部门代表以多学科 的方法进行工厂、设施和设备布局策划,根据产品过程流程图,考虑最大限度的增值使用场地空间、减少材料移动和搬运,形成《工厂平面布置图》,并确定相关设施设备的需求。 b)装备部应以策划的结果指导设施设备的选型、采购、安装、调试、验收和 使用,以求以较小的投入,合理的布局,最佳的运作获得最大的效益。 c)如运行过程中各部门发现设施不足,各部门填写采购申请信息,报总经理 批准后交采购部采购。 5.1.2工作环境 工作环境应做到5S+S(整理、整顿、清扫、清洁、教养加安全),保证提供

合格产品需要的良好工作环境。 5.1.3设施保持 5.1.3.1工作场所相关设施的保持和维护由装备部组织相关人员进行。 5.1.3.2硬件、软件等维护与保养由使用部门按5.2条款执行。 5.1.3.3支持服务 运输设备:货车,通讯设备:电话、传真; 当发生故障、异常时请操作人员通知维修人员进行维修。 5.2生产设备的使用与维护 5.2.1设备的采购和验收 a装备部主管根据企业制程状况,需要添置新设备时,与有关部门研讨,填写采购申请信息,总经理批准后交采购实现; b采购部接采购申请信息后,按采购要求进行采购,并将设备交相关使用部门; c设备到货后,装备部管理人员负责建立《生产设备履历卡》,并组织有关人员对设备的功能、技术性态进行检验: (1)如设备满足请购单及合同要求,由装备部在《设备验收单》上签字确认接收。 (2)设备验收后,装备部收齐有关技术资料存档,并移交生产车间投入使用。 技术资料包括:该产品的出厂合格证,验收清单,各种资料,图纸等。5.2.1验收合格的设备由设备管理员填入《设备管理台帐》 5.2.2设备维护修理 本公司所有生产设备的管理执行以日常检查,定期检查、修理、维护为核心的全面设备管理。 5.2.2.1日常检查: 装备部根据设备制造商的建议,结合本公司实际情况,制订《设备保养计划》,由操作人员每天按该计划中的日常保养项目进行检修,填写《设备点检卡》,由专业维修人员巡视督促。 5.2.2.2定期检查、维护: 由装备部组织设备使用人员按《设备保养计划》中的定期保养项目进行检修与维护,装备部负责督促、检查。

fortran程序实例

1)实例3—求多个半径下的圆周长 ! z3.f90 --Fortran95 ! FUNCTIONS: ! z3 - Entry point of console application. !************************************************************************* ! PROGRAM: z3 ! PURPOSE: Entry point for the console application. !************************************************************************ program z3 ! 求多个半径下的圆周长 ! 主程序 ! PROGRAM Z3 PRINT *, 'R=',1.2,'C=',C(1.2) PRINT *, 'R=',3.4,'C=',C(3.4) PRINT *, 'R=',15.6,'C=',C(15.6) PRINT *, 'R=',567.3,'C=',C(567.3) END program z3 !子程序 FUNCTION C(R) PI=3.1415926 C=2*PI*R RETURN ! Body of z3 end

2)实例4—键盘与显示器输入/输出 a)Fortran 基本操作 b)程序指令 ! ZXZ_I_O.f90 ! FUNCTIONS: ! ZXZ_I_O - Entry point of console application. ! PROGRAM: ZXZ_I_O ! PURPOSE: Entry point for the console application. !***************输入、输出样式种种************************** program ZXZ_I_O implicit none !变量声明的位置 INTEGER(2) i; INTEGER(4) j; INTEGER(4) m; REAL n INTEGER A,B ! Variables PRINT*,'输入整数A'; READ*, A PRINT*,'输入整数B'; READ*, B B=A+B PRINT*,'B=A+B=',B WRITE(*,*) 'A*B=',A*B PRINT* ,'以上为计算机的计算结果,注意B的值'

计算机程序设计语言(FORTRAN语言)

计算机程序设计语言(FORTRAN语言) (总分:36.00,做题时间:90分钟) 一、 (总题数:36,分数:36.00) 1.编译程序能将高级语言编写的源程序转换成( )。 A.解释程序 B.汇编程序 C.映象程序 D.目标程序 (分数:1.00) A. B. C. D. √ 解析: 2.一个完整的FORTRAN源程序( )。 A.至少包括一个主程序 B.至少包括一个主程序和一个子程序 C.由一个主程序与一个以上的子程序组成 D.由一个主程序与一个子程序组成 (分数:1.00) A. √ B. C. D. 解析: 3.语句函数定义语句在程序内合法的位置是( )。 A.在程序块开头语句之后,END语句之前 B.在程序块开头语句之后,可执行语句之前 C.在说明语句之后,END语句之前 D.在说明语句之后,可执行语句之前 (分数:1.00) A. B. C. D. √ 解析: 4.下列关于函数子程序虚实参数的错误说法是( )。 A.可以没有形参数 B.虚实结合的数组长度可以不同 C.实参表与虚参表类型可以不同 D.函数名可以作为虚参

(分数:1.00) A. B. C. √ D. 解析: 5.下列叙述中正确的是( )。 A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句 (分数:1.00) A. B. C. √ D. 解析: 6.运行下面的程序时得不到所需的结果,其主要原因是( )。INTEGER X(11) DATA X/9,8,7,6,5,4,3,2,1,0,-1/ DO 10 1=1,X(1) ,-1 WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2) 10 CONTINUE END A.没有给X(11) 赋初值 B.发生除以零的情况 C.发生负数开平方的情况 D.循环参数设置错误 (分数:1.00) A. B. C. D. √ 解析: 7.下列数据中,不符合FORTRAN常量表示法的是( )。 A.-25.6 B.2.758D3 C.'FOOT"=' D.TRUE (分数:1.00) A. B. C. D. √ 解析:

7.1.0基础设施控制程序

1 目的产品 确定、提供并维护为达到符合产品所需的基础设施,确定和管理为达到产品符合要求所需的工作环境。 2 适用范围 适用于为达到产品符合性所需的基础设施,如工作场所、工具和设备、支持性服务如运输设施等的控制;对工作环境中的人和物的因素进行控制。 3 职责 3.1 生技部对达到产品符合性所需的基础设施(设备、工具)按《设备管理制度》进行控制,水电供应的控制。 3.2 办公室对达到产品符合性所需的工作场所、软件(计算机网络)进行管理。 3.3 供销部负责对运输服务的管理。 4 工作程序 4.1 生产基础设施提供和维护 4.1.1 基础设施的提供 使用部门根据需要,填写“设备采购申请单”,注明设施名称、用途、型号规格、技术参数、单价、数量等,报总经理批准后,由供销部负责组织安排采购有关事宜,并具体实施采购。 4.1.2 基础设施的验收 a) 采购的基础设施,生技部组织使用部门进行安装调试,确认满足要求后,由生技部和有关部门在“设备验收单”上签收,并记录设施名称、型号规格、技术参数、单价、数量、随机附件及资料等内容。“设备验收单”由生技部保管。低值易耗的工具等由生技部自行验收签字;监视和测量装置由品质部验收后填写“监视和测量装置登记台帐”并保管,按《监视和测量装置的控制程序》进行控制;非生产用办公用品由办公室登帐管理。 b) 验收不合格的基础设施,供销部与供方协商解决。 c) 生技部对验收合格的基础设施进行编号,并在“生产设备台帐”上登记,然后办理入库手续。 d) 生技部对设备进行分类,对于A类设备建立设备档案。 e) 低值易耗的工具等及时办理入库手续。

4.1.3 基础设施的使用、维护和保养 a) 根据生产需要生技部组织编写《设备管理制度》,使用部门办理“领料单”,由生技部签字,生技部负责人批准后,发放给使用部门。对于大型、精密设备或关键、过程所有的基础设施必须有操作规程,相关操作人员应由部门技术负责人培训、考核合格后,持证上岗。 b) 生技部负责对B类设备的保养、维护的操作工进行检查,监督。生技部每季度收集“设备日检点记录”,整理归档并作为制定年度检修计划的依据,具体执行《设备管理制度》。 c) 生技部每年12月制定下年度的“设备年度大修计划”。 d) 日常生产中车间无法排除的故障,应报生技部组织检修。检修时应将检修情况记录在“设备检修记录”上,由使用部门负责人签字验收方可使用。 4.1.4 设施的报废 a) 对无法修复或无使用价值的设施,由使用部门填写“设备报废申请单”,经生技部负责人审核报总经理批准后报废,并在“生产设备台帐”中注明; b) 对低值易耗的工具等,由使用部门填写“设备报废申请单”报生技部负责人批准; c) 报废的设施应挂“禁用牌”或收回仓库集中放置。 4.2 工作环境 办公室应协助生技部识别并管理为达到产品符合性所需的工作环境中人和 物的因素,根据生产作业需要,负责确定并提供作业场所必须的基础设施,创造良好的工作环境,包括: a) 配置适用的厂房根据生产需要适当装修,防止暴晒、风雨侵蚀和潮湿; b) 配置必要的通风,保持适宜的温、湿度和职业卫生、安全设施; c) 生技部对车间设施实行定置管理,要考虑人体工效学的要求及生产流程的要求,努力提高工作效率; d) 确保员工的生产环境符合规定的要求。 。 5 相关文件 5.1 《设备管理制度》 5.2 《监视和测量装置的控制程序》 6 记录 6.1 设备采购申请单

几个fortran程序

计算圆周率 REAL R,R1,R2,PI ISEED=RTC() N0=0 N=300000 DO I=1,N R1=RAN(ISEED) R2=RAN(ISEED) R=SQRT(R1*R1+R2*R2) IF(R<1.0)N0=N0+1 END DO PI=4.0*N0/N WRITE(*,*)PI END 一)蒙特卡洛计算生日问题 假设有N个人在一起,各自的生日为365天之一,根据概率理论,与很多人的直觉相反,只需23个人便有大于50%的几率人群中至少有2个人生日相同。 INTEGER M(1:10000), NUMBER1(0:364), NUMBER2 REAL X,Y ISEED=RTC() DO J=1, 10000 NUMBER1=0 X=RAN(ISEED) NUMBER1(0)=INT(365*X+1) JJJ=1 DO I=1,364 Y=RAN(ISEED) NUMBER2=INT(365*Y+1) ETR=COUNT(NUMBER1.EQ.NUMBER2) IF (ETR= =1) THEN EXIT ELSE JJJ=JJJ+1 M(J)=JJJ NUMBER1(I)=NUMBER2 END IF END DO END DO DO I=1,10000 IF(M(I).LE.23) SUM=SUM+1 END DO PRINT *,SUM/10000 END 二)MONTE CARLO SIMULATION OF ONE DIMENSIONAL DIFFUSION 蒙特卡罗计算一维扩散问题

INTEGER X,XX(1:1000,1:1000) REAL XXM(1:1000) ! X:INSTANTANEOUS POSITION OF ATOM ! XX(J,I):X*X ,J:第几天实验,I:第几步跳跃 ! XXM(I): THE MEAN OF XX WRITE(*,*) "实验天数JMAX,实验次数IMAX" READ(*,*) JMAX,IMAX ISEED=RTC() DO J=1,JMAX !第几天实验 X=0 !!! DO I=1,IMAX !第几步跳跃 RN=RAN(ISEED) IF(RN<0.5)THEN X=X+1 ELSE X=X-1 END IF XX(J,I)=X*X END DO END DO OPEN(1,FILE="C:\DIF1.DAT") DO I=1,IMAX XXM=0.0 XXM(I)=1.0*SUM(XX(1:JMAX,I))/JMAX !! WRITE(1,*) I, XXM(I) END DO CLOSE(1) END 三维的! 三)通过该程序了解FORTRAN语言如何画图(通过像素画图)USE MSFLIB INTEGER XR,YR !在的区域中画一个圆 PARAMETER XR=400,YR=400 INTEGER R, S(1:XR,1:YR) X0=XR/2 ! 圆心位置X0,YO Y0=YR/2 R=MIN(X0-10,Y0-10) !圆半径 S=0 !像素的初始状态(颜色) DO I=1,XR DO J=1,YR IF((I-X0)**2+(J-Y0)**2<=R**2)S(I,J)=10 IER=SETCOLOR(S(I,J)) IER=SETPIXEL(I,J) END DO END DO END

fortran程序30个

程序1 PROGRAM chaper1272 INTEGER :: A(10)=(/5,7,4,8,12,2,10,3,9,11/) INTEGER :: sum=0,ave !打开一数据文件,设置一个有格式直接存取文件,将10个数分2个记录写入文件。 !数据文件生成2个记录,每个记录行长度相同,记录长度为25 OPEN(1,FILE='input21.dat',FORM='FORMATTED',ACCESS='D IRECT',RECL=25) WRITE(1,"(5I5)",REC=1)(A(I)+10,I=1,5) !按格式说明将头5个数写入第1个记录 WRITE(1,"(5I5)",REC=2)(A(I)+10,I=6,10)!按格式说明将后5个数写入第2个记录 READ(1,"(5I5)",REC=2)(A(I),I=6,10) !按格式说明从第2个记录中读取后5个数 READ(1,"(5I5)",REC=1)(A(I),I=1,5) !按格式说明从第1个记录中读取头5个数 DO I=1,10 sum=sum+A(I) ENDDO ave=sum/10 !打开一个最大记录长度为22的有格式顺序存取文件

OPEN(2,FILE='input22.dat',FORM='FORMATTED',ACCESS='D IRECT',RECL=22) WRITE(2,"('10个数之和为:',I5)",REC=1) sum !输出1记录行,记录长度为22 WRITE(2,"('10个数平均值为:',I5)",REC=2)ave !输出1记录行,记录长度为22 WRITE(2,"(A)",REC=3) '程序运行正常结束。' !输出一个记录行,记录长度为22 END 程序2 PROGRAM average REAL sum,ave INTEGER n OPEN(1,file='score.dat') PRINT*,'正在统计平均成绩,请等待。' sum=0.0;n=0 DO READ(1,*,END=100) S sum=sum+s n=n+1 ENDDO 100 ave=sum/n

05-基础设施控制程序

基础设施控制程序 1、目的 规定了基础设施控制的内容、要求和方法。 2、范围 适用于公司基础设施管理的控制。 3、权责 3.1、生产技术部负责建筑物、工作场所和相关设施、设备的规划、配置和管理,负责检测设备、工装的购置、检定/校准外包管理,负责所用设施、设备、工装的日常维护保养和管理。 3.2、生产技术部负责在工艺技术文件中确定产品实现所需加工设备、工艺装备和检测设备。 3.3 、车间负责安装工具和设备的建账和日常维护保养管理。 4、定义 基础设施:司运行所必须的设施、设备和服务的体系。一般包括:建筑物、工作场所和相关设施;过程设备(硬件和软件);支持性服务(运输或通讯)。 5、工作流程: 5.1、确定、提供并维护为达到产品符合要求所需的基础设施,是质量管理体系有效运行及产品满足质量要求的重要保证。 5.2、公司的基础设施包括:工房、库房等工作场所和相关的设施;生产设备、检测设备、工具工装等过程设备及其水、电、气、通讯、运输等支持性服务。 5.3 、设施的提供 5.3.1、建筑物、工作场所和相关设施 5.3.1.1、生产技术部负责,根据公司发展规划与生产经营需要,组织设施的规划、实施、验收、调配和维修。 5.3.1.2、财务部协助生产技术部实施设施的配置。 5.3.2 、设备的采购、安装和验收 5.3.2.1、生产技术部负责,根据公司生产经营需求和生产技术部的配置、维修计划,编制公司设备更新、改造和维修计划,经公司主管领导批准后组织实施。 5.3.2.2、生产技术部负责组织设备的安装、验收和维修工作,负责对设备的采购、安装和验收。设备的控制具体按Q/C03-2017《设备管理办法》的规定执行。 5.3.3、检测设备 5.3.3.1、生产技术部按照工艺配置和生产经营需求,提出检测设备配置计划和实施采购。 5.3.3.2、生产技术部负责对采购的检测设备委托监视和测量设备外包单位进行验收、编制周期检定计划、定期进行检定/校准和实施管理,确保在用的检测设备满足要求,具体按《监视和测量资源控制程序》的规定执行。 5.3.4 、工具工装 5.3.4.1、生产技术部负责按照工艺配置和生产经营需求,配置为保证产品符合要求的工具工装。 5.3.4.2、自制工具工装由生产技术部组织制造,外购工具工装由生产技术部实施采购,质量部协助生产技术部对工装进行检验和验证。工具工装的控制具体按Q/C04-2017《工艺装置管理办法》的规定执行。 5.3.5、产品周转运输工具、工位器具 5.3.5.1、生产技术部负责按照产品周转、搬运和防护要求,配置产品周转运输工具、工位器

Fortran95程序设计课后习题答案(word版方便)

第四章 1.program main implicit none write(*,*) "Have a good time." write(*,*) "That's not bad." write(*,*) '"Mary" isn''t my name.' end program 2.program main real, parameter :: PI=3 implicit none.14159 real radius write(*,*) "请输入半径长" read(*,*) radius write(*,"(' 面积='f8. 3)") radius*radius*PI end program 3.program main implicit none real grades write(*,*) "请输入成绩" read(*,*) grades write(*,"(' 调整后成绩为'f8.3)") SQRT(grades)*10.0 end program 4.integer a,b real ra,rb a=2 b=3 ra=2.0 rb=3.0 write(*,*) b/a ! 输出1, 因为使用整数计算, 小数部分会无条件舍去write(*,*) rb/ra ! 输出1.5 5.p rogram main implicit none type distance real meter, inch, cm end type type(distance) :: d write(*,*) "请输入长度:" read(*,*) d%meter d%cm = d%meter*100 d%inch = d%cm/2.54 write(*,"(f8.3'米='f8.3'厘米='f8.3'英寸')") d%meter, d%cm, d%inch end program 第五章 1.program main implicit none integer money real tax write(*,*) "请输入月收入" read(*,*) money if ( money<1000 ) then tax = 0.03 else if ( money<5000) then tax = 0.1 else tax = 0.15 end if write(*,"(' 税金为'I8)") nint(money*tax) end program 2.program main implicit none integer day character(len=20) :: tv write(*,*) "请输入星期几" read(*,*) day select case(day) case(1,4) tv = "新闻" case(2,5) tv = "电视剧" case(3,6) tv = "卡通" case(7) tv = "电影" case default write(*,*) "错误的输入" stop end select write(*,*) tv end program 3.program main implicit none integer age, money real tax write(*,*) "请输入年龄" read(*,*) age write(*,*) "请输入月收入" read(*,*) money if ( age<50 ) then if ( money<1000 ) then tax = 0.03 else if ( money<5000 )then tax = 0.10 else tax = 0.15 end if else if ( money<1000 ) then tax = 0.5 else if ( money<5000 )then tax = 0.7 else tax = 0.10 end if end if write(*,"(' 税金为'I8)") nint(money*tax) end program 4.program main implicit none integer year, days logical mod_4, mod_100, mod_400 write(*,*) "请输入年份" read(*,*) year mod_4 = ( MOD(year,4) == 0 ) mod_100 = ( MOD(year,100) == 0 ) mod_400 = ( MOD(year,400) == 0 ) if ( (mod_4 .NEQV. mod_100) .or. mod_400 ) then days = 366 else days = 365 end if write(*,"('这一年有'I3'天')") days stop end program 第六章 1.program main implicit none integer i do i=1,5 write(*,*) "Fortran" end do stop end program 2.program main implicit none integer i,sum sum = 0 do i=1,99,2 sum = sum+i end do write(*,*) sum stop end program 3.program main implicit none integer, parameter :: answer = 45 integer, parameter :: max = 5 integer weight, i do i=1,max write(*,*) "请输入体重" read(*,*) weight if ( weight==answer ) exit end do if ( i<=max ) then write(*,*) "猜对了" else write(*,*) "猜错了" end if stop end program 4.program main implicit none integer, parameter :: max=10 integer i real item real ans ans = 1.0 item = 1.0 do i=2,max item = item/real(i) ans = ans+item

基础设施管理控制程序

1.目的 为满足本公司的生产和服务的要求,对所需的基础设施进行有效管理。 2. 适用范围 适用于本公司工作设施,生产设备及相关辅助设备设施的配置、使用、维护、维修管理。 3. 职责 办公室负责厂房、办公楼、水电气供应设施,消防及通迅设施、运输车辆(不含公司内部产品运转工具)等的管理。 工程部负责公司主要生产设备、辅助设备、备品备件的管理。 相关部门负责正确使用、维护和保养相关设施、设备。 4. 工作程序 工作设施的管理 厂房、办公楼、水电供应设施,消防、通迅设施,信息系统及运输车辆等的购置,根据项目大小类别由总经理或指定项目负责人,成立专门小组,制定具体实施方案, 组织相关部门和人员评审,总经理批准后由办公室具体组织实施。 实施过程中的记录、图纸,资料交文控中心归档保存。 实施投入前,由办公室制定有关的管理规范,操作要求,日常和定期维护保养计划和方案,并组织实施。 生产设备的管理 设备的分类。 按用途分为: 主要生产设备:指用于生产加工产品的设备。 辅助设备:如模具、周转箱、周转车等。 备品备件:设备上的易损、易耗件。 设备的采购 a.整条生产线,大型复杂、精度要求高或贵重的生产设备的采购,由总经理组织工程负责 人和生产部及相关部门人员,进行市场调研、可行性论证后再形成文件。由总经理批准 后,同供货商进行谈判,签订采购合同,实施采购。 b.一般生产设备和辅助生产设备的采购,由使用部门提出规格型号,技朮要求,经总经理 批准后实施。 c.自制设备由工程部生产工程组制定设计方案组织制造,需要外购的零件填写<<请购 单>>,经总经理批准后交采购科实施采购。要求难度大、复杂的自制设备要保持完整的 技朮资料。 d.设备备品备件的采购,由使用部门填写<<请购单>>,经总经理批准后交采购科实施采购。

Fortran程序总结

1.行的书写(行的长度、分行、续行) 一行可以是0~132个字符,空格有意义, 语句最长不超过2640个字符 一行可以有多个语句,用“;”分隔 一个语句可分行写,读行标记为&(放在尾部),但如为关键字,首尾均加&。 最多可有511个续行。 2.说明语句必须出现在可执行语句之前,格式说明语句(FORMAT语句)除外。 3.注释标志符: 自由格式:!固定格式:C * 语句分隔符:分号;(仅自由格式可以使用) 续行符:自由格式:& 申明标号:1到5位无符号整数 空格:关键字、变量、常量内部不能用空格,但相邻两者之间须用空格 4.信息处理的分类:数值处理和信息处理 现代计算机工作原理:程序存储和程序控制(冯·诺依曼) 1、运算器——算术运算、逻辑运算 2、控制器——根据指令控制计算机工作 运算器、控制器和寄存器称为中央处理器CPU 3、I/O设备——提供数据传输服务 4、总线——数据传输的公共通道 1.机器语言:二进制代码形式,可以被计算机直接执行,不可移植 2.汇编语言:用助记符来代替机器指令,容易记忆,不可移植 3.高级语言:接近自然语言(英语)的程序设计语言,又称算法语言,易学、易用、易 维护,可移植性好例:FORTRAN、BASIC、PASCAL、C、LISP、PROLOG等 5.FORTRAN90程序是一种分块结构,由若干个程序单元块组成: 主程序、外部子程序、模块、块数据单元无论是主程序单元,还是子程序单元,都是独立的程序单位,应该独立编写,它们的形式相似。 非语句行:注释语句:!后的所有字符都被编译器忽略。可独占一行,也可在其它语句之后,空行为注释行(固定格式用C和*) 6.常量的定义:常量是程序执行过程中不能变化的量。 基本数据类型有五种:整型、实型、复型、字符型和逻辑型 前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。 FORTRAN 90通过KIND值确定整数的存储开销、最大位数和取值范围,如表所示。缺省KIND 值则取默认值4。 KIND值字节数二进位数取值范围 1 1 8 -128~127 2 2 16 -32768~32767 4 4 32 -2147483648~2147483647 格式:SELECTEND_INT_KIND(N) : 功能:返回范围在-10N~10N的整数的kind-Value 在FORTRAN90中,也可以表示二进制、八进制、十六进制形式的无符号整数。其形式如下:二进制数:B’101101’ 或B”101101” 八进制数:O’76210’ 十六进制数:Z’1FA2’

平面四边形四节点等参单元Fortran源程序

C ************************************************ C * FINITE ELEMENT PROGRAM * C * FOR Two DIMENSIONAL ELASticity PROBLEM * C * WITH 4 NODE * C ************************************************ PROGRAM ELASTICITY character*32 dat,cch DIMENSION SK(80000),COOR(2,300),AE(4,11),MEL(5,200), & WG(4),JR(2,300),MA(600),R(600),iew(30),STRE(3,200) COMMON /CMN1/ NP,NE,NM,NR COMMON /CMN2/ N,MX,NH COMMON /CMN3/ RF(8),SKE(8,8),NN(8) WRITE(*,*)'PLEASE ENTER INPUT FILE NAME' READ(*,'(A)')DAT OPEN(4,FILE=dat,STATUS='OLD') OPEN(7,FILE='OUT',STATUS='UNKNOWN') READ(4,*)NP,NE,NM,NR WRITE(7,'(A,I6)')'NUMBER OF NODE---------------------NP=',np WRITE(7,'(A,I6)')'NUMBER OF ELEMENT------------------NE=',ne WRITE(7,'(A,I6)')'NUMBER OF MATERIAL-----------------NM=',nm WRITE(7,'(A,I6)')'NUMBER OF surporting---------------NC=',Nr CALL INPUT (JR,COOR,AE,MEL) CALL CBAND (MA,JR,MEL) DO I=1,NH SK(I)= enddo CALL SK0(SK,MEL,COOR,JR,MA,AE) do I=1,N R(I)= enddo pause 'aaa' stop READ(4,*)NCP,NBE,iz WRITE(*,'(5i8)')NCP,NBE,iz WRITE(7,'(5i8)')NCP,NBE,iz IF CONCR(NCP,R,JR) IF CALL BODYR(NBE,R,MEL,COOR,JR,AE) IF do jj=1,iz READ (4,*)Js,nse,(WG(I),I=1,4) read(4,*)(iew(m),m=1,nse) CALL FACER(iew,NSE,R,MEL,COOR,JR,WG) enddo endif CALL DECOP (SK,MA)

计算材料学Fortran程序汇总

INTEGER M(1:10000), NUMBER1(0:364), NUMBER2 REAL X,Y ISEED=RTC() DO J=1, 10000 NUMBER1=0 X=RAN(ISEED) NUMBER1(0)=INT(365*X+1) JJJ=1 DO I=1,364 Y=RAN(ISEED) NUMBER2=INT(365*Y+1) ETR=COUNT(NUMBER1.EQ.NUMBER2) IF (ETR= =1) THEN EXIT ELSE JJJ=JJJ+1 M(J)=JJJ NUMBER1(I)=NUMBER2 END IF END DO END DO DO I=1,10000 IF(M(I).LE.23) SUM=SUM+1 END DO PRINT *,SUM/10000 END ================================================= Monte Carlo Simulation of One Dimensional Diffusion INTEGER X,XX(1:1000,1:1000) REAL XXM(1:1000) ! X:INSTANTANEOUS POSITION OF ATOM ! XX(J,I):X*X ,J:第几天实验,I:第几步跳跃 ! XXM(I): THE MEAN OF XX WRITE(*,*) "实验天数JMAX,实验次数IMAX" READ(*,*) JMAX,IMAX ISEED=RTC() DO J=1,JMAX !第几天实验 X=0 !!! DO I=1,IMAX !第几步跳跃 RN=RAN(ISEED) IF(RN<0.5)THEN X=X+1 ELSE X=X-1 END IF XX(J,I)=X*X END DO END DO OPEN(1,FILE="C:\DIF1.DAT") DO I=1,IMAX XXM=0.0 XXM(I)=1.0*SUM(XX(1:JMAX,I))/JMAX !! WRITE(1,*) I, XXM(I) END DO CLOSE(1) END ============================================================ ! Monte Carlo Simulation of Two Dimensional Diffusion INTEGER X,Y,XY(1:1000,1:1000) REAL XYM(1:1000) ! X:INSTANTANEOUS POSITION OF ATOM ! XY(J,I):X*Y ,J:第几天实验,I:第几步跳跃 ! XYM(I): THE MEAN OF XY WRITE(*,*) "实验天数JMAX,实验次数IMAX" READ(*,*) JMAX,IMAX ISEED=RTC() DO J=1,JMAX !第几天实验 X=0 !!! Y=0 !!! DO I=1,IMAX !第几步跳跃 RN=RAN(ISEED) IF(RN.LT.0.25)THEN x=x y=y-1 END IF IF(RN.LT.0.5.AND.RN.GE.0.25)THEN x=x y=y+1 END IF IF(RN.LT.0.75.AND.RN.GE.0.5)THEN

相关文档
最新文档