您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > Fortran-95-程序设计-第一章
Fortran95程序设计中山大学环境科学与工程学院陆希电话:13570342061邮件:luxi5@mail.sysu.edu.cn每两次课堂后授课安排一次上机操作认真进行课堂学习,完成课外作业充分利用上机时间,按时完成程序设计期终考核——闭卷总评成绩为平时分(考勤、课堂表现、作业)与期终成绩的加权平均本课程学习和考核本课程主要内容和参考书目FORTRAN程序设计基础顺序结构程序设计选择结构程序设计循环结构程序设计数组函数文件指针*MODULE及面向对象*彭国伦,Fortran95程序设计,中国电力出版社,2002Fortran95/2003程序设计(第三版)(或者其英文原版)Adams,Brainerd,Martin,Smith,Wagener.Fortran95Handbook,MITPress,1997.ISBN0-262-51096-0Brainerd,W.,Goldberg,andAdams.Programmer'sguidetoFortran90,3rdedition,TheFortranCompany,1996.ISBN0-07-000248-7Chamberland,Luc.Fortran90:AReferenceGuide,PrenticeHall.ISBN0-13-397332-8袁驷等译,Fortran90编程指南(第3版),高等教育出版社,2000,ISBN7-04-007937参考书目:学习方法:1.强化实践,重视上机操作程序设计是高强度的脑力劳动,不是听会的,看会的,而是练会的!“自学,动手,应用,上网”只有在编写大量程序后才能运用自如。重点放在思路、算法、编程构思和程序实现上。2.养成良好的编程习惯强调可读性变量要加注释程序构思要有说明学会如何调试程序尽可能优化对运行结果要做正确与否的分析本节课主要内容概述编译器的使用FORTRAN程序设计基础一.概述•为什么要学习FORTRAN语言程序设计?•FORTRAN语言的发展历史为什么学习Fortran程序设计?首先什么是程序设计?计算机在“程序”的控制下进行自动工作:计算机解决任何问题都依赖于解决问题的程序程序设计是计算机应用人员的一项基本功,也是对学习者的一项基本思维方式训练计算机语言:1.机器语言(MachineLanguage):二进制编码组成…计算机可以直接识别2.汇编语言(AssembleLanguage):20世纪50年代初…用比较容易识别、记忆的助记符替代特定的二进制串…3.高级语言(High-levellanguage):1954年,第一个高级语言—FORTRAN问世面向用户的语言FORTRAN语言的特点?被认为是科学计算的专用语言,计算是科学的基石之一为什么选择FORTRAN?—什么是科学计算问题?科学计算问题三个涵义:1问题本身以及问题的解答都能够使用数学语言予以精确描述;2如果要使用通常的数学方法来给出我们所需要的数值答案,会很麻烦或者根本无法给出;3问题以一定的科学与技术知识作为背景一个科学计算问题总是要以一个数学计算问题的形式出现,因此描述科学计算问题的语言应该能够自然地描述数学问题…一个科学计算问题之所以需要使用计算机,肯定是因为这个问题具有一定的计算量,因此程序的运行效率往往是选择语言时最重要的考量因素1.描述数学语言的自然性…Fortran语法简明且严谨,易学,最大特性是接近数学公式的自然描述,可以直接对矩阵和复数进行运算,特别适合做矩阵数组运算.FORTRAN是现在众多语言当中的绝对胜出者!=FORmulaTRANslator2.执行代码速度大多数Fortran编译器产生的可执行代码在效率上甚至会超过以高效著称的C或C++语言。而且,长久一来,fortran聚集了一大批高效,严格的,经过考验的成熟的函数库,软件包,这是一笔巨大的财富,这些巨大的成熟的函数库没必要用C或C++再写一遍。3.并行计算领域,独领风骚为了在高性能的并行处理系统(如IBM的“深蓝”和我国的“曙光”)上获得更出色的执行效率,Fortran95还特意吸收了HPF语言的优点,为Fortran语言增添了若干支持并行计算的语法特征。Fortran语言最常出现的地方也是科技创新最活跃、知识密集度最大的地方:在中科院大气物理研究所里,研究人员们正使用Fortran语言编写大气数据分析软件;在国家高性能计算中心里,Fortran语言正在新安装的曙光并行计算机上执行着各种科学计算任务;在一个又一个分子生物学、高能物理学、应用数学的国家重点实验室里,Fortran是研究者们最为倚重的工具之一;FORTRAN语言的发展历史1954年,IBM公司,尝试将接近数学语言的文本翻译成机械语言1957:第一个Fortran程序在IBM704上运行1958和1962年先后推出FortranⅡ和FortranⅣ1966:ANSI公布Fortran661978:ANSI公布Fortran77添加了逻辑判断和输入输出方面的功能1992:ISO公布Fortran90面向对象的概念及工具、指针、加强了数组的功能、改良旧式语法中的编写格式…1997:ISO公布Fortran95是90的修正版,加强了在并行运算方面的支持现在,Fortran2003……LINUX操作系统下PGIFortranIntelFortran,英特尔公司的开发的Linux平台Fortran编译器。G77,GNU的Fortran77编译器,集成在GCC中。GFORTRAN,GNU的最新的Fortran编译器,集成在GCC4.0中,目的是支持Fortran95和一部分Fortran2003的功能,以替代G77。G95,跟GFortran同为开放源代码的Fortran95编译器。二、编译器的使用•编译器……•VisualFortran的使用(windows下安装)……•新建Project,编译FORTRAN程序本课程选用的是Windows平台下的CompaqVisualFortran6.6整个安装过程简单,但是针对64位机器,需要安装更高版本(课后可以自己安装,有很多网络资源)安装过程编译程序的过程1.双击2.在图形界面下,编写、调试一个Fortran程序首先需要建立一个DeveloperStudio工程。3.生成一个新的程序文件(File/New,选择File项)4.在Fortran工程中添加源代码Programmainwrite(*,*)HelloWorld!endprogrammain5.用Build菜单下的Execute选项来编译和执行程序,或者只单击Build项来做编译不运行程序。6.要写新的程序可以建立一个新的project,或者是直接更换project中的文件,千万不要把两个独立的程序文件放入同一个project中,否则导致编译过程出现错误。7.下次要修改程序时,可以直接打开*.dsw的project工程文件。练习:执行一个简单的打印语句三、FORTRAN程序设计基础•Fortran程序的基本组成字符集源码格式程序组成•程序简例编程实例程序的特点Fortran程序的基本组成字符集编写Fortran程序时,能使用的所有字符和符号英文26个字母字母大小写不分10个数字0~922个特殊符号:=+-*/(),.‘!“%&;?$_以及空格符对于基本字符有如下几个问题需要予以注意:一.文字字符的用处:主要是命名的作用,可以用来命名语言中的一切对象,这三种符号可以混合使用;数字还具有它本来的含义,就是表示数目。二.特殊字符的用处:特殊字符主要具有功能的意义,如编辑功能,运算功能,语法功能等。FORTRAN95标准原则上接受小写字母。因此除了以下位置,大小写是等价的:三.大小写必须区分的位置:●作为字符常量的字符串里面;●输入输出的纪录里面;●作为编辑描述符的引号或撇号里面。四.数字的涵义:除了以下情形,数字总是表示十进位数字属于二进制,八进制,十六进制的字面常量;带有B,O,Z编辑描述符的输入输出纪录。【例】以下语句当中的数字不是属于十进位数字:DATAI,J,K/O’1001’,23.54,Z’5CA2’/其中第一个为八进制数,第二个为十进制数,第三个为十六进制数。五.下划线的涵义:下划线的主要作用就是置于单词之间代替空格,使得我们在命名时使用清楚的英语词汇。下划线不能置于任意名称的前面,但是可以置于名称的最后。下划线也用于在字面常量中区隔常量的值和种别参数。源码书面格式两种,FreeFormat/FixedFormatFixedFormat:第1个字符如果是C、c或星号*,表示该句为批注1~5标号区。数字,则为行代号,否则空6续行位。非空非0表示续行(77不超过19)固定格式的几个规则:语句只能书写在一行的第7到第72个格子上。空格除了在字符常量里以外,都是没有意义的。在某行第一格为字符C,或*,就表示该行整行都是注释。注释总是被忽略。字符!只要不是出现在第6格,也不是属于字符文本,则从它开始一直到该行的行末,都属于注释。一行如果只包含空格字符,或者根本不包含任何字符(这两者表现一样),那么编译器总是把该行视为注释行,予以忽略。一行中的多条语句用一个或多个分号分隔;分号可以出现在行末,但没有更多的意义;分号不能是一行的第7到第72个格子上第一个非空格字符。除了空格和0之外的任意字符,只要出现在某行第6格上,则表示该行为连续行。一行后面最多只能有19个连续行,第一行称为初始行。标识符只能出现在第1到第5格上,被连续的语句只有第一行可以使用标识符,这样下面所有的连续行的第1到第5格上只能是空格。END语句不能被连续,它也不能被视为初始行FreeFormat:(1)符号!后都是注释(2)每行可以编写132个字符(3)行号放在每行程序的最前面(4)续行号&在一行程序代码的最后或者开头在FORTRAN里,一个语句所跟随的连续行不能超过39行。(5)在一行之内可以不止包含一条语句,语句之间必须用;加以分隔例:自由源程序格式的一般规则如下:●对于FORTRAN的基本字符集而言,一行至多能容纳132个字符,如果出现非基本字符集当中的字符,则具体的平台会有相应的规定,这时,可能能够容纳的字符数目就会少于132。【例4-12】假如下面的语句刚好包含132个字符,但是其中含有中文字符:TEXT=CHINESE_SENTENCE’thislinehasexactly132charactersandcontains人’这时,一个具体的实现平台会有相应的规定,一般来说它会认为上面语句的字符太多了,因此为保险起见,尽量使用续行符。●只要字符!不是作为字符文本当中的一个字符,那么在该行内它后面的所有字符都是属于注释的内容。而FORTRAN对于注释内容没有任何限制,可以是任意形式,因为反正任何编译器对于注释部分都是忽略掉的。一行内可以在语句后面接注释内容,也可以整行就以!开头,这时该行就是完全的注释行。●只要字符&不是作为字符文本当中的一个字符,那么在该行内它后面只能接空格以及注释,在紧接着的行内只要存在非注释部分,那就是和该&前面的部分是连续的,被称为连续行。●一行如果只包含空格字符,或者根本不包含任何字符(这两者表现一样),那么编译器总是把该行视为注释行,予以忽略。●一行之内可以不止包含一条语句,语句之间必须用(;)加以分隔。●任何辅助字符集当中的字符都可以在字符字面常量和字符串编辑符当中使用。●标签被放置于语句之前,任何情形下都必须避免标签被认为是属于一条语句内部的字符。程序组成♦程序总体构造Fortran程序是一种分块形式的程序,由若干个程序模块组成。其中主程序起整体控制作用,各辅程序模块各自完成问题中的一个算法。主程序依次调用各辅程序模块,控制各子算法的实施,通过主程序对子程序的调用,形成程序的整体运行,完成问题的解。若某一子程序算法仍复杂,可再把它分解为若干更小的算法,分别编写为更低一层次的辅程序,由其他辅程序分别去调用
本文标题:Fortran-95-程序设计-第一章
链接地址:https://www.777doc.com/doc-4876440 .html