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 04/11/2011, 22h13   #1
Invité de passage
 
Inscription : novembre 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : novembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut Probleme avec les floats

Bonsoir, tout le monde.

Voila je fait des études en informatiques, et j'essaye de faire un petit programme personnel pour me simplifier la vie sur un jeu.

Mais voila j'ai un problème, un problème de débutant vous allez me dire, mais vous avez raison.
Voila, enfaite, j'aimerais diviser une variable float par un chiffre ou par une autre variable float, mais ce n'est pas possible si on utilise seulement l’opérateur : "/ ".
Donc si vous pouvez me guider cela me rendrait bien service.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
WITH Ada.Text_IO, Ada.Float_Text_IO, ada.Integer_Text_IO;
USE Ada.Text_IO, Ada.Float_Text_IO, ada.Integer_Text_IO;

PROCEDURE Prix_Bois IS
   Bois, Marge : float;
   Planche : Float; 
   Planche_Vente : Float;
   
   
BEGIN
   Put("saisir le prix d'achat du bois"); New_Line;
   Get(Bois);
   Put_Line("saisir votre marge");
   Get(Marge);
   new_line;
   Planche := Bois / 4 +Marge;
   Put("planche :"); Put(Planche);
     
END Prix_Bois;
mon autre problème c'est que les floats apparaissent sur mon programme comme ceci : 0.0000E*+00
link thanos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/11/2011, 15h52   #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
Bonjour,
premièrement, je te conseille de redéfinir un type issu de float. En Ada, on préfère toujours utiliser un type qui représente le domaine du problème plutôt que les types pré-définis.
Ensuite dans le cadre de ton problème, un prix est généralement positif et s'écrit avec deux chiffres après la virgule. Du coup, plutôt que du flottant qui permet d'utiliser une précision arbitraire mais avec une erreur relative variable, il vaudrait peut-être mieux utiliser quelque chose dont la précision est toujours la même, du point fixe donc.
Maintenant pour ce qui est problème de l'opérateur '/', il faut bien voir que le langage te permet de le redéfinir à volonté et que dans le but de ne pas faire d'opération implicite, l'opérateur n'est pas défini par défaut entre types différents, charge à toi de le faire.
Tout ça pour te dire que si l'opérateur t'est refusé peut-être as-tu fait une erreur ou as-tu oublier de définir explicitement le comportement que tu veux.
Enfin, pour l'affichage d'un float, tu as normalement tout ce qu'il te faut ici.
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 06h16.


 
 
 
 
Partenaires

Hébergement Web