Fortran语言 第三章
fortran语言教程第3章

第3章顺序结构设计本章介绍数据输入/输出语句及其他基本语句,简单介绍顺序结构及程序设计的基本步骤,书写简单程序。
3.1 变量的赋值变量代表计算机内存中的存储单元,它可以接收外部设备输入的数据,也可保留运算器的运算结果,还可以被送到外部设备输出。
FORTRAN语言要求变量必须被预先赋值,然后才能被使用,并提供了下面几种为变量赋值的方式,因此,程序中的变量都应该在使用之前用下列方式之一获得数据。
3.1.1 赋值语句1)赋值语句的格式和功能语句的格式:变量 = 表达式语句的功能:将一个表达式的计算结果值赋给一个变量。
关于赋值语句的说明:(1)赋值语句是执行语句。
(2)赋值语句中的“=”号叫做“赋值号”,它的作用是将其右边的表达式的结果赋给其左边的变量,即将表达式的值放入变量对应的内存单元中,因此,赋值号的意义是带有方向性和动作性的。
例如“A=5.5”的作用是将5.5 送到变量A对应的内存单元中。
(3)赋值语句兼有计算和赋值双重功能。
即先计算出表达式的值,然后将该结果赋给一个变量。
例如“N=N+1”的作用是用N的当前值加上1后再送入N中,假设N的当前值是5,则执行N=N+1后,N的值为6。
(4)根据赋值语句的功能,由于赋值号的方向性特性,赋值号左边只能是变量,以便提供一个获得数据的空间。
因此,“A=B”和“B=A”具有完全不同的意义,前者表示将B中的数据送入A中,后者表示将A中的数据送入B中。
语句“X+Y=10”是错误的,因为在内存中找不到名字为X+Y的变量。
2)执行赋值语句时的类型转换问题执行赋值操作时,被赋值的变量和表达式的类型可以相同,也可以不相同。
FORTRAN语言作如下规定:(1)变量与表达式的类型相同,则将表达式的结果直接赋值。
M=4 (变量M和4都是整型)A=3.5*SIN(X)(变量A和表达式3.5*SIN(X)都是实型)(2)如果类型不同,则应先进行表达式的计算,然后将该表达式的值转换为被赋值变量的类型。
第三章 Fortran基础、输入输出

第三章 Fortran程序设计基础、 输入输出及声明
二、Fortran的数据类型和数学表达式 1. Fortran的数据类型 (2)浮点数(Real) 浮点数的类型又分两种,单精度型和双精度型。 在个人计算 机中占用 有效位数 可记录的 最大数值 最小数值
单精度
双精度
32bits (4bytes) 64bits (8bytes)
Fortran是不区分大小写的语言。 指变量名和执行命令不区分,字符串是区分大小写的。
第三章 Fortran程序设计基础、 输入输出及声明
一、字符集和书面格式 2. 书面格式
Free Format(自由格式)
Fortran程序代码为以*.F90为扩展名的文件
Fixed Format(固定格式) Fortran程序代码扩展名为*.F或*.FOR的文件
使用2个bytes来存放整数的意思。
若在声明时没有特别赋值长短,通常编译器会默认使用长整型。
第三章 Fortran程序设计基础、 输入输出及声明
四、声明
1. 整数类型
若声明多个整型变量时,可以写在同一行,如 integer a,b,c 在Fortran中,声明变量时要注意的几个原则: (1)变量的名称以使用英文字母为原则,可以内含下划线或数字,但前缀必须 是英文字母。 (2)变量名字的长度,在77标准中最起码支持6个字符长,90标准中最起码支 持31个字符长。也就是说在Fortran77种变量长度最好是在1~6之间,在
1. 乘幂要连用两个星号,不能像手写的时候只要把数字写成上标 就行了,例如22必须写成2**2。 2. 乘号不能省略,手写的算式中(A+B)(C+D)和(A+B)*(C+D)是一 样的,但写程序时只容许第2种写法,所以像2*A也不能写成2A。 3. 除法用计算编写时没有下面的表示方法:
fortran语言第三章

类型说明语句CHARACTER说明C1,C2和 C3的类型是字符类型,它们的长度分别是5, 5和 12。字符型变量的长度表示它能存放的字符个 数,每个字符用1个字节存放,如图所示。 C1 H e l l o
C2 w o r l d
C3 h e l l o , w o r l d ! 字符型变量存储单元
L1 和 L2 赋 值 ;
用逻辑表达式L1 .AND. L2给L3赋值。
综上:对于赋值语句 注意: (1) 赋值号与数学中的等号意义不同。 例N=N+1 (2) 赋值号左边是变量名,右边是表达式, 左右不允许颠倒。 (3) 不允许多重赋值。 例 X = Y = Z = 0 或 x, y, z = 0 (错误) 必须写成三个赋值语句。
向右任意插入。如FORMAT语句可以插到程序单位
语句和END语句之间任意一行。注释行可放在END
语句之前任一行。粗略地说,FORTRAN语句顺序
规定是:说明语句在前,可执行语句在后。
二、赋值语句
fortran第3章2 Fortran语言程序设计初步

三.大小写必须区分的位置
● 作为字符常量的字符串里面;
上一页
下一页
● 输入输出的纪录里面;
停止放映
● 作为编辑描述符的引号或撇号里面。
四. CVF编译平台接受小写字母。
在 OPEN 或 者 INQUIRE 语 句 里 面 的 FILE= 或 NAME= 后面是否区分大小写,也是由编译平台指定的。
五.如果是需要调用其他语言写的子程序, 而恰好该种语 言(例如C语言)是区分大小写的,这时就需要特别小心。
● 如果没有声明数据的种别,那么程序就会采用默认的参 数,FORTRAN的早期版本没有引入种别参数,直接采用了 两种不同的数据类型: REAL和DOUBLE PRECISION
FORTRAN90以来的版本里,引入种别参数,对种别参数 的不同取值,就足够表达不同的精度,
● 对于在指定种别参数的数值时,一般是以字或字节为单位, 这样对于字长不同的机器而言,相互之间就会出现程序移植 的困难,下面分情况予以说明:
在FORTRAN90与95中:
默认在FORTRAN77中的规定, 在FORTRAN90之后的标
准里,开始允许在一个程序单元内,由用户定义特定的不
上一页
依赖于固有数据存储模式的数据类型,这就是派生数据类
下一页
型。
停止放映
第二种情况:
指定固有数据类型的种别参数。
● 用来指定程序当中需要使用的每一种固有数据类型所要 求占据的内存空间大小的属性由种别参数表示。给这个变 量(参数)指定一个数值,就可以说明数据所需要的存储空 间的大小,也就是程序允许的数值数据的位数和字符串的 字符数目。
数字 0 1 2 3 4 5 6 7 8 9
下划线 _
特殊字符
第三章FORTRAN90基础知识

CMPLX (10, 20, 4)
! 按序指定参数。
CMPLX (y=20, kind=4, x=10) ! 按变元关键字指定参数。
_wrong,U.S.A.,
下面是几个使用合法名称的语句例子。
INTEGER total
!total命名了一个整型变量
SUBROUTINE example !example命名了一个过程
PROGRAM area
!area命名了一个程序单元
Lable:DO I=1,N !Lable命名了一个DO循环
第三章 FORTRAN 90基础知识
3.3 关键字/示例
END FUNCTION mul(x,y)
mul=x*y END FUNCTION
第三章 FORTRAN 90基础知识
09/10秋学期
概述 分类 描述 示例
3.4 程序单元
一个F90程序可由多个程序单元组成(至少一个主程序单元)。 程序单元由数据声明和相关操作(语句)构成,必须用END语句结束。
3.2 名称
概述 语法描述 作用域 示例
<名称>→<英gt;∣“_”∣“$”}
说明: ① 名称只能由英文字母、数字、下划线符“_”和美元
符号“$”组成。 ② 名称第一个字符必须是英文字母。
3.2 名称/语法描述
③ 名称不能超过31个字符。
第三章 FORTRAN 90基础知识
模块单元:能被其它程序单元访问的一组定义(数据类型定义、 过程定义)、过程接口定义)所构成的程序单元,其中模块子程序 允许本模块或其它程序单元调用执行。由MODULE语句开始。
FORTRAN语言第3章(共8章)

会再去执行。这一点同后面的SELECT CASE完
全不同。也就是说IF结构中的选择条件是允许重 叠的,但SELECT CASE语句不允许选择条件有 重叠。
第二节 块IF选择结构
1.ELSEIF语句其作用相当于将ELSE语句与其 后的ELSE块中的块IF语句连接在一起。 2.同块IF语句不同, ELSEIF语句与ENDIF语 句间不存在一一对应关系。 3.在这种IF结构中,允许使用多个ELSEIF语 句。在最后一个ELSEIF语句之后,可以有与 之对应的ELSE语句,也可以没有。当有 ELSE语句在最后时,表示如果前面所有的条 件都不成立,执行其后的ELSE块;如果没有 ELSE块,则表示如果前面所有的条件都不成 立时,流程转到ENDIF语句。
条 件 1 假 条 件 2 真 条 件 ...... 1 块 2 块 ...... 块 n 块 n +1 真 假 条 件 n 真 假 假
EN D IF 的 后 继 语 句
第二节 块IF选择结构
多重判断的IF结构中,判断条件的成立具有
唯一性。即一旦有判断条件成立,就去执行相应
的模块,如果其后仍有判断条件是成立的,也不
一个嵌套分支结构可使用若干个块 IF语句,相应就有若干个ENDIF语句,
每个块IF语句还可能使用一些ELSE
IF语句、ELSE语句,这就可能构成一 个复杂的IF-ELSEIF-THEN-ELSE结构。
当嵌套层次过多时,往往一时难以找
到同一层的块IF中的各语句,一般可 按以下方法确定: (1)从最内层的块IF语句开始,向下找到离它最近的ENDIF 语句,将它们用线括起来,这就是同一层次的块IF。 (2)由内向外重复这一个过程,直到遇见最外层块IF语句和 ENDIF语句为止。 (3)在书写嵌套分支结构时采取缩进方式进行程序书写,程 序的嵌套层次就容易确定。
fortran基础第3章
(3)复型数据(shùjù) 由于复数在内存(nèi cún)中是 以两个实数的存储单元存储的,在 输入输出时,以两个实数的编辑符 来提供复数输入输出的格式。
第三十二页,共62页。
(3)复型数据(shùjù)
例题(lìtí): COMPLEX::A READ (*,100)A PRINT 200,A
第五页,共62页。
对一行(yīxíng)语句的说明:
➢ 一行可由0~132个字符组成 ➢ 可以有注释语句(以!开始),可以单
独占一行,也可以在某个语句后面。 ➢ 可以有续行语句(以&开始),当它出
现在一行末尾,则表示下一行是该行的 继续,若不仅(bùjǐn)末尾有&符,而且 下一行第一个字符也是&符,则表示是 关键字分离。看P26的例子
(2) 实型数据(shùjù)
【例】分析(fēnxī)下面程序段: A=15.8;B=-756.567;C=870.2 PRINT 100,A,B,C
100 FORMAT(1X,E15.6 ,E12.4,E9.3 )
这里1X作为(zuòwéi)纵向走纸控制符,若没有这 个编辑符,则数据中第一个字符将被“吃掉”。 请同学注意:任何带格式输出的语句,第一个编 辑符一定是1X。
若W>L,在字符前面(qián mian)添加WL 个空格;
若W<L,只输出最前面(qián mian)的W 个字符 。
第三十八页,共62页。
(5)字符(zìfú)型数据
【例】 CHARACTER(LEN=5)::STR1 READ(*,100)STR1 PRINT 200,STR1
第十九页,共62页。
3.4.1 格式(géshi)编辑符
第3章 Fortran程序设计初步-1(fortran77)
在FORTRAN77的基础上添
加了很多内容,FOR95只 能视为FOR90的修正版, 加强了并行运算方面的 支持功能.
5/116
NEXT
3.2 简单程序分析
10 20 30 40 50 60 70 80 01234567890123456789012345678901234567890123456789012345678901234567890123456789
3/116
3.1 FORTRAN语言发展概况
FORTRAN-Formula Translation (公式翻译) 是世界上第一个被正式推广使用的高级语言 (于1954年提出; 1956年正式使用) Fortran是数值计算领域里使用的主要语言; 发展(有代表性的几个版本): 早期的版本不是 Fortran Ⅱ 1958 结构化语言,没 Fortran Ⅳ 1962 (Fortran 66) 有直接实现三种 基本结构的语句 Fortran 77 1978 (使用goto实现 Fortran 90 1990 特定操作).F77
35/116
FORTRAN编译系统—连接装配
36/116
FORTRAN编译系统—开始运行
37/116
FORTRAN编译系统—显示结果
38/116
FORTRAN编译系统—开始运行
FORTRAN90编译系统界面简介 FORTRAN90编译系统操作步骤 FORTRAN90编译系统基本设置等
3.3 Fortran书写格式
Fixed Format(固定格式)
第1个字符
当为字母c、C或*,这一行文本会当成说明 或批注,不会被编译。 当为数字,就是用来给这一行程序代码取 个代号,不然只能是空格。
FORTRAN95第三章循环程序设计
FORTRAN95第三章循环程序设计第三章的内容包括:1.DO循环:DO循环是FORTRAN中最基本的循环结构。
它允许我们指定循环变量的初始值、结束值和步长。
在每次循环迭代时,循环变量都会自动更新,并且在达到结束值时退出循环。
2.嵌套循环:FORTRAN也支持嵌套循环,这是在一个循环内部使用另一个循环。
嵌套循环使得我们能够处理更加复杂和具有分层结构的问题。
3.WHILE循环:FORTRAN还提供了类似于其他编程语言中的WHILE循环。
WHILE循环允许我们在循环前先检查一个条件,并且只要条件为真,就会继续执行循环体。
4.无限循环:有时候需要创建一个无限循环,即一个永远不会结束的循环。
在FORTRAN中,我们可以使用无条件的循环退出语句来跳出循环。
5.循环控制:在循环内部,我们可以使用控制语句来控制循环的执行方式。
这些控制语句包括CONTINUE、EXIT、CYCLE和END。
6.循环的应用:循环结构在许多数学和科学计算问题中都有广泛应用,如求和、求平均值、计算阶乘、寻找最大和最小值等。
循环程序设计是编程中非常重要的一部分,因为它可以帮助我们处理大数据集和执行复杂算法。
FORTRAN95提供了一系列强大的循环结构,使得我们能够更加灵活和高效地处理各种问题。
在循环程序设计中,重点应该放在优化循环的执行。
通过合理地选择循环变量的初始值、结束值和步长,以及使用合适的循环控制语句,可以使循环更加高效。
此外,避免在循环体内进行过多的计算和IO操作,可以减少循环的执行时间。
总之,循环程序设计是编程中一个基本但重要的概念。
FORTRAN95提供了丰富的循环结构和控制语句,使得我们能够更加高效地处理各种问题。
在实际应用中,我们应该根据具体问题的要求,合理选择和优化循环结构,以求得更好的性能和效果。
fortran语言编程第三章
前一页
休息
9
输入和输出
四:不带格式输入语句的一般形式
XXXXX read(设备号,*)变量名表
变量名表:由若干个变量名或数组元素等相互间用逗号分
割组成的内容。 作用:将输入数据按照系统设计输入格式一一赋给变量名 表中的每个变量名或数组元素等。
前一页
休息
10
stop、pause语句
一:stop语句的一般格式
例如: 20 write(*,20)m,n format(1x,i10,i10)
数值型格式说明符: Iw(整型输出)w为十进制正整数,表示输出整数的宽度 fw.d (小数点型输出)w,d为十进制正整数,w表示输出
数据的宽度,d表示小数部分占的位数
Ew.d(指数型输出)w,d为十进制正整数,w表示输出数
8
执行以上输入时,输入数据是: 0035000004150002 或
前一页 休息
输入和输出
三:不带格式输出语句的一般形式
XXXXX write(设备号,*)变量名表
变量名表:由若干个变量名或数组元素等相互间用逗号分割组成 的内容。 作用:将变量名表中的每个变量名或数组元素等按照系统设计 输出格式进行输出。
对该方程组做进一步的转换可得:y=(b-2a)/2 x=(4a-b)/2
前一页
休息
15
应用举例
算法描述: 定义integer变量a,b,x,y 输入鸡和兔的总数a及输入鸡与兔的总脚数b 计算鸡的数量x 计算兔的数量y 输出鸡的数量输出兔的数量 源程序清单: integer a,b,x,y read(*,*)a,b x=(4*a-b)/2 y=(b-2*a)/2; write(*,12)x,y 12 format(1x,’鸡的数量=’,i5,2x,’兔的数量=’,i5) end 前一页 休息
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
3 4 5 6 7 8 9 10
!Calculates balance after interest compounded
IMPLICIT NONE REAL balance,interest,rate balance=1000 rate=0.09 interest=rate*balance balance=balance+interest PRINT *,'New balance:',balance END
FORTRAN是英文“FORmula TRANslate”的缩写, 译为“公式翻译器”,它是世界上最早出现的计算 机高级程序设计语言,广泛应用于科学和工程计算 领域。FORTRAN语言以其特有的功能在数值、 科学和工程计算领域发挥着重要作用。
FORTRAN语言程序设计
3
第四章 科学计算语言—— FORTRAN概述
1.固定格式
早期编写FORTRAN 77程序使用如图所示的程序纸,一行有80列, 每行一条程序语句。
FORTRAN语言程序设计
10
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
这80列分为四个区,每一区都有严格的起止范围,具体规定是: (1)第1~5列为标号区; (2)第6列为续行标志区 ; (3)第7~72列为语句区 ; (4)第73~80列为注释区 。 固定格式示例:
FORTRAN语言程序设计
7
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
3. FORTRAN 语言与其他语言的比较
(1)FORTRAN语言具有悠久的历史 。 (2)FORTRAN语言语法严格,更适合严谨的科学计算领域 。 (3)FORTRAN语言可以直接对数组和复数进行运算 。
(3) 1960年,推出FORTRAN Ⅲ,但没有在计算机上实现。
(4) 1963年,推出了FORTRAN Ⅳ。没有充分考虑兼容性。
(5) 1966年,推出FORTRAN 66,美国标准,后被ISO采用。
FORTRAN语言程序设计
5
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
FORTRAN语言程序设计
14
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
4.4 FORTRAN 90/95语言源程序的结构
我们先来看一个银行存款程序实例:
1 PROGRAM ex04_01
考 虑 到 兼 容 性 , 在 FORTRAN 90/95 中 仍 可 使 用 FORTRAN 77源程序的书写格式。。
FORTRAN语言程序设计
9
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
15
FORTRAN语言程序设计
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
1.简单FORTRAN程序的构造形式
主程序
[PROGRAM 程序名] [声明语句] [执行语句] END[PROGRAM [程序名]]
FORTRAN语言程序设计
4
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
1.FORTRAN的发展历程
(1)1951年,John Backus在纽约首次提出FORTRAN语言 ,并 于1954年对外发布,称FORTRANⅠ。 (2)1958年,扩充和完善FORTRANⅠ, 引入函数概念,投入商 业运行,推出FORTRANⅡ。
4.3 FORTRAN 90/95语言源程序书写格式
FORTRAN 有两种格式: (1)固定格式(Fixed Format) FORTRAN 77 及以前的版本源程序书写格式采用固定 格式,固定格式的程序文件扩展名为.f或.for; (2)自由格式(Free Format) FORTRAN 90/95 提供了较为自由的程序书写格式 , 自 由格式的程序文件扩展名为.f90;
(1)通常,空白没有意性 (2)FORTRAN 90/95只提供了一种注释方式:以感叹 号开始的语句作为注释,字符串内的感叹号除外
FORTRAN语言程序设计
18
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
2.语句及其顺序
PROGRAM语句、FUNCTION语句、SUBROUTINE语句、MODULE语句、BLOCK DATA语句
USE语句 IMPLICIT NONE PARAMETER语句
IMPLICIT语句 导出类型定义、接口 块、类型声明语句、 语句函数语句、说明 语句 可执行语句
FORMAT语句 和 ENTRY语句
(4)FORTRAN语言在并行计算方面有独特的优势 。
(5)FORTRAN语言是一种编译语言,运行速度快 。
(6)FORTRAN语言仍在不断完善和发展中,功能不断增强。
FORTRAN语言程序设计
8
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
第四章
科学计算语言——FORTRAN 概述
FORTRAN语言程序设计
1
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
本章小结
介绍了 FORTRAN 作为一门科学计算语言的发 展历程 ,强调学习FORTRAN的重要性
通过对 FORTRAN 90/95 语言源程序书写格式 的介绍,了解了 FORTRAN 语言源程序的结构, 对FORTRAN程序有了一个大概的了解
第四章 科学计算语言—— FORTRAN概述
FORTRAN语言程序设计
辅程序(过程) SUBROUTINE 子程序 FUNCTION 函数 BLOCK DATA 块数据 MODULE 模块(FORTRAN 90/95) 内部过程 CONTAINS(FORTRAN 90/95)
FORTRAN语言程序设计
16
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
PARAMETER语句 和DATA语句 DATA语句 CONTAINS语句 函数子程序、子例子程序 END语句
FORTRAN语言程序设计
17
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
3.空白与注释的作用
(3)当一个语句比较长时,在一行中的132列中书写不完时,允 许有另外39个续行 。
自由格式示例:
FORTRAN语言程序设计
13
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
! 求一元二次方程两个实根 PROGRAM quadratic REAL a,b,c,d,x1,x2 READ *,a,b,c !输入系数 d=b*b–4*a*c !计算判别式 IF (d>=0) THEN x1=(–b+SQRT(d))/(2*a);x2=(–b–SQRT(d))/(2*a) PRINT *, 'x1=' , x1 PRINT *, 'x2=' , x2 ELSE PRINT *, '该方程有复数根。' END IF END !程序结束
FORTRAN语言程序设计
6
第四章 科学计算语言—— FORTRAN概述
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
2.FORTRAN的特点
(1)加强了程序的可读性、可维护性 。
(2)发展现代算法功能 。
(3)扩大与编程者的友好界面 。
FORTRAN语言程序设计
11
第四章 科学计算语言—— FORTRAN概述
标号区 续行区 (1-5列) (6列)
NANJING UNIVERSITY OF INFORMATION SICENCE & TECHNOLOGY
语句区 (7-72列)
注释区 (73-80列)
! 求一元二次方程两个实根 PROGRAM quadratic REAL a,b,c,d,x1,x2 READ *,a,b,c d=b*b–4*a*c 100 IF (d>=0) THEN x1=(–b+SQRT(d))/(2*a) x2=(–b–SQRT(d)) & /(2*a) PRINT *, 'x1=' , x1 PRINT *, 'x2=' , x2 ELSE PRINT *, '该方程有复数根。' END IF END