我在編程測試中遇到了這個問題。你認爲這個問題甚至是正確的嗎?看看答案的選擇。 (2^x表示2上升到x)在下面的僞代碼中,我的值是多少?
考慮下面的僞代碼。
x:= 1;
i:= 1; (x> = 1000)
begin
x:= 2^x;
i:= i + 1;
end;
我在僞代碼結尾的值是多少?
一)4
b)中5
c)中6
d)7
E)8
我確信的i
將1
的值。我告訴審查員這種差異,如果我認爲這是不正確的,他建議我不回答問題。我還能做些什麼?
我在編程測試中遇到了這個問題。你認爲這個問題甚至是正確的嗎?看看答案的選擇。 (2^x表示2上升到x)在下面的僞代碼中,我的值是多少?
考慮下面的僞代碼。
x:= 1;
i:= 1; (x> = 1000)
begin
x:= 2^x;
i:= i + 1;
end;
我在僞代碼結尾的值是多少?
一)4
b)中5
c)中6
d)7
E)8
我確信的i
將1
的值。我告訴審查員這種差異,如果我認爲這是不正確的,他建議我不回答問題。我還能做些什麼?
X < 1000,因此它不會進入一段時間。
或者存在問題的錯誤(和X應< = 1000,而不是> = 1000)
如果它是< = 1000它應該是5:
2 - 4 - 16 - 65K
2 - 3 - 4 - 5
這個問題測試兩件事情:
既然你問到這一差異,表明1是真實的。我不確定你是否通過了2,這很大程度上取決於情況/期望。
我相信我會在答卷上留下一個註釋,說明'沒有給定'。
不是一個簡單的情況!
作爲寫入時,答案將是1。
對的,而測試被顛倒(即X < 1000),則該系列是:
在每次循環迭代
i = 2, x = 2 i = 3, x = 2^2 = 4 i = 4, x = 2^4 = 16 i = 5, x = 2^16 = 65,536
因此結束時,我會5
如果我在那裏你,我會說,它是以上皆非基本上說,因爲while循環開始時x小於1000,所以i的值永遠不會被修改。我認爲在測驗中留下空白答案是一件壞事,最好寫一些你認爲相關的東西。如果你認爲存在一個錯誤,你可以在陳述你的答案之前總是陳述一個假設,所以在這種情況下,你可以說while循環從來沒有工作,否則你明確地陳述一個假設,在這種情況下,它會就像「假設問題中有錯誤,並且」while(x> = 1000)「實際上應該是」while(x < = 1000)「... 然後,繼續您的工作。
它應該是'x <= 1000' – 2010-04-12 12:08:26