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>
效果截圖:
喜歡的朋友可以點點關注,點點贊,歡迎評論區留言互動。