Algorithme
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
Odessa
- Membre Naturel
- Messages: 18
- Enregistré le: 25 Avr 2012, 12:31
-
par Odessa » 19 Fév 2014, 11:57
algorithme
-
chan79
- Membre Légendaire
- Messages: 10330
- Enregistré le: 04 Mar 2007, 19:39
-
par chan79 » 19 Fév 2014, 12:39
salut
Il suffit de rajouter un compteur que tu augmentes de 1 à chaque fois que tu changes la valeur de m
Pour tester la parité de m, tu as
m%2==0
-
Tiruxa
- Membre Relatif
- Messages: 460
- Enregistré le: 22 Oct 2013, 09:21
-
par Tiruxa » 19 Fév 2014, 14:49
Bonjour,
D'autre part, tu as mis l'affichage de m en dehors de la boucle, ce qui fait que tu n'auras que la valeur de départ (c'est à dire k).
Il faut déplacer cet affichage et le mettre dans la boucle (avant le test de parité).
Tu peux aussi au même endroit incrémenter (l'augmenter de 1) la variable compteur dont a parlé chan79.
Enfin après le FinTantque il faudra afficher m (qui doit valoir 1) ainsi que le compteur.
-
Odessa
- Membre Naturel
- Messages: 18
- Enregistré le: 25 Avr 2012, 12:31
-
par Odessa » 20 Fév 2014, 09:17
algorithme
-
Tiruxa
- Membre Relatif
- Messages: 460
- Enregistré le: 22 Oct 2013, 09:21
-
par Tiruxa » 20 Fév 2014, 09:34
Odessa a écrit:Merci beaucoup pour votre aide ! J'ai enfin réussi cet algorithme. Mais maintenant je dois le modifier pour afficher le nombre le plus grand de la chaîne, et je ne vois pas du tout comment faire. Pouvez-vous me donner une indication pour y arriver ?
Merci.
Il suffit d'utiliser une autre variable (t par exemple) au départ elle prendra la valeur k.
Ensuite après le FinSI et avant le FinTantque il faut tester si m>t, si c'est le cas t prend alors la valeur m.
Enfin en sortie de boucle (après le FinTantque) il faudra afficher t.
-
chan79
- Membre Légendaire
- Messages: 10330
- Enregistré le: 04 Mar 2007, 19:39
-
par chan79 » 20 Fév 2014, 09:38
Odessa a écrit:Merci beaucoup pour votre aide ! J'ai enfin réussi cet algorithme. Mais maintenant je dois le modifier pour afficher le nombre le plus grand de la chaîne, et je ne vois pas du tout comment faire. Pouvez-vous me donner une indication pour y arriver ?
Merci.
tu crées une autre variable qu'on peut nommer max
A chaque calcul de m, si m est plus grand que max, on remplace max par m
A la fin, on affiche max
grillé :zen:
-
Odessa
- Membre Naturel
- Messages: 18
- Enregistré le: 25 Avr 2012, 12:31
-
par Odessa » 23 Fév 2014, 16:39
algorithme
-
Tiruxa
- Membre Relatif
- Messages: 460
- Enregistré le: 22 Oct 2013, 09:21
-
par Tiruxa » 23 Fév 2014, 21:23
Bonsoir,
Oui tu t'es plutôt compliqué la tâche...
Plutôt que de mettre un compteur qui compte les éléments au dessus du k de départ, tu pourrais mettre dans ta variable compteur inf, la valeur de compteur lorsque le m est au dessous de la valeur initiale (inf).
Donc tu testes le contraire : Si (inf >m)
Toutefois par la suite il ne faudra pas le refaire même si l'on a des valeurs de m plus petites que inf.
Voilà comment tu pourrais faire :
Au départ, compteur inf prend la valeur 1.
Dans le programme après avoir calculé m tu testes si(inf >m et compteur inf =1)
Si c'est vrai compteur inf prend la valeur compteur.
Comme cela par la suite on aura compteur inf différent de 1 et le test sera faux.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 64 invités