循環嵌套和輔助語句

循環輔助語句
break:跳出所在的switch 或者循環結構。
案例:判斷素數

var n = Number(prompt("請輸入一個自然數:"));
var m = Math.ceil(Math.sqrt(n));//根據相關數學定理,查找範圍可縮減至{2,sqrt(n)}
var found = false;//找到因子的標記
for (vari = 2; i <=m; i++){
    if (n % i == 0) {
        found =true;
        break;
    }
}

alert(found?”不是素數”:”是素數”);
對100以內既不是3的倍數也不是5的倍數的數求和
* 思路一:
* (1)對{1,100}範圍內逐個判斷
* (2)如果滿足條件就累加
* (3)輸出和
* */ 常規思路,對滿足條件的數累加

var sum = 0;
 for(var n = 1; n <= 100;n++){
 if(n%3 != 0 && n%5 !=0){
 sum+=n;
 }
 }
 alert(sum);

思路二:
* (1)對{1,100}範圍內每個數重複步驟2,3
* (2)如果滿足條件就放過
* (3)累加
* (3)輸出和
將範圍內不滿足條件的跳過,其餘的累加。
continue:結束本次循環,然後開啓下一次循環

var sum = 0;
for (var n = 1; n <=100; n++) {
    if (n % 3 == 0 || n % 5 == 0) {
        continue;//結束本次循環
    }
    sum +=n;
}
alert(sum);

思路二的好處:結構清晰,也就是我們在進行數據處理之前,先把各種不符合條件的情況先排除,然後再處理符合條件的情況(這個一般是程序的主體)
如果循環體的主體代碼的執行有兩個前提條件,常規思路是這樣寫的:
for(….){
if(條件1){
if(條件2){
循環體主體代碼(可能代碼較多)
}else{
alert(“錯誤提示2”)
}

}else{
alert(“錯誤提示2”)
}
}
換另外一種思路來描述,是這樣的

for(…){
if(!條件1){
alert(“錯誤提示1”)
continue;
}
if(!條件2){
alert(“錯誤提示2”)
continue;
}
循環主體代碼
}
循環嵌套
爲什麼有循環的嵌套?
因爲一件事情的內容需要重複做。而且這個事情要反覆做。
什麼時候用循環的嵌套?
兩者沒有直接關係:
一般有行數有列數並且兩者之間存在關係的時候用循環的嵌套。
比如直角三角形的輸出

for(var i= 1;i <= 4;i++){
    for(j=1;j<i+1; j++){
        document.write("*");
    }
document.write("<br>");
}

等腰三角形的輸出:

for(var i= 1;i <= n;i++){
    for(var j=n-i;j>0; j--){
        document.write("_");
    }
    for(var k =1;k<2*i-1;k++){
        document.write("*");
    }
    document.write("<br>")
}
發佈了40 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章