C#程序设计主讲教师:杨剑1项目4:循环结构——简单的复利储蓄计算器一、教学内容及要求能力培养:1、了解不同循环语句适合的场合及流程;2、正确理解循环的要素和控制方法;3、熟练掌握while、do-while和for循环的使用;4、熟练掌握理解while和do-while的区别;5、熟练使用双重循环嵌套6、正确理解break和continue语句的用法核心技能点:1、理解三种循环语句的用法及适用场合2、能够灵活选用适合的循环语句解决一些日常生活问题扩展技能点:1、多重(三重及以上)循环嵌套2、学会循环和条件语句的综合使用教学内容:1、项目介绍。(5分钟)任务1:简单的复利储蓄计算器2、由若干实例引出循环的概念。(5分钟)任务2:了解循环的概念演示,使用循环进行程序控制3、案例演示:while语句任务3:理解while语句的作用,掌握while语句的使用方法(20分钟)演示,循环的要素和控制方法任务4:熟练掌握while语句的使用方法(15分钟)实践,学生人数计算3、案例演示:do-while语句任务5:理解do-while语句的作用,掌握do-while语句的使用方法(15分钟)演示,求自然数1到100的和——do-while语句的实现任务6:熟练掌握do-while语句的使用方法(15分钟)实践,连续录入学生姓名4、课内实践:任务7:熟练掌握while和do-while语句的使用,综合应用while和do-whileC#程序设计主讲教师:杨剑2语句解决实际问题。(30分钟)实践,逆序打印出每一个位数5、案例演示:for语句任务8:理解for语句的作用,掌握for语句的使用方法(20分钟)演示,循环录入某学生第一期的5门课成绩,计算平均分——for语句的实现任务9:熟练掌握for语句的使用方法(20分钟)实践,富翁和一个陌生人换钱计划的实现6、案例演示:break和continue语句任务10:理解break的作用,掌握循环嵌套的使用方法(15分钟)实践,判断质数任务11:理解continue的作用,掌握循环嵌套的使用方法(15分钟)实践,过滤连续重复输入的字符7、案例演示:循环嵌套任务12:理解循环嵌套的作用,掌握循环嵌套的使用方法(15分钟)演示,九九乘法表的计算和打印任务13:熟练循环嵌套法(20分钟)实践,打印三角形8、项目实现:任务14:简单的复利储蓄计算器的实现(50分钟)9、课内实践:任务15:熟练掌握循环语句的使用,综合应用循环语句解决实际问题。(55分钟)一个数如果恰好等于它的因子之和,这个数就称为完整数。例如6的因子为1、2、3,而6=1+2+3,因此6是完数,编程找出1000之内的所有完数,并按下面格式输出所有的完数和其因子:6是一个完数:6=1+2+3;二、教学重点、难点及解决办法教学重点:1、while、do…while、for语句的用法;2、循环语句的嵌套3、break和continue的使用教学难点:1、while、do…while、for语句的用法2、循环嵌套C#程序设计主讲教师:杨剑3教学方法:基于CDIO的课程改革,应用了CDIO教育模式。以“做中学”为出发点,实施“知识讲解案例化、课内课外协作化、实战演练一体化”的教学模式。由传统的教师引导课堂转变为以学生为主体,课本中的知识点讲解转变为“项目”主导,将传统的课堂模式转变为了以实际经验为核心。三、教学设计1、教学进程工程化将教学内容按CDIO理念,以项目为核心,并结合课程内容设计了四个环节的内容,包括构思环节、设计环节、实现环节、运作环节,同时,在课程的教学过程中,主要采用“做中学”的教学理念来实现“教学做”一体化。以项目为载体,将抽象的知识融入到项目中,通过项目的学习将知识点分解,将“工程”教学思想体现在教学中,进而提高学生的学习效果。2、教学设计递进化根据“工程化”的思想,教学模式的设计呈递进化趋势,每一个教学项目的实现将分成四个部分来完成:任务的明确,实施方案的编写,项目的实施和项目的评价3、实践设计层次化在项目的实施过程中,主要组织层次化教学。在教学中,采取“基础实验”“综合实验”,“综合性课程设计”的设计。4、课程考核工程化考核以过程考核和工程验收测试相结合的方式进行。本门课程采取的是形成性考核方式,考试成绩由本门课程学习期间的多项过程成绩组合而成5、知识讲解案例化根据CDIO的思想,对知识点采取案例化教学法,6、课内课外协作化7、实战演练一体化为了让学生对所学课程加深理论知识,并能够将相关知识结合到实际应用中,学生需要自选一个相关主题进行综合项目的开发,提高综合应用能力。在这个环节中,学生是主体,教师主要负责引导和监控,学生需要在这个阶段发挥自身能力,以团队的形式完成项目,并由此锻炼学生的团队合作意识。四、教学过程1、项目介绍。(5分钟)任务1:简单的复利储蓄计算器实现一个简单的复利储蓄计算器,用户选择初始金额、利率、存入年数、利C#程序设计主讲教师:杨剑4率计算频度和每月存入金额,计算出到期后的总金额数。2、由若干实例引出循环的概念。(5分钟)任务2:了解循环的概念(1)为什么需要循环问题1:盈盈为了考验令狐冲夺冠的决心,要他说一百遍“我能行!”Console.WriteLine(第1次说:我能行!);Console.WriteLine(第2次说:我能行!);……Console.WriteLine(第100次说:我能行!);盈盈要他说10000遍“我是最棒的!”,怎么办?(2)使用while循环inti=1;while(i=100){Console.WriteLine(我能行!);i++;}3、案例演示:while语句任务3:理解while语句的作用,掌握while语句的使用方法(20分钟)(1)什么是while循环C#程序设计主讲教师:杨剑5(2)怎样使用while循环①问题:如何用程序描述下面这个故事呢?为了备战,令狐冲锲而不舍地练习,盈盈严格把关…“盈盈,怎么样,可以了吗?”“不行,高音部分唱得还不是很好,钢琴还要继续练啊!”没有听到“很棒”的评价,看来革命尚未成功,令狐冲并不气馁:早上5点练声,上午练钢琴,下午到声乐老师家练习唱歌,晚上练习舞蹈基本功。②使用while循环的步骤分析循环条件和循环操作套用while语法写出代码检查循环是否能够退出③演示,循环的要素和控制方法:Console.WriteLine(表演得怎么样?(y/n):);answer=Console.ReadLine();while(answer!=y){Console.WriteLine(早上5点开始练声!);Console.WriteLine(上午练习钢琴!);Console.WriteLine(下午到声乐老师家练习唱歌!);Console.WriteLine(晚上练习舞蹈基本功!);Console.WriteLine(表演得怎样?(y/n):);answer=Console.ReadLine();}Console.WriteLine(圆满完成!);④while循环常见问题C#程序设计主讲教师:杨剑6任务4:熟练掌握while语句的使用方法(15分钟)实践,学生人数计算2006年在校学生1万人,每年增长25%,请问按此增长速度,到哪一年在校学生人数将达到10万人?提示:①循环条件和循环操作分别是什么?②intyear=2006;doublestudents=10000;while…③2007年在校学生数量=10000*(1+0.25)3、案例演示:do-while语句任务5:理解do-while语句的作用,掌握do-while语句的使用方法(15分钟)(1)问题:苦练半年,眼看大赛在即,盈盈提议:彩排一次,如果很令人满意,以后就不用彩排了,否则每天都要彩排,直到现场表现让她满意为止!他能否用动听的歌声震撼盈盈,用美妙的钢琴声博得赞赏呢?……(2)什么是do-while循环(3)实现:do{Console.WriteLine(唱歌!);Console.WriteLine(演奏肖邦钢琴曲!);Console.WriteLine(可以了吗?(y/n):);answer=Console.ReadLine();C#程序设计主讲教师:杨剑7}while(answer!=y);Console.WriteLine(大功告成!);(4)演示,求自然数1到100的和——do-while语句的实现任务6:熟练掌握do-while语句的使用方法(15分钟)实践,连续录入学生姓名,输入“q”则系统退出提示:stringname;do{Console.WriteLine(请输入学生姓名:);name=Console.ReadLine();}while(name!=q);Console.WriteLine(程序结束);4、课内实践:任务7:熟练掌握while和do-while语句的使用,综合应用while和do-while语句解决实际问题。(30分钟)实践,设计一个Windows应用程序,输入一个正整数,逆序打印出每一个位数。如图所示。如输入原数:7493,单击“逆序”输出:逆序:3497注意:如果输入:7490,应输出:逆序:947分析:a%10将求出个位数,a/10将使位数下降一位,如567/10=56;如果是由用户输入一个任意位数的正整数,需要用循环完成上述问题。核心代码部份提示:intnum=Convert.ToInt32(txtOriginal.Text);intturnNum=0;while(num0){turnNum=turnNum*10+num%10;num=num/10;C#程序设计主讲教师:杨剑8}txtTurn.Text=turnNum.ToString();5、案例演示:for语句任务8:理解for语句的作用,掌握for语句的使用方法(20分钟)(1)为什么使用for循环(2)什么是for循环——for循环的语法和执行顺序(3)演示,循环录入某学生第一期的5门课成绩,计算平均分——for语句的实现使用for循环结构的步骤:①分析循环条件和循环操作②套用for语法写出代码③检查循环是否能够退出结合问题:①循环次数:5②循环条件:循环的次数不足5,继续循环③循环操作:录入成绩,计算成绩之和示例://省略声明变量for(inti=0;i5;i++){//循环5次录入5门课成绩Console.WriteLine(请输入5门功课中第+(i+1)+门课的成绩:);score=Console.ReadLine();sum=sum+score;C#程序设计主讲教师:杨剑9}avg=sum/5;//计算平均分Console.WriteLine(name+的平均分是:+avg);(4)for循环常见问题任务9:熟练掌握for语句的使用方法(20分钟)实践,一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该项计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,…,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给陌生人多少钱。【分析】设第i天百万富翁给陌生人的钱为ti,则t1=0.01元,由题意可得,ti=ti-1×2。设第i天后百万富翁给陌生人的钱总数为s1i,则s11=t1=0.01,s1i=s1i-1+ti。设第i天后陌生人给百万富翁的钱总数为s2i,则s21=100000,s2i=s2i-1+100000。显然,这是一个循环过程。inti;doublet,s1,s2;s1=t=0.01;//百万富翁第一天给陌生人的钱为1分s2=100000;//陌生人第一天给百万富翁的钱为十万元for(i=2;i=30;i++){t=t*2;//百万富翁第i天给陌生人的钱s1=s1+t;//百万富翁第i天后共给陌生人的钱s2=s2+100000;//陌生人第i天后共百万富翁的