h5实训(三)选择结构

选择结构

为什么要有选择结构。

因为生活当中也有很多选择,计算机也就有了选择。

If  else ---一个条件,两个分支

If(){

} else{

}

if(下雨){

在食堂吃放

}else{

出去吃饭}


完善三角形计算面积的案例

var  a=Number(prompt("请输入第一个边长"));
var  b=Number(prompt("请输入第二个边长"));
var  c=Number(prompt("请输入第三个边长"));
//计算三角形的面积,首先要判断是否构成三角形
//
任意两边之和要大于第三边才能构成三角形
if(a+b>c&&a+c>b&&b+c>a){
    var p=(a+b+c)/2;
    var s= Math.sqrt(p*(p-a)*(p-b)*(p-c));
    alert(s);
else{
    alert("对不起,您输入的三个边长构成三角形");
}


判断一个数是否为水仙花数(各位的立方加上十位的立方加上百位的立方等于这个数本身,它就是水仙花数)

var num=Number(prompt("请输入一个三位数"));
var a=num%10;
var b=Math.floor(num/10)%10;
var c=Math.floor(num/100);
var d=a*a*a+b*b*b+c*c*c;
if(d==num){
    alert("这个数是水仙花数");
}else{
    alert("这个数不是水仙花数");
}//输入153,结果为这个数为是水仙花数


的士计费器(3公里以内固定收费7元,超出的部分每公里2元),用户输入公里数,计算要付的费用。

1.  接受用户的打的公里数(num)

2.  判断公里数的值,如果公里数小于等于3,就算出用户所付钱数y为7;如果公里数大于3,用公里数减去3再向上取整得到值赋值给s,计算出用户所付钱数y=7+s*2

3.  打印结果

var num=Number(prompt("请输入公里数"));
if(num<=3){
  var  y=7;
    alert(y);
} else{
    var num1=num-3;
    var s=Math.ceil(num1);
    var y=7+s*2;
    alert(y);
}


求解一元二次方程的根(

1.  输入方程二次项系数a

2.  输入方程一次项系数b

3.  输入方程常数项系数c

4.  判断方程是否有实根 D=b^2-4*a*c

5.  如果D<0,则方程无实根

6.  如果D>0,则方程有实根

7.  打印结果

var  a=Number(prompt("请输入第一个数"));
var  b=Number(prompt("请输入第二个数"));
var  c=Number(prompt("请输入第三个数"));
var D=b*b-4*a*c;
if(D<0){
    alert("方程无实根");
}else{
    var x1=(-b+Math.sqrt(b*b-4*a*c))/(2*a);
    var x2=(-b-Math.sqrt(b*b-4*a*c))/(2*a);
}
alert("x1="+x1"x2=  "+x2);

 

计算献血量(体重,血红蛋白含量)

Hb<30   7ml/kg

30-60  10ml/kg

>60    15ml/kg

请根据用户端输入的体重和血红蛋白含量计算他的最大献血量

1.  接受用户的体重数据wight

2.  接受用户的血红蛋白含量数据hb

3.  判断用户体重数据是否合格

4.  如果不合格,则对不起,您不适合输血!

5.  如果合格,判断用户血红蛋白含量hb是否小于30,如果小于30,献血量blood=7*weight

6.  是否在30-60之间,如果是,blood=10*weight

7.  是否>60间,如果是,blood=15*weight

8.  打印结果

var weight =Number(prompt("输入用户的体重"));
var hb =Number(prompt("请输入用户的血红蛋白含量"));
var blood;
if(weight<45){
    alert("对不起,您不适合献血!")
}else if(hb<30){
   var  blood=7*weight;
}else if(30<hb<60){
    var blood = 10*weight;
}else {
    blood=15*weight;
}
alert(blood);

 

制作一个四则运算器,要求用户输入一个数再输入一个算术运算符再输入一个数,计算出对应的结果。

1.  请用户输入一个数num

2.  请用户输入一个算术运算符

3.  请用户输入一个数num1

4.  判断四则运算符

5.  计算出结果sum

6.  打印结果

var num1 =Number(prompt("请输入一个数"));
var op =prompt("请输入一个四则运算符");
var num2 =Number(prompt("请输入一个数"));
var result=0;
if(op =="+"){
    result=num1+num2;
}else if(op =="-"){
    result=num1-num2;
}else if(op=="*"){
    result=num1*num2;
}else if(op=="/") {
    if (num2 != 0) {
        result= num1/ num2;
    } else {
        alert("除数不能为0")
    }
} else{
    alert("运算符有误!")
}
alert(result);

 

 

 

选择还有switch(开关)

switch(x){

case a:

case b:

break;

case c;

default:

}

var num1 =Number(prompt("请输入一个数"));
var op =prompt("请输入一个四则运算符");
var num2 =Number(prompt("请输入一个数"));
var result=0;
switch(op){
    case"+":
        result=num1+num2;
        break;
    case"-":
        result=num1-num2;
        break;
    case"*":
        result=num1*num2;
        break;
    case"/":
        result= num1 / num2;
        break;
}
alert(result);

 

它的执行效率比if()快很多,它会将所有可能放在内存当中,case就是标号,当条件满足这个标号时直接进入这个情况里面。

Switch优点:

1. 结构清晰,一目了然。

2. 运行速度相对较快。

Switch的执行逻辑:从switch后面的小括号里面的变量与后面的case中的常量相等的地方开始执行,然后依次执行后面的命令,一直到指令结束。

Case:并不会参与运算,不起条件作用,只起到一个标号的作用,只是执行指令的入口。

Default 就是除了case以外的情况。

Break 并不是switch语法中的内容,它不属于switch,只是一个辅助工具,用于跳出当前结构。


百分制转化为4分制

A   80分以上

B   70——80

C   60——70

D   60以下

             1.接受学生的分数score

             2.将成绩除以10取整score

             3.判断score值,8,9,10, 则等级为A  

                                          7,      则等级为B

                                          6,      则等级为C

                                          1,2,3,4,5,则等级为D

4.     打印学生分数

var score =Number(prompt("接受学生分数"));
var score1 =Math.floor(score/10)
var res="";
switch (score1){
case 1:
case 2:
case 3:
case 4:
case 5:
    res="D";
    break;
case 6:
    res="C";
    break;
case 7:
    res="B";
    break;
default:
    res="A";
} alert(res);

 

11.16是今年的第几天,先不考虑闰年。

             1.接受月份

             2.接受日期

             3.根据月份的值将前几个月的日期加在一起

             4.再加上当前月份的日期就是总共天数

             5.打印天数

var month=Number(prompt("接受月份"));
var day =Number(prompt("接受日期"));
var days=0;
switch(month-1) {
    case 11:
        days+= 30;
    case 10:
        days +=31;
    case 9:
        days+= 30;
    case 8:
        days+= 31;
    case 7:
        days+= 31;
    case 6:
        days+= 30;
    case 5:
        days+= 31;
    case 4:
        days+= 30;
    case 3:
        days+= 31;
    case 2:
        //if((year%4==0&&year%100!=0)||(year%400==0)){
            //days+=29;
        //}else{
           
days
+=28;
       // }
   
case 1:
        days+= 31;
} days +=day;
alert("是第"+days+"");

 

4年一闰,百年不闰,四百年再闰

var year=Number(prompt("接受年份"));
 var month=Number(prompt("接受月份"));
 var day =Number(prompt("接受日期"));
 var days=0;
 switch(month-1){
     case 11:
         days+= 30;
     case 10:
         days+= 31;
     case 9:
         days+= 30;
     case 8:
         days+= 31;
     case 7:
         days+= 31;
     case 6:
         days+= 30;
     case 5:
         days+= 31;
     case 4:
         days+= 30;
     case 3:
         days+= 31;
     case 2:
         if((year%4==0&&year%100!=0)||(year%400==0)){
             days+=29;
         }else{
             days+=28;
         }
     case 1:
         days+= 31;
 } days+=day;
 alert("是第"+days+"");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值