免費開始練習
高考申論題 108年 [資訊處理] 程式語言

第 二 題

二、請指出下列程式碼不合理之處。(25 分)
#include
#include

int main()
{
int s ,t;
scanf("%d%d", &s,&t);
while (s < 30) {
if (s < 100 || s >50) {
t++;
}
else if (s > 60 && s<-1) {
t++;
}
else if (s > 10 && s < 100) {
t--;
}
else
t++;
}
system("pause");
return 0;
}
📝 此題為申論題

思路引導 VIP

面對程式碼除錯或邏輯追蹤題,第一步應檢視「迴圈控制」,確認是否有條件更新以避免無窮迴圈。第二步運用「布林代數」檢視條件分支(if-else),尋找是否存在恆真(tautology)、恆假(contradiction)或與外層迴圈條件(如 s < 30)產生衝突的無效邏輯。

🤖
AI 詳解 AI 專屬家教

【破題】本題程式碼在「迴圈控制機制」與「條件分支邏輯」上皆存在嚴重的設計瑕疵,將導致無窮迴圈與大量的無效程式碼(Dead Code)。 【論述】 一、未更新迴圈控制變數(導致無窮迴圈)

▼ 還有更多解析內容

🏷️ 相關主題

C/C++程式設計:語法、邏輯與應用實例
查看更多「[資訊處理] 程式語言」的主題分類考古題

📝 同份考卷的其他題目

查看 108年[資訊處理] 程式語言 全題