FORTRAN 语言程序设计
fortran 语言编程
![fortran 语言编程](https://img.taocdn.com/s3/m/202d3408842458fb770bf78a6529647d2628346e.png)
fortran 语言编程Fortran 语言编程Fortran(Formula Translation)是一种面向科学计算和工程计算的高级编程语言。
它于1957年诞生于IBM,是最早被广泛采用的科学计算语言之一,目前已经发展到第四个版本(Fortran 2018)。
Fortran是一种编译型语言,它通过编写源代码并使用编译器将其转换成机器语言来执行。
本文将详细介绍Fortran语言的基础知识、语法规则和常用的编程技巧,以帮助读者了解和掌握这门强大的科学计算语言。
第一步:安装Fortran编译器要开始编写和运行Fortran程序,首先需要安装Fortran编译器。
有多种Fortran编译器可供选择,其中最常用的是GNU Fortran(gfortran)和Intel Fortran Compiler(ifort)。
可以从官方网站或其他可信的来源获得这些编译器的安装程序,并按照提示进行安装。
第二步:编写并编译Fortran程序在开始编写Fortran程序之前,需要了解Fortran的基本语法规则。
Fortran使用固定格式或自由格式,固定格式的源代码按照列格式排列,每行的前6列被保留用于行号和注释,从第7列开始是可执行代码。
自由格式没有列格式的限制,更加灵活,但在编译阶段需要指定自由格式。
下面是一个简单的Fortran程序示例,用于计算并输出两个数的和:fortranprogram additionimplicit noneinteger :: a, b, sumprint *, "Enter two numbers:"read *, a, bsum = a + bprint *, "The sum is:", sumend program addition将以上代码保存为一个以.f90为后缀名的文件(例如addition.f90),然后使用编译器将其编译成可执行程序。
fortran常用算法的程序设计举例
![fortran常用算法的程序设计举例](https://img.taocdn.com/s3/m/2d9ebc076edb6f1aff001fc4.png)
4
2. 梯形法
$ 10
第i个小梯形面积 :
100 f (a ih ) f (a (i 1)h) $ si h 2 200
1 read(*,*) a,b,n 求 : sin xdx 0 x=a h=(b-a)/n s=0.0 do 10 i=1,n si=(sin(x+(i-1)*h)+ sin(x+i*h))*h/2.0 s=s+si continue write(*,100) a,b,n write(*,200) s format(1x,'a=',f10.3,3x, 'b=',f10.3,3x,'n=',i4) format(1x,'s=',f15.8) end
ca 其中h a 2 h { f (a) f (b) 4[ f (a h) f (a 3h)] 2 f (a 2h)} 3
b
f ( x)dx s1 s2
7
如果将(a,b)分成四个小区间:
h a f ( x)dx 3 { f (a) f (b) 4[ f (a h) f (a 3h) f (a 5h) f (a 7h)] 2[ f (a 2h) f (a 4h) f (a 6h)} ba 其中h 2 4
17
五、计算机模拟
计算机模拟(Computer Simulation),又称 “仿真”:用计算机模仿实物系统进行测试,从 测试的结果获得期望的资料。
根据模拟对象的不同特点,可分为: 确定性模拟(Deterministic Mode); 随机性模拟(Stochastic Mode) 。
18
FORTRAN语言程序设计——FORTRAN95
![FORTRAN语言程序设计——FORTRAN95](https://img.taocdn.com/s3/m/f9aaf702366baf1ffc4ffe4733687e21af45fff1.png)
教材目录
(注:目录排版顺序为从左列至右列 )
教学资源
该教材有配套的实验指导书——《FORTRAN95程序设计实验指导与测试》。 该教材还提供电子课件等资源。
教材特色
该教材以程序设计为主线,以编程应用为驱动,通过案例和问题引入知识点,重点讲解程序设计的思想和方 法。书中所有程序实例都是由教师在多年授课过程中挑选所得,并采用Microsoft Develop Studio集成开发环 境。为适应不断更新的计算机操作系统,在实验教材中还给出了Windows 7、Windows 10操作系统下使用Visual Fortran的上机操作过程。
全书共14章,主要内容有: FORTRAN95概述及编译环境的介绍、FORTRAN95程序设计基础、顺序结构程序设 计、选择结构程序设计、循环结构程序设计、数组、函数与子程序、文件、派生类型与结构体、指针、模块、常 用数值算法。
成书过程
修订情况
ห้องสมุดไป่ตู้出版工作
该教材由王丽娟、段志东主编,李玉龙主审。第1、2、12、14章由王红鹰编写,第3、5、6、7章由陈权编写, 第9、11、13章和附录A由段志东编写,第4、8、10章和附录B由王丽娟编写。
该教材在规划和编写过程中得到了兰州交通大学教务处、计算机教学示范中心、电信学院、继续教育学院、 土木工程学院的领导和教师们的支持。
2017年9月1日,该教材清华大学出版社出版。
内容简介
该教材介绍FORTRAN95的语法规则以及利用它进行程序设计的方法。全书共14章,主要内容有: FORTRAN95 概述及编译环境的介绍、FORTRAN95程序设计基础、顺序结构程序设计、选择结构程序设计、循环结构程序设计、 数组、函数与子程序、文件、派生类型与结构体、指针、模块、常用数值算法。另外,还扩充了计算思维和计算 机系统组成的相关知识。
fortran第3章2 Fortran语言程序设计初步
![fortran第3章2 Fortran语言程序设计初步](https://img.taocdn.com/s3/m/619c6bd4b8f67c1cfad6b8b1.png)
三.大小写必须区分的位置
● 作为字符常量的字符串里面;
上一页
下一页
● 输入输出的纪录里面;
停止放映
● 作为编辑描述符的引号或撇号里面。
四. 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
下划线 _
特殊字符
Fortran程序设计-20200831-高阳
![Fortran程序设计-20200831-高阳](https://img.taocdn.com/s3/m/f26c9bacf5335a8103d22008.png)
中国海洋大学本科生课程大纲一、课程介绍1.课程描述:本课程主要针对环境科学与丄程学院动力方向(主要是本科三年级)的本科生开设的数值讣算的课程。
本课程作为编程技巧学习的重要课程,其主要任务是向学生介绍有关计算机程序设计的基本知识,使学生掌握FoitianQO和Foitran95的基本内容及程序设计的基本方法与编程技巧。
课题将理论讲解与上机实验紧密结合,旨在使学生在学习之后,能够熟练编写简单的程序,包括子程序和模块的编写。
因此,通过本课程的学习,可为学生以后进行动力方面的研究如数值模拟打下坚实的基础。
Tlie numerical calculation course is primarily aimed at undergraduates (mainly in Giade Tlii ee) ill the dynamic dii ection of the School of Environment Science and Engineering. As an important course for leaniiiig programming skills, its mainly task is to introduce students to the basic knowledge of computer programming,so that students can master the basic content of the Foitraii90 and Fortran95, as well as the basic methods and progianmiing skills. Tlie subject closely combines theoretical explanations with computer Experiment, aiming to enable students to write simple programs skillfully,including subroutines and modules. Through studying of tliis course, students can lay a solid foundation for their fxitiue dynamic research such as niunerical simulation.2.设计思路:Fortran语言是一门适合于科学和工程计算问题的程序设计语言;也是计算机高级语言发展史上使用最早的一种程序设计语言。
fortran语言程序设计知识点
![fortran语言程序设计知识点](https://img.taocdn.com/s3/m/3494f82a54270722192e453610661ed9ad51559f.png)
fortran语言程序设计知识点Fortran语言是一种面向科学与工程计算的编程语言,因其在数值计算和科学应用方面的高效性而受到广泛使用。
本文将重点介绍Fortran语言程序设计的一些重要知识点。
一、基础语法1.1 变量与数据类型在Fortran中,变量是用于存储数据的容器。
常见的数据类型包括整型(INTEGER)、实型(REAL/DOUBLE PRECISION)、复数型(COMPLEX)、逻辑型(LOGICAL)等。
变量的命名需遵循一定规则,如以字母开头,长度不超过31个字符等。
1.2 运算符与表达式Fortran支持常见的算术运算符(如+、-、*、/)以及逻辑运算符(如. AND.、. OR.、. NOT.)等。
表达式由变量、常数和运算符组成,可以进行数值运算和逻辑判断。
1.3 控制结构Fortran提供循环结构(DO)、条件结构(IF-THEN-ELSE)和选择结构(SELECT CASE)等控制语句,用于控制程序的流程。
二、数组与数据处理2.1 数组定义与操作Fortran中数组是由相同类型的数据元素组成的集合。
可以使用DIMENSION语句定义数组的维度和大小,通过下标访问和修改数组元素。
2.2 数组运算与函数Fortran提供了许多对数组进行运算和处理的函数,如数组求和(SUM)、最大最小值(MAX、MIN)、数组重排(RESHAPE)等,方便对数据进行统计和处理。
2.3 文件读写操作Fortran支持对文件进行读写操作,可以通过OPEN语句打开文件,使用READ和WRITE语句读取和写入数据。
可以根据需要设置文件的访问模式和格式。
三、过程与模块3.1 过程(Subroutine/Function)过程是一段独立的代码块,可接受传入参数并返回值。
在Fortran中,过程可以是子程序(Subroutine)或函数(Function)。
子程序用于完成一系列操作,而函数则返回一个值。
3.2 模块(Module)Fortran中的模块是一个编译单元,用于组织和管理相关的过程和变量。
1_FORTRAN程序设计基础
![1_FORTRAN程序设计基础](https://img.taocdn.com/s3/m/746ef6e96294dd88d0d26bba.png)
起止框
1
流程线 0
有错
输入输出框 2 i=-1
y%400==0
连接点
Y i=1 2 y=y+1 N 3注释框 y>2500 Y 结束
判断框
i=1
2
N i=-1 2
处理框
FORTRAN程序设计
Page7
算法的表示方法:改进的流程图
三种基本结构
a Y A A B b 顺序结构 b 选择结构 a P N B A N a P Y P Y b 循环结构 (当型循环) b 循环结构 (直到型循环) a A N
程序与程序设计
程序设计方法+算法+数据结构+语言工具 =程序
分析问题+设计算法+编写程序+调试程序 =程序设计
FORTRAN程序设计
Page2
ቤተ መጻሕፍቲ ባይዱ
算法
广义的定义:为解决一个问题而采取的方法和步骤 计算机能够执行的算法:数值运算算法和非数值运算算法
FORTRAN程序设计
Page3
简单算法举例
例1.1 判断2000-2500年中每一年是否是闰年,将结果输出。
FORTRAN程序设计
!函数子程序 function area(a,b,c) implicit none real a,b,c,s,area s=(a+b+c)/2.0 area=sqrt(s*(s-a)*(s-b) & *(s-c)) return end
Page13
打开开发系统
看到的系统界面
判断闰 年的算 法的N -S图
FORTRAN程序设计
Page10
结构化程序设计方法
结构化程序:由三种基本结构组成的程序。 结构化程序的优点:便于编写、便于阅读、便于修改和维护 怎样编写结构化的程序: 自顶向下 逐步细化 模块化编程 结构化编码
FORTRAN实验报告
![FORTRAN实验报告](https://img.taocdn.com/s3/m/8f7f5a064531b90d6c85ec3a87c24028915f852c.png)
《FORTRAN 语言》实验(上机)报告班级·学号 姓名 实验日期 任课教师 实验名称实验一 顺序结构程序设计验证型一、实验目的(1)熟悉Fortran PowerStation4.0的集成开发环境和上机步骤;(2)掌握源程序的书写格式; (3) 掌握FORTRAN 90中基本数据类型及其描述、运算;(4) 掌握基本语句的使用。
二、实验内容:(1)编写程序,将华氏温度转化为摄氏温度,公式为:。
要求:输入一个华氏温度)32(95-=F C 值F ,按照公式将其转化为摄氏温度值C 。
(2)编写程序,其功能是:输入a,b,x 的值,计算并输出y 的值。
b x e y ax 5ln 2+=当x=1.234,a=-5,b=0.9876时,y= 。
三、实验平台 Fortran PowerStation 4.0四、程序清单五、调试和测试结果六、教师批语与成绩评定:年月日《FORTRAN语言》实验(上机)报告班级·学号姓名实验日期任课教师实验名称实验二选择结构程序设计验证型一、实验目的(1)掌握逻辑表达式的书写方法和逻辑型数据的使用;(2)学会正确使用逻辑运算符和逻辑表达式;(3)掌握块IF结构、块CASE结构、逻辑IF语句和算术IF语句。
二、实验内容:(1)编写程序,输入年、月,求该月的天数。
用year、month分别表示年、月,day表示每月的天数。
注意:①每年的1,3,5,7,8,10,12月,每月31天;4,6,9,11月每月30天;2月闰年为29天,平年为28天。
②年份能被4整除,但不能被100整除,或者能被400整除的年均为闰年。
(2)编写程序,输入一个自然数,若为奇数则输出其平方根,否则输出其立方根。
三、实验平台Fortran PowerStation 4.0四、程序清单五、调试和测试结果六、教师批语与成绩评定:年月日《FORTRAN 语言》实验(上机)报告班级·学号 姓名 实验日期 任课教师 实验名称实验三 循环结构程序设计操作型一、实验目的(1)掌握用DO 语句和DO WHILE 语句实现循环的方法;(2)掌握循环结构的实现方法; (3) 掌握循环嵌套的执行过程。
第3章 Fortran程序设计初步-1(fortran77)
![第3章 Fortran程序设计初步-1(fortran77)](https://img.taocdn.com/s3/m/82a8bcbffd0a79563c1e726a.png)
在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或*,这一行文本会当成说明 或批注,不会被编译。 当为数字,就是用来给这一行程序代码取 个代号,不然只能是空格。
第10章 文件-FORTRAN语言程序设计-王丽娟-清华大学出版社
![第10章 文件-FORTRAN语言程序设计-王丽娟-清华大学出版社](https://img.taocdn.com/s3/m/6305f3b9f7ec4afe05a1dfb2.png)
直接存取,又称随机存取。它是指将文件记录 由程序指定的某一位置直接存取。
顺序存取的文件中所有的记录长度可以完全不 同,而直接存取的文件中的记录的长度由 OPEN语句中的说明项“RECL=”指定,每个记 录长度相同。
OPEN(10,FILE="A.TXT",FORM="FORMATTED",& ACCESS="SEQUENTIAL") WRITE(10,100)911 WRITE(10,200) "WELCOME" OPEN(11,FILE="B.TXT",FORM="FORMATTED" , & ACCESS="DIRECT",RECL=10) WRITE(11,100,REC=1)911 WRITE(11,200,REC=2) "WELCOME" 100 FORMAT(1X,I5) 200 FORMAT(1X,A15) END
与说明项FILE=file共存,它只能用于由系统指定的
文件名,使该文件作为程序运行过程磁盘上和指定文件名同名 的文件。如果不存在这样的文件,则创建一个新文 件。
·UNKNOWN: 表示由计算机来规定文件的状态。
ACCESS=access。access是一个字符串表达式,此
文件的概念 文件的打开与关闭 文件的读写 其他文件操作
文件与记录 所有的数据来源和数据发送目标都被认为是文件。 文件有外部文件和内部文件之分。
记录是作为逻辑单位顺序排列的一组相关数据项 (又称字段)的集合,是构成文件的基本单位。 文件系统是负责存取和管理文件的公共信息管理机 构。
Fortran程序设计第9章基本计算(一)赋值语句
![Fortran程序设计第9章基本计算(一)赋值语句](https://img.taocdn.com/s3/m/c2104356777f5acfa1c7aa00b52acfc789eb9f4e.png)
第9章基本计算(一)赋值语句从计算机的实际状态来看,给出表达式并不意味着计算的开始,真正能够驱动计算的是可执行语句,而最直接驱动表达式的计算过程的就是赋值语句,完成一个赋值步骤,就意味着机器的状态的局部或全局发生了一个根本的变化。
从语法的角度来看,一个表达式还只是一个比较复杂的复合词汇,还不能构成一个完整的语句,而赋值语句则是一个在语法意义上的完整的语句,表达式在赋值语句中扮演关键的语法作用。
从计算问题的角度来看,赋值可以说是基本的计算步骤,考虑一下我们人工计算的过程就可以发现,任何一个完整的计算步骤,都可以说就是一个赋值步骤,特别是公式演算和数值计算,完成一个局部运算过程的标志,往往就是求出某个中间变量的数值或表达式。
FORTRAN语言作为一种以公式翻译为初衷的高级语言,它的赋值语句的一般形式就是一个数学等式,当然不是那种公式恒等变换得到的恒等式,而是要把运算的结果赋予一个变量,因此它的一般句法形式为:variabl e = express ionvariabl e => express ion可以看到一个赋值语句作为一个完整的语句,分为三个部分:●被赋值的变量●赋值符号●计算(表达式)其中被赋值的变量,通过赋值,就拥有了明确的取值形式,如果该变量含有下标,片断下标或子串范围,则赋值的前提是它们都已经获得具体的取值。
基于表达式结果的不同种类,赋值语句分为:●固有赋值:固有赋值是把任意类型的值赋予一个非指针变量,或把一个指针变量赋予一个与之相关联的目标。
●自定义赋值:自定义赋值得以构成的前提是存在一个可访问的子例行程序,它包含一个具有A SSIGN MENT形式的赋值界面,其属性与自定义赋值语句里的变量和表达式的属性保持一致。
FORTRAN语言课程设计
![FORTRAN语言课程设计](https://img.taocdn.com/s3/m/55ae473f26d3240c844769eae009581b6ad9bd67.png)
FORTRAN语言课程设计摘要:科技的日新月异使得计算机领域不断取得新的研究成果。
计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活和科研中也越来越离不开计算机。
特别是在天体运动方面需要运用到计算机处理大量的数据。
这次我选的实践课题是用Jacobi迭代和Gauss-Seidel迭代法求解线性方程组AX=B,这其中涉及的就是天体运动的轨迹问题,我利用从FORTRAN 90中学到的迭代、循环、子程序等知识设计程序,通过Fortran PowerStation 4.0进行运行、调试,不得不提的是QuickWin,它在绘制行星的运动轨迹上发挥出了相当大的贡献。
通过这次的实践我从中充分体会到了Fortran语言接近数学公式的自然描述,在计算机里具有很高的执行效率的最大特性。
同时我也看到了Fortran语言是一种极具发展潜力的语言,在数值计算中,Fortran语言仍然不可替代。
Fortran90标准引入了数组计算等非常利于矩阵运算的功能。
在数组运算时,Fortran能够自动进行并行运算,这是很多编程语言不具备的。
运用Fortran 语言,你能够运用很多现成的函数软件包,所以非常便利。
关键词:Fortran ;Jacobi迭代和Gauss-Seidel迭代;天体运动1设计思想这次的课程设计我选的是第三个课题,关于求解天体的运行轨道,原题如下:●用Jacobi迭代和Gauss-Seidel迭代法求解线性方程组AX=b。
一天文学家要确定一颗小行星绕太阳运行的轨道,他在轨道平面内建立以太阳为原点的直角坐标系,在五个不同的点对小行星作了五次观察,测得轨道上五个点的坐标数据(单位:万公里)如下表所示:由开普勒第一定律知,小行星轨道为一椭圆,椭圆的一般方程可表示为:a1x2+2a2xy+a3y2+2a4x+2a5y+1=0分别将五个点的数据代入椭圆一般方程中,得到线性方程组,求出待定系数a1,a2,a3,a4,a5。
第二章 Fortran程序设计基础
![第二章 Fortran程序设计基础](https://img.taocdn.com/s3/m/fd21d3ada0116c175e0e481e.png)
第二章 Fortran程序设计基础2.1.1字符集“字符集”是指编写Fortran程序时,所能使用的所有字符及符号。
Fortran所能使用Fortran标准中规定,编译器只需要认得大写的英文字母,而如果程序代码中使用小写英文字母,则会把它们视为大写字母。
简单说,Fortran是不区分大小写的语言。
特殊符号除了用来做数学计算符号外,还有其他用法,后面用到时会介绍它们。
2.1.2书面格式Fortran程序代码的编写格式有两种,Free Format(自由格式)及 Fixed format(固定格式)。
Fixed format(固定格式)属于旧式写法,它在编写版面上有很多限制。
Free Format (自由格式)是Fortran90之后的新写法,取消了很多旧的限制。
这里,我们要求用Free Format格式来编写程序。
以*.F90为扩展名的文件,就是用Free Format来编写的程序。
Free Fortran格式基本上允许非常自由的格式,它没有规定每一行的第几个字符有什么作用。
需要注意以下几点:(1)叹号“!”后面的文本都是注释,Fortran90编译程序对源程序进行编译时,对注释区内的内容不予处理。
(2)每行可以编写132个字符。
(3)行号放在每行程序的最前面。
(4)要求以一个“&”作为一个续行标志;一行中可以写多条语句,用“;”隔开。
下面是一个用Free Format格式的编写实例:1.! Free Format2. program main3. write(*.*) “hellow” !这也是注释4. write(*.*) &5. “hellow”6. end这里,读者可发现第一、三行中都有注释,第一行整行都是注释,第三行只有叹号后面的部分是注释。
第四行的最后是连接符号&,所以第五行会连接在它后面。
2.1.3 Fortran的数据类型1.整数(INTEGER)整数的类型又分为两种,长整型与短整型。
Fortran95语言程序设计
![Fortran95语言程序设计](https://img.taocdn.com/s3/m/16894293daef5ef7ba0d3c7f.png)
《Fortran95语言程序设计》课程教学大纲课程英文名称:Fortran95 Programming Design课程编号:0332232002课程计划学时:32学分:2课程简介:FORTRAN语言程序设计是材料物理专业的开设的专业基础课, FORTRAN语言在科学计算领域有着十分广泛的应用。
通过本课程的学习,应使学生掌握FORTRAN95的基本概念,语法规则和利用FORTRAN95进行程序设计的方法。
使学生在后继课的学习中,能够利用FORTRAN95上机编程,解决相应的实际问题,并能在今后的学习和工作中,结合自己的专业知识,开发相应的计算机应用程序。
一、课程教学内容及教学基本要求第一章 Fortran语言程序设计概述本章重点:算法、程序基本结构难点:语言元素本章学时:2学时教学形式:讲授与上机实践相结合教具:计算机,投影仪第一节 Fortran语言程序设计概述本节要求了解:程序设计的过程、基本方法、程序设计语言的分类、Fortran语言的发展、Fortran77、Fortran95程序设计的构成及其兼容性,(考核概率20%)理解:算法的概念,掌握:算法的描述、程序基本结构与书写规则(考核概率100%)1 程序设计的过程算法的描述(重点,难点)2 程序设计的基本方法3 程序设计语言4 Fortran语言的发展5 Fortran95程序基本结构与书写规则(重点)6 Fortran95程序设计的兼容性第二节Fortran95开发环境(第一次上机实验课讲述)本节要求了解:在可视化编程的条件下Fortran 语言所具备的一些新的特点和功能,掌握:可视化编程所需的基础知识和一般步骤(考核概率100%)1 熟悉Fortran95 环境进入系统2 建立项目文件3 建立源程序文件4 输入源程序的内容5 编译、连接、运行作业:认真复习本章内容,预习第二章内容。
第二章数据类型及其运算本章重点:Fortran语言的基本数据类型及其常量表示方法难点:算术表达式的写法本章学时:1学时教学形式:讲授与上机实践相结合教具:计算机,投影仪第一节数据类型及其运算本节要求了解:各种类型常量、变量的定义、算术表达式的写法,(考核概率100%)掌握:Fortran语言的基本数据类型及其常量表示方法(考核概率50%)1 常量2 变量及其定义3符号常量及其定义4 Fortran表达式(重点)作业:认真复习本章内容。
第2章 Fortran95程序设计基础
![第2章 Fortran95程序设计基础](https://img.taocdn.com/s3/m/f77c7bdc50e2524de5187e6c.png)
n代表整数部分,m代表小数部分,不允许出现非 数值字符(如逗号、顿号和空格等)。
实型常量
对于实数,通过实型kind值确定实数的存储空 间大小、取值范围和最大有效位数(精度)。 实型kind值有两种4、8(缺省值为4)分别 表示单精度实数和双精度实数 。
实型常量
【例2-4】 判定下列实数,哪些是合法实数?哪些是非法 实数?说明原因。
% & < > ? $ _ 空格(Tab)
Fortran95的字符集
Fortran的源程序就是上述字符及符号按照词法、 语法和语义的规定对算法的描述。
在编写源程序时需要注意的是:
(1)除字符型常量外,源程序中不区分字母的大小 写,如语句 “ReaL a” 和 “real A”是等价的。 (2)字符集以外的可打印字符,只能出现在注释、 字符常量、字符串编辑符和输入输出记录中。
空间
字符类型可以表示的东西非常广,从键盘输入的 任何内容,不论是数字、字母、文本或任何特殊符号 都可以。
教材附录A的ASCII字符集里的字符就是这个类型
所能表示的所有字符。
逻辑类型 (logical)
表示逻辑判断的结果 ,只能有两种值:
“是”(true)
“否”(false) 也可以翻译成“对”、“错”,或 “真”、“假” 等等。
程序设计基础
——Fortran 95
第二章 Fortran95 程序设计基础 本章将介绍:
•字符集、标识符和关键字
•程序的书写格式
•数据类型
•常量和变量
•算术运算符和算术表达式 •标准函数
学习目标:
了解字符集、标识符和关键字
了解程序的固定书写格式
掌握程序的自由书写格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)循环结构
A块 当条件满足时 执行 A 块
条件
N
Y
当型:先判断后执行
N-S 图
执行 A 块
A块 条件
Y N
直到条件满足为止
直到型:先执行后判断
由以上三种基本单元结构可以派生出其他多种形式 的结构。所谓结构化程序=三种基本结构所组成的程序. 特点: (1)有(只有)一个入口 (2)有(只有)一个出口 (3)结构中每一部分都应有被执行到的机会 (4)没有死循环(无终止的循环) N-S 图——结构化流程图 S=0 例2 用N-S图表示 N=1 S+1/N= S N+1= N 直到N>100为止 打印 S 值
(3)输入一个数给“收入变量”A (4)将A和T的值相加,其和值放在变量T中 A+TT; (5)使N的值加1,即N+1 N(N的值表示已累加数据的个数) (6)若N﹤100,则返回(3)继续执行以后各步,否 则转到执行(7) (7)打印出总和T的值 以上算法体现“迭代”的思想—计算机算法的最大特 点
算法应具有以下几个特征: (1)有穷性 (2)确定性 (3)具有0个或多个输入量 (4)算法执行完毕后有一个或多个输出量 (5)可执行性,即每一步都能准确地进行 如 : A/B 当B≠0时成立;当B=0时不成立。 一个算法可以用自然语言表示,也可以用代码表 示,通常如此,建议采用流程图。
§ 1-3 流程图
教学环节 和方法 授课 授课 授课 授课 授课 授课 授课 授课 授课 授课 授课 考试
课内学时 2 2 2 2 2 2 2 2 2 2 2 2
课外学时
备注
2 2 2 2 2 2 2 2 2
上机 上机 上机 上机 上机 上机 上机 上机 上机 上机
FORTRAN 语言程序设计
课程设置的目的 了解和掌握用计算机解题的思路与方法 编程技术的入门及其推广 VB,VC,C++ 课程的特点 掌握基本的编程技术 记住最基本的语句和语法 边学边用,边用边学 上机实习是重点
§ 1-5 利用电脑解题的全过程
(1)明确所需解决的问题 (2)分析问题,构造模型:建立数学模型 (3)选择适当的计算方法 (4)确定算法 (5)根据正确的算法画出流程图,N—S图 (6)根据“图” ,进行Coding (7)上机调试 (8)正式使用 (9)编写说明
§ 1-6 重新认识FORTRAN
教材与参考书目 谭浩强、田淑清《FORTRAN语言程序设计》 高教
出版社
彭国伦《Fortran 95程序设计》 中国电力出版社
第一章 计算机、算法和程序设计
§1-1 计算机语言和软件系统
低级语言(机器语言)—采用二进制代码;因机而异。 优点:快、直接;缺点:繁琐,直观差,极不方便 汇编语言—采用助记符代替二进制代码。
荷兰学者提出“结构化程序设计”
规定了一套方法,大家都遵守的方法,使程序具 有合理的结构,以保证和验证程序的正确性,而不能 随心所欲。
结构化程序设计规定了以下三种基本结 构作为程序的基本单元
(1)顺序结构
A 块 B块 A 块 B 块
N-S 图
(2)判断选择结构
条件 A块 B块
Байду номын сангаас
满足条件
Y A块 N B块
例1 用N-S图表示
N=0 T=0 输入 A A+T →T N+1 →N 直到N≥100 为止 打印 T
例3
L=1 N=1 S=1 SUM = 1 L+2 → L -S → S N+1 → N SUM+S/L →SUM 直到N ≥100 为止 |S/L|>0.005 是 否
打印‘>0.005 项 打印‘≤0.005项
1 1 1 1 例2 求 1 的值 2 3 4 100
(1)使 S=0 (S代表累加变量) (2)使 N=0 (N代表分母变量)
( 3) ( 4)
执行(6)
1 S S N
N 1 N
(5)若N≤100,则返回(3)继续执行以后各步,否则转到
(6)打印出S的总和值 写出算法后,再用某种高级语言写出它的程序,所以程序 设计的关键在于写出好的算法。 好算法的原则: 1 能获得正确的结果 2 易读性好 3 执行时有较高的效率
一条符号语言指令对应一条机器指令
高级语言(面向问题)—不依赖机器,易学易懂。
高级语言的一条语句(指令)对应若干条机器指令
如:BASIC、FORTRAN、PASCAL、C等等 高级语言(面向对象)— 如:VB、VC、MATLAB、CAD、Java、 Delphi
高级语言不能为计算机直接接受,必须翻译成机器指令。 将高级语言程序(源程序)转换为机器语言程序(目标程序) 的工作由“编译程序”来完成。 执行 编译 计算结果 高级语言程序 机器指令目标程序
周次 日期 第1 周 第1 周 第2 周 第2 周 第3 周 第3 周 第4 周 第4 周 第5 周 第5 周 第6 周 第6 周
章 节 内 容提 要 Ch1 Fortran概述 Ch2 语言基础 Ch3 输入输出 Ch4 选择结构 Ch5 循环结构 Ch6 数组(1) Ch6 数组(2) Ch7 函数与子程序(1) Ch7函数与子程序(2) Ch8 数值方法 Ch9 计算机绘图 课程考试
编译程序 (预先存如电脑)
裸机
用户源程序
操作系统 高级语言编译系统
计算机系统与操作系统关系示意图
§ 1-2 算法(Algorithm)与程序设计(Programming)
算法:为解决一个问题而采取有限步骤。
举例
例1 商店结帐,要求将当天前100 笔收入累加,并打印出总和。 算法1: (1)将第一笔收入输入电脑 (2)将第二笔收入输入电脑 (3)将以上二笔收入相加 (4)将第三笔收入输入电脑 ………. (200)打印出100 笔收入的总和 算法2:(1)设一“计数变量”N,使N的初值为0,即N=0 (2)设一“累加变量”T,使T的初值为0,即T=0
流程图——用某种形式的图来表示一个 算法。 初期最常用的流程图符号,共7种。前二
例用流程图表示
优点:能形象地表示一个算法,清楚地表示
算法的各个步骤间先后次序
缺点:比较烦琐,所占篇幅较大
§ 1-4 结构程序设计与结构流程图
关于程序设计标准讨论: 早期 (1)—(3)—(2) 现代 (1)—(2)—(3)