习题课程序设计题ppt课件.ppt

习题课程序设计题ppt课件.ppt

ID:59444926

大小:1.31 MB

页数:80页

时间:2020-09-17

习题课程序设计题ppt课件.ppt_第1页
习题课程序设计题ppt课件.ppt_第2页
习题课程序设计题ppt课件.ppt_第3页
习题课程序设计题ppt课件.ppt_第4页
习题课程序设计题ppt课件.ppt_第5页
资源描述:

《习题课程序设计题ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计的一般步骤分析题意,明确问题的性质数值计算/事务处理/逻辑分析/等建立问题的描述模型数学模型/过程模型设计/确定算法数学问题:分析解/数值解的求解算法非数学问题:数据结构/算法分析与设计一般方法:穷举/递推/递归/分治/回溯/…...编程调试分析运行结果,如有必要,进一步优化1穷举法编程思路数学模型适宜进行穷举的数学模型决定程序是否正确穷举的范围一般用多重循环方式注意控制每重循环的边界2典型数值问题-例6例4:百钱百鸡问题。中国古代数学家张丘建在他的《算经》中提出了著名的“百钱百鸡问题”:鸡翁一,值钱五;鸡母

2、一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何?问题分析与算法设计设:要买x只公鸡,y只母鸡,z只小鸡,可得到方程:x+y+z=100①5x+3y+z/3=100②取值范围:0<=x、y、z<=100可以采用穷举法求解。将变量x、y、z的所有取值可能代入方程进行计算3典型数值问题-例6穷举法基本思路当x=0,y=0,z=0时:是否满足方程z=1时:是否满足方程z=2时:是否满足方程......z=100时:是否满足方程当x=0,y=1,z=0时:是否满足方程z=1时:是否满足方程......z=100时:是

3、否满足方程当x=0,y=2,z=0时:是否满足方程......当x=100,y=100,z=100时:......z<=100满足方程?YN输出z++z=0y<=100y++y=0x<=100x++x=0开始结束4典型数值问题-例6程序z<=100满足方程?YN输出z++z=0y<=100y++y=0x<=100x++x=0开始结束#includevoidmain(){intx,y,z,j=0;for(x=0;x<=100;x++)for(y=0;y<=100;y++)for(z=0;z<=100;

4、z++)if(x+y+z==100&&5*x+3*y+z/3==100)printf("..",++j,x,y,z);}5典型数值问题-例6#includevoidmain(){intx,y,z,j=0;for(x=0;x<=100;x++)for(y=0;y<=100;y++)for(z=0;z<=100;z++)if(x+y+z==100&&5*x+3*y+z/3==100)printf("%2d:cock=%2dhen=%2dchicken=%2d",++j,x,y,z);}x运行结果:1

5、:cock=0hen=25chicken=752:cock=3hen=20chicken=773:cock=4hen=18chicken=784:cock=7hen=13chicken=805:cock=8hen=11chicken=816:cock=11hen=6chicken=837:cock=12hen=4chicken=84例C36典型数值问题-例6丢失重要条件:z应该能够被3整除。#includevoidmain(){intx,y,z,j=0;for(x=0;x<=20;x++)for(y

6、=0;y<=33;y++)for(z=0;z<=100;z++)if(z%3==0&&x+y+z==100&&5*x+3*y+z/3==100)printf("%2d:cock=%2dhen=%2dchicken=%2d",++j,x,y,z);}运行程序,正确的结果:1:cock=0hen=25chicken=752:cock=4hen=18chicken=783:cock=8hen=11chicken=814:cock=12hen=4chicken=84z+=3)7典型数值问题-例6优化程序:for(x=0;

7、x<=20;x++)for(z=0;z<100;z+=3){y=100-x-z;if(5*x+3*y+z/3==100)printf("%2d:cock=%2dhen=%2dchicken=%2d",++j,x,y,z);}优化程序:for(x=0;x<=20;x++)for(y=0;y<=(100-5*x)/3;y++){z=100-x-y;if(z%3==0&&5*x+3*y+z/3==100)printf("%2d:cock=%2dhen=%2dchicken=%2d",++j,x,y,z);}8趣味程

8、序—百例20:一个奇异三位数问题一个自然数的七进制表达式是一个三位数,而这个自然数的九进制表示也是一个三位数,且这两个三位数的数码顺序正好相反,求这个三位数。问题分析与算法设计设七进制数形式为kji:则九进制表示的形式就为ijk。取值范围:1<=i、k<=60<=j<=6将9进制数转化为十进制:将7进制数转化为十进制:i*9*9+j*9+ki+

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

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

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