pascal循环嵌套程序

pascal循环嵌套程序

ID:18461145

大小:115.50 KB

页数:5页

时间:2018-09-18

pascal循环嵌套程序_第1页
pascal循环嵌套程序_第2页
pascal循环嵌套程序_第3页
pascal循环嵌套程序_第4页
pascal循环嵌套程序_第5页
资源描述:

《pascal循环嵌套程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课题:PASCAL循环嵌套程序教学目标知识目标:1.掌握FOR多重循环结构;2.熟练运用流程图表达简单程序算法。能力目标:1.学会运用FOR嵌套解决多层穷举算法问题。2.掌握穷举算法的设计。情感目标:1.理解反复执行程序段的设计方法;2.体验计算机高速与穷举算法思想在程序中的实现。教学重点:FOR嵌套在程序中的运用难点:穷举算法设计教学方法:任务驱动和解析启示法课程类型:授新课教学准备:投影或小黑板尼科梅彻斯NS图&Tab99.PAS教学反思:教学过程一、任务导入:打印1X1=12X1=22X2=49X1=

2、99X2=18……9X9=81FORA:=1to9dobeginForB:=1toAdoWrite(A,’*’,B,‘=’,AXB:2);WritelnEnd;在上例中,FOR循环中又包括另一个FOR循环,称为循环嵌套。内嵌套的FOR语句是外循环体的一部分。二、新授写出运行结果:FORI:=1to2doBeginForj:=1to4dowrite(I:4,J:4);writelnend;跟踪变量当前值,并借助循环过程执行流程图,说明循环嵌套的执行过程。外循环执行一次,内循环执行一遍,总次数为外循环次数*内循

3、环次数。例6-1.百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。用百钱买百鸡,问鸡翁、母、雏各几何?师生共同分析算法:设公鸡、母鸡、小鸡分别X,Y,Z只,则X+Y+Z=100(只)5X+3Y+z/3=100(钱)这是一个不定方程求整数解,,因为三个变量只能列出两个方程,不能解,必须一个一个组合地去试,看是否能满足条件。——穷举法。VarX,Y,Z,N:integer;Begin{计数器置空}FORX:=1to100doFORY:=1to100doForZ:=1to100doBeginIFX+Y+

4、Z=100AND5*X+3*Y+z/3=100Thenwriteln(x:10,y:10,z:10);{未设置计数器N:=N+1;}End;END.该程序要运行100*100*100=1000000(一百万)次。讨论优化,简化程序FORI:=1to20doFORj:=1to33do{BeginZ:=100-X-Y;}IF(5*X+3*Y+(100-X-Y)/3=100)thenwriteln(x:6,y:6,(100-X-Y):6){End;}由百万次减为20*33=660次。三、巩固提高例6-2著名的尼科

5、梅彻斯Nicomachus定理:任何一个整数的立方都可以写成一串奇数之和。  例如:1的三次方=1;2的三次方=3+5;3的三次方=7+9+11;4的三次方=13+15+17+19;  开始的数是n*n-n+1  尼科梅彻斯定理:任何一个整数的立方都可以写成一串奇数之和。13=123=3+5=833=7+9+11=2743=13+15+17+19=64组成13的1个奇数是奇数序列中的第1个奇数组成23的2个奇数中最大的奇数是奇数序列第3(3=1+2)个奇数,值5;组成33的3个奇数中最大的奇数是奇数序列第6

6、(6=1+2+3)个奇数,值11;{组成N3的n个奇数中最大的奇数是奇数序列中的第m=1+2+3+4+……+n=n(n+1)/2个奇数,第m个奇数的值为modd=2*m-1.N3=modd+(modd-2)+(modd-4)+(modd-6)+……+(modd-2(n-1))}注:分析后得出!!给出n,求N3是哪些奇数之和?分析:从上面可以看出以下的规律:1>>N3是N个奇数之和;2>>N3是哪几个奇数呢?首先知道是N个相邻的奇数。N3最小最大131(1)11233(2)5(3)1+2337(4)11(6)

7、1+2+34313(7)19(10)1+2+3+4可以推出组成N3的n个奇数中,最大的奇数是,奇数序列中的第m{M=1+2+3+4+……+n}个奇数,由数学知识可知m=1+2+……+n=n(n+1)/2.3>>奇数序列中第m个奇数(最大的奇数)的值为MAXOdd=2*m-1=2*n(n+1)/2-1=n*n+(n-1)4>>N3=maxodd+(maxodd-2)+(maxodd-4)+(maxodd-6)+……+(maxodd-2(n-1))组成N3的n个奇数中,最小的奇数是MinOdd=maxodd-2

8、(n-1)=n*n+(n-1)-2(n-1)=n*n-(n-1)从上面分析得出读入Nn<1TF输出错误信息Minodd:=n*n-(n-1)T:=minodd;Sum:=minoddWrite(t)FORcount:=2tondot:=t+2;打印Write(‘+’,t:3);Sum:=sum+t;输出(‘=’,sum)ProgramNicomachus(input,output);Vart,n,m,modd,c

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。