0
所以我得到了這個ADL代碼,並要求通過不同數字輸入的代碼來呈現結果測試表。 我明白了大部分內容,但從[
開始直到]
結束,我一直在掙扎。瞭解ADL中的for循環
這就是我到目前爲止: 對於任何負值,代碼在第一個if語句後結束,並且不顯示任何內容。 對於任何0值,代碼在第二個if語句後結束。 對於任何1值,代碼在第三個if語句之後結束。 任何幫助將不勝感激。
考慮下面的算法寫在ADL:
procedure unknown(IN number, OUT result, OUT status)
declare i, number1, number2, sum
status <-- true
if number < 0 then [status <-- false]
else
if number = 0 then [result <-- 0]
else
if number = 1 then [result <-- 1]
else
**[number2 <-- 0
number1 <-- 1
for i <-- 2 to number do
sum <-- number1 + number2
number2 <-- number1
number1 <-- sum
end
result <-- sum
]**
endif
endif
endif
end // unknown
使用這種算法,你需要完成以下任務:
我。假裝成一個處理器,並使用演講中講授的代碼漫遊技術來執行上述算法。爲此設計自己的測試數據,並解釋該算法的功能。
哇,謝謝。 – JosephHistorg
我剛剛意識到我應該避免像「謝謝」這樣的評論,但我不知道如何表達我的讚賞。我當然不會注意到這是一個斐波那契數列。 – JosephHistorg
@JosephHistorg我很高興能有所幫助。祝你今天愉快。 – Skyler