IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Représentation de nombres en base 10


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 4
    Par défaut Représentation de nombres en base 10
    Bonjour à tous,

    Je suis étudiant en droit du numérique et nous avons un exercice d'algorithmique à faire. Etant un juriste, je n'ai jamais fais d'algorithmique avant cette année donc tout est nouveau pour moi, c'est donc normal si vous trouvez ça très simple ahah

    Alors il nous ait demandé de créer un algorithme permettant, à partir d'un tableau en forme standard représentant un nombre, de renvoyer le même tableau mais sans les éventuels 0 finaux. Je m'explique.

    Nom : IMG_2938 2.jpg
Affichages : 931
Taille : 1,19 Mo

    Le premier tableau représente le numéro 863 car cela représente 13x10^0 + 5x10^1+8x10^2+0x10^3 (car nous somme en base 10)

    Le but de l'algorithme est d'enlever les 0 qui ne servent à rien à la fin.

    Nous avons appris en cours à supprimer des variables d'un tableau avec l'algorithme suivant :
    Nom : Capture d’écran 2021-10-09 à 20.27.33.png
Affichages : 1620
Taille : 123,6 Ko

    Or, si on veut enlever les 0, on ne peut déjà pas écrire (TAB′ [𝑖])0⩽𝑖<N−1 car on ne sait pas combien il y aura de 0 en trop. Donc je suis complètement bloqué depuis maintenant 5h.

    L'algorithmique est vraiment compliqué pour moi et je demande votre aide.

    Merci d'avance !

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 218
    Par défaut
    Ici, tu as un 'outil' pour supprimer systématiquement un caractère, en position n°k.
    Tu peux utiliser cet 'outil'.
    Il faut juste utiliser cet outil autant de fois que nécessaire. Ni plus, ni moins.

    Tu peux présenter ton organigramme ainsi, en 2 parties :
    D'abord une vision 'high-level' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TantQue Le-Dernier-Caractère est 0
         Supprimer Le-Dernier-Caractère
    Fin TantQue
    Puis tu peux présenter le détail sur comment on fait pour Supprimer Le-Dernier-Caractère

    Ici je présente l'algorithme, avec mes habitudes à moi. Selon les profs, selon le niveau du cours, il faut parfois détailler beaucoup plus que ça.

    Mais en principe, un mot clé comme TantQue est accepté dans un algorithme. (en programmation, à peu près tous les langages acceptent l'instruction While, avec des syntaxes variées)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 4
    Par défaut
    Merci pour votre réponse !

    J'ai donc fais l'algorithme suivant :
    Entrées : Un tableau d'éléments ((Tab[i])0<=i<N) de longueur N
    Un entier a représentant le nombre de 0 à supprimer
    1.Suppression ((Tab[i])0<=i<N)
    2. Nouveau ((Tab'[i])0<=i<N-a)
    3. Si Tab[0] <-- 0, alors
    4. ((Tab'[i]0<=i<N-a) <-- 0
    5. Sinon, faire
    6. Tant que Tab[i] > 0 faire
    7. Tab'[i] <-- Tab[i]
    8. fin
    9. Retourner ((Tab'[i])0<=i<N-a)

    Sorties : Un tableau d'éléments ((Tab'[i])0<=i<N-a)

    Qu'en pensez- vous ?

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Le premier tableau représente le numéro 863 car cela représente 13x10^0 + 5x10^1+8x10^2+0x10^3 (car nous somme en base 10)
    13 en base 10 ? Y a pas quelque chose qui te choque ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 4
    Par défaut
    Bonjour,

    Je pensais que écrire en base 10 signifiait exprimer les nombres en puissances de 10. En gros, notre exercice final est bien de transformer les tableaux que j'ai mis en photos en tableau sous forme standard avec uniquement des numéros entre 0 et 9 (donc en base 10).
    C'est pourquoi le premier tableau représente un tableau 3, 6, 8.

    N'avez vous pas un autre algorithme qui me permettrait de supprimer les 0 en trop ? Nous n'avons pas vu en cours " tant que le dernier caractère est 0"

    Bien à vous

  6. #6
    Membre émérite
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Par défaut
    Bonjour,
    les meilleures suppressions sont celles que l'on ne fait pas. Dans un cas de figure comme celui-ci il serait bien plus de conserver une taille indiquant le nombre de chiffres significatifs. Par exemple une structure de donnée ressemblant à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    {
        taille : 4
        chiffres : [7,3,3,1,0,0,0,0,0]
    }
    représente bien l'entier 1337 … peu importe qu'il y ait ou non des 0 en fin de tableaux.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Conversion de nombre en base 36
    Par adiGuba dans le forum C
    Réponses: 5
    Dernier message: 16/10/2007, 10h15
  2. Précision nombre en base et hors base
    Par schant dans le forum Oracle
    Réponses: 1
    Dernier message: 25/09/2007, 17h14
  3. [MySQL] Nombre dans base de donnée, ajouter +1 au nombre
    Par abinteractive dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/09/2007, 09h48
  4. Réponses: 3
    Dernier message: 08/02/2007, 11h55
  5. [ODBC] Affichage (représentation) graphique d'une base
    Par Atchoum_002 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/09/2005, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo