Visual-Fortran90程序设计基础第1、2章课件.ppt

上传人(卖家):三亚风情 文档编号:2901970 上传时间:2022-06-09 格式:PPT 页数:73 大小:907.50KB
下载 相关 举报
Visual-Fortran90程序设计基础第1、2章课件.ppt_第1页
第1页 / 共73页
Visual-Fortran90程序设计基础第1、2章课件.ppt_第2页
第2页 / 共73页
Visual-Fortran90程序设计基础第1、2章课件.ppt_第3页
第3页 / 共73页
Visual-Fortran90程序设计基础第1、2章课件.ppt_第4页
第4页 / 共73页
Visual-Fortran90程序设计基础第1、2章课件.ppt_第5页
第5页 / 共73页
点击查看更多>>
资源描述

1、Visual Fortran 90 程序设计程序设计课程要求u 课前请做好预习课前请做好预习u 保持课堂安静,头脑清醒,思维活跃保持课堂安静,头脑清醒,思维活跃u 做好课堂笔记做好课堂笔记u 认真、独立、按时完成并提交作业认真、独立、按时完成并提交作业u 重视上机实践,有效利用宝贵的上机时间重视上机实践,有效利用宝贵的上机时间u“纸上谈兵纸上谈兵”学不出程序设计本领;学不出程序设计本领;u只有大量上机、编程、调试,才能掌握。只有大量上机、编程、调试,才能掌握。u学好程序设计语言的唯一途径是上机。学好程序设计语言的唯一途径是上机。u你的编程能力和你在机器上投入的时间成正比。你的编程能力和你在机器

2、上投入的时间成正比。课程要求第第1章章 程序设计基础知识程序设计基础知识1.4 1.4 计算机软件计算机软件1.11.1计算机简介计算机简介1.21.2程序设计语言程序设计语言1.3 1.3 算法的描述算法的描述一、一、 信息处理和计算机信息处理和计算机1、信息处理、信息处理 数值处理数值处理2、信息处理的分类、信息处理的分类 非数值处理非数值处理3、现代计算机工作原理:、现代计算机工作原理: 程序存储和程序控制程序存储和程序控制 (冯(冯诺依曼)诺依曼) 1.1 1.1 计算机简介计算机简介二、计算机的组成二、计算机的组成1 1、运算器运算器算术运算、逻辑运算算术运算、逻辑运算2 2、控制器

3、控制器根据指令控制计算机工作根据指令控制计算机工作 运算器、控制器和寄存器称为运算器、控制器和寄存器称为中央处理器中央处理器CPUCPU3 3、I/OI/O设备设备提供数据传输服务提供数据传输服务4 4、总线总线数据传输的公共通道数据传输的公共通道5 5、存储器、存储器存放数据和指令存放数据和指令 二进制位(二进制位(bitbit)00和和1 1的电路的电路 字节(字节(ByteByte)若干个位(若干个位(8 8个)个) 存储单元存储单元字节字节 存储器存储器若干个存储单元若干个存储单元 计算机的存储特性:计算机的存储特性:存存写写 取取读读1 1.2程序设计语言程序设计语言填补了人与计算机

4、交流的鸿沟填补了人与计算机交流的鸿沟计算机硬件仅仅计算机硬件仅仅知道知道0和和1有 问 题 需 要有 问 题 需 要计 算 机 解 决计 算 机 解 决的人的人交流的鸿沟交流的鸿沟计算机硬件仅仅计算机硬件仅仅知道知道0和和1有 问 题 需 要有 问 题 需 要计 算 机 解 决计 算 机 解 决的人的人程序设计语言程序设计语言程序设计语言的分类1.机器语言机器语言:二进制代码形式,可以被计算机直接执:二进制代码形式,可以被计算机直接执行,不可移植行,不可移植2.汇编语言汇编语言:用助记符来代替机器指令,容易记忆,:用助记符来代替机器指令,容易记忆,不可移植不可移植3.高级语言高级语言:接近自然

5、语言(英语)的程序设计语言,:接近自然语言(英语)的程序设计语言,又称算法语言,易学、易用、易维护,可移植性好又称算法语言,易学、易用、易维护,可移植性好例:例:FORTRAN、BASIC、PASCAL、C、LISP、PROLOG等等 F0R90源程序源程序 编译程序编译程序机器语言目标程序机器语言目标程序 连接构建连接构建可执行程序可执行程序1 1.3 算法的描述v 什么是算法?什么是算法?广义:解决某个问题或处理某个事件的广义:解决某个问题或处理某个事件的 方法和步骤。方法和步骤。现代含义是现代含义是计算机解题步骤计算机解题步骤。程序设计程序设计=算法算法+数据结构数据结构算法描述的方法算

6、法描述的方法v 文字说明文字说明 伪代码伪代码 流程图流程图 盒式图(盒式图(N-S图)图) 程序设计语言程序设计语言文字说明文字说明例如,比较两数例如,比较两数A、B的大小,输出较大的数的大小,输出较大的数 粗略的思路:粗略的思路: (1)读入读入A、B ( 2)判断)判断A是否大于是否大于B (3)若是则输出)若是则输出A,否则输出,否则输出B (4)结束)结束伪代码伪代码v一种介于自然语言和程序设计语言之间的一种介于自然语言和程序设计语言之间的文字和符号表达工具描述算法的方法:文字和符号表达工具描述算法的方法: IF AB 输出输出A ELSE 输出输出B END流程图流程图使用具有特定

7、含义的图形符号来表示算法。使用具有特定含义的图形符号来表示算法。盒式图(盒式图(N-S图)图)条件条件满足满足不满足不满足S1块块S2块块0 = S0 = I I输入输入AS+A = SI I +1 = I I直到直到 I=4I=4输出结果输出结果 S S第第2章章 Fortran90基础知识基础知识2.4 2.4 程序单元概念程序单元概念2.1Fortran2.1Fortran语言的发展语言的发展2.22.2源程序及其构成源程序及其构成2.3 2.3 语言元素语言元素2.1 Fortran2.1 Fortran语言的发展简史语言的发展简史一、一、FORTRAN 含义及其适用范围含义及其适用范

8、围 FORmula TRANslator 公式翻译器公式翻译器 科学和工程计算问题的程序设计语言科学和工程计算问题的程序设计语言 是第一门广泛应用的程序语言是第一门广泛应用的程序语言 著名编程语言著名编程语言Fortran创始人巴库斯创始人巴库斯 巴库斯获图灵奖巴库斯获图灵奖FortranFortran语言的发展简史语言的发展简史第一个第一个FORTRAN语言版本是在语言版本是在1954年提出的,在年提出的,在1957年正式发布使用。年正式发布使用。1958 FORTRAN1962 FORTRAN1978 FORTRAN771991.FORTRAN 901997. FORTRAN95 FORR

9、AN95不象不象FORTRAN90在在FORTRAN77添添加很多内容,只能视为加很多内容,只能视为90的修正的修正版,加强了并行运算方面的支持版,加强了并行运算方面的支持2.2 FORTRA902.2 FORTRA90源程序基本结构源程序基本结构例例2-1: 见书见书P16页例题:页例题:已知华氏温度与摄氏温度之间的换已知华氏温度与摄氏温度之间的换算公式为:算公式为: 现输入某一华氏温度现输入某一华氏温度,请计算出相应的摄氏温度,请计算出相应的摄氏温度。)32(95hCTTPROGRAM H_TO_C!Given the Fahrenheit temprature ,to caculate

10、the CentigradeREAL:TC,THREAD*,THTC=5*(TH-32)/9PRINT*,TH,TCEND PROGRAM H_TO_C例例2-2: 见书见书P17页:输入页:输入M个整数,将其相加,打印出它们个整数,将其相加,打印出它们的和。的和。PROGRAM CAL_M_SUMIMPLICIT NONEINTEGER:N,MREAL:T,AN=0;T=0PRINT*,Input number of data:READ*,MDOREAD*,AT=T+AN=N+1IF(N=M) EXITENDDOPRINT*,TEND PROGRAM CAL_M_SUM例例2-3: 求求 该

11、问题涉及五个阶乘的相加,可用子该问题涉及五个阶乘的相加,可用子程序实现阶乘。程序实现阶乘。FUNCTION FACTOR(N) RESULT (FAC_RESULT)IMPLICIT NONEINTEGER:N,FAC_RESULT,IFAC_RESULT=1DO I=1,NFAC_RESULT=FAC_RESULT*IENDDOEND FUNCTION FACTOR PROGRAM CAL_FACTORIMPLICIT NONEINTEGER:FACTOR,S=0,IDO I=4,8S=S+FACTOR(I)ENDDOPRINT*,S=,SEND PROGRAM CAL_FACTOR84!i

12、iFORTRA90FORTRA90源程序基本结构源程序基本结构1、FORTRAN90程序是一种程序是一种分块结构分块结构,由若干个程序单元,由若干个程序单元块组成:块组成: 主程序、外部子程序、模块、块数据单元主程序、外部子程序、模块、块数据单元 无论是主程序单元,还是子程序单元,都是独立的程序无论是主程序单元,还是子程序单元,都是独立的程序单位,应该独立编写,它们的形式相似。单位,应该独立编写,它们的形式相似。2、主程序结构、主程序结构 PROGRAM 程序名称程序名称 程序体程序体 END program 程序名称程序名称其中:其中:END既表既表示停止运行,又示停止运行,又是结束标记。是

13、结束标记。FORTRA90FORTRA90源程序基本结构源程序基本结构3、各程序单元体形式上相同,都由若干行组成:、各程序单元体形式上相同,都由若干行组成: 语句行语句行:说明语句说明语句:用于说明变量的类型、属性等:用于说明变量的类型、属性等 例:例:INTEGER:X,Y 可执行语句可执行语句:输入、赋值、输出:输入、赋值、输出 例:例:A=4;B=B+1非语句行非语句行:注释语句注释语句:!后的所有字符都被编译后的所有字符都被编译器忽略。器忽略。 可独占一行,也可在其它语句之后,可独占一行,也可在其它语句之后, 空行为注释行空行为注释行(固定格式用固定格式用C和和*)2.3 2.3 语言

14、元素语言元素 Fortran90的语言元素是指在程序设计中所用到的基本的语言元素是指在程序设计中所用到的基本成分,例如成分,例如字符集、常量、变量、记号以及其它的基本结构字符集、常量、变量、记号以及其它的基本结构等。等。只有了解并掌握了这些基本要素,才可能正确自如地使用该种只有了解并掌握了这些基本要素,才可能正确自如地使用该种语言。语言。 2.3.1 FORTRAN902.3.1 FORTRAN90字符集:字符集: 编写编写Fortran90程序时,所能使用的所有字符及符号。程序时,所能使用的所有字符及符号。 26个英文字母个英文字母AZ(az)程序中不区分大小写)程序中不区分大小写在大多数处

15、理系统中允许使用小写字母,除了字符串内的字符在大多数处理系统中允许使用小写字母,除了字符串内的字符外,小写字母等价于相应的大写字母。外,小写字母等价于相应的大写字母。10个阿拉伯数字个阿拉伯数字09 _(下划线下划线)注意与减号(注意与减号(-)的区别。)的区别。 21个特殊字符(见表个特殊字符(见表2-1):): 空格空格 = + - * / ( ) , : . $ !” % & ; ? 注意:注意:1、在、在FOR源程序中,只能使用以上字符源程序中,只能使用以上字符 2、字符型数据内(即引号内)可以出现任意字符、字符型数据内(即引号内)可以出现任意字符(包包括汉字括汉字) 在在Fortra

16、n90中,中,将字母、数字或专用字符的基本有效的序列将字母、数字或专用字符的基本有效的序列称为记号,称为记号,它包括它包括标号、关键字、名字、常数、运算符和定界符标号、关键字、名字、常数、运算符和定界符。例如:。例如:A * SIN(x)+5.3 这个表达式包括这个表达式包括6个记号,即个记号,即A、*、SIN、x、+、5.3。注意:注意: 在字符串内部,不能随意地添加空格。在字符串内部,不能随意地添加空格。例例“ABC”与与“A B C”不同。不同。 在记号内部,也不许随意地使用空格。在记号内部,也不许随意地使用空格。例例SIN(X)与与S I N(X)不同。不同。 记号与记号之间的空格可以

17、随意地使用。记号与记号之间的空格可以随意地使用。 多个空格在语法上与一个空格的作用相同。多个空格在语法上与一个空格的作用相同。 一个记号与相邻关键字、名字、常数或标号之间,应当用一个或多个空格分一个记号与相邻关键字、名字、常数或标号之间,应当用一个或多个空格分开,以避免错误,同时也使结构清晰。开,以避免错误,同时也使结构清晰。2.3.2 2.3.2 记号记号FortranFortran的数据类型(的数据类型(1 1)整型整型数据类型数据类型基本类型基本类型字符类型字符类型逻辑类型逻辑类型实型实型派生类型(用户自定义类型)派生类型(用户自定义类型)数组数组指针指针复型复型FortranFortr

18、an的数据类型(的数据类型(2 2) 在每一基本类型中,依据不同的处理系统又细分在每一基本类型中,依据不同的处理系统又细分为不同的为不同的种别种别,每一种别都与一个,每一种别都与一个 整数相对应,此整数相对应,此整数则称为整数则称为种别参数种别参数kind_Value 。 可在数值后用下划线标明种别,没有下划线为缺可在数值后用下划线标明种别,没有下划线为缺省种别。省种别。缺省种别整数的范围一般取决于所用计算机缺省种别整数的范围一般取决于所用计算机的字长。说明了种别参数后,可提高程序的可移植性。的字长。说明了种别参数后,可提高程序的可移植性。 简而言之,种别即决定数值在计算机中存储的字简而言之,

19、种别即决定数值在计算机中存储的字节数。节数。 常量的定义常量的定义:常量是程序执行过程中不能变化的量。:常量是程序执行过程中不能变化的量。 基本数据类型有五种:基本数据类型有五种: 整型、实型、复型、字符型和逻辑型整型、实型、复型、字符型和逻辑型 前三种属于数值类型,后两种为非数值类型,主前三种属于数值类型,后两种为非数值类型,主要用于文字处理和控制。要用于文字处理和控制。2.3.32.3.3基本类型常量基本类型常量整型数据:微机支持整型数据:微机支持4种种kind_Value:1,2,4,8kind_Value=1的范围:的范围: -128127(-2727-1)kind_Value=2的范

20、围:的范围: -3276832767(-215215-1)kind_Value=4的的-21474836482147483647(-231231-1) Integer 默认默认kind_Value的值为的值为4 整型常量又叫整数,整数值的集合就是数学整整型常量又叫整数,整数值的集合就是数学整数的子集。数的子集。1.整型常量(整型常量(INTEGER)FORTRAN 90FORTRAN 90通过通过KINDKIND值确定整数的值确定整数的存储开销存储开销、最大位数最大位数和和取值取值范围范围,如表所示。缺省,如表所示。缺省KINDKIND值则取默认值值则取默认值4 4。 KINDKIND值值 字

21、节数字节数 二进位数二进位数 取值范围取值范围 1 1 8 -1281 1 8 -128127127 2 2 16 -32768 2 2 16 -327683276732767 4 4 32 -2147483648 4 4 32 -2147483648214748364721474836470 +456 -123 34_2 34_SHORT 12345678998765432_4下划线后面的量就是种别参数,没有下划线的数都具下划线后面的量就是种别参数,没有下划线的数都具有缺省种别。有缺省种别。例,下列六个数都是合法的整数:例,下列六个数都是合法的整数: 为了保证计算机内数的范围够用,就要通过给

22、定种别为了保证计算机内数的范围够用,就要通过给定种别参数来约定。种别参数是由内在询问函数参数来约定。种别参数是由内在询问函数KIND送回的。提送回的。提供的最小范围是由内在函数供的最小范围是由内在函数Selected_int_kind送回的。表送回的。表示十进制幂的范围是由内在函数示十进制幂的范围是由内在函数range送回的。送回的。功能:功能:返回一个给定数据的种别参数。返回一个给定数据的种别参数。例:例:KIND(0) :为缺省值,其返回值是整型的标准种为缺省值,其返回值是整型的标准种别参数。别参数。KIND(2_2): 返回种别参数返回种别参数2。关于关于KIND函数函数格式:格式:SE

23、LECTEND_INT_KIND(N) :功能:返回范围在功能:返回范围在-10N10N的整数的的整数的kind-Value 例:例:selected_int_kind(6)可以返回范围在可以返回范围在-106+106(不包括两端点值)的所有整数的种别值。(不包括两端点值)的所有整数的种别值。为使程序具有可移植性,可将为使程序具有可移植性,可将K6说明成符号常数,说明成符号常数,作为种别常数来使用。作为种别常数来使用。 INTEGER, parameter:k6=selected_int_kind(6) 则具有则具有K6种别的常数就可以写为:种别的常数就可以写为:123_K6了。了。SELEC

24、TEND_INT_KIND函数函数例例2-4 测试测试FORTRAN系统的整型种别范围系统的整型种别范围PROGRAM INT_KINDIMPLICIT NONEINTEGER:IPRINT*,KIND(0)DO I=1,10PRINT*,I,SELECTED_INT_KIND(I)ENDDOENDPROGRAM INT_KIND 4 1 1 2 1 3 2 4 2 5 4 6 4 7 4 8 4 9 4 10 8 在在FORTRAN90中,也可以表示二进制、八中,也可以表示二进制、八进制、十六进制形式的无符号整数。其形式如下:进制、十六进制形式的无符号整数。其形式如下:二进制数:二进制数:B

25、101101 或或 B”101101”八进制数:八进制数:O76210 十六进制数:十六进制数:Z1FA2整型常数的其他表示方法整型常数的其他表示方法判定整数判定整数, ,指出合法整数和非法整数?指出合法整数和非法整数?说明原因说明原因-128-128、358_5358_5、5 5,234234、130_1130_1、+3276+3276、-52467-52467、o136o136实型常量又叫实数,它具有数学实数的近似值。实型常量又叫实数,它具有数学实数的近似值。 实数最常见的两种表示形式是:实数最常见的两种表示形式是:小数形式和指数形式小数形式和指数形式 小数形式:小数形式:由十个数字、小数

26、点及数符组成的数。由十个数字、小数点及数符组成的数。 指数形式:即科学计数法,指数形式:即科学计数法,对绝对值相对较小或很大的实数对绝对值相对较小或很大的实数 。2.实型常量(实型常量(REAL)小数形式:小数形式:+/- m.n,+/- m.,+/- .n 例例 100.0 .5 5. 注:小数点必须有。注:小数点必须有。数字部分数字部分E(或(或D)指数部分指数部分 科学计数法科学计数法 0.876=87610-3 876E-3 =87.6 10-2 87.6E-2 =0.0876 10+1 0.0876E+1 。指数形式:指数形式:数字部分:小数形式实数或整数数字部分:小数形式实数或整数

27、指数部分:只能为整数指数部分:只能为整数 错例:错例:4E5.6数字部分不能丢;数字部分不能丢; 例:例:10-4: E-4(错)错) 1E-4(正确)正确)以标准化形式(规格化指数)输出(以标准化形式(规格化指数)输出(=1) 1。数字部分的值小于。数字部分的值小于1,且小数点后的第一位数字非,且小数点后的第一位数字非0 例:例:0.743643E-12 (正确)正确) 21.835E-12 (错)错) 2。数字部分有且仅有一位非零的整数。数字部分有且仅有一位非零的整数。 例:例:7.43643E-12 (正确)正确) 0.21835E-12 (错)错)说明:说明:一般实数范围:一般实数范围

28、:-1038+1038,有效位,有效位78位位 也有的系统允许数的范围更大,可以超过也有的系统允许数的范围更大,可以超过10100。 上溢:上溢:overflow 下溢:当下溢:当0处理处理 为了能得到理想的范围和有效数字,要求说明种别类型参数为了能得到理想的范围和有效数字,要求说明种别类型参数值。值。(书上有误)例:书上有误)例: 则符号常数则符号常数long提供了至少提供了至少8位精度,以及位精度,以及-1088+1088的值的的值的范围。范围。 以此说明的实型常量:以此说明的实型常量: 4.37_long 457.1234_long 就可以在就可以在long指定的精度及数值范围内进行移植

29、。指定的精度及数值范围内进行移植。 实数的表示范围:实数的表示范围:1、PRECISION(4.37_long) 精度至少为精度至少为82、RANGE(4.37_long) 范围至少范围至少88次冪次冪两个询问函数:两个询问函数:常用实数一般分为两种:常用实数一般分为两种: realreal(4 4)单精度(默认)单精度(默认) realreal(8 8)双精度)双精度实数种别为实数种别为8时常量的表示(时常量的表示(双精度数双精度数) 有效位:有效位:15位;位; 数字部分数字部分D指数指数 例:例:1.2D2 复型常量又叫复数。具有数学复数的近似值。在复型常量又叫复数。具有数学复数的近似值

30、。在科学和工程计算中被广泛用到。复数是实数的有序对,科学和工程计算中被广泛用到。复数是实数的有序对,将两个实数中间用逗号分隔,然后再放在一对括号中将两个实数中间用逗号分隔,然后再放在一对括号中就构成了一个复数。就构成了一个复数。 复数以复数以a+bi的形式来表示数值,复数中的的形式来表示数值,复数中的a、b称为实部和虚部。可为实数,也可为整数。称为实部和虚部。可为实数,也可为整数。3.复型常量(复型常量(COMPLEX) 数学数学 2+3i2+3i 一般形式:(实部系数,虚部系数)一般形式:(实部系数,虚部系数)一对常量一对常量整整实实错例:(错例:(1.0/21.0/2,3 3)正例:(正例

31、:(0 0,6 6) (1E5,38) 1E5,38) (1.0_8,4.2) (1.0_8,4.2) (15_4,24_8) (15_4,24_8) FORTRAN90 FORTRAN90 (2 2,3 3)复型常量的表示:复型常量的表示: 计算机除了存储数字之外,也可以在内存中记录计算机除了存储数字之外,也可以在内存中记录一段文本。字符类型可以记录的东西非常广,从键盘一段文本。字符类型可以记录的东西非常广,从键盘输入的任何东西,不论是数字、文本或任何特殊符号,输入的任何东西,不论是数字、文本或任何特殊符号,它都可以记录。只记录一个字母、符号时的数据类型它都可以记录。只记录一个字母、符号时的

32、数据类型称为称为“字符字符”,记录一连串的字符时,就称为,记录一连串的字符时,就称为“字符字符串串”,记录一个西文字符需要一个字节的存储空间。,记录一个西文字符需要一个字节的存储空间。一个汉字为两个字节的存储空间。一个汉字为两个字节的存储空间。4.字符型常量(字符型常量(CHARACTER)由一对单撇号或一对双撇号之间的字符序列组成。由一对单撇号或一对双撇号之间的字符序列组成。例:例: ABCD(ABCD(单撇号)或单撇号)或“4567”4567”(双引号)(双引号)注意:注意:区分字符大小写区分字符大小写 a a A A 空格有效空格有效 a ba b abab 字符中含字符中含或或”时的处

33、理方法:时的处理方法:如:如:I Im a student. m a student. 可采用两种表示方法:可采用两种表示方法: 1 1) Im a student. 2 ) I m a student. 字符长度:字符串内字符的个数字符长度:字符串内字符的个数 空格算一个,起止界不算,长度可为空格算一个,起止界不算,长度可为0。(空串。(空串或或 )字符常量的表示:字符常量的表示:1 1、一般处理系统缺省的字符种别参数是、一般处理系统缺省的字符种别参数是KIND(KIND(A A) )返回值。返回值。2 2、若使用非标准种别字符时,、若使用非标准种别字符时,应将其种别参数放在应将其种别参数放

34、在字符常数的前面字符常数的前面,以便于简化编译程序分析语句的,以便于简化编译程序分析语句的工作。工作。例如:某处理系统可以用种别参数值例如:某处理系统可以用种别参数值1 1来支持汉字字来支持汉字字符,在这种情况下,一个汉字字符常数可被书写成:符,在这种情况下,一个汉字字符常数可被书写成: 1_1_”五笔字型输入法五笔字型输入法” 字符常量的种别参数:字符常量的种别参数:逻辑型常量只有真(逻辑型常量只有真(.TRUE.).TRUE.)和假(和假(.FALSE.).FALSE.)两个值。两个值。 逻辑常量通常只用来给逻辑变量置初值,以及得到某一逻辑常量通常只用来给逻辑变量置初值,以及得到某一逻辑表

35、达式的值。逻辑表达式的值。 其缺省种别与系统有关,实际种别可通过其缺省种别与系统有关,实际种别可通过KIND(.TRUE.)KIND(.TRUE.)得到。若要指定,可用一个跟在下划线后的整型常数指出,取得到。若要指定,可用一个跟在下划线后的整型常数指出,取值可为值可为1 1,2 2,4 4(缺省)(缺省)。例如:。例如:.FALSE._2.FALSE._25.逻辑型常量(逻辑型常量(LOGICAL)2.3.4 名字名字用于标识一个程序成分,例如用于标识一个程序成分,例如符号常量符号常量、变量、派生类型等。、变量、派生类型等。对于名字有下列要求:对于名字有下列要求: 1.名字的长度不能超过名字的

36、长度不能超过31个字符个字符 2.名字的组成成分可以是字母、数字和下划线名字的组成成分可以是字母、数字和下划线 3.名字的第一个字符必须是字母名字的第一个字符必须是字母 4.在名字中不能出现空格在名字中不能出现空格 提倡使用具有一定含义的名字,提高程序的清晰度和可提倡使用具有一定含义的名字,提高程序的清晰度和可读性。读性。1 1、定义:程序运行过程中值可变化的量、定义:程序运行过程中值可变化的量2 2、命名的规则、命名的规则 字母、数字、下划线组成字母、数字、下划线组成字母开头字母开头长度长度1-311-31个个错例错例 3A 3A 、 x-3 x-3 、3.14 3.14 、A3 $A3 $

37、2.3.5 变量变量实际是内存中的一个存储单元,存放变量的值。实际是内存中的一个存储单元,存放变量的值。 特性:取之不尽,一冲就跑,总采用当前值参与运算。特性:取之不尽,一冲就跑,总采用当前值参与运算。 例:例:A=2.0 A BA=2.0 A B B=3.0 B=3.0 A=A+B 5.0 15.0 A=A+B 5.0 15.0 B=A B=A* *B B 注:注:A A、B B必须有确定值,如未定义,值不可预测必须有确定值,如未定义,值不可预测(有时按(有时按0 0处理)处理)2.03.03、变量的含义、变量的含义 基本类型有五种,同常量。五种变量的基本类型有五种,同常量。五种变量的类型说

38、明关键字分别是:类型说明关键字分别是:整型:整型:INTEGER INTEGER 实型:实型: REALREAL复型:复型:COMPLEXCOMPLEX 逻辑型:逻辑型:LOGICALLOGICAL字符型:字符型:CHARACTERCHARACTER 4、变量的类型、变量的类型 变量在使用之前应进行说明。说明的格式是:变量在使用之前应进行说明。说明的格式是:将关键字放在最前面,待说明的变量放在后面,中将关键字放在最前面,待说明的变量放在后面,中间用间用双分隔符双分隔符:隔开,对于同时说明的多个变量,隔开,对于同时说明的多个变量,变量之间用逗号分隔。变量之间用逗号分隔。例:例: INTEGER:

39、I,J,KINTEGER:I,J,K REAL:X,Y,Z REAL:X,Y,Z 变量的说明变量的说明 1.在变量说明的同时,可以给变量赋初值。在变量说明的同时,可以给变量赋初值。 INTEGER:I=5,J=126 REAL:X=7.2,Z,W=774.2 2.在说明变量的同时也可说明其种别在说明变量的同时也可说明其种别 REAL(KIND=4):X,Y 或或 REAL(4):X,Y 3.在说明变量的同时,还可说明变量的属性在说明变量的同时,还可说明变量的属性 INTEGER,PARAMETER:I=5,J=123 REAL,DIMENSION(1:10):AFortran90关于变量说明的

40、新功能:关于变量说明的新功能:2.3.6 派生数据类型派生数据类型(第第9章)章) 根据需要而由基本数据类型定义新的数据类型。在一个派根据需要而由基本数据类型定义新的数据类型。在一个派生类型中可包含多个基本类型。生类型中可包含多个基本类型。如:如:TYPE STUDENT (定义开始定义开始) CHARACTER(LEN=20):DEPARTMENT CHARACTER(LEN=10):CLASS CHARACTER(LEN=15):NAME INTEGER:NUMBER (成员定义)(成员定义) END TYPE STUDENT (定义结束)(定义结束)派生类型的使用派生类型的使用派生类型变

41、量的定义:派生类型变量的定义: TYPE(STUDENT):PERSON变量的赋值:变量的赋值: PERSON=(”COMPUTER”,”92_2”,”LI LIN”,21)成员的表示:成员的表示: PERSON%CLASS=“92_2” PERSON%NAME=“LI LIN”2.3.7 基本类型数组(第基本类型数组(第7章)章) 数组是具有相同类型的元素的有序集合。数组在使用之前必须说明。数组是具有相同类型的元素的有序集合。数组在使用之前必须说明。数组的说明:数组的说明: INTEGER,DIMENSION(1:50):X 数组名为数组名为X,类型为整型,元素个数为,类型为整型,元素个数为

42、50。 INTEGER,DIMENSION(5,3):B 数组名为数组名为B,类型为整型,元素个数为,类型为整型,元素个数为5*3个个 维界:维界:1:50 下界:上界下界:上界 缺省下界为缺省下界为1 数组中元素的个数称为它的大小,维数称为秩,每维中元素的个数称数组中元素的个数称为它的大小,维数称为秩,每维中元素的个数称为维的长度,长度的序列称为形。为维的长度,长度的序列称为形。通过指定下标值的办法来实现。下标值可为整数或整型表达式。通过指定下标值的办法来实现。下标值可为整数或整型表达式。下标值不能越界,个数必须与数组的秩相等。下标值不能越界,个数必须与数组的秩相等。注意:注意:1.允许对数

43、组名进行运算。允许对数组名进行运算。 2.允许对数组片段进行操作。允许对数组片段进行操作。 所谓数组片段是指数组中某些连续元素的重新组合。数所谓数组片段是指数组中某些连续元素的重新组合。数组片段也是一个数组。组片段也是一个数组。数组的引用:数组的引用:2.3.8 字符子串(第字符子串(第8章)章) 字符型常量又叫字符串。一个字符串的一部分称为子字符字符型常量又叫字符串。一个字符串的一部分称为子字符串或字符子串。串或字符子串。字符数组字符数组: CHARACTER(LEN=1),),DIMENSION(80):ROW引用:引用: ROW(I)字符串:字符串: CHARACTER(LEN=80):

44、ROW引用:引用: ROW(I:I););ROW(4:7)特殊:特殊:ROW(:I) 相当于相当于 ROW(1:I) ROW(I:) 相当于相当于 ROW(I:80) ROW(:) 相当于相当于 ROW(1:80)2.3.9 数据对象和子对象(第数据对象和子对象(第7章)章)由一个名引用的对象:由一个名引用的对象:有名标量有名标量(简单变量)简单变量)有名数组有名数组由子对象标志符引用的子对象是:由子对象标志符引用的子对象是:数组元素数组元素数组片段数组片段结构分量结构分量子串子串2.4 程序单元概念程序单元概念 程序单元是程序单元是FORTRAN语言的基本成分。程序单元可以语言的基本成分。程

45、序单元可以是是主程序主程序、子程序子程序、模块模块或或块数据程序单元块数据程序单元。子程序可以是。子程序可以是函数子程序或子例行子程序。模块包含的说明是对其它的程函数子程序或子例行子程序。模块包含的说明是对其它的程序单元形成可访问性。块数据单元用来对有名公用区中的数序单元形成可访问性。块数据单元用来对有名公用区中的数据对象赋初值。(据对象赋初值。(F90中不提倡使用)中不提倡使用)2.4.1 主程序主程序 主程序是不包含主程序是不包含SUBROUTINE、FUNCTION、MODULE或或BLOCK DATA语句作为其第一条语句的程序单元。语句作为其第一条语句的程序单元。 主程序的结构:主程序

46、的结构: 主程序其他限制主程序其他限制主程序的可执行部分不能包含有主程序的可执行部分不能包含有RETURN语句或者语句或者ENTRY语句。语句。程序名对可执行程序是全局的,而且不得于该可执行程序中的任程序名对可执行程序是全局的,而且不得于该可执行程序中的任何其它程序单元名、外部过程名或公用块名相同,也不得于主程何其它程序单元名、外部过程名或公用块名相同,也不得于主程序内的任何局部名相同。序内的任何局部名相同。 在主程序的作用范围内的说明不得包含在主程序的作用范围内的说明不得包含OPTIONAL语句、语句、INTENT语句、语句、PUBLIC语句或它们的等价属性,在主程序内语句或它们的等价属性,

47、在主程序内SAVE语句不起作用。语句不起作用。主程序内的任何内部过程的定义必须跟在主程序内的任何内部过程的定义必须跟在CONTAINS语句之后。语句之后。2.3.2 子程序子程序 子程序是可以完成某一独立算法或功能的程序单元,子程序是可以完成某一独立算法或功能的程序单元,但它功能的具体体现要通过主程序(或子程序)的调用但它功能的具体体现要通过主程序(或子程序)的调用来实现。来实现。 按子程序与主程序的位置关系分为按子程序与主程序的位置关系分为内部过程和外部内部过程和外部过程。过程。 内部过程可以出现在主程序、外部过程或模块内。内部过程可以出现在主程序、外部过程或模块内。2.4.3 模块模块 模

48、块也是一种在程序单元之外模块也是一种在程序单元之外独立编写的程序单元独立编写的程序单元。它有独特的形式,即模块程序单元内没有可执行语句,除它有独特的形式,即模块程序单元内没有可执行语句,除了说明语句外,最多包含内部过程。模块的主要作用是供了说明语句外,最多包含内部过程。模块的主要作用是供其它程序单元引用。其它程序单元引用。 程序单元引用模块,实际是将模块内的全部语句复制到程序单元引用模块,实际是将模块内的全部语句复制到本程序单元。本程序单元。因此模块起共享及复制的作用因此模块起共享及复制的作用。模块的引用采用语句:模块的引用采用语句: USE 模块模块1,模块,模块2,2.4.4 块数据程序单

49、元块数据程序单元 块数据程序单元对有名公用块内的数据对象提供块数据程序单元对有名公用块内的数据对象提供初值。初值。 由于块数据程序单元赖以支持的由于块数据程序单元赖以支持的COMMON语句语句和和DATA语句在语句在F90中已成为过时特性,因此,中已成为过时特性,因此,不提不提倡使用块数据程序单元。倡使用块数据程序单元。练习练习1:FORTRAN90使用的专用字符集中,以下字使用的专用字符集中,以下字符中可用于标识符(如变量名)的是:符中可用于标识符(如变量名)的是:A. *B. $C. _(下划线)下划线)D. &练习练习2:有关:有关FORTRAN90主程序单位,以下说法中主程序单位,以下

50、说法中错误的是:错误的是:A.一个程序中主程序单位的命名必须是唯一的一个程序中主程序单位的命名必须是唯一的B.主程序单位的结尾必须是主程序单位的结尾必须是END语句后跟语句后跟PROGRAM主程序名主程序名C.主程序单位内不能包含有主程序单位内不能包含有RETURN语句语句D.主程序单位本身不能递归调用主程序单位本身不能递归调用练习练习3:以下描述各种功能的程序块中,不属于:以下描述各种功能的程序块中,不属于FORTRAN90独立程序单位的是:独立程序单位的是:A.PROGRAM main END PROGRAM MainB.INTERFACE OPERATER()END INTERFACEC

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Visual-Fortran90程序设计基础第1、2章课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|