Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ada
Ada Forum d'entraide sur la programmation en langage Ada
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2011, 14h16   #1
Invité régulier
 
Homme mat
Étudiant
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme mat

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

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 5
Points : 5
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.
personne731 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 08h55   #2
Membre confirmé
 
Avatar de Blackknight
 
Homme Frédéric Praca
Ingénieur développement logiciels
Inscription : février 2009
Messages : 140
Détails du profil
Informations personnelles :
Nom : Homme Frédéric Praca
Âge : 38
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 : 140
Points : 226
Points : 226
Envoyer un message via AIM à Blackknight Envoyer un message via MSN à Blackknight
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
Blackknight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 12h39   #3
Nouveau Membre du Club
 
Avatar de poincare
 
Homme Henri Poincare
Architecte technique
Inscription : mai 2007
Messages : 19
Détails du profil
Informations personnelles :
Nom : Homme Henri Poincare
Localisation : France

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

Informations forums :
Inscription : mai 2007
Messages : 19
Points : 31
Points : 31
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.
poincare est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/10/2011, 13h41   #4
Membre confirmé
 
Avatar de Blackknight
 
Homme Frédéric Praca
Ingénieur développement logiciels
Inscription : février 2009
Messages : 140
Détails du profil
Informations personnelles :
Nom : Homme Frédéric Praca
Âge : 38
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 : 140
Points : 226
Points : 226
Envoyer un message via AIM à Blackknight Envoyer un message via MSN à Blackknight
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).
Blackknight est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2011, 11h03   #5
Invité régulier
 
Homme mat
Étudiant
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme mat

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

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 5
Points : 5
le problème a été résolu en changeant le end of file en end of line
personne731 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/10/2011, 11h31   #6
Membre confirmé
 
Avatar de Blackknight
 
Homme Frédéric Praca
Ingénieur développement logiciels
Inscription : février 2009
Messages : 140
Détails du profil
Informations personnelles :
Nom : Homme Frédéric Praca
Âge : 38
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 : 140
Points : 226
Points : 226
Envoyer un message via AIM à Blackknight Envoyer un message via MSN à Blackknight
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 ?
Blackknight est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h56.


 
 
 
 
Partenaires

Hébergement Web