Une boucle infinie est une structure de programmation du logiciel qui s'exécute toujours. Si ce n'est pas écrit correctement , il ne peut être stoppée en effectuant une réinitialisation du système . Cependant, une ou plusieurs conditions de sortie peuvent permettre une boucle infinie de mettre fin gracieusement. Ils résultent habituellement d' erreurs de codage , tels que les conditions d'exécution de la boucle incorrectes. Les boucles infinies sont nécessaires dans certains cas , tels que les applications qui doivent être disponibles 24/7 , les stress tests et les ports de communication de données de sondage . Faits
L' algorithme général pour une boucle infinie est la suivante : ne { séquence d'actions } while ( toujours vrai - expression logique). Bien que la syntaxe réelle peut être différente pour Java , C + + et d'autres langages de programmation , l'un quelconque des constructions communes - pour , faire - tout et tout - peut être utilisé pour mener à bien des boucles infinies . Conditions de sortie d'arrêt d'exécution de la boucle , par exemple lorsque l'opérateur appuie sur une touche d'entrée particulière ou quand le programme se heurte à une valeur particulière . Par exemple , une simple boucle infinie avec une condition d'interruption pourrait être rédigé comme suit :
while ( true) {
get_name ("Quel est votre nom? " , Operator_name )
< p> si operator_name = Null puis break}
Cette boucle utilise une fonction , get_name (), pour inciter continuellement pour un nom. Le nom entré par l'opérateur est stockée dans la variable , operator_name . La boucle se brise si l'opérateur n'entre pas un nom et operator_name contient "Null ", qui signifie zéro.
Applications 24/7
boucles infinies peuvent être utilisés dans applications 24/7 . Les exemples incluent les guichets automatiques , les applications basées sur le Web et les applications à mission critique dans les hôpitaux et les milieux militaires . Certaines de ces applications utilisent les interruptions logicielles et matérielles pour activer tâches, qui sont des programmes autonomes qui exécutent des fonctions spécifiques. Toutefois, les constructions de boucle infinie avec des conditions d'arrêt appropriés sont également utilisés. Le logiciel d'interface opérateur de guichet automatique , par exemple, demande continuellement au client s'il souhaite effectuer toute autre action : c'est seulement lorsque le client entre "non" ça s'arrête , retournez la carte et imprimez le relevé de transaction
< . br>
stress Testing
Une boucle infinie peut être utilisé pour souligner logiciel de test et les applications matérielles. Les tests de stress implique appareils fonctionnant grâce à de multiples itérations et dans des environnements difficiles à vérifier les vulnérabilités . Par exemple , une boucle infinie peut vérifier si une application se bloque après un certain nombre d'itérations. Une boucle infinie pourrait également être impliqué dans les essais de résistance des utilisations répétées des touches et commandes sur les appareils d'entrée de l'opérateur , tels que les téléphones portables et les claviers .
Vote
boucles infinies peut être utile pour les bureaux de ports de communication entrée /sortie sur les ordinateurs et les appareils d'instrumentation. Bien que certains de ce qui peut être fait en utilisant les interruptions , où un signal du port indique au système d'exploitation que les données sont en attente d'être reçu ou émis , les programmeurs peuvent également écrire des boucles infinies pour accomplir ces tâches . Par exemple , une boucle infinie qui active tous si souvent peut vérifier tous les ports d'entrée /sortie sur un dispositif de surveillance pour les données , puis entrer en dormance afin de ne pas consommer une capacité de traitement supérieure .