循环结构与数组_第1页
循环结构与数组_第2页
循环结构与数组_第3页
循环结构与数组_第4页
循环结构与数组_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、循环结构和数组、循环结构、循环控制结构为计算机程序说明迭代计算提供了控制手段。回路控制结构必须表示以下三个方面中的两个:也就是说,循环执行语句。循环条件;详细说明循环方式。在PASCAL语言中,使用while、repeat和for三个语句描述循环控制结构。例如,求S=1 2 3 100的值,使用分析:S计算所有合计,一次添加一个数字需要分配100次。如上语句所示,这100个赋值语句都具有共同的特征,可以抽象为S:=S I格式。其中I从1更改为100。要简化程序设计,必须采用可用于重复特定门段的程序结构。这是循环结构。计数循环for语句,在for语句中为(1)增量循环:For控制变量:=to d

2、o (2)减少循环:For控制变量:=downto do,使用For循环语句的准则(2)for语句的初始值(3)确定了原始值和最终值后,循环数不变,不能在迭代语句内将分配操作应用于控制变量。(4)Do后面的门可以是任何门,我们一般称之为循环体。示例:S=1 2 3查找值100;程序片段:Var i,s:integerbegin s :=0;For i:=1至100 do s :=s I;Writeln(s=,s);End,analytics:用s计算所有合计,一次加一个数字需要100次分配。如上语句所示,这100个赋值语句都具有共同的特征,可以抽象为S:=S I格式。其中I从1更改为100。要

3、简化程序设计,必须采用可用于重复特定门段的程序结构。这是循环结构。范例:26个大写字母,以正数或相反顺序输出varch3360char。begin for ch :=A to Z do write(ch);Writeln,for ch :=Z downto A do write(ch);End .示例:Nocomachns定理,任何n3都输入N个连续奇数和N(n100),以输出对应于n3的表达式。var I、n、a:long int;循环变量,连续奇数,当前项,类型长边读取(n);输入连续奇数号a:=(n * (n-1) 1。计算最小奇数for I:=1 to n-1 do输出表达式的前n-1

4、项begin write(a,)。a:=a2;End;writeln(a);输出项目n readln;End.main,如:白鸡问题,一只公鸡5美元,一只母鸡3美元,1美元可以买3只小鸡。现在100元。我想买100只鸡。公鸡、母鸡、小鸡各能买多少只?我们把公鸡和母鸡的所有可能数量都列为for循环两次。如果现在公鸡只有I万只,母鸡只有J,那么小鸡只计算k=100-i-j。然后通过下面的布尔表达式i*5 j*3 k/3=100判断现在100只鸡的总值是否为100美元。如果是,则输出I、j和k。var I、j、k:integer;begin for I:=1 to 20 do for j:=1 to

5、 33 do begin k:=100-I-j;if I * 5j * 3k/3=100 then writeln(I 33605、j33605、k 33605);End;For readln;End.main,FOR循环机械练习题,1 .n!=1*2*3*N。(N7) 2 .100以内的所有2,3,5除以残留物为1的数量3。找到100999之间的水仙花数。水仙花数是这个数等于你们数的立方和。例如:153=13 53 33。,练习题参考过程var i,n:integerSum:integerBegin write(输入n :);readln(n);sum 3360=1;for I :=1 to

6、 n do sum :=sum * I;Writeln(n,=,总计);End .练习2参考过程var i,n,s:integerBegin for i:=1到100 do if (I mod 2=1)和(I mod 3=1)和(I mod 5=1)then writeln(I);End .var m、a、b、c:integerBegin for m:=100至999 do begin a:=m div 100b :=(m-a* 100)div 10;C :=m mod 10if a* a* a b* b * b c * c * c=m then writeln(m)end end .条件循环

7、、For循环语句应用于已知次数的循环结构,但有时根据是否满足以下条件来确定是否结束循环:While循环语句和Repeat循环语句。接下来,我将分别介绍这两个语句的使用方法。while语句,while语句用于“满足条件时执行循环”,因此也称为“类型循环”。While语句的语法格式如下:while do while循环语句的执行流程如图所示。While语句使用以下说明:(1)如果布尔表达式为true,则执行循环体;如果为false,则完全不进入循环体。(2)如果布尔表达式的值最初为假,则while循环不会一次执行一次。(3)相反,如果布尔表达式始终为真,则循环不会结束,而是成为“死循环”。若要避免

8、发生此情况,回路本体必须具有变更布林表示式结果的动作。repeat语句,Repeat语句用于循环结构:“重复循环主体,直到指定条件为真”。这有时称为“结束循环”。Repeat语句的语法格式为repeat循环语句until布尔表达式repeat循环语句的执行流。Repeat语句使用说明。(1)先执行循环主体,然后如果布尔表达式的值为false,则继续循环,如果为true,则结束循环。(2)与while循环类似,循环中必须存在影响布尔表达式的操作,以便结束repeat循环迭代。否则,循环是死循环。(3)与while循环不同,repeat循环至少执行一次循环,无论布尔表达式是否为真。另外,请记住,w

9、hile循环和repeat语句都属于条件循环语句,因此通常可以徐璐转换这两个语句,使用任何语句时都取决于实际情况。示例:要在一年后获取第n个闰年,请输入y和n,以输出y年后第n个闰年的年编号。如果y可以被4整除,但不能被100整除,或者y不能被400整除,则y是闰年。判断y是闰年的布尔表达式(y mod 4=0) and (y mod 1000)或(r mod 400=0)开始时,每年都要进行判断。如果确定y年是闰年,则下一个闰年为y 4*s(s1)。也就是说,每隔4年就可能有闰年。因此,设置步骤变量s。初始值为1。找到第一个闰年时,s改成了4。、var y、n、s:integer;年份编号,

10、间隔的闰年数,千长值begin write(begining year and numbers:);Readln (y,n);输入年数和间隔的闰年数s:=1。初始化步长值repeat if (y mod 4=0) and (y mod 1000)或(y mod 400=0) then begin y为闰年时的年度编号writeln (y,yeln)步长值为4 end设置为。then _ _ _ _ _ _ _ _ _ _ _ until _ _ _ _ _ _ _ _ end . main、var y、nReadln (y,n);s:=1;Whilen0 do begin if (y mod 4=0)和(y mod 1000)或(y mod 400=0) then begin writeln (y,year);n:=n-1;s:=4;End;then y:=y s;结束结束。n:=n-1;间隙中的闰年数-1,y:=y s;移至s年,然后n=0;闰年n直到输出为止:计算Sum=1 3 5 n(n为大于1的奇数),Sum10000时n的最大值,Var n,Sum,integer

温馨提示

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

评论

0/150

提交评论