Prog ARM

Discutez d'informatique ici !
Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

Prog ARM

par Rockleader » 14 Mar 2014, 18:51

Bonsoir, je voudrais revenir sur un point de syntaxe qui m'a semblé bizarre en relisant mon cours et qui ne m'avait pas interpellé en cours.


Il s'agit de la syntaxe sur une boucle.

Imaginons un truc un peu dans ce style

Tant que
faire ...

Pour fermer la boucle on va faire quelque chose comme ça

FIN B FIN


Mais ce qui me choque c'est que si j'ai bien compris, l'instruction B FIN va boucler sur l'étiquette FIN etc etc
Donc on prend une boucle infini il me semble. Je ne comprends pas...
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !



Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 18 Mar 2014, 10:21

Bonjour,

Je ne connais pas l'ARM mais cela ressemble à d'autres langages.

Lorsque tu écris

Tant que
Faire...
FIN B FIN

Tu indiques la fin de la boucle. Lorsque l'on arrive à l'instruction FIN B FIN, le programme va remonter au tant que, vérifier si la condition est vraie.

Si la condition est vraie on execute le faire, sinon on saute à l'instruction après le FIN B FIN.

C'est comme une boucle en C

Code: Tout sélectionner
 
while (condition) { => tant que
    /* faire */     => faire ...
}                   => FIN B FIN


La syntaxe ne possédant pas d'accolade ou de système d'indentation permettant au programme de définir à quel moment la boucle s'arrête (quel est le nombre d'instruction à executer dans la boucle), il est nécessaire de définir un instruction de fin (ici FIN B FIN)

Si tu te souviens bien en ocaml, tu retrouves un peu cette structure :

Code: Tout sélectionner
while condition do
# instruction
done


Ici le done joue le rôle de fin de boucle (à partir du done on retourne au while pour vérifier la condition ...)

Est-ce plus clair ? Peut-être est-ce que j'ai mal compris ta question ?
[/code]

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 18 Mar 2014, 15:14

C’est juste que ça me donne l'impression que un fin tant que sous cette forme réalise une boucle infini.

B FIN B FIN B FIN etc etc


C'est pas très important mais je comprends pas pourquoi ça se fait de cette façon.


Ps: jamais fait de ocaml ;)

Juste ada et c ;)
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Avatar de l’utilisateur
ampholyte
Membre Transcendant
Messages: 3940
Enregistré le: 21 Juil 2012, 07:03

par ampholyte » 18 Mar 2014, 15:25

Je pense que tu te poses trop de question sur la syntaxe. C'est une chose qu'il faut apprendre.

Dans certains langages, il est nécessaire de marquer la fin de la boucle.

En ada, tu retrouves le même principe :

Code: Tout sélectionner
WHILE A  Marque la fin de la boucle

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite