인피니트 루프
는 여기로 連結됩니다. 거리 이름에 對해서는
애플 캠퍼스
文書를 參考하십시오.
無限 루프
(infinite loop)는 컴퓨터에서 프로그램이 끝없이 動作하는 것으로, 루프文에 終了 條件이 없거나, 終了 條件과 만날 수 없을 때 생긴다.
多重作業
을 支援한 오래된
運營 體制
는 한 프로그램의 無限루프에 全體 프로그램이 應答할 수 없게 만들었다.
意圖하지 않은 無限 루프
[
編輯
]
失手를 하여 無限 루프가 생길 수 있다. 無限 루프가 생기는지를 確認하는 一般的인 方法은 存在하지 않는다(
停止 問題
).
事例
[
編輯
]
dim
x
as
integer
do
until
x
>
5
x
=
1
x
=
x
+
1
loop
루프門 안에 x=1이 들어있기 때문에, x는 1로 再定義되어 다음 行에서 x=2街 된다. 따라서 條件文을 脫出할 수 없다. x=1을 루프 앞으로 끄집어 내어 解決할 수 있다.
다음은 컴퓨터에서 變數가 期待하지 않은 性質을 가져서 無限 루프가 되는 事例이다.
float
x
=
0.1
;
while
(
x
!=
1.1
)
{
printf
(
"x = %f
\n
"
,
x
);
x
=
x
+
0.1
;
}
0.1이 10番 더해지면, 1.1이 되어야겠지만 實際로는 2陣法
浮動小數點
으로 컴퓨터가 處理하므로 微細하게 다르기 때문에 無限루프가 된다. 이러한 問題는 x가 定해진 數와 같을 때 멈추는 條件을 不等號로 變更하여 解決할 수 있다.
같이 보기
[
編輯
]
外部 링크
[
編輯
]