Bonjour, est-ce que quelqu'un peut m'aider à réaliser cet exercice car je n'y arrive pas du tout ..
1) Faire fonctionner un algorithme c'est dresser le tableau des nombres contenus dans chacune des mémoires après l'exécution de chaque ligne de l'algorithme. On utilise l'algorithme suivant :
déclaration : x est un nombre
y est un nombre
traitement : saisir x
saisir y
x prend la valeur x+y
si x > 0
alors y prend la valeur 4
sinon y prend la valeur 2y
fin de test
Si on saisit 2 dans la mémoire x puis 3 dans mémoire y, on obtient le tableau suivant :
x | y |
2 | 0 |
2 | 3 |
5 | 3 |
5 | 4 |
x | y |
2 | 0 |
2 | -3 |
-1 | -3 |
-1 | -6 |
alors, on reprend au début et on déroule le programme pas à pas
saisir x, saisir y on demande 2 nb à l'utilisateur (premier ex. 2 et 3)
x prend la valeur x+y tu calcules x+y (ici 5) et tu le mets dans x.
à cette étape, x vaut 5, y vaut 3
si x > 0 (ce qui est le cas ici)
alors y prend la valeur 4
sinon y prend la valeur 2y
fin de test
puisque x est positif, on effectue la première ligne ("alors...")
donc y prend la valeur 4 ; x lui ne change pas
l'exécuton est terminée.
Fais pareil avec le deuxième exemple (chaque ligne du tableau correspond à une ligne du programme et à chaque étape tu détermines les valeurs de chacune des variables)
Connais-tu algobox ? tu pourrais faire tourner le programme pas à pas avec ce logiciel
Merci beaucoup pour l'explication. Il y a un point que je ne comprends pas. Par exemple pour le passage
" x prend la valeur x+y tu calcules x+y (ici 5) et tu le mets dans x. à cette étape, x vaut 5, y vaut 3", pourquoi la premiere ligne du tableau n'est pas 5 et 3 ?
Oui le prof nous a parlé d'algobox, mais j'ai du mal à m'en servir..
la première ligne du tableau correspond à "saisir x"
la deuxième saisir y
en dessous du trait un peu plus épais tu retrouve le 5 et 3
Pour plus de clarté, tu pourrais rajouter une première colonne au tableau contenant la ligne effectuée
Ah oui d'accord ! Donc le tableau correspondant à la question serait :
x | y |
-4 | 0 |
-4 | 1 |
-3 | 1 |
-3 | -6 |
le tableau sera beaucoup plus long car il y a une boucle.
J'ai préparé le tableau ; arrives-tu à le compléter ?
traitement : x prend la valeur 2
y prend la valeur 5
pour l entier de 1 à 4
x prend la valeur x+y
y prend la valeur x+l
fin de boucle
x | y | l | |
x prend la valeur 2 | |||
y prend la valeur 5 | |||
Début de la boucle l=1 | |||
x prend la valeur x+y | |||
y prend la valeur x+l | |||
2ème boucle l=... | |||
x prend la valeur x+y | |||
y prend la valeur x+l | |||
3ème boucle | |||
x prend la valeur x+y | |||
y prend la valeur x+l | |||
4éme | |||
x prend la valeur x+y | |||
y prend la valeur x+l | |||
fin du programme |
si tu as encore des questions, je reviens dans l'après midi
(pour les valeurs finales tu dois trouver (je crois) x=67 et y=71)
tu es sur la bonne voie, mais tu as une erreur pour y dans le premier passage dans la boucle : y prend pour valeur x+l donc y=7+1=8 et non 6.
Cette erreur se répercute sur la suite.
voilà ce que cela donnerait avec algobox
(dans l'exécution, l'affichage final, 6771, n'est pas très esthétique, j'aurai du écrire x=67, y=71)
bonne continuation
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :