javascript程式設計思維與選擇結構
程式設計思維
程式是啥?
生活中的程式:
(1)宿舍報修:填寫保修單→上報宿舍管理員→聯絡物業→找維修師傅上門維修→反饋。
(2)銀行開戶:客戶填寫開戶申請單→提交證件資料→稽核資料真實性(1是否是本人、資料真實齊全則通過;2其他人代辦、有委託書、資料真實齊全則批准,不滿足這些條件則拒絕)→錄入系統開戶→設定密碼→發放卡、存摺。
解決生活中問題的步驟(流程)描述。
計算機中的程式:
解決問題的不走描述,但用的是計算機語言描述
程式 |
執行者 |
描述語言 |
執行速度 |
生活中的程式 |
人 |
自然語言 |
相對慢 |
計算機中的程式 |
計算機 |
計算機語言(比如JS) |
非常快 |
當前最快的計算機是中國“神威·太湖之光”計算機系統
什麼是程式設計?
根據業務需要,制定或編制解決問題的流程。編制程式的人應該是非常熟悉或精通業務。
如果編制計算機程式的要求:
(1)精通業務
(2)精通計算機語言
明確我們的學習內容和方向:
(1)解決問題的思路
(2)計算機語言
(3)思維方式的轉變
重點是解決問題的思路,而思路和計算機語言是沒有關係的。所以我們雖然學習的是JS,但更多更重要的又並不是JS的內容。
難點是思維方式的轉變,也就是說從現在開始,需要站在計算機的角度去思考和描述問題。
案例:計算一個三位數的各位數字之和,比如415的各位之和就是4+1+5=10。
415→加工過程 →10
<script>
/*
* 解決問題的思路:
* (1)提示使用者輸入一個三位數,接收輸入存放於num中
* (2)計算百位b100,除以100取整
* (3)計算十位b10,對100求餘,除以10取整
* (4)計算個位b1,對10求餘
* (5)計算b100+b10+b1
* (6)輸出結果
* */
var num = prompt("請輸入一個三位數");
var b100 = Math.floor(num/100);
var b10 = Math.floor((num%100)/10);
var b1 = num%10;
var sum = b100 + b10 + b1;
alert(sum);
</script>
通過這個案例,我們學到程式設計的套路:
(1)程式設計分為兩個步驟:思路、編碼
(2)思路可以使用自然語言、流程圖等一切能描述清楚解決方案的形式來描述
(3)將思路翻譯成對應的程式碼
案例:根據三角形的三邊長計算三角形的面積
<script>
/*
* (1)獲取三角形的三邊長a、b、c
* (2)計算半周長s=(a+b+c)/2;
* (3)海倫公式計算面積area
* (4)輸出結果
* */
var a = Number(prompt("請分別輸入三角形的第一條邊長"));
var b = Number(prompt("請分別輸入三角形的第二條邊長"));
var c = Number(prompt("請分別輸入三角形的第三條邊長"));
var s = (a+b+c)/2;//計算三角形的半周長
var area = Math.sqrt(s*(s - a)*(s - b)*(s - c));
alert(area);
</script>
注意:prompt()函式輸入的是一個字串型別,比方“345”,注意“345”和345的區別;如果你想輸入345,那麼應該強制轉換,雖然JS有時會幫我們自動轉換,但有時不靠譜。
案例:話費計算器,根據通話時長(單位為秒)計算話費,資費標準為0.5元/分鐘。
<script>
/*
* (1)輸入秒數
* (2)將秒數除以60向上取整
* (3)計算話費0.5*通話時間(分鐘)
* (4)輸出話費
* */
var second = Number(prompt("請輸入通話時長(單位:秒)"));
var minute = Math.ceil(second/60);//按分鐘收費,不滿1分鐘的部分按1分鐘計費
var money = 0.5*minute;
alert("此次通話產生的話費"+money+"元");
</script>
選擇結構
2.1選擇結構基本概念
程式是用來解決生活中的問題的,現實生活中存在很多種選擇,比如,回家是坐飛機還是坐火車,我們心中肯定都有一個條件,那麼程式中也會有這樣處理方式,這就是選擇結構,滿足某個條件則執行某段程式,不滿足則執行另外一段程式。2.2if語句
If語句的套路:
(1)一個選擇依據(條件)
(2)兩個選項
它的規則是if括號後面的內容條件為真就執行if花括號後面的程式碼,不滿足條件就執行else後面花括號中的程式碼。