1、开发一款软件,根据公式(身高-108)*2=体重,可以有10斤左右的浮动。来观察测试者
题目分析:
软件:有输入,有输出
程序:数据结果 + 算法
范围:找极值 最小值 <= 值域 <= 最大值
题目思路:
- 根据身高计算出标准体重,根据标准体重计算体重合格范围
- 根据输入的体重判断输入的体重是否符合规则
<script>
// 身高 height
var height = prompt("请输入身高");
// 体重 weight
var weight = prompt("请输入体重");
// 标准体重 standard
var standard = (height - 108) * 2;
if(weight >= standard - 10 && weight <= standard + 10 ){
alert("您的标准体重为:" + standard + ",恭喜您,您符合标准体重的范围!请继续坚持!");
}else if(weight < standard - 10 ){
alert("您的标准体重为:" + standard + ",不好意思,您的体重偏瘦,加油哦!");
}else if(weight > standard + 10 ){
alert("您的标准体重为:" + standard + ",不好意思,您的体重偏胖,加油哦!");
}
</script>
效果截图:
2、输入分数,判定成绩等级(if和switch两种写法)
switch写法一:
<script>
var score = prompt("请输入分数");
switch(true){
// case 后面不一定都是值
case score >= 90:
alert("你的成绩等级为优秀");
break;
case score >= 60 && score <= 89:
alert("你的成绩等级为良好");
break;
case score <= 59:
alert("你的成绩等级为不及格,继续加油哦!");
break;
}
</script>
switch写法二:
<script>
// 分数 grade
var grade = prompt("请输入分数");
switch( parseInt(grade / 10) ){
case 10:
case 9:
alert("你的成绩等级为优秀");
break;
case 8:
case 7:
case 6:
alert("你的成绩等级为良好");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
alert("你的成绩等级为不及格,继续加油哦!");
break;
}
</script>
switch写法三:
<script>
// 分数 grade
var grade = prompt("请输入分数");
switch (parseInt(grade / 10)) {
case 10:
case 9:
alert("你的成绩等级为优秀");
break;
case 8:
case 7:
case 6:
alert("你的成绩等级为良好");
break;
default:
alert("你的成绩等级为不及格,继续加油哦!");
}
</script>
if 写法:
<script>
// 分数 grade
var grade = prompt("请输入分数");
if(grade >= 90){
alert("你的成绩等级为优秀");
}else if(grade >= 60 && grade <= 89){
alert("你的成绩等级为良好");
}else{
alert("你的成绩的等级为不及格,继续加油哦!");
}
</script>
效果截图:
3、输入月份,显示当月的天数, 利用case穿透简化代码
<script>
// 月份 month
var month = prompt("请输入月份");
// 将输入的月份转换成Number类型,默认String
month = Number(month);
// 当输入月份为2月时,提示输入年份,来判断是否闰年
if(month === 2){
// 年份
var year = prompt("请输入年份");
}
// 判断输入年份是否闰年
if(year % 4 === 0 && year % 100 !== 0 || year % 400 ===0){
// 是闰年
alert("该年是闰年,二月29天");
}else{
switch( month ){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert("该月份为31天");
break;
case 4:
case 6:
case 9:
case 11:
alert("该月份为30天");
break;
case 2:
alert("该年是平年,二月28天");
}
}
</script>
效果截图:
4、根据日期,判断这个日期是这一年的第几天。 (使用switch 穿透编写)例如: 2016,02,11,计算后结果为42
<script>
var date_string = prompt("请输入八位数的日期");
// 1.拆分日期,取得日期字符串的后两位数字
var days = date_string % 100;
// 拆分月份
var months = parseInt(date_string / 100) % 100;
// 拆分年份
var year = parseInt(date_string / 10000);
// 2. 根据年月日判定当前日期已经经过了多少天
// 后面的日期天数是把前面的整个月份天数加起来,在加上本月的日期,因为本月日期不满月
switch( months ){
case 12:
days += 30;
case 11:
days += 31;
case 10:
days += 30;
case 9:
days += 31;
case 8:
days += 31;
case 7:
days += 30;
case 6:
days += 31;
case 5:
days += 30;
case 4:
days += 31;
case 3:
year % 4 === 0 && year % 100 !== 0 || year % 400 === 0 ? days += 29 : days += 28;
case 2:
days += 31;
case 1:
days += 0;
}
alert("您输入的日期是:" + year + "年的第" + days + "天" );
</script>
效果截图:
喜欢的朋友可以点点关注,点点赞,欢迎评论区留言互动。