Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Algorithme Algobox suites

Posté par
lisaneko
28-01-15 à 18:11

Bonjour à tous !
Je dois rendre un DM très prochainement mais un des exercices donnés me pose problème .. il me faut créer un algorithme sur le logiciel Algobox mais, bien que je me sois renseignée sur internet rien à faire mon algorithme ne fonctionne pas :'( Voici l'énoncé donnée à propos de la suite de Syracuse :

Soit U définie sur N par son terme initial u0 ( avec u0 entier naturel ) et pour tout entier :

Un+1 = (Un/2) si Un est pair
Un+1 = 3*Un+1 si Un est impair

On suppose que u0 = 176.

Retrouver les 100 premiers termes de la suite en écrivant un algorithme sur Algobox. Il faudra afficher chaque terme de la suite.

Tester l'algorithme et modifier plusieurs fois u0, qu'observe-t-on ?

Merci beaucoup pour vos réponses !

Posté par
Glapion Moderateur
re : Algorithme Algobox suites 28-01-15 à 18:17

Bonsoir, tu devrais nous montrer ton algorithme, on te dira ce qui ne va pas.

Posté par
lisaneko
re : Algorithme Algobox suites 28-01-15 à 18:23

Et bien pas grand ne va en fait
Voilà ce qui a été tapé :

n est du type nombre
u est du type nombre
i est du type nombre

Debut algorithme :
-> lire n
-> n prend la valeur 176
-> pour i allant de 0 à 100

-> Debut pour
-> Si (floor(u/2==u/2))alors
-> Debut si
-> u prend la valeur u/2
-> Fin SI

Sinon

-> Debut sinon
-> u prend la valeur 3*u+1
-> Fin sinon

Afficher i
Afficher u
Fin pour

Fin algorithme

Voilà ce qui a été tapé mais je ne comprend pas pourquoi le résultat n'en fini pas, je n'ai qu'une succession de nombres :/

Posté par
Glapion Moderateur
re : Algorithme Algobox suites 28-01-15 à 18:28

lire n et juste après "n prend la valeur 176 " ça n'a pas grand sens
tu as voulu écrire u prend la valeur 176 (ou alors mets LIRE u ce qui permettra de démarrer de n'importe qu'elle valeur)
et n ne sert à rien, tu peux enlever le LIRE n

Pour aller à la ligne à chaque fois mets plutôt :
Afficher "terme N°"
Afficher i
Afficher " : "
Afficher* u

(* fait aller à la ligne)

mais sinon, ça devrait marcher

Posté par
lisaneko
re : Algorithme Algobox suites 28-01-15 à 18:35

D'accord merci je vais essayer et voir si ça marche

Posté par
lisaneko
re : Algorithme Algobox suites 28-01-15 à 18:46

Il y a un problème : si j'enlève "lire n" et que je mets "lire U" a la place, l'algorithme m'affiche directement la valeur 6.941976e-29101  :/

Posté par
Glapion Moderateur
re : Algorithme Algobox suites 28-01-15 à 22:54



VARIABLES
   u EST_DU_TYPE NOMBRE
  i EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
  LIRE u
  AFFICHER "0 -> "
  AFFICHER* u
  POUR i ALLANT_DE 1 A 100
    DEBUT_POUR
    SI (u%2==0) ALORS
      DEBUT_SI
      u PREND_LA_VALEUR u/2
      FIN_SI
      SINON
        DEBUT_SINON
        u PREND_LA_VALEUR 3*u+1
        FIN_SINON
    AFFICHER i
    AFFICHER " -> "
    AFFICHER* u
    FIN_POUR
FIN_ALGORITHME


(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )

Posté par
lisaneko
re : Algorithme Algobox suites 31-01-15 à 15:09

Merci beaucoup ça marche enfin



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1742 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !