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

Ada Discussion :

probléme programme de division binaire


Sujet :

Ada

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 6
    Points
    6
    Par défaut probléme programme de division binaire
    bonjour,
    j'ai pour obligation de rendre ce devoir
    on doit dire si un binaire est divisible par 3 mais le programme ne fonction pas il n'y a plus rien après le get, je pense que c'est une erreur bête mais je ne la trouve pas
    pour la fonction dans le paquetage : oui on est obliger de suivre cet algorithme


    j'ai fait un pastebin ici


    merci beaucoup.

  2. #2
    Membre averti Avatar de Blackknight
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2009
    Messages : 214
    Points : 383
    Points
    383
    Par défaut
    Bon, j'ai trouvé le problème mais j'ai pas trouvé pourquoi en relisant rapidement l'ARM.
    Bon, en initialisant C à un caractère par défaut, cela fonctionne... Tout du moins, cela va plus loin que le Get

  3. #3
    Membre régulier Avatar de poincare
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 48
    Points : 81
    Points
    81
    Par défaut
    Le problème est de savoir si un nombre entier est divisible par 3.
    Donc peu importe sa représentation : binaire, hexadécimale ou décimale.
    En Ada, pour savoir si un nombre entier est divisible par 3, il existe la fonction
    mod
    lien : http://en.wikibooks.org/wiki/Ada_Programming/Types/mod

    Cette fonction s'applique à des nombres modulaires (Unsigned).
    Il faut donc convertir un type Integer en type Unsigned.

    si I est un entier sur 32 bits :
    Reste := Interfaces.unsigned_32(I) mod 3;
    si reste=0 c'est OK

    Pas besoin non plus de créer un paquetage.
    Je pense que vous êtes complétement passé à côté de la nature du problème.

  4. #4
    Membre averti Avatar de Blackknight
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2009
    Messages : 214
    Points : 383
    Points
    383
    Par défaut
    Cher Poincare, j'aurais tendance à dire : "Vous êtes passé à côté de la question"
    La question initiale précise bien que l'algorithme fourni est obligatoire.
    Qui plus est, passer par le paquetage Interfaces, dont le but est l'interfaçage vers les langages étrangers (dixit ARM), ne me semble pas non plus très "Ada" pour un problème ne nécessitant rien de tout ça.
    Surtout que pour les types entier, l'opérateur mod existe directement (voir ici).

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 6
    Points
    6
    Par défaut
    le problème a été résolu en changeant le end of file en end of line

  6. #6
    Membre averti Avatar de Blackknight
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2009
    Messages : 214
    Points : 383
    Points
    383
    Par défaut
    Ca devait être trop évident pour qu'on passe à côté
    Ceci dit, je ne m'explique toujours pas pourquoi cela fonctionnait avec le End_Of_File uniquement après avoir initialisé C

    Il n'y a plus qu'à marquer comme résolu alors ?

Discussions similaires

  1. Problème programmation : log
    Par rootsl dans le forum C
    Réponses: 4
    Dernier message: 29/03/2006, 11h26
  2. Problème avec une division
    Par ghan77 dans le forum Débuter
    Réponses: 3
    Dernier message: 08/12/2005, 10h50
  3. Problème avec les données binaire
    Par Lachessis dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/08/2005, 17h38
  4. Problème programmation objet
    Par Contrec dans le forum MFC
    Réponses: 54
    Dernier message: 30/03/2005, 11h30
  5. Réponses: 11
    Dernier message: 13/10/2004, 00h58

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