下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用循环语句设计程序的途径我们知道编写程序的基本方法是“自上而下,逐步求精”,即先把一个复杂的大问题分解为若干相对独立的小问题,然后对每一个小问题编写出一个功能相对独立的程序块,最后再统一组装,这样编写的程序具有结构清晰的特点。而在程序设计中,我们经常会遇到需要对一条或一组语句重复执行多次,以最终完成某项任务的问题,对这类题处理的一个特点是对不同的运算对象进行若干次相同的运算或处理,这种处理模式在程序设计中是用循环结构来实现的,那么怎样才能用循环语句实现这种程序设计,下面介绍几个常用方法。一 列举法 这种方法就是根据提出的问题,列举所有可能的情况,并用问题提出的条件检验哪些是需要的,哪些是不需要
2、的,对需要的保留,对不需要的剔除。对于不定方程的求解常用列举法。例1、在张丘建算法中有一个很有影响的不定方程问题,即“百钱买百鸡”,其意思是:一只公鸡价为5钱,一只母鸡价为3钱,三只小鸡价为1钱,要想用100钱买100只鸡,问公鸡、母鸡、小鸡可各买几只?分析:(1)先建方程:设 x , y, z 分别代表公鸡,母鸡,小鸡数, x + y +z =100则 5x+3y+z/3=100(2)确定变量范围:若100钱全买公鸡最多买20只,所以 x0,20 且x N。 同理,y 0,33 且yN,x, y 确定后小鸡的只数 z=100-x-y 也确定。(3)解不定方程,应先固定一个变量的值,然后其他两
3、个变量的值一一列举 如 x=0 , y=0 , z=100 y=1, z=99 y=33 , z=67 当x=1时,再对y,z的值进行一一列举,直到y,z的值一一列举完,再取x =2,重复进行上述过程。这时x, y ,z是一组满足“百鸡”的解是否也满足“百钱”还当检验,满足则为解,否则删除。解:程序如下: x = 0 while x =20 y=0开始X=0Y=012Z=100-x-y3 while y =33 z=100 x y if 5*x+3*y+z/3=100 then print (o/oio(2),x , y , z) end end end框图: 235x+3y+z/3=100Y
4、 N打印x,y,z1Y=y+1Y=33 Y NX=x+1X=20 Y N结束 评:本题是解一个不定方程问题,在先确定x值后,列举出 y,、z 的所有可能情况,重复进行检验x、y、z 的值是否满足 5x+3y+z/3=1=100,满足则为解,否则不是。二 递推法所谓递推就是在一系列数中,已知第一个数,则其后的每一个数都可利用递推公式有前数推出,并且能重复进行,因此可用循环结构来处理, 例2、:裴波那契数列表示这样一系列数:0 ,1 ,1,2,3,5,8 后一项等于前一项的和,请设计一个算法框图,输出这个数列的前100 项并编写程序分析:如设 分别表示该数列中连续的三项,则有由这个递推关系可知,只
5、要已知这个数列的前2项,就可重复利用这个递推关系,将后面所有的项递推出来。因为算法中,反复计算和输出的步骤是一样的,因此可以用循环结构来解决。开始输出结束 框图:解:程序: then print end Y N评:本题是先寻找出递推公式,也就是找出循环体,再确定循环变量的初试值和终止值,由于递推公式重复运用才能由前项推得后项,因此可用循环语句来处理。三 迭代法 所谓迭代就是一个不断用新值取代变量的旧值或由旧值递推出变量的新值的过程。例3、计算:分析:其迭代方法如下:首先确定迭代变量的初试值1,其次确定迭代变量公式:S=S+I,T=TI,W=W+,当分别取2,3,4,100时,利用迭代公式重复计算,迭代100次后即可求出100项的和或积,其中的取值是一个有序数列即的值由1开始每迭代一次就加1直到 100。解:程序: 框图:开始S=0T=1W=0S=S+IT=TIW=1+输出S,T,W结束 then S=S+1T=TW=Wprint S,T,W 是 否 评:迭代与下列因素有关:迭代变量的初值、迭代公式、迭代次数。解决这类问题需要先确定迭代变量、迭代公式、迭代次数各是多少,然后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版合同标的知识产权补充保护条款追加补充协议3篇
- 二零二五年度老旧住宅区房地产权益划转协议书3篇
- 2025年度厂房装修与设备采购集成合同协议4篇
- 二零二五版幼儿园食堂消防安全管理与培训承包服务协议3篇
- 专业食材供应:2024年米面肉类等食品协议一
- 专用产品销售及服务执行协议(2024年)版
- 2025年度高科技园区厂房租赁合同范本4篇 - 副本
- 2025年智能交通系统场调研与投资评估服务协议3篇
- 2025年版教育设施项目承包垫资合同范本3篇
- 2025年度学校保安服务与校园应急物资储备合同2篇
- 损伤力学与断裂分析
- 【云南省中药材出口现状、问题及对策11000字(论文)】
- 服装板房管理制度
- 2024年县乡教师选调进城考试《教育学》题库及完整答案(考点梳理)
- 河北省兴隆县盛嘉恒信矿业有限公司李杖子硅石矿矿山地质环境保护与治理恢复方案
- 第七章力与运动第八章压强第九章浮力综合检测题(一)-2023-2024学年沪科版物理八年级下学期
- 医疗机构诊疗科目名录(2022含注释)
- 微视频基地策划方案
- 光伏项目质量评估报告
- 八年级一本·现代文阅读训练100篇
- 2023年电池系统测试工程师年度总结及下一年计划
评论
0/150
提交评论