- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
F90课件3
第三章 循环结构程序设计 3.1 循环结构概述/循环结构 3.1 循环结构概述/循环分类 3.1 循环结构概述/循环结构/示例1 3.1 循环结构概述/循环结构/示例2 3.1 循环结构概述/循环分类/例31 3.1 循环结构概述/循环分类/例32 计数型循环示例 当型循环示例 直到型循环示例 3.2 使用DO循环语句实现计数型循环/示例 3.2 使用DO循环语句实现计数型循环/执行过程 3.7 循环嵌套/示例1 3.7 循环嵌套/示例2 3.7 循环嵌套/示例3 3.7 循环嵌套/示例4 3.8 例2 3.8 例3 3.8 例4 3.8 例5 3.8 例6 3.8 例7 3.8 例8 例311算法和程序 例312算法和程序 例313程序 例314程序 例315程序 例316程序 例317程序 例318程序 3.5 循环嵌套 [例3.8]求 。 解:求解这一问题的算法结构具有“计数型”循环结构与“计数型”循环结构嵌套的二重循环结构。程序中用两个DO循环语句嵌套来实现二重循环结构。 INTEGER :: i,j,fac,fac_sum=0 !循环嵌套 DO i=1,10 !用外层循环控制求和次数 fac=1 DO j=1,i !用内层循环控制阶乘 fac=fac*j ENDDO fac_sum=fac_sum+fac ENDDO PRINT *,前10个自然数的阶乘和=, fac_sum END !赋值语句fac=fac*j被执行55次 !赋值语句fac_sum=fac_sum+fac被执行10次 概述 示例1 示例2 示例3 示例4 3.5 循环嵌套 [例3.9]给出2和3组成的所有可能三位数,并输出这些三位数 。 解:求解这一问题的算法需要三重循环结构实现。 输出结果为: 222 223 232 233 322 323 332 333 共组成三位数 8 个 INTEGER :: i,j,k INTEGER :: n !存放组成的三位数 INTEGER :: num=0 !存放三位数的个数 PRINT *,由2和3组成的三位数有: !循环嵌套 DO i=2,3 !用外层循环控制百位数字 DO j=2,3 !用内层循环控制十位数字 DO k=2,3 !用内层循环控制个位数字 n=100*i+10*j+k !计算组成的三位数 num=num+1 !累计三位数的个数 PRINT *,n ENDDO ENDDO ENDDO PRINT *,共组成三位数,num, 个 END 概述 示例1 示例2 示例3 示例4 3.5 循环嵌套 [例3.10]输入某班学生四门课成绩,求这些成绩中的最高成绩,并输出 。 解:该问题求解算法和程序具有二重循环结构。由于学生人数不定,所以控制学生人数的外层循环用DO WHILE语句实现,输入成绩为负数结束循环。由于课程门数确定,所以控制门数的内层循环用DO语句实现。二重循环结构由“当型”循环结构和“计数型”循环结构嵌套构成。 max=0.0 READ *,x DO WHILE (x=0) DO i=1,4 IF (xmax) max=x READ*,x END DO END DO WRITE(*,*) 最高成绩为,max END 概述 示例1 示例2 示例3 示例4 例1 例2 例3 例4 例5 例6 例7 例8 3.6 循环结构程序设计举例 [例3.11] 用迭代法求牛顿的二次方根,即求 。精度要求小数点后7位。 解:求正整数x的平方根,可通过牛顿迭代法,只用加、减和除就可实现。 求 的牛顿迭代法公式是: 设:初值x0=1 xi+1=(xi+a/xi)/2 i=1,2,3,…,n, ∣xn+1-xn∣≤10-7, xn+1≈ 。 根据上面迭代公式,求a的平方根的算法如图7-9所示。 根据算法,编写程序。 输入数据: 输入计算平方根的数:2↙ 输出数据为: 2.000000 平方根为: 1.414214 3.6 循环结构程序设计举例 [例3.12]根据下面泰勒级数求x的正弦值。 解:我们已经熟悉FORTRAN 90提供的SIN(x)、COS(x)、EXP(x)等内部函数,我们可直接使用这些内部函数计算正弦、余弦、指数等值。那么这些函数是如何计算的呢?一般都是通过其泰勒级数计算。下面我们不用内部函数,自己编写程序计算正弦值,然后与内部函数计算值进行比较。 遇到这类问题,必须将泰勒级数用通项公式表示
原创力文档


文档评论(0)