fortran第1、2章.ppt_第1页
fortran第1、2章.ppt_第2页
fortran第1、2章.ppt_第3页
fortran第1、2章.ppt_第4页
fortran第1、2章.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FORTRAN语言-FORTRAN 77结构化编程,谭浩强,田淑清编萧先生,发表:崔洛梅Email:精说多练Fortran77,全部使用最新的Fortran77列举了大量的完整程序例题,完整套练习问题和解答第1章补正机和补正机程序第3章Fortran语言设定补正第4章逻辑运算和选择构造第5章实现Fortran的数据构造第7章数据的输入输出第8章常用算法的程序设定补正例第9章排列第10章句子函数第11章子程序第12章数据共通记忆单元和算法数据结构=编程,1.1算法的概念,第一章算法,例1店铺退房,当天100件收入相加,要求打印总和。 (1)将第一个收入输入到校正器的算法(2)将第二个收入输入到计

2、算机中(3)加上两个以上的收入(4)将第三个收入输入到校正器中,1.2个校正器算法的例子(5)将它加到前两个收入的和上(199 ) 算法可以实现,但是不好! 引入“循环”的修正算法。 将“计数变量”n设定为(2)“累计变量”t,初始值为零(T=0),使得(1)n的初始值为零,即N=0。 (3)在“输入变量”a中输入数字(4)将a和t的值相加,放入变量t中,即A T=T; 在(5)n的值上加1,即,N 1=N(N的值表示累计的个数) (N100 )时,反转到(3)继续执行,否则执行(7)、(7)并打印总和t的值。 算法的优点是“迭代”的概念,t是迭代变量,“推法”也称为“迭代法”,其基本思想是将

3、复杂的修正过程转换为简单过程的多次迭代。 每次重复都会根据旧值传递新值,并将旧值替换为新值。 例2中求出的值。 算法如下:(S=0(S,其中s是迭代变量); N=1(N表示分母); (3)S 1/N=S,(4)N 1=N; 如果是(N100 ),则打印(6)、(6)s的值(即求出的和),如果不是执行(3)以后的各步骤。 然后使用“迭代次数”实现以下运算:算法必须具有()穷性。 算法必须在执行了贫穷的步骤之后结束。 不要包括不结束的循环。 ()确定性。 算法的每个步骤必须正确定义。 不要把暧昧和暧昧混为一谈。 ()具有0个以上的输入量,也就是说,具有在开始运行算法之前首先给予该算法的量。 ()算

4、法执行完成后,有一个或多个输出量。 例如,求m和n的最大公约数r。 m和n是两个输入量,r是输出量。 ()可行性。 算法的各个步骤可以正确地进行。 /进行B/A除法运算,a为零时,不能执行。 (有效性),1.3算法的特性,算法的表现:自然语言传统的流程图N-S结构流程图伪代码PAD图,如何表现1.4算法,1 .流程图以某种形式的图表现的算法。 流程图由具有特定意义的框和流程线组成。末端帧处理帧判定帧循环帧输入输出帧连接点指向线、以往的流程图中使用的符号:例1店铺决算、对当天100件的收入相加,要求打印总和。 将“计数变量”n设定为(2)“累计变量”t,初始值为零(T=0),使得(1)n的初始值

5、为零,即N=0。 (3)在“输入变量”a中输入数字(4)将a和t的值相加,放入变量t中,在(5)n的值上加1,即,n1=n(6)n100时,返回(3)继续执行,否则执行(7)、(7)并求和t 传统流程图:自然语言:例2中求得的值。假设(1)s=0是重复变量),(N=1(N表示分母); (3)S 1/N=S,(4)N 1=N; 如果是(N100 ),则打印(6)、(6)s的值(即求出的和),如果不是执行(3)以后的各步骤。自然语言:现有的流程图:2 .结构化程序设定修正作为程序的基本单位规定了以下3个基本结构,(2)确定选择结构、(1)确定顺序结构、(3)确定循环结构、(3)在结构的各部分中应当

6、具有被执行的机会(4)无死循环。 3 .结构化流程图(n-s ) (其中一个简单指令用矩形表示(框中写入一个简单指令) )、序列结构被确定为用、(2)选择结构或下一形式的框:表示的终止条件执行N100、N100还循环, 例2的算法的结构化流程图,若(1)s=0(2)n=1(3)n100则执行(6),否则求前进到(7)的例3 (到100项为止)的值,判定100项的绝对值是否大于0.005 分析:素数除了1和本身,是不能被其他自然数整除的自然数。 要确定自然数n是否是素数,可以用2 n-1中的一个数去除n,如果有可以被n整除的数,则n不是素数,否则n是素数。 必须周期性测试2n-1的各数除去n,构

7、成程序中的1个周期。 其中一个可以完成循环的时候。 例:判断98是否为素数。 297的一个数除以98,for(i=2; i=97; I )中断(98 % I=0)。n、L=.T .在IN-1且l的情况下,执行,I=2,N-S流程图:以往的流程图:结构化程序设定修正方法:结构化程序设定修正样式和程序结构正规化程序的易读性,修正和维护容易人们进行信息处理的2.2计算机配置2.3将信息存储在计算机上的方法2.4计算机语言和程序,计算机语言通常由机器语言汇编语言高级语言表示,机器语言机器语言由二进制代码“0”和“1”表示,被分为直接由计算机识别和运行的语言举例来说,命令01000110的作用可为使计算

8、机执行加法,且指令00011101的作用可为使计算机执行一次减法,从而处理问题机器语言的特点:不容易记住各种代码及其意思,而且制作的程序直观性差,很难检查和调试。 另外,机器语言是机器指向语言,对于不同形式的修正计算机,对于同一问题作成的机器语言程序相互不通。 但是,这种程序修正功能能够直接识别执行,且高速。 如果ADD A、6 MOV A、OUT LOAD B SUB B、a需要在内存a中的数据中添加6,则以前的某些命令的格式为ADD A、6比二进制01000110容易记忆。 汇编语言和汇编程序,汇编语言是用助记符表示的面向机器的编程语言。用汇编语言写的符号程序称为汇编语言源程序,计算机不能

9、直接识别并执行该源程序,通过专用设定的汇编程序加工并转换,使汇编语言源程序由0或者1个代码组成汇编语言与机器语言有良好的对应关系,所以修订机在将汇编语言翻译成机器语言时不需要做很多工作。 汇编器:高级语言、高级语言是类似于自然语言和数学描述语言的编程语言,脱离了特定的机器。 以前的一些汇编命令的优点是A=A 6 WHITE(*,10 ) a 10格式(1x,f5.2)读(*,*)B B=B-A比汇编语言更容易读取, 1 .学习机器指令无需了解计算机的工作原理和内部结构,就能够容易地利用计算机运算。例如: A=A 6 READ(*,*)B 2.适用于各种计算机系统。 高级语言FORTRAN面向科

10、学订正的语言PASCAL构造编程语言c具有高级数据构造和低级语言特性的通用语言PROLOG逻辑语言等等。 面向过程编程的思想是自上而下,阶段性地努力。 面向过程编程的缺点:数据和处理数据的操作相互分离成独立的实体,数据结构一旦改变,处理所有相关数据的操作必须相应修改。 不适合制作复杂的大规模软件程序。面向进程(结构化)编程语言:面向进程的程序的结构按功能分为几个基本模块,各模块之间的关系尽量简单,各模块的功能相对独立,这些模块联合起来形成树结构。 常用的面向对象的编程语言: visualbasicvisualfortranvisualcjava等。 面向对象的编程方法:把处理数据和数据的操作汇

11、总起来,作为相互依存、不可分离的整体的对象。 在同类对象中抽象化共性,形成类。 类中的数据由本类的方法处理。 类通过外部接口与外部取得联系,对象与对象之间通过消息进行通信。 面向对象编程方法的优点:代码重用性好,维护性好。 面向对象编程方法的特点:包装性、继承性、多态性。 面向对象的编程语言:例如两点距离的修正算法。 (面向对象的编程和面向进程的编程的不同),另一方面,面向进程的编程# include # includestructpointintx; 英特尔; 距离(一英寸、二英寸、一英寸、二英寸)英寸p。 p=sqrt(pow(x2-x1),2) pow(y2-y1),2 ) ) :返回(p ); 语音显示(intd )打印机(dist=% dn,d ); void主()点p 1、p2; 反冲击; p1.x=100; p1.y=100; p2.x=500; p2.y=400; 距离(p2.y、p2.x. p1.y、p2.y )。 显示(显示); 二、面向对象编程# include # includeclasspointintx 1、y1; int x2、y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论