App Inventor:編碼條件

  • 了解條件語句以及如何編寫條件語句
  • 使用簡單的應用程式練習編寫條件塊

以下是本課的活動:

條件

每次打開移動應用程式時,它的運行方式並不完全相同。它基於您作為使用者的交互運行,這些交互並不總是完全相同。

我們已經瞭解了事件處理程式,以及它們如何在事件發生時觸發某些代碼塊運行。

除了事件處理程式之外,應用還可以通過其他方式決定要運行哪些特定的代碼塊以及何時運行。這些被稱為 條件。與條件關聯的塊稱為 條件塊

man at fork in the road

最佳實踐你可以用一個有趣的程式設計笑話來說明條件語句是多麼令人困惑:我的妻子說:“請去商店買一盒牛奶,如果他們有雞蛋,就買六個。我帶著 6 盒牛奶回來了。她說:“你為什麼買了六箱牛奶?!?!” 

這是一個有趣的腦筋急轉彎,它顯示了計算機有時是多麼愚蠢。左邊的第一列代碼是根據詢問發生的情況,我買了 6 箱牛奶。右邊的第二列代碼是 應該 發生的事情,我最終買了6個雞蛋。


我買了6箱牛奶,因為她說「買牛奶,如果有雞蛋,就買六盒。她的要求實際上讀起來是“買牛奶,如果商店裡有雞蛋,就買六箱牛奶。她需要指定「六個雞蛋」。 

這就是計算機的工作方式,它們只會使用您提供給它們的資訊,因此請確保它是特定的。

要向學生提出的指導性問題: 您最喜歡的應用程式上有哪些條件條件?(例如:如果您登錄了 TikTok,FYP 會從您的清單中拉出,否則它是隨機的,如果使用者啟用了深色模式,請將所有內容變為黑色)

導師提示由 AmeriCorps 提供支援。

stylized A, AmeriCorps logo in navy

範例

girl holding umbrella in the rain

一個條件的真實例子是天氣。

您可以根據該條件做出決定。

如果下雨,你可以用傘。

條件是“下雨”。

  1. 您可以通過查看天氣應用程式或查看窗外來確定該條件是真是假。
  2. 然後,您可以根據條件執行操作。
    1. 如果下雨,你就帶上傘。
    2. 否則,你跳過它並走出門。

你會根據周圍的情況做出各種各樣的決定。移動應用程式還會根據應用程式中的條件做出決策。例如,如果使用者輸入了錯誤的密碼,應用會顯示一條消息,告訴使用者輸入錯誤的密碼,並阻止他們繼續在應用中操作。

條件語句是所有程式設計語言(包括 App Inventor)的基礎。

App Inventor 中條件塊的結構為

如果 條件,

條件塊可以在塊編輯器的 控制 抽屜中找到。

App Inventor conditional blocks

以下是這些塊的工作原理。

app inventor if block

條件捕捉
到 if.

如果條件為 true, 則 then 插槽中的代碼將運行。

 如果條件為 false,
代碼被跳過,沒有任何反應。

app inventor if then else block

對於 if/else,如果條件為 true, 則 then 插槽中的代碼將運行。

如果條件為 false,則運行 else 插槽中的代碼。

app inventor if else if else block

對於 if/else if 塊,如果第一個條件為真, 第一個插槽中的代碼將運行。

如果第一個條件為 false,則檢查下一個條件。

 如果第二個條件為真,則第二個 then 插槽中的代碼將運行。

 如果第二個條件為 false,則運行 else 插槽中的代碼。

如果兩個條件都為假,則跳過該塊,並且不會發生任何事情。

您可以通過按一下藍色齒輪圖示來更改條件塊。

然後拖動更多 其他 ifelse 塊。

else if 塊允許您在一個塊中測試多個條件。

app inventor conditional block
app inventor if-else block
app inventor if else-if else block

如果下雨,
使用雨傘。

一個條件,一個選項。否則,不執行任何操作。

如果溫度大於 22C,
然後打開窗戶
否則關閉視窗。

一個條件,但有兩個選項。
一個是真的,一個是假的。

如果溫度大於 22C
然後打開窗戶
否則檢查溫度是否小於 7C
如果是這樣,請打開暖氣
否則,只需關閉窗戶即可。

檢查了兩個條件,
但是 3 個選項。

重要! 測試多個條件的順序確實很重要。一旦發現條件為真,它就會執行該代碼並跳過其餘代碼。

因此,在第三個示例中,如果溫度大於 22,它將打開窗口,並且不會檢查第二個 if 塊。

讓我們嘗試一個編碼示例

計數 遊戲 是一個簡單的應用程式,在其中,您(可能還有對手)不斷將數位添加到跑步總數中,並嘗試準確地達到100。如果你過去了,你就輸了。

animation of counting game running

活動:數數遊戲

預計時間:20 分鐘

使用條件語句完成計數遊戲

在 App Inventor 中打開 起始專案 ,然後按“將 App 載入到 App Inventor”鏈接創建自己的副本。

然後按照工作表中的說明完成應用程式!
打開工作表

希望您已經成功地使用條件塊編寫了計數遊戲!

如果您希望看到可能的解決方案,請按下此按鈕。

Checktotal function blocks

挑戰

向應用程式添加「重置」按鈕。

“重置”按鈕應將總數設置回零,以便使用者可以再次播放。

反射

你能想到你每天用來做決定的條件嗎?以下是一些範例:

post with different directions to go
如果外面很冷,那就穿夾克。
如果您的手機沒電了,請充電。
如果你生病了,那就去看醫生,否則就去上學。
如果你的衣服髒了,那就洗掉它們,或者把它們放在你的衣櫃里。

關鍵術語的審查

  • 條件 – 某物正在經歷的狀態或情況
  • 條件語句或塊 – 計算機根據條件做出決策的一種方式
  • if/else – 程式設計中條件語句的常見形式;告訴計算機如果條件為真,則執行此操作。否則,如果條件為假,則執行另一件事

其他資源

如果您想進行更多練習,請查看 Dave Wolber 教授 的這個例子 。他使用條件在 Soundboard 應用中啟動和暫停聲音檔。