Algorithme en 1ère S
Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
-
Snamel
- Membre Naturel
- Messages: 12
- Enregistré le: 10 Avr 2013, 12:36
-
par Snamel » 10 Avr 2013, 13:04
Bonjour, j'ai deux algorithmes à faire en javascript et je rencontre quelques difficultés.
Voici le premier, qui je pense est finit ou presque, mais il ne marche pas et je ne trouve ou cela bloque.
Entrée : U
Traitement : Afficher U
et sortie : Tant que U est différent de 1
Si U est pair
Affecter la valeur U/2 à U
Sinon
Affecter la valeur
(3U+1)/2 à U
Afficher U
Voici maintenant ce que j'ai fait :
U=10;
effacer("le brouillon");
écrire(U).sur ("le brouillon");
while (U!=1);
if (U/2==Math.floor(U/2))
{
U=U/2
}
else
{
U=3*U+1/2
};
écrire (U);
Pour le second, voici ce qu'il faut codé :
Entrées : U, n
Initialisation : Affecter la valeur 0 à i
Traitement : répéter n fois :
Affecter la valeur U à V
Affecter la valeur
0.5*U+1 à U
Si U Affecter la valeur
i+1 à i
Si i = n
Afficher : " (Un) est décroissante sur N."
Sinon
Afficher : " (Un) n'est pas décroissante sur N."
J'ai essayé de commencer mais c'est beaucoup plus flou pour moi :
U=0
n=0
i=0
U=V
U=1/2*U+1
If (UIf (i=n)
écrire sur ("le brouillon") " (Un) est décroissante sur N."
Else
écrire sur ("le brouillon") " (Un) n'est pas décroissante sur N."
Voila, merci de votre aide.
-
Snamel
- Membre Naturel
- Messages: 12
- Enregistré le: 10 Avr 2013, 12:36
-
par Snamel » 10 Avr 2013, 16:16
Personne ne peut m'aider ?
-
ampholyte
- Membre Transcendant
- Messages: 3940
- Enregistré le: 21 Juil 2012, 07:03
-
par ampholyte » 10 Avr 2013, 16:47
Bonjour,
Pour le premier code, souviens toi que tu peux vérifier si un nombre est paire ou non en testant le module de la division euclidienne (modulo).
Pour le second code, il te manque la boucle for.
Concernant ton problème pourrais-tu être plus explicite ? Qu'est-ce qui ne fonctionne pas ? As-tu une erreur ?
-
chan79
- Membre Légendaire
- Messages: 10330
- Enregistré le: 04 Mar 2007, 19:39
-
par chan79 » 10 Avr 2013, 17:56
Snamel a écrit:else
{
U=3*U+1/2
};
écrire (U);
Salut
Peut-être faut-il mettre une parenthèse autour de 3*U+1 ?
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 27 invités