《信息学奥赛课课通(C++)》第4单元 循环结构程序设计.ppt

《信息学奥赛课课通(C++)》第4单元 循环结构程序设计.ppt

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序的调试与跟踪 在编写程序的过程中,错误是在所难免的。一般来说,程序代码越长、算法和数据结构越复杂,出错的概率越高。因此,调试就成了极其重要的一个环节。学会程序的调试与跟踪,可以快速、准确地发现并改正错误。 1. 静态查错 程序写好后,首先要从头至尾通读程序,检查是否存在下面几个问题:语句的顺序、思路、逻辑是否有误;语法是否有误,如关键字是否录入错误、变量是否没有定义就使用、变量的大小写问题、用错标点符号等。其它错误如下: (1) 变量未赋初值 (2) 中间运算结果越界 (3) if-else 语句混乱 (4) 实数比较出错 2. 通过添加输出语句调试程序 //p4-6-1 #includeiostream using namespace std; int main(){ int x; cin x; for(int i = 2; i x; i++){ if(x % i == 0) { cout x “ “ i endl; // 用于查看 x 和 i 的值 cout “ not “ ; break; } } cout “ prime ” endl; return 0; } 3. 借助 IDE 的调试工具实施单步跟踪 通过“单步执行”观察跟踪某个变量的值的变化。 实践巩固 第 7 课 循环结构应用举例 学习目标 1. 总结与反思建立循环结构的知识体系。 2. 实践巩固,熟练应用循环结构解决一些实际问题。 例1、金币问题 具体问题见教材128页。 【问题分析】 设共有 N 天,当前为第 i 天,则当 i ≤ N 时,可以统计之后连续 K 天所得的金币,在统计过程中,如果 iN,则退出统计。 参考程序见教材129页。 例2、比例简化 具体问题见教材129页。 【问题分析】 由于 L≤100,可以穷举 A′和 B′,然后判断 A′和 B′是否互质。如果互质,那么判断“A′/B′-A / B”的值是否更小,如果满足,则更新最小值 mindiff 和答案 resa 和 resb。 参考程序见教材130页。 实践巩固 for 语句写法灵活,上述程序也可以写成: //p4-3-1b #includecstdio using namespace std; int main(){ int i = 1; for(; i = 10; i++) printf( “ @ ” ); printf( “ \n ” ); return 0; } 还可以写成: //p4-3-1c #includecstdio using namespace std; int main(){ int i = 1; for(; i = 10; ){ printf( “ @\n ” ); i++; } printf( “ @\n ” ); return 0; } 例2、斐波那契数列 【问题描述】 斐波那契数列是指这样的数列:第一个数和第二个数都为 1,接下来每个数都等于前面两个数之和。编程输入一个正整数 k,输出斐波那契数列第 k 个数。 【输入格式】 一行一个正整数 k,1≤k≤46。 【输出格式】 一行一个正整数,表示斐波那契数列第 k 个数的大小。 【样例输入】 19 【样例输出】 4181 【问题分析】 //p4-3-2 #includeiostream using namespace std; int main(){ int k; cin k; int k1 = 1,k2 = 1,k3 = 1; for(int i = 3; i = k; i++){ k3 = k1 + k2; k1 = k2; // 迭代法 k2 = k3; } cout k3 endl; return 0; } 例3、求平均年龄 【问题描述】 给出一个班级里每名学生的年龄(正整数),求所有学生的平均年龄,保留到小数点后两位。 【输入格式】 一行一个正整数 n,表示学生的人数,1≤n≤100。 后面 n 行,每行一个正整数,表示学生的年龄,15≤年龄≤25。 【输出格式】 一行一个浮点数,保留到小数点后两位。 【样例输入】 2 18 17 【样例输出】 17.50 //p4-3-3 #includecstdio using namesp

文档评论(0)

一壶清茶 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档