版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章是循环结构的程序设计,用DO语句实现循环,用DO WHILE语句实现几种循环组织模式的嵌套循环结构。首先,用DO语句实现循环。1DO循环的一般格式是DO i=e1,e2,e3(循环体)END DO,其中I代表循环变量,它可以是整数或实数。E1、e2和e3被称为循环参数表达式,它们分别表示循环变量的初始值、最终值和步长。循环体是在循环过程中重复执行的一组语句。示例:5!2DO循环执行过程,计算e1、e2和e3、e1i的值,并计算循环数r,r=0?执行循环体,i e3i,r-1r,END DO下列语句、y、n,DO循环的执行次数r=MAX(INT)(e2-e1 e3)/E3),0,表示循环体
2、是指DO语句和END DO语句之间的语句如果循环参数表达式E1、E2、E3包含变量,则即使循环体中变量的值发生变化,循环参数也不会发生变化。不允许给循环体中的循环变量赋值。想想下面这个程序的执行结果:do k=1,10,2 l=k end do print *,k,l end,例1:如果一个整数的因子之和(不包括数本身)等于它本身,这个数叫做完全数。例如,6的因子是1,2,3,1 2 3=6,所以6是一个完全数。输入一个整数并判断它是否完整。示例2斐波纳契序列定义如下:F1=1 F2=1 Fn=Fn-1 Fn-2 (n2)查找斐波纳契序列的前30项。例3所谓的“水仙花数”指的是一个三位数的整数
3、,每个数字的三次和等于数本身。例如,153是水仙花号。输出所有“水仙花”。在100,999范围内,逐一验证所有整数是否满足条件,并输出满足条件的数字。这种方法叫做穷举法。其次,使用DO WHILE语句实现循环。对于循环数已确定的循环问题,使用DO循环更为方便。然而,在一些循环问题中,循环的数量不能预先确定,是否继续循环只能由给定的条件决定。此时,您可以使用DO WHILE语句来实现循环。1当循环当(逻辑表达式)循环体结束当示例输出所有输入的正数,直到输入负数或零,程序结束。例如,2DO WHILE循环执行过程,输入一个整数并输出其数字。执行循环体下的语句,END DO,满足循环条件吗?循环语句
4、和退出语句的区别在于,循环语句只结束这个循环,而不是整个循环的执行。EXIT语句结束循环并跳出循环。实验4:循环结构的编程,3:几种循环组织模式的比较,循环结构三种语句的实现,各有特点。一般来说,能够提前确定循环数的循环问题使用DO循环,而不能提前确定循环数的循环问题使用DO WHILE循环。但这不是绝对的。在许多情况下,它们可以互相替换。输入一个整数m来判断它是否是一个素数。用DO循环实现。使用“当”循环实现“当”循环和逻辑“如果”语句的嵌套实现。循环的嵌套如果循环结构的循环体包含一个循环结构,则称为循环嵌套或多重循环结构。举个例子,找出100,1000以内的所有素数。(1)判断一个数是否是
5、质数。(2)使用穷举方法,对指定范围内的每个数执行一次判断一个数是否是素数的程序部分,并且可以获得特定范围内的所有素数。程序示例示例1众所周知,球从100米的高度自由下落,落地后会反复反弹。每次弹跳的高度是前一次的一半。第10次落地后的反弹高度和球行进距离的分析:用变量H表示下落高度,变量R表示反弹高度,变量s表示球行进距离,那么H的初始值为100,反弹高度R=H/2。要使一个球反弹一次,它必须经过两个阶段:下降和上升,球移动的距离是高,如图所示。示例2牛顿迭代法用于在x=2.5附近找到方程f(x)=2x3-4x2 3x-7=0的实根,直到满足|xn-xn-1|10-6。牛顿迭代公式如下:注:
6、关于初始值x0的选取,理论上可以证明,只要选取满足条件f(x0)f(x0)0的初始值x0,牛顿迭代法就能保证收敛。当然,如果迭代的初始值不同,迭代的次数也会不同。求函数f(x)在a和b上的定积分。分析:求函数f(x)在a和b上的定积分,其几何意义是求曲线y=f(x)和直线x=a,x=b,y=0所围成的图的面积。为了得到图的面积,把区间A和区间B分成n个相等的部分,每个区间的宽度为h=(b-a)/n,相应地,把图分成n个相等的部分,每个小部分近似为一个有小曲线边的梯形。近似计算每个小曲线边梯形的面积,然后将n个小曲线边梯形的面积相加得到总面积,即定积分的近似值。n越大,近似值越高。这是函数的数值
7、积分方法。用小曲线边近似每个梯形面积的常用方法。(1)用一个小矩形代替梯形,计算每个小矩形的面积,然后累加。这种方法叫做矩形法。(2)用小梯形代替小弯曲梯形,这种方法称为梯形法。(3)将此区间中的f(x)替换为抛物线,然后计算抛物线包围的小曲线边的梯形面积,x=a (i-1)h,x=a ih,y=0。这种方法被称为辛普森法。以梯形法为例:第一个小梯形的面积是:第二个小梯形的面积是:第一个小梯形的面积是:第n个小梯形的面积是:本质上,这是一个累积问题。一些记数器和分母是两位数的真分数,分子的一位数和分母的十位数相同。奇怪的是,如果分子的单个数字和分母的十个数字同时被去掉,结果正好等于原始分数被粗
8、略除后的结果。例如,尝试找到所有满足上述条件的真实分数。分析:我们首先将条件归纳为以下四点:(1)分子和分母最初是两位数;(2)真实得分;(3)分子的一位数与分母的十位数相同;(4)分子的一位数和分母的十位数同时划掉,分值保持不变。考虑到分子和分母最初是两位数,分子和分母可以被认为是从10到99的两个数字的组合,并且可以为每个组合验证条件(2)、(3)和(4)。如何编写和调试程序I .编程算法“如何编写程序”是学习高级语言程序设计的难点,也是学习的重点。对于初学者来说,最头疼的是遇到问题后不知道从哪里开始,并且很难建立一个清晰的编程思想。根据教学的基本要求,本章的程序设计问题分为三类:累加与乘
9、法、数值问题、数值计算等。各类规划问题的思路如下:(1)累加和乘法是典型的基本算法,实际应用中的许多问题都可以归结为累加和乘法。算法设计的思想如下:(1)写出循环中需要重复执行的部分。这一部分应该确定两个内容:一是找出每次要累加或相乘的数;第二,迭代关系是S=S X或P=P*X.(2)确定终止循环的方式。通常有两种方式:提前已知周期时间的周期计数和提前未知周期时间的条件周期计数,具体取决于具体情况。计数循环可以用一个变量来计数,当达到一定数量的循环时,循环将退出。条件循环可以根据特定条件确定循环的条件,并在不满足循环条件时退出循环。(3)确定循环的初始值,即第一个循环中迭代变量的值。(4)重新
10、检查以确保算法正确。一般来说,算法流程图的基本框架为在第一种情况下,它属于已知循环数的循环结构,在第二种和第三种情况下,它属于未知循环数的循环结构。数值问题主要研究整数的一些性质和相互关系。在处理过程中经常用到求余数、分离数和判断可除性等技巧,所以一定要熟练掌握。(1)判断一个整数m是否可以被另一个整数n整除.方法1:如果MOD(M,N)的值是0,M可以被N整除,否则它不能被整除。方法2:如果MINT(M/N)*N的值是0,M可以被N整除,否则它不能被整除。事实上,MOD(M,N)的函数值是M除以N的余数,这是根据表达式mint (m/n) * n的计算结果。MINT(M/N)*N也可以写成M
11、 M/N * N(2)将自然数M的数字分开。数字问题的公式通常是在一定范围内找到满足一定条件的数。这类问题的算法设计思路是:(1)考虑算法来判断一个数是否满足条件。有时可以通过关系表达式或逻辑表达式直接判断,如判断奇数和偶数。但更常见的是,它不能由条件表达式直接判断。此时,可以根据定义用圆形结构来判断。(2)在规定的范围内,重复“判断一个数是否满足条件”的程序,得到在规定范围内所有满足条件的数。这里使用的方法是详尽的。一般来说,这类问题的算法流程图的基本框架如图2所示。如果两个质数之差是2,那么这两个质数就是一对双胞胎。例如,3和5是双胞胎。在2500的区间内找出(1)对双胞胎的对数。(2)双胞胎的最大数量。数值计算是“计算方法”课程的研究对象,该课程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省光山县第二高级中学2025-2026学年高二上学期10月月考化学试卷(含答案)
- 2026-2027学年河南省周口市郸城县实验中学八年级(上)开学自我检测物理试卷(含答案)
- 商事纠纷调解员岗位业务考试试卷及答案
- 紫胶漂白工岗前核心实操考核试卷含答案
- 开切茧工安全实操测试考核试卷含答案
- 烫呢(光)挡车工岗前纪律考核试卷含答案
- 电化学精制装置操作工安全规程水平考核试卷含答案
- 塑料制品成型制作工安全管理模拟考核试卷含答案
- 钽钠还原火法冶炼工安全演练考核试卷含答案
- 洗衣机制造工创新意识评优考核试卷含答案
- 2026年科研诚信建设培训课件(精讲版)
- 中国人寿保险集团笔试题目
- 2026年浙江省宁波慈溪观海卫镇人民政府招聘编外13人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年秋新教材教科版五年级科学上册教学计划及进度表
- (2026年秋)外研社版六年级英语上册单词默写表(汉译英)
- 2024版压力容器设计审核题库(综合题)
- 手术室护理人文关怀与沟通技巧
- (2026年)皮内注射技术课件
- 2025版《广东省护理病历书写管理规范(试行)》
- 小学英语教学颜色课件
- 南宁市马山县公安辅警招聘知识考试题库及答案
评论
0/150
提交评论