基本编程技术 要目 ? 循环程序设计 ? 简单的重复动作 ? 递推、迭代和逼近 ? 浮点计算的误差累积 ? 从循环的中间退出 ? 循环中的变量 程序设计:关注基本技术和规律 ? 要完成一个程序,首先要分析问题寻找解决方案,这需要 聪明才智和想象力,以及相关领域的知识和技术 ? 要把设计变成可运行程序,既需要发挥智力,又需要有条 有理的工作,还要非常细心。 一个小错误 就可能使程序无 法编译或 不能正确执行 ? 学习程序设计需要注意规律性的东西 ? 三种流程模式是重要总结,需要掌握其使用方法和规律 ? 顺序模式最简单 ? 选择模式:要确定判断条件以及不同情况下的动作 ? 开始学习编程的难点就在实现重复执行的循环。重复执 行比较复杂,牵涉问题多 循环程序设计 ? 在程序里写循环的基础是发现计算中需要循环。应注意计 算中的重复性动作,通过引进循环可能统一描述和处理 ? 常见的重复动作实例,如需要: ? 对一批类似数据做同样的加工处理 ? 累积一批可以按规律计算出的数据(累加等) ? 反复从一个结果算出下一结果(递推) ? 有些情况可以或需要用循环处理: ? 如果重复次数确定,可以写一些独立操作,但重复次数 多时就应该考虑用循环统一描述,以简化程序 ? 如果重复次数无法确定,就必须用循环。因为这时不知 道写多少个独立的操作,无法处理 基本循环技术 ? 例:求 13 到 315 的所有数的平方根之和 可以一个个地加,但更方便的是写一个循环完成工作 ? 需要一个变量保存部分和,逐步把各个平方根加上去 ? 需要一个变量保存变动轨迹,从初值开始每次修改 ? 很典型 for 循环。假定已有总和变量 sum 和循环变量 n : for (sum = 0.0, n = 13; n = 315; ++n) sum = sum + sqrt(n); 这里 n 值递增,称为向上循环。也可以用向下循环: for (sum = 0.0, n = 315; n = 13; --n) sum += sqrt(n); ? 两个循环等效。没有特殊需要都应采用向上循环 ? 请用 while 语句重写上面两种方式 循环控制和浮点数 ? 求 [13, 315] 间每隔 7 的各整数之和也很容易 ? 课堂练习 ? 一般不用浮点数控制循环 ,尤其是增量为小数或包含小数 时。例:求从 0 到 100 每隔 0.2 的数的平方根之和。写: double sum, x; for (sum=0.0, x=0.2; x=100.0; x+=0.2) sum += sqrt(x); 有问题。浮点计算有误差,不能保证循环体执行 500 次 应写: int n; double sum; for (sum = 0.0, n = 1; n = 500; ++n) sum += sqrt(0.2*n); 求一系列完全平方数(多种算法) ? 考虑打印出 1 到 200 间的完全平方数。存在多种方法 ? 方法一:逐个检查区间里各个整数,遇到平方数就打印。 重复做,每次检查一个数。循环的框架为: for (n = 1; n = 200; ++n) if (n 是完全平方数 ) 打印 n; ? 其中的一个数是否完全平方数没有直接判断手段。可以考 虑顺序检查,是否有某个数的平方恰为 n 这构成了(循环内的)新循环,需要另一循环变量 另 m 从 1 开始递增,直至 m*m 大于 n 结束,等于就输出 n : for (m = 1; m * m = n; ++m) if (m * m == n) 打印 n; 求一系列完全平方数 ? 综合起来可得到完整程序: #include stdio.h int main () { int m, n; for (n = 1; n = 200; n++) for (m = 1; m * m = n; m++) if (m * m == n) printf(%d , n); printf(\
); /* 最后输出一个换行符 */ return 0; } ? 内层循环结束: ? 找到 m 使 m*m==n ( n 是完全平方数) ? 试探了所有可能,但都不成功( n 不是) 求一系列完全平方数 ? 可以考虑把判断完全平方数定义为函数( 请自己做 ) ? 方法二:可看到需要打印的一定是
您可能关注的文档
- 61绩效考评概述精讲.ppt
- 61维护人身权利2011.ppt
- 61探究磁场对电流的作用.ppt
- 61源远流长的中华化概述.ppt
- 61网站的规划与设计.ppt
- 61走进老师概述.ppt
- 622平行四边形的判定.ppt
- 61轮系的分类及其应用特点.ppt
- 622等差数列的定义.ppt
- 623等差数列的前n项和公式.ppt
- 乐山市公安局2025年第四批次警务辅助人员招聘(40人)参考题库附答案.docx
- 初中英语人教版七年级下册Unit 5 Section A 2a-2d.pdf
- 手袋厂电子厂部门区域名称标示.pdf
- 探秘生物分子马达驱动蛋白:结构、机制与功能的深度剖析.docx
- 铝合金搅拌摩擦焊工艺优化及在城轨车辆车体制造中的创新应用.docx
- 三焦点牵张成骨在下颌骨缺损修复中的实验与机制探究.docx
- 透视中国当前行政乱作为:表现、根源与治理路径.docx
- 探寻立宪主义根基:多维视角下的深度剖析.docx
- 乌海市幼儿教育:现状剖析、问题洞察与对策探寻.docx
- 我国反垄断执法机构设置:现状、问题与优化路径探析.docx
最近下载
- 光伏电子产品的设计与制作-电子课件项目3-光伏草坪灯控制电路的设计与制作.pptx VIP
- 2024-2025学年江苏信息职业技术学院单招《数学》试卷含答案详解【考试直接用】.docx VIP
- 党员个人自评总结3篇-党员个人自评 党员个人自评小结 党员个人自评总结3篇.doc VIP
- 人教版英语新目标八年级下册第二单元教材词汇及重点搭配讲解.docx VIP
- 2026年演出经纪人《思想政治与法律基础》真题库及参考答案一套.docx VIP
- 索拉非尼治疗肝癌.pptx VIP
- 【高清可复制】HGT21629-2021 管架标准图_251-300.pdf VIP
- 新版人教版七年级下册地理全册教案(完整版)教学设计.docx
- 2025年北京事业单位真题.docx VIP
- 临时用地表(可编辑).pdf VIP
原创力文档

文档评论(0)