✨ 第 4 章:程式設計中的輸入與輸出 (I/O) ✨

歡迎來到輸入與輸出 (Input and Output, I/O) 的章節!別擔心這個術語聽起來很專業——這其實是電腦科學中最直觀且重要的一部分。

你可以把電腦程式想像成一個你正在交談的朋友。如果你希望朋友幫你做點事,你必須告訴他(輸入)。當他完成後,他需要告訴你結果(輸出)。如果沒有 I/O,你的程式就只是一台在黑暗中默默運作的強大機器而已!

在本章中,我們將深入了解什麼是 I/O、有哪些裝置負責處理它,以及如何在程式碼中使用特定的指令來管理資訊流。讓我們開始吧!


1. 基礎知識:定義輸入與輸出

「輸入」與「輸出」這兩個術語,是用來描述數據相對於中央處理器 (CPU)——也就是電腦的大腦——移動的方向。

1.1 輸入:收集數據

輸入是指發送到電腦系統或程式中的任何數據或指令。
輸入的目的是為程式提供執行任務所需的資訊。

  • 方向:外部 → 內部(使用者/裝置到 CPU)
  • 目的:輸入數據、回答問題或發出指令。
  • 類比:輸入就像你在餐廳點餐。你是在對系統下達指令。

關鍵輸入術語:數據輸入 (Data entry)使用者互動 (User interaction)讀取 (Reading) 數據。

1.2 輸出:呈現結果

輸出是指從電腦系統或程式中發送出來的任何數據或資訊。
輸出的目的是以人類可讀或可用的格式呈現處理結果。

  • 方向:內部 → 外部(CPU 到使用者/裝置)
  • 目的:顯示結果、展示訊息或建立實體副本。
  • 類比:輸出就像廚師為你送上烹飪好的餐點。系統正在向你展示其工作的成果。

關鍵輸出術語:顯示 (Displaying)列印 (Printing)寫入 (Writing) 數據。

🧠 快速回顧:數據流向

輸入裝置CPU (處理)輸出裝置


2. 輸入與輸出裝置

I/O 裝置是硬體元件,負責將人類的行為(如打字)轉換為電腦數據(輸入),並將電腦數據轉換為人類可感知的形式(輸出)。

2.1 標準輸入裝置

這些裝置允許使用者提供數據或指令給電腦。

  • 鍵盤:輸入文字和數字數據最常見的裝置。(例如:輸入密碼)
  • 滑鼠/觸控板:用於控制螢幕上的指標、選擇選項及發出指令。(例如:點擊「提交」按鈕)
  • 掃描器:擷取影像或文件,並將其轉換為電腦可讀取的數位格式。(例如:掃描相片)
  • 麥克風:擷取聲波並將其轉換為數位音訊數據。(例如:錄製語音筆記或使用語音搜尋)
  • 網絡攝影機 (Webcam)/相機:擷取視覺影像並轉換為數位視覺數據。

2.2 標準輸出裝置

這些裝置接收來自電腦的已處理數據,並將其呈現給使用者。

  • 顯示器/螢幕 (VDU - 視覺顯示單元):顯示視覺輸出,如文字、影像和影片。這是我們觀察程式運作的主要途徑。
  • 打印機:將數位數據製作成硬拷貝(實體列印本)。
  • 揚聲器/耳機:將數位音訊訊號轉換為可聽見的聲波。(例如:聆聽音樂或系統提示音)
  • 投影機:將視覺輸出投射到大型表面(如牆壁或投影幕)上。
⚠️ 常見誤區提醒

最常見的錯誤是混淆那些「看似兩者皆備」的裝置!
觸控螢幕 (Touchscreen) 技術上既是輸入(當你觸碰時)也是輸出(當它顯示資訊時)。然而,在考試中,請務必關注題目所考查的主要功能,或者說明它是一個同時處理兩者的周邊裝置 (Peripheral)


3. 程式設計中的輸入與輸出

在程式設計中,我們使用特定的指令(或函數)與使用者互動並處理數據流。這使得我們的程式具備互動性 (Interactive)

3.1 接收數據 (INPUT 指令)

當程式需要使用者的資訊時,它會執行一個 INPUT 指令。此指令會暫停程式執行,等待使用者輸入內容並按下 Enter 鍵。

程式輸入的執行步驟:
  1. 程式顯示一個提示 (Prompt)(告訴使用者要輸入什麼的訊息)。
  2. 程式執行 INPUT 指令並進入等待狀態(暫停)。
  3. 使用者透過鍵盤輸入數據。
  4. 輸入的數據儲存在電腦記憶體中的一個變數 (Variable) 內。
  5. 程式繼續執行。

虛擬碼範例:

        

PRINT "請輸入你的年齡: " INPUT UserAge
// 'UserAge' 現在是一個儲存了輸入數據的變數。

你知道嗎?告訴使用者該輸入什麼至關重要。在沒有提示訊息的情況下要求輸入,是不好的程式設計習慣!

3.2 顯示數據 (PRINT/OUTPUT 指令)

PRINTOUTPUT 指令用於在螢幕(主要輸出裝置)上顯示訊息、結果或變數內容。

我們使用 PRINT 指令主要基於兩個原因:

原因 1:顯示固定的文字訊息
(例如:顯示說明或歡迎使用者)

        

PRINT "歡迎使用計算機程式。"

原因 2:顯示變數的值
(例如:顯示運算的結果)

        

RESULT = 10 * 5 PRINT "答案是: " PRINT RESULT
// 顯示給使用者的輸出: 答案是: 50

💡 記憶技巧:「P」規則

PRINT 將資訊送Past(傳過)螢幕/打印機(輸出)。
INPUT 將資訊拉入 (INto) 電腦(輸入)。

3.3 I/O 與數據類型

輸入數據時,數據類型非常重要。程式必須知道使用者輸入的是文字 (字串 String) 還是數字 (整數 Integer實數 Real)。

  • 如果程式預期接收數字,但使用者輸入了字母,程式可能會崩潰或產生錯誤,這顯示了進行輸入驗證 (Input Validation)(檢查輸入是否合理)的必要性。
  • 請記住:透過鍵盤輸入的任何內容,最初都會被視為字串(純文字),如果我們打算對其進行運算,有時必須將其轉換為數字類型。

重點總結

I/O 是使用者與處理器之間的橋樑。輸入將數據傳入(如鍵盤),輸出將數據推向外部(如螢幕)。掌握 I/O 的流向對於編寫能與現實世界溝通的程式至關重要!

下次使用應用程式時,停下來想一想,識別一下其中的輸入與輸出吧!