✨ 第 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 鍵。
程式輸入的執行步驟:
- 程式顯示一個提示 (Prompt)(告訴使用者要輸入什麼的訊息)。
-
程式執行
INPUT指令並進入等待狀態(暫停)。 - 使用者透過鍵盤輸入數據。
- 輸入的數據儲存在電腦記憶體中的一個變數 (Variable) 內。
- 程式繼續執行。
虛擬碼範例:
PRINT "請輸入你的年齡: "
INPUT UserAge
// 'UserAge' 現在是一個儲存了輸入數據的變數。
你知道嗎?告訴使用者該輸入什麼至關重要。在沒有提示訊息的情況下要求輸入,是不好的程式設計習慣!
3.2 顯示數據 (PRINT/OUTPUT 指令)
PRINT 或 OUTPUT 指令用於在螢幕(主要輸出裝置)上顯示訊息、結果或變數內容。
我們使用 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 的流向對於編寫能與現實世界溝通的程式至關重要!
下次使用應用程式時,停下來想一想,識別一下其中的輸入與輸出吧!