我需要幫助這個簡單的迭代問題。我想分...Ada循環類型的數量直到它達到零
number : Float := 55.0;
loop
number := number/3.0;
Put (number);
exit when number <= 0.0;
end loop;
我希望它在第一個0.0退出。
我不斷收到的18.3 6.1 2.0 0.7 0.2 0.1 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
告訴你什麼:拿出一張紙,從55中分出3。然後將結果除以3.繼續重複這個過程,當結果<= 0時回到我們。 :-) –
確實生病了,因爲你說我曾經想分55/3:P。在ada中漂浮是有點奇怪,並提供簡單的計算奇怪的結果,正如我下面所說,我寫這顯示我有問題。它顯示額外的零 – ma1169
不,沒有什麼不尋常的事情。您的編譯器使用IEEE標準浮點,就像您可能需要運行的其他編譯器/解釋器一樣。如果你不相信我(或者,正如我所說,手工嘗試),請嘗試使用另一種語言的相同循環邏輯。 –