1 Fortran 程序设计1-基础

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Fortran95程序设计200909一、概述•为什么要学习FORTRAN语言程序设计?•FORTRAN语言的发展历史•主要内容和参考书目为什么要学习FORTRAN语言程序设计?计算机在“程序”的控制下进行自动工作:计算机解决任何问题都依赖于解决问题的程序程序设计是计算机应用人员的一项基本功,也是大学生的一项基本思维方式训练…1.机器语言(MachineLanguage):二进制编码组成…计算机可以直接识别2.汇编语言(AssembleLanguage):20世纪50年代初…用比较容易识别、记忆的助记符替代特定的二进制串…3.高级语言(High-levellanguage):1954年,第一个高级语言—FORTRAN问世计算机语言:为什么要学习FORTRAN语言程序设计?为什么要学习FORTRAN语言程序设计?FORTRAN语言的特点?被认为是科学计算的专用语言计算是科学的基石之一为什么选择FORTRAN?—什么是科学计算问题?科学计算问题三个涵义:1问题本身以及问题的解答都能够使用数学语言予以精确描述;2如果要使用通常的数学方法来给出我们所需要的数值答案,会很麻烦或者根本无法给出;3问题以一定的科学与技术知识作为背景为什么要学习FORTRAN语言程序设计?一个科学计算问题总是要以一个数学计算问题的形式出现,因此描述科学计算问题的语言应该能够自然地描述数学问题…一个科学计算问题之所以需要使用计算机,肯定是因为这个问题具有一定的计算量,因此程序的运行效率往往是选择语言时最重要的考量因素为什么要学习FORTRAN语言程序设计?FORTRAN是现在众多语言当中的绝对胜出者描述数学语言的自然性…为什么要学习FORTRAN语言程序设计?C代码的执行速度最快?系统编程特性实际的运行效率?并行计算领域,独领风骚!FORTRAN语言落后?要自由地进行科学计算,非FORTRAN莫属为什么用Fortran?与其他科学计算语言或工具相比,Fortran语言在性能上历来是出类拔萃的。因为语言本身专门针对数值计算、矩阵处理等功能进行了优化,大多数Fortran编译器产生的可执行代码在效率上甚至会超过以高效著称的C或C++语言。为了在高性能的并行处理系统(如IBM的“深蓝”和我国的“曙光”)上获得更出色的执行效率,Fortran95还特意吸收了HPF语言的优点,为Fortran语言增添了若干支持并行计算的语法特征Fortran语言在根本上是一种面向科学计算的高级程序设计语言。…环顾一下四周,我们很容易发现,Fortran语言最常出现的地方也是科技创新最活跃、知识密集度最大的地方:在中科院大气物理研究所里,研究人员们正使用Fortran语言编写大气数据分析软件;在国家高性能计算中心里,Fortran语言正在新安装的曙光并行计算机上执行着各种科学计算任务;在一个又一个分子生物学、高能物理学、应用数学的国家重点实验室里,Fortran是研究者们最为倚重的工具之一;在相当数量的理工科学生的课程表中,Fortran是学生进入大学课堂后接触的第一门高级语言……——王咏刚,Fortran2003:完美还是虚幻?程序员,2004.8Fortran语言作为第一种高级语言不仅是一次创新,也是一次革命。它使程序员摆脱了使用汇编语言的冗长乏味的负担,而且它使得不再只是计算机专家才能编写计算机程序,任何一名科学家或工程技术人员,只要稍加努力学习和使用Fortran,就能按自己的意图编写出用于科学计算的程序FORTRAN语言的发展历史1954年,IBM公司,尝试将接近数学语言的文本翻译成机械语言1957:第一套Fortran编译器诞生FormulaTranslator1966:ANSI公布Fortran661978:ANSI公布Fortran77添加了逻辑判断和输入输出方面的功能1992:ISO公布Fortran90面向对象的概念及工具、指针、加强了数组的功能、改良旧式语法中的编写格式…1997:ISO公布Fortran95是90的修正版,加强了在并行运算方面的支持本课程主要内容和参考书目♦FORTRAN程序设计基础♦顺序结构程序设计♦选择结构程序设计♦循环结构程序设计♦数组♦函数♦文件♦指针*♦MODULE及面向对象*参考书目:彭国伦,Fortran95程序设计,中国电力出版社,2002,9Fortran95/2003程序设计(第三版)(或者其英文原版):AReferenceGuide,PrenticeHall.ISBN0-13-397332-8袁驷等译,Fortran90编程指南(第3版),高等教育出版社,2000,ISBN7-04-007937本课程学习和考核(每两次课堂授课安排一次上机操作)•认真进行课堂学习,完成课外作业•充分利用上机时间,按时完成程序设计•期终考核。总评成绩为平时作业与期终成绩的加权平均二、编译器的使用•编译器……•VisualFortran的使用(windows下安装)……•新建Project,编译FORTRAN程序MicrosoftFortranPowerStation4.0是第一个在Win95/NT操作系统下的32位Fortran语言开发工具。优点:•集成开发环境DeveloperStudio……•生成Windows操作系统下的32位应用程序……•支持Fortran90标准,并在Fortran90基础上进行了扩充•在集成开发环境中,可以可视化地进行Windows用户图形界面设计、设置编译连接选项和编译连接。•FortranPowerStation的调试(Debug)功能使程序设计者可以在集成开发环境中方便地跟踪和控制程序的执行、查看或修改变量和表达式的值,查看反汇编代码或查看堆栈情况。•不仅可以开发传统的控制台应用程序和图形界面程序,还可以使用QuickWin库在不必深入了解Windows系统的情况下简便地开发出具有Windows图形界面特点应用程序,甚至可以更进一步地利用WindowsAPI函数接口进行Windows程序设计。•可以方便地与VisualC/C++、MASM和VisualBasic进行混合语言编程,以充分利用各个语言所具有的优点。•所建立的动态链接库可以被Excel中的VBA调用,使开发出的应用程序与Excel相结合。CompaqVisualFortran:安装的几点建议:练习:执行一个简单的打印语句一次简单编译程序的过程:三、FORTRAN程序设计基础•Fortran程序的基本组成字符集源码格式程序组成•程序简例编程实例程序的特点Fortran程序的基本组成字符集编写Fortran程序时,能使用的所有字符和符号英文26个字母字母大小写不分10个数字0~922个特殊符号:=+-*/(),.‘!“%&;?$_以及空格符对于基本字符有如下几个问题需要予以注意:一.文字字符的用处:主要是命名的作用,可以用来命名语言中的一切对象,这三种符号可以混合使用;数字还具有它本来的含义,就是表示数目。二.特殊字符的用处:特殊字符主要具有功能的意义,如编辑功能,运算功能,语法功能等。FORTRAN95标准原则上接受小写字母。因此除了以下位置,大小写是等价的:三.大小写必须区分的位置:●作为字符常量的字符串里面;●输入输出的纪录里面;●作为编辑描述符的引号或撇号里面。如果不幸遇到一个FORTRAN95标准的怪异的编译平台,偏偏不接受小写字母,这是FORTRAN95标准所许可的,这时就得小心了。不过幸好我们常用的编译平台,例如CVF,都是接受小写字母的。另外,在OPEN或者INQUIRE语句里面的FILE=或NAME=后面是否区分大小写,也是由编译平台指定的。如果是需要调用其他语言写的子程序,而恰好该种语言(例如C语言)是区分大小写的,这时就需要特别小心。四.数字的涵义:除了以下情形,数字总是表示十进位数字属于二进制,八进制,十六进制的字面常量;带有B,O,Z编辑描述符的输入输出纪录。【例】以下语句当中的数字不是属于十进位数字:DATAI,J,K/O’1001’,23.54,Z’5CA2’/其中第一个为八进制数,第二个为十进制数,第三个为十六进制数。五.下划线的涵义:下划线的主要作用就是置于单词之间代替空格,使得我们在命名时使用清楚的英语词汇。下划线不能置于任意名称的前面,但是可以置于名称的最后。下划线也用于在字面常量中区隔常量的值和种别参数。两种,FreeFormat/FixedFormat第1个字符如果是C、c或星号*,表示该句为批注1~5标号区。数字,则为行代号,否则空6续行位。非空非0表示续行(77不超过19)FixedFormat:7~72语句区。程序代码,一行一句73以后不使用,超过部分忽略,可以做注释源码书面格式早期的计算机系统须用卡片将源程序输入,一张卡片相应于源程序的一行Fortran卡片(12行80列)卡片穿孔机卡片输入机早期编写F77程序使用的程序纸CFixedFormatProgrammainWrite(*,*)”Hello”Write(*,*)&“hello”end例:简要地介绍固定格式的几个规则:语句只能书写在一行的第7到第72个格子上。空格除了在字符常量里以外,都是没有意义的。在某行第一格为字符C,或*,就表示该行整行都是注释。注释总是被忽略。字符!只要不是出现在第6格,也不是属于字符文本,则从它开始一直到该行的行末,都属于注释。一行如果只包含空格字符,或者根本不包含任何字符(这两者表现一样),那么编译器总是把该行视为注释行,予以忽略。一行中的多条语句用一个或多个分号分隔;分号可以出现在行末,但没有更多的意义;分号不能是一行的第7到第72个格子上第一个非空格字符。除了空格和0之外的任意字符,只要出现在某行第6格上,则表示该行为连续行。一行后面最多只能有19个连续行,第一行称为初始行。标识符只能出现在第1到第5格上,被连续的语句只有第一行可以使用标识符,这样下面所有的连续行的第1到第5格上只能是空格。END语句不能被连续,它也不能被视为初始行FreeFormat:(1)符号!后都是注释(2)每行可以编写132个字符(3)行号放在每行程序的最前面(4)续行号&在一行程序代码的最后或者开头在FORTRAN里,一个语句所跟随的连续行不能超过39行。(5)在一行之内可以不止包含一条语句,语句之间必须用;加以分隔!FreeFormatProgrammainWrite(*,*)”Hello”!这也是注释Write(*,*)&“hello”end例:自由源程序格式的一般规则如下:●对于FORTRAN的基本字符集而言,一行至多能容纳132个字符,如果出现非基本字符集当中的字符,则具体的平台会有相应的规定,这时,可能能够容纳的字符数目就会少于132。【例4-12】假如下面的语句刚好包含132个字符,但是其中含有中文字符:TEXT=CHINESE_SENTENCE’thislinehasexactly132charactersandcontains人’这时,一个具体的实现平台会有相应的规定,一般来说它会认为上面语句的字符太多了,因此为保险起见,尽量使用续行符。●只要字符!不是作为字符文本当中的一个字符,那么在该行内它后面的所有字符都是属于注释的内容。而FORTRAN对于注释内容没有任何限制,可以是任意形式,因为反正任何编译器对于注释部分都是忽略掉的。一行内可以在语句后面接注释

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功