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

Algorithme en 1ère S

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 ?

Avatar de l’utilisateur
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 ?

Avatar de l’utilisateur
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 ?

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 40 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