跳至內容

程式設計基礎/實踐:條件

來自華夏公益教科書

章節摘要

[編輯 | 編輯原始碼]
  • 結構化程式設計 - 結構化程式設計是一種程式設計正規化,旨在透過廣泛使用選擇、重複、塊結構和子程式等結構化控制流程結構來提高計算機程式的清晰度、質量和開發時間。
  • 選擇控制結構 - 條件語句根據程式設計師指定的布林條件是否計算為真或假,執行不同的計算或操作。
  • If Then Else - 在許多程式語言中常見的雙向選擇結構。
  • 程式碼塊 - 原始碼的詞法結構,這些原始碼被分組在一起。
  • 關係運算符 - 測試或定義兩個實體之間某種關係。
  • 賦值與相等 - 賦值將值設定為變數的記憶體地址位置。左運算元設定為右運算元的值,並用單個等號 (=) 表示。相等是一個關係運算符,用於比較或測試兩個運算元,通常用兩個或三個等號 (==, ===) 表示。這種比較的結果返回真或假。[1] [2]
  • 邏輯運算子 - 用於連線兩個或多個表示式的符號或單詞,使得產生的複合表示式的值僅取決於原始表示式的值和運算子的含義。
  • 巢狀 If Then Else - 雙向選擇結構可以巢狀在其他雙向選擇結構中,形成多路選擇。
  • 情況控制結構 - case 或 switch 語句是一種選擇控制機制型別,用於允許變數或表示式的值透過多路分支更改程式執行的控制流。

複習問題

[編輯 | 編輯原始碼]

真 / 假

[編輯 | 編輯原始碼]
  1. 控制結構只有兩類。
  2. 分支控制結構在良好的結構化程式設計中很少使用。
  3. If then else 是一種多路選擇控制結構。
  4. While 控制結構是分支類別的一部分。
  5. 虛擬碼比流程圖更好。
  6. 在順序控制結構中,程式執行路徑由問題提示的選擇決定。
  7. 迭代控制結構允許一些程式碼行多次執行。
  8. 關係運算符是用於建立複雜布林表示式的運算子。
  9. 構建 if-then-else 語句的最佳方式是檢查語句是否為真。
  10. 語句“True and False”的值為“True”。
  11. 要初始化或設定變數的值,應使用等號運算子 (==)

答案

  1. false - 有三類。
  2. true
  3. false - 它是選擇結構的一部分。
  4. false - 它是重複類別的一部分。
  5. false - 雖然虛擬碼可能非常有用,但它不像流程圖那樣清晰。
  6. false - 順序結構程式按列表中的順序執行專案。
  7. true
  8. false - 它們用於測試值之間的關係。
  9. false - 通常,測試 False 或非 False 比測試 True 或非 True 更好。
  10. false - 語句的值為“False”。
  11. false - 使用賦值運算子 (=)

評估以下布林表示式

  1. 25 < 7
  2. 3 < 7
  3. 14 > 7
  4. 17 <= 7
  5. 25 >= 7
  6. 13 == 7
  7. 9 != 7
  8. 5 !> 7
  9. 25 > 39 || 15 > 36
  10. 19 > 26 || 13 < 17
  11. 14 < 7 && 6 <= 6
  12. 4 > 3 && 17 >= 7
  13. ! true
  14. ! (13 == 7)
  15. 9 != 7 && ! 1
  16. 6 < && 8

答案

  1. 0
  2. 1
  3. 1
  4. 0
  5. 1
  6. 0
  7. 1
  8. 錯誤,“不大於”不是有效的運算子。
  9. 0
  10. 1
  11. 0
  12. 1
  13. 0
  14. 1
  15. 0
  16. 錯誤,運算子 < 和 && 之間需要有運算元。

簡答題

[編輯 | 編輯原始碼]
  1. 列出控制結構的四類,並簡要描述每類。
  2. 建立一個包含六個關係運算符及其含義的表格。
  3. 提供在何時使用“if”、"if-else" 和 "if-else if-else" 的示例。
  4. 描述賦值和相等之間的區別,並提供每個被正確使用的示例。

使用虛擬碼、流程圖工具或您選擇的程式語言完成以下活動。對輸入、每種型別處理和輸出使用單獨的函式。透過傳遞引數和返回結果來避免全域性變數。建立測試資料以驗證每個程式的準確性。在程式頂部添加註釋,幷包括對所使用資源的引用。

  1. 建立一個程式,提示使用者輸入小時數和每小時工資,然後計算總工資(小時數 * 工資)。包括計算,為任何加班(超過 40 小時的工作時間)提供 1.5 倍的時薪。[3] 例如,以每小時 10 美元工作 50 小時,包括加班費為 550 美元。
  2. 建立一個程式,詢問使用者他們多少歲。然後詢問使用者他們是否想了解他們以(M)月、(D)天、(H)小時或(S)秒為單位的年齡。使用 if/else 條件語句來計算並顯示他們在選定時間段內的近似年齡。不要執行任何不必要的計算。
  3. 檢視MathsIsFun:美國標準長度。建立一個程式,詢問使用者以英里為單位的距離,然後詢問使用者他們是否希望以美國測量單位(碼、英尺和英寸)或公制測量單位(公里、米和釐米)表示距離。使用 if/else 條件語句來確定他們的選擇,然後計算並顯示結果。
  4. 檢視MathsIsFun:平面形狀的面積。建立一個程式,詢問使用者他們想計算什麼形狀的面積。使用 if/else 條件語句來確定他們的選擇,然後收集適當的輸入,並計算並顯示形狀的面積。
  5. 檢視維基百科:狗狗的衰老。建立一個程式,提示使用者輸入他們狗狗的名字及其以人類年齡為單位的年齡。計算並顯示他們狗狗以狗年為單位的年齡,假設前兩年分別等於 10.5 年,之後的每一年等於 4 個人類年。確保在輸出中包含狗狗的名字,例如
        Spike 以狗年計算是 14.0 歲。
  6. 建立一個程式,幫助使用者根據他們的鞋碼確定訂購什麼尺寸的襪子
        < 4 = 特小號
        4 到 6 = 小號
        7 到 9 = 中號
        10 到 12 = 大號
        13+ = 特大號
    使用 if/else 條件語句來確定他們的選擇,然後顯示結果。將半碼向上舍入到下一個整數。一種舍入方法是新增 0.5,然後轉換為整數。
  7. 如果您的程式語言支援,請更新上述一個或多個程式,用 case/select 條件語句替換 if/else 條件語句。
  8. 檢視維基百科:Is 函式。如果您的程式語言支援,請更新上述一個或多個程式,包括對所有數字輸入的輸入驗證。
  9. 如果您的程式語言支援,請透過新增結構化異常處理語句(try-catch、try-except 等)來擴充套件上述一個或多個程式,以處理使用者輸入無效值導致的任何執行時錯誤。

參考資料

[編輯 | 編輯原始碼]
華夏公益教科書