? Um ciclo ou loop é um algoritmo que faz com que um computador para repetir um conjunto de instruções até que uma condição seja atendida. Por vezes , um ciclo é definido de tal forma que não existe qualquer condição de funcionamento , ou que nunca podem ser satisfeitas . Uma vez que o programa atinge essa seqüência , ele fica preso nesse loop de sempre ( ou , mais provável, até que o computador é reiniciado ou o processo é abortado ) . Quando isso acontece , o programa é dito ter entrado num ciclo infinito. Exemplo
Um computador deu a seguinte seqüência de instruções vai ficar preso em um loop infinito :
A = 0;
B = 0;
Enquanto a < 10 {
B = B 1 ;
}
na planície Inglês , o programa acima conjuntos A e B a zero, e , em seguida, continua a aumentar B é igual a 10 até que um . Esta é , provavelmente, um erro de programação , como o aumento do valor de B não pode , eventualmente, fazer uma igual a 10 , eo programa fica preso em um loop infinito .
Causas
erros que levam a ciclos infinitos são comuns entre os programadores iniciantes , que podem se esqueça de incluir uma condição de terminação para um loop simples ou pode fazê-lo sem querer inacessível. Os programadores experientes também pode criar erros de loop infinito , como a interação de vários programas , por vezes, cria situações imprevistas levando a impasses ou outras formas de ciclos infinitos .
Consequências
as consequências de se chegar a um ciclo infinito varia de acordo com a arquitetura do sistema operacional. Em computadores mais antigos , ciclos infinitos potencialmente pode congelar todo o sistema , afetando todos os usuários. Em mais moderno , multi -tasking ambientes o programa problemático consome os recursos disponíveis, mas é forçado a reverter o controle para o sistema operacional ao longo do tempo , permitindo assim fácil de finalização do processo de bicicleta.
Intencional usar
Embora muitos ciclos infinitos são atingidos por engano, alguns deles servem a um propósito útil . Por exemplo , um computador deve constantemente monitorar dispositivos de entrada ou atividade a não ser que esteja desligada , e este processo de monitoramento constante pode ser caracterizada como um loop infinito. Consoles de videogame antigas eram muitas vezes "preso" em um ciclo infinito também, eventualmente, voltando para a tela de título após a inevitável "game over ".