资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,循环结构的程序设计一 简单计数循环FOR循环,引言:,解题的时候经常会遇到需要重复处理一类相同的事或类似的操作,如求,1+2+3+4+100,的和,就需要重复地做加法运算。这就是我们在前面提过的的循环结构,循环结构的流程图有两种。,1.当型循环或计数循环,当条件成立的时候执行循环语句。先进行条件判断,再执行语句,重复做的事、操作一条或多条语句,称为“循环体;控制循环体是否执行的条件称为“循环条件;,条件表达式,执行语句,否,是,例一:计算1+2+3+4+100之和。,例二:输入一个自然数,求这个自然数的所有约数之和。,例三:编程找出四位数ABCD中满足以下关系的数:,AB+CDAB+CD=ABCD。,例四:输入两个数,判断它们是否互质。,例五:编程求斐波列契数列Faibonacci的前40个数。,0,1,1,2,3,5,8,13,21,34,即:F1=0 N=1,F2=1 N=2,Fn=Fn-1+Fn-2 N=3,计数循环的语句格式:,计数循环的语句格式:,FOR,变量名:,=,初值,TO,终值,DO,语句 ;,例一,S:=0;,FOR I:=1 TO 10 DO S:=S+I ;,WRITELN S=,S;,二、FOR语句的含义执行顺序:,1、先将初值赋给赋值号左边的变量称为“循环控制变量;,2、判断循环控制变量的值是否已“超过终值,如已超过,那么结束for循环。执行下一条语句;,3、如果未超过,那么执行DO后面的语句称为“循环体;,4、循环控制变量递增1将控制变量的当前值的后继值重新赋给控制变量;,5,、返回步骤;,6,、循环结束,执行,FOR,循环下面的一个语句。,例二:输入X找出X的所有约数从1到X逐个判断,看 X MOD Y是否为0,并且累加起来存在S中输出S。,READLNX;,S:=0;,填入语句,WRITELNS;,三、说明:,2,、循环控制变量的初值和终值在循环开始前就已计算好,在循环体中不能对控制变量进行赋值操作,要用可以将它的值赋给另外一个变量;,1,、循环控制变量必须是顺序类型,一般为整型和字符型,不能为实型;,3、为什么叫计数循环:循环次数是确定的:,ABS终值-初值+1 对于整型数,或:ABSORD终值-ORD初值+1对于字符型;,循环体也可能一次都不执行初值超过了终值。,4、可以用 DOWNTO 循环,每次递减1前驱值,重新解释“超过的含义;,对于TO是指控制变量的值终值,对于DOWNTO是指控制变量的值终值;,5,、循环体可以是一条语句,也可是一个复合语句;,6,、退出循环后,循环控制变量的值已无意义,不能再引用。可以再利用;,例题三:编程找出四位数ABCD中满足以下关系的数:,AB+CDAB+CD=ABCD。,搜索问题,循环控制变量,I,从,10009999,,逐个验证,问题是将高两位M、低两位N别离开来,M,:,=I DIV 100,,,N,:,=I -M*100,判断I=M+NM+N,输出满足条件的,I,。,例四:输入两个数,判断它们是否互质。,输入,x,y,判断两者互质,输出结果,大的数给,x,小的数给,y,互质,X,Y能否被2Y/2整除,可以那么非互质,不能那么互质,X,能否被,Y,整除,是,否,y,除,2,取整赋值给,N,I,初值为,2,终值为,N,非互质,X,Y,是否能同时被,I,整除,是,否,课后习题,1、编程求N!即1*2*3*4*5*N;,2、编程打印出所有的水仙花数。一个三位数=3个位数的值的立方和,如153=13+53+33,所以153是水仙花数,3、输入10个数,将其中的正数打印出来。,4、/4=1 1/3+1/5 1/7+1/9-,求的值。算100个数,
展开阅读全文