语言基础及教程 9_第1页
语言基础及教程 9_第2页
语言基础及教程 9_第3页
语言基础及教程 9_第4页
语言基础及教程 9_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE课题任务4.3固定时间内车辆电池状态实时监测(dowhile循环)课型讲练授课班级授课时数2教学目标1.灵活运用关系与逻辑运算符,正确描述循环条件;2.掌握do-while语句的格式及灵活运用;3.理解while语句和do-while语句的区别。教学重点1.do-while语句的具体应用及与while语句的相互转换。2.for语句的结构及与当型、直到型循环的转换。教学难点使用do-while语句/for语句对具体问题的算法描述。三种循环语句的具体应用。学情分析学生对循环结构的含义不是很明了,因而重点是语法知识的理解掌握(如do-while语句/for语句的简单运用),掌握较好的学生逐步过渡到良好的编程习惯及编程规范的培养。教学效果教后记任务4.3固定时间内车辆电池状态实时监测(dowhile循环)4.3.1任务目标某电池需要充电,当电池充电时间少于8小时时,显示充电多少小时,继续充,当8小时显示充满,请停止充电。运行截图参考任务4.2任务目标的运行截图,如图4-2-1所示。4.3.2知识储备do-while循环一般也是不确定循环次数时使用,和while循环,for循环最大的区别是它是先执行再判断,一般至少执行循环体一次。1.do-while语句的一般形式为:do{循环体语句;}while(表达式);dowhile语句的流程如图4-3-1所示,(a)是流程图,(b)是N-S图图4-3-1do-while循环流程图注意:while(表达式);后面的分号“;”不能丢掉。do-while循环一般四要素的位置为初值do{循环体语句;步长增量}while(判断条件);2.示例一张厚度0.5mm的面积足够大的纸,将它不断对折,问对折多少次后,其厚度可达到珠峰的高度(8848M)?#include"stdio.h"voidmain(){floath;intcount;h=0.5/1000;count=0;while(h<=8848){h=h*2;count=count+1;}printf(“一个要折叠%d次”,count);}4.3.3典型案例典型案例1:用do-while循环显示车辆一天24小时电池状态,运行截图参考任务4.2典型案例1运行截图,如图4-2-3所示:分析过程:参考任务4.2典型案例1分析过程。算法分析:1.定义变量count2.根据上述分析可得do-while四要素的位置count=1do{输出第*小时,正常count++}while(count<=24);典型案例1流程图如图4-3-1所示图4-SEQ图4-\*ARABIC3-1典型案例1流程图程序代码:#include"stdio.h"voidmain(){intcount=0;do{ printf("第%d个小时,正常\n",i);count++;}while(count<=24);}典型案例2:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会加50元,一个驾驶员去年12月份的工资为3000元,这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少,本年一共领取了多少工资?(用do-while显示)任务分析:参考任务4.2典型案例2分析过程。算法分析:1.定义变量2.根据do-while循环格式初值do{循环体步长增量}while(判断条件)输出第12月份工资和一年的总工资流程图:典型案例2流程图如图4-3-2所示图4-3-2典型案例2流程图程序代码:#include"stdio.h"voidmain(){intmonth=1;intsalary=3000;intsum_salary=0;do{ salary=salary+50; sum_salary=sum_salary+salary; month++;}while(month<=12);printf("这名驾驶员12月份的工资为:%d\n",salary);printf("这名驾驶员一共领取工资为:%d",sum_salary);}典型案例3:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少,本年一共领取了多少工资?(用do-while显示)分析过程:参考任务4.1典型案例3分析过程。算法分析:1.定义变量月份,工资,工资总和2.根据上述分析可得do-while四要素的位置intsalary=3000;intsum=0;intmonth=1;do{salary=salary+(salary*0.1); sum=sum+salary;month++;}while(month<=12);典型案例3流程图如图4-3-3所示图4-SEQ图4-\*ARABIC3-3典型案例3流程图#include"stdio.h"voidmain(){intmonth=1;intsalary=3000;intsum=0;do{salary=salary+(salary*0.1); sum=sum+salary;month++;}while(month<=12);printf("这名驾驶员12月份的工资为:%d\n",salary);printf("这名驾驶员一共领取工资为:%d",sum);}典型案例4:已知汽车的电池随着使用年限的增加电池的容量会下降,假设开始电池的容量为1,每年下降10%,当电池的容量低于0.5时,此电池需要更换,求电池的使用年限?(用do-while显示)任务分析:参考任务4.2典型案例4任务分析。算法分析:1.定义变量2.根据do-while循环格式Battery_capacity=1;Battery_life=0;do{Battery_capacity=Battery_capacity*0.9Battery_life++}while(Battery_capacity>=0.5)输出电池年限流程图:典型案例4流程图如图4-3-4所示图4-3-4典型案例4流程图程序代码:#include"stdio.h"voidmain(){doubleBattery_capacity=1;intBattery_life=0;do{ Battery_capacity=Battery_capacity*0.9; Battery_life++;}while(Battery_capacity>=0.5);printf("电池的使用年限为:%d",Battery_life);}典型案例5:某新能源大客车集团需要招收一名驾驶员,要求是驾驶员必须驾照为A级并且3年内没有出现任何交通事故,从键盘输入驾驶员的等级和驾驶安全年限,当不满足要求时,显示条件不满足,请继续招聘,请输入应聘驾驶员的驾照等级和安全年限。当满足条件时,显示应聘条件合格,招聘结束。(do-while显示)任务分析:参考任务4.2典型案例5任务分析算法分析:1.定义变量驾驶员的等级,驾驶员的安全年限。2.考虑四要素不足,但是有明确的停止条件,采用死循环格式do{输入驾照类型输入安全年限if(type=='A'&&years>=3){printf("应聘条件合格,招聘结束"); break;} elseprintf("应聘条件不合格,请继续招聘\n");}}while(1);流程图:典型案例5流程图如图4-3-5所示图4-3-5典型案例5流程图程序代码:#include"stdio.h"voidmain(){chartype;intyears;do{ printf("请从键盘输入驾驶员的等级:");scanf("%c",&type);printf("请从键盘输入驾驶员的安全年限:");scanf("%d",&years);if(type=='A'&&years>=3){ printf("应聘条件合格,招聘结束\n"); break;}}while(1);}4.3.4任务分析与实践算法分析:1.循环7次确定初值、判断条件、步长增量2.循环体:充电%d小时,继续充3.充满,请停止充电有条件的显示一次流程图:任务分析流程图如图4-3-6所示图4-3-6任务分析流程图程序代码:#include"stdio.h"voidmain(){inti=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论