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

下载本文档

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

文档简介

PAGE课题任务4.2固定时间内车辆电池状态实时监测(while循环)课型讲练授课班级授课时数2教学目标1.掌握循环语句的知识体系,能运用循环语句解决实际问题。2.运用while循环语句解决实际问题教学重点While语句的具体应用。软件开发方法的运用。教学难点使用while语句对具体问题的算法描述。运用关系运算符和逻辑运算符描述循环条件学情分析学生基础差异较大,个别学生分支结构掌握的还不熟练,因而重点是语法知识的理解掌握(如选择条件的描述,循环条件的描述及其作用,while语句的运用),接受能力较快的学生,重点加强学生算法的训练,培养良好的编程习惯及编程规范。教学效果教后记任务4.2固定时间内车辆电池状态实时监测(while循环)4.2.1任务目标某电池需要充电,当电池充电时间少于等于8小时时,显示充电多少小时,继续充,当8小时显示充满,请停止充电。运行截图如图4-2-1所示。图4-2-1任务目标运行截图4.2.2知识储备While循环需要的循环四要素和for循环一致,一般不是很明确范围,但是明确停止条件时我们采用while循环。1.while语句格式:while(表达式){语句组}while语句的流程图如图4-2-2所示,其中(1)是流程图,(2)是N-S图。图4-2-2SEQ图4-\*ARABICwhile循环流程图2.使用说明在明确四要素的情况下,根据下面的位置放置循环变量初始化While(判断表达式){循环语句;变量增值;}3.While语句特点和说明特点:先判断表达式,后执行循环体说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环(1)条件表达式不成立(为零)(2)循环体内遇break,return,goto4.无限循环格式无限循环就是可以一直循环,有时我们也称死循环,在底层运用比较多,我们一般把条件直接写成1。格式如下。while(1){循环体;}5.Whiile循环示例,愿我们的友谊地久天长显示10遍#include<stdio.h>voidmain(){inti=1;while(i<=10){printf("愿我们的友谊地久天长\n");i++;}}4.2.3典型案例典型案例1:用while循环显示车辆一天24小时电池状态,运行截图如图4-2-3所示。图4-2-3典型案例1运行截图分析过程:1.首先看看是否有内容相同,发现有相同的地方第*小时,正常执行24遍,刚好数字范围为1242.得出循环四要素循环体:第*小时,正常-初值count=1判断条件count<=24步长增量count++算法分析:1.定义变量count2.根据上述分析可得循环四要素的位置count=1while(count<=24){输出第*小时,正常count++}典型案例1流程图如图4-2-4所示图4-2-4典型案例1流程图程序代码:#include"stdio.h"voidmain(){inti=0;while(i<24){ i++; printf("第%d小时,正常\n",i);}}典型案例2:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会加50元,一个驾驶员去年12月份的工资为3000元,这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少,本年一共领取了多少工资?(用while显示)分析过程:初值salary=3000;sum_salary=0;month=1;1月份salary=salary+50;sum_salary1=sum_salary+salary;2月份salary2=salary1+50;sum_salary2=sum_salary1+salary2;……12月份salary12=salary11+50;sum_salary12=sum_salary11+salary12;查找循环四要素:初值salary=3000;sum_salary=0;month=1;判断条件month<=12步长增量month++循环体salary=salary+50;sum_salary=sum_salary+salary;算法分析:定义变量2.根据while循环格式初值while(判断条件){循环体步长增量}3.输出第12月份工资和一年的总工资典型案例2流程图如图4-2-5所示:图4-2-5典型案例2流程图程序代码#include"stdio.h"voidmain(){intmonth=1;intsalary=3000;intsum_salary=0;while(month<=12){ salary=salary+50; sum_salary=sum_salary+salary;month++;}printf("这名驾驶员第12月份的工资为:%d\n",salary);printf("这名驾驶员一共领取的工资为:%d",sum_salary);}典型案例2运行截图如图4-2-6所示:图4-2-6典型案例运行截图典型案例3:某集团对于驾驶员的工资是根据是否出现交通事故而定,如果不出事故,驾驶员下一月的工资会增加上月工资的10%,一个驾驶员1月份的工资为3000元,这一年都开车都没有出事故,则这名驾驶员第12月的工资为多少,本年一共领取了多少工资?(用while显示)分析过程:参考任务4.1典型案例3分析过程算法过程:1.定义变量月份,工资,工资总额2.根据while循环格式,得出循环格式为intsalary=3000;intsum=0;intmonth=1;while(month<=12){ salary=salary+(salary*0.1); sum=sum+salary;month++;}输出第12月份工资和一年的总工资。流程图:典型案例3流程图和任务4.1典型案例3流程图一样,如图4-1-4所示:程序代码#include"stdio.h"voidmain(){intmonth=1;intsalary=3000;intsum=0;while(month<=12){ salary=salary+(salary*0.1); sum=sum+salary;month++;}printf("这名驾驶员第12月份的工资为:%d\n",salary);printf("这名驾驶员一共领取的工资为:%d",sum);}典型案例3运行截图如图4-2-7所示:图4-2-7典型案例运行截图典型案例4:已知汽车的电池随着使用年限的增加电池的容量会下降,假设开始电池的容量为1,每年下降10%,当电池的容量低于0.5时,此电池需要更换,求电池的使用年限?(变量:电池容量Battery_capacity,电池年限Battery_life)分析过程:初值Battery_capacity=1;一年后:Battery_capacity1=Battery_capacity*0.9二年后Battery_capacity2=Battery_capacity1*0.9……..n年后Battery_capacityn=Battery_capacity(n-1)*0.9停止条件Battery_capacityn<0.5查找循环四要素:初值Battery_capacity=1;Battery_life=0;判断条件Battery_capacity>=0.5与停止条件相反步长增量Battery_life++循环体Battery_capacity=Battery_capacity*0.9算法分析:1.定义变量2.根据while循环格式Battery_capacity=1;Battery_life=0;while(Battery_capacity>=0.5){Battery_capacity=Battery_capacity*0.9Battery_life++}输出电池年限流程图:典型案例4流程图如图4-2-8所示图4-2-8典型案例4流程图程序代码#include"stdio.h"voidmain(){doubleBattery_capacity=1;intBattery_life=0;while(Battery_capacity>=0.5){ Battery_capacity=Battery_capacity*0.9; Battery_life++;}printf("电池的使用年限为:%d",Battery_life);}典型案例4运行截图如图4-2-9所示:图4-2-SEQ图4-\*ARABIC9典型案例运行截图典型案例5:某新能源大客车集团需要招收一名驾驶员,要求是驾驶员必须驾照为A级并且3年内没有出现任何交通事故,从键盘输入驾驶员的等级和驾驶安全年限,当不满足要求时,显示条件不满足,请继续招聘,请输入应聘驾驶员的驾照等级和安全年限。当满足条件时,显示应聘条件合格,招聘结束。(变量:驾照类型type,安全年限years)典型案例5运行截图如4-2-10所示图4-2-10典型案例5运行截图分析过程:初值无循环体:输入驾驶员的等级输入驾驶员的安全年限当条件合格时,输出招聘结束当条件不合格时,输出继续招聘停止条件当等级为A并且安全年限>=3循环四要素不完全满足:算法分析:1.定义变量驾驶员的等级,驾驶员的安全年限。2.考虑四要素不足,但是有明确的停止条件,采用死循环格式while(1){输入驾照类型输入安全年限if(type=='A'&&years>=3){printf("应聘条件合格,招聘结束"); break;} elseprintf("应聘条件不合格,请继续招聘\n");}}流程图:典型案例5流程图如图4-2-11所示图4-2-11典型案例5流程图程序代码#include"stdio.h"voidmain(){chartype;intyears;while(1){printf("请从键盘输入驾驶员的驾照类型:");scanf("%c",&type);printf("请从键盘输入驾驶员驾驶安全年限:"); scanf("%d",&years);if(type=='A'&&years>=3){printf("应聘条件合格,招聘结束"); break;} elseprintf("应聘条件不合格,请继续招聘\n");}}4.2.4任务分析与实践算法分析:1.循环8次确定初值、判断条件、步长增量2.循环体:充电%d小时,继续充3.充满,请停止充电有条件的显示一次任务目标流程图如图4-2-12所示图4-2-SEQ图4-\*ARABIC12任务目标流程图程序代码:#include"stdio.h"voidmain(){inti=0;while(i<=8){ printf("充电%d小时,继续充\n",i);i++;} printf("充满,请停止充电");}4.2.4动手练习1.改写下面的程序用循环结构#include"stdio.h"voidmain(){ intmonth,costofgas,sum=0;/*month月份,costofgas煤气费,sum总金额*/ printf("请输入1月份煤气费用:"); scanf("%d",&costofgas); sum=sum+costofgas; printf("请输入2月份煤气费用:"); scanf("%d",&costofgas); sum=sum+costofgas; printf("请输入3月份煤气费用:"); scanf("%d",&costofgas); sum=sum+costofgas; printf("请输入4月份煤气费用:"); scanf("%d",&costofgas); su

温馨提示

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

最新文档

评论

0/150

提交评论