程式設計基礎(虛擬碼追蹤)
以三選一題型,逐行追蹤以日本基本資訊技術人員考試科目B相同形式的虛擬碼所寫的短程式並求出結果。內容包含指派與變數、迴圈與條件分支、陣列與字串、整數除法與餘數、遞迴呼叫、位元運算、堆疊與佇列、鏈結串列、差一錯誤、短路求值、實數的誤差,以及類別與實例。
—你的答對率
0 / 40已作答的題目
程式設計基礎(虛擬碼追蹤)的重點
要正確讀懂程式的動作,必須具備親手追蹤變數的值如何逐行變化的能力。把迴圈次數數錯一次、因指派的順序而遺失值、整數除法捨去了小數部分等小小的疏忽,都會造成錯誤的結果或程式錯誤。
本單元以追蹤短程式並回答結果的題目為主。這些程式仿照日本基本資訊技術人員考試科目B所使用的虛擬碼撰寫,包含整數型的宣告、以 ← 指派、if・while・for,以及從1開始的陣列元素編號等。錯誤的選項是由弄錯終值、誤解運算子優先順序等典型錯誤所產生的值,解說中會說明各選項來自哪一種錯誤。
程式設計基礎(虛擬碼追蹤)的題目列表(40題)
- 下列程式原本打算用兩個指派敘述交換 x 與 y 的值。執行後 x 與 y 的值為下列何者?
- 下列程式將3個變數的值依序傳遞。執行後 a、b、c 的值為下列何者?
- 下列程式反覆將 x 乘以3。執行後 n 的值為下列何者?
- 下列 for 迴圈每次讓 i 增加2。執行後 s 的值為下列何者?
- 下列雙重迴圈中,內層迴圈的初值由外層變數 i 決定。執行後 c 的值為下列何者?
- 下列程式在雙重迴圈中有條件分支。執行後 c 的值為下列何者?
- 為了求陣列 a 所有元素的總和而寫了下列程式。陣列的元素編號從1開始。執行後 s 的值為下列何者?
- 陣列的元素編號從1開始。下列程式尋找最大的元素。執行後 m 的值為下列何者?
- 為了把陣列 a 的元素反轉順序而寫了下列程式。陣列的元素編號從1開始。執行後 a 的內容為下列何者?
- 陣列的元素編號從1開始。執行下列程式後,陣列 a 的內容為下列何者?
- 陣列的元素編號從1開始。下列程式比較相鄰的元素。執行後 c 的值為下列何者?
- m[i, j] 表示二維陣列 m 第 i 列第 j 行的元素,元素編號從1開始。執行下列程式後 s 的值為下列何者?
- 以下列程式將4列5行的二維陣列 m 的元素移到元素數為20的陣列 b。m[i, j] 表示第 i 列第 j 行的元素,元素編號從1開始。m[3, 2] 會被指派到 b 的哪一個元素編號?
- 陣列的元素編號從1開始,+ 表示字串的串接。執行下列程式後 r 的值為下列何者?
- 下列函式 isPal 在字串型陣列 s 的字元排列無論從前或從後讀都相同(回文)時回傳 true。陣列的元素編號從1開始。程式中的【a】應填入下列何者?
- ÷ 為除法,代入整數型變數(含引數)時捨去小數部分。以 f(9087) 呼叫下列函式 f 時,回傳值為下列何者?
- ÷ 為除法,代入整數型變數(含引數)時捨去小數部分。以 toBin(12) 呼叫下列函式 toBin 時,回傳值為下列何者?
- 下列程式以減法使兩個整數 a、b 逐漸相等。執行後 k 的值為下列何者?
- 下列函式 isLeap 在西元 y 年為閏年時回傳 true。and 比 or 先計算。isLeap(y) 回傳 true 的 y 為下列何者?
- ÷ 為除法,代入整數型變數(含引數)時捨去小數部分。以 pow(2, 10) 呼叫下列函式 pow 時,pow 被呼叫的次數(含第一次呼叫)為下列何者?
- 以 s(7) 呼叫下列函式 s 時,回傳值為下列何者?
- 以 p(3) 呼叫下列程序 p 時,輸出的值的順序為下列何者?
- 以 fib(10) 呼叫下列函式 fib 時,回傳值為下列何者?
- 以 c(4, 2) 呼叫下列函式 c 時,c 被呼叫的次數(含第一次呼叫)為下列何者?
- ⊕ 表示逐位元的互斥或。執行下列程式後 x 與 y 的值為下列何者?
- x 與 y 為8位元的無號整數。<< 與 >> 為邏輯移位,空出的位元補0,超出8位元的位元捨棄。∨ 表示逐位元的邏輯或。執行下列程式後 y 的值為下列何者?
- ∧ 表示逐位元的邏輯與。執行下列程式後 c 的值為下列何者?
- x 與 y 為8位元的無號整數。<< 與 >> 為邏輯移位,空出的位元補0,超出8位元的位元捨棄。∨ 表示逐位元的邏輯或。x 為 75 時,執行下列指派後 y 的值為下列何者?
- 下列程序 bubble 是將整數型陣列 data 以遞增順序排列的泡沫排序。swap(data, j, k) 是交換 data[j] 與 data[k] 的值的程序,陣列的元素編號從1開始。程式中的【a】應填入下列何者?
- ÷ 為除法,代入整數型變數(含引數)時捨去小數部分。下列程式在以遞增順序排好的整數型陣列 data(元素編號從1開始)中,把第一個大於或等於 x 的值的元素編號求到 lo。x 不大於 data 的最後一個元素。程式中的【a】應填入下列何者?
- 以元素數為5的整數型陣列 st 與整數型變數 top 表示堆疊。st 的元素一開始全為0,top 從0開始。push(v) 先把 top 加1再執行 st[top] ← v,pop() 回傳 st[top] 的值後把 top 減1(不改變 st 的元素)。執行下列程式後 top 與 st 為下列何者?
- 有一個把元素數為4的字串型陣列 q 環狀使用的佇列。head 與 tail 的初值為1,enq(v) 執行 q[tail] ← v 後再執行 tail ← tail mod 4 + 1,deq() 回傳 q[head] 的值後執行 head ← head mod 4 + 1。執行下列程式時,「E」會存放在 q 的哪個元素?
- 下列程式從元素編號1的元素開始,依序走訪以陣列 next 連接元素的鏈結串列並輸出。陣列的元素編號從1開始。next 的值0表示串列的結尾。輸出的值的順序為下列何者?
- 下列程式在以陣列 next 連接的鏈結串列 A → C → E → D → B 中,把 val[6] 的「F」插入到「C」(元素編號3)的正後方,再從元素編號1的元素開始依序走訪並輸出。陣列的元素編號從1開始。next 的值0表示串列的結尾。為使輸出為 A, C, F, E, D, B,【a】應填入下列何者?
- 下列 for 迴圈每次讓控制變數增加5。執行後 c 的值為下列何者?
- 下列程式的 and 在左側的式子為 false 時不評估右側的式子(短路求值)。cnt 是全域變數。執行後 cnt 的值為下列何者?
- 下列程式在元素數為 n 的陣列 a 中尋找值 x,並把找到的元素編號求到 i。陣列的元素編號從1開始。and 與 or 在只看左側的式子就能決定結果時,不評估右側的式子。【a】中填入的條件式中,在 x 不在 a 中時會參照到範圍外 a[n + 1] 的是下列何者?
- 實數型的值以 IEEE 754 雙精度(binary64)表示,加法的結果捨入為最接近的可表示值。執行下列程式後 c 的值為下列何者?
- 類別 Counter 的每個實例各有一個整數型成員變數 count(建立時為0),方法 inc() 會將自己的 count 加1。執行下列程式後 x 的值為下列何者?
- 類別 Counter 的每個實例各有一個整數型成員變數 count(建立時為0),方法 inc() 會將自己的 count 加1。Counter 型的變數中存放的不是實例本身,而是指向實例的參照。執行下列程式後 x 的值為下列何者?
電腦系統的其他領域
- 電腦算術 IEEE 754、定點數、捨入誤差
- 機率、統計與等候理論 情形數、機率分布、估計與檢定、M/M/1
- 資訊理論與編碼基礎 熵、霍夫曼編碼、漢明碼、CRC
- 指令集與組合語言 RISC-V、定址模式、呼叫慣例
- 編譯器 語法分析、SSA、最佳化、暫存器配置
- 連結器與載入器與執行檔格式 ELF、符號解析、重定位、動態連結
- 作業系統與硬體 中斷、系統呼叫、分頁錯誤
- Linux與命令列基礎 Shell、檔案權限、管線、腳本
- 記憶體階層與效能 快取、替換策略、三種失誤
- 多核心與同步 MESI、原子指令、記憶體屏障
- GPU程式設計 warp、共享記憶體、合併存取、佔用率
- AI硬體與軟體堆疊 推論與訓練、量化、Roofline模型
- 機器學習基礎 學習類型、評估指標與神經網路
- 嵌入式與韌體 GPIO、UART/SPI/I2C、RTOS
- 硬體描述語言與驗證 Verilog、閂鎖、狀態機、測試平台
- 介面與匯流排規格 PCIe、USB、SerDes、CXL
- 電腦網路基礎 TCP/IP、子網路計算、DNS、TLS
- Web技術基礎 HTTP、Cookie、REST、CORS、快取
- 無線通訊基礎 調變、OFDM、MIMO與射頻電路
- 資訊安全基礎 加密、驗證、網頁攻擊與對策
- 資料庫基礎 SQL、正規化、交易
- 資料結構與演算法 時間複雜度、搜尋、排序與圖
- C語言基礎 指標、記憶體、未定義行為
- 軟體開發與專案管理 開發流程、測試、時程與成本管理
- 經營策略與會計基礎 會計、損益兩平點、經營策略、行銷
- IT服務管理與系統稽核 SLA、事件與問題、稽核與內部控制
- 系統架構與可靠度設計 備援、RAID、備份與雲端
- 雲端與容器基礎 Docker、Kubernetes、共同責任模型、IaC
- 效能評估與效能剖析 阿姆達爾定律、CPI、瓶頸
- 硬體安全 旁路攻擊、安全開機、TEE、PUF
- 電源管理(軟體控制) DVFS、電源閘控、睡眠狀態