Forum ada95000 Dernière connexion : 17/06/2025 à 21:11
Fin de session : 17/06/2025 à 21:21

Vous n'êtes pas connecté [Connexion - Inscription]
Go Bottom
Répondre
Qui peut poster ? Tous les membres peuvent lancer des Nouveaux Sujets, et tout membre peut répondre.
Pseudo:  Voulez-vous vous inscrire ?
Mot de passe:  Mot de passe oublié ?
Sujet: (optionnel)
Icône:

biggrin.gif

bigsmile.gif

cool.gif

cool2.gif

diablotin.gif

eureka.gif

flaming.gif

lol.gif

mad.gif

no.gif

puzzled.gif

roll.gif

rolleyes.gif

sad.gif

saint.gif

shocked.gif

smile.gif

thumbdown.gif

thumbup.gif

tongue.gif

wink.gif
Mode d'édition :
Normal Avancé Aide

Insérer du texte en gras Insérer du texte en italique Insérer du texte souligné Insérer du texte centré Insérer un lien hypertexte Insérer un lien vers un Email Insérer une image Insérer du code Insérer une citation Insérer une liste Insérer du texte caché
Message:
HTML activé ? Non
Smileys activés ? Oui
BBCode activé ? Oui
Activer fonction [img] ? Oui
:D:grin::cool:8)
:eldiablo::eureka::x:hot:
:lol::mad::no::-?
:-p:-o:(:ange:
Plus de smileys
Options Désactiver les smileys ?
Utiliser une signature ?
Désactiver le BBCode ?
Recevoir une notification par Email lors de nouvelles réponses ?

Revoir le sujet
Yossep
VIP
MembreMembreMembreMembre


Messages: 10
Inscrit(e) le: 31/05/2020
Déconnecté(e)
Publié le 04/06/2020 à 22:42
RE : Exo 8: Moyenne et Variance

Bonjour a tous Ada Programmeurs. J'espère que je ne suis pas seul sur cette planète.

Exercice sur le calcul de la moyenne et la variance d'un tableau dont les éléments sont initialisés aléatoirement.

Code:
Economies.ads

quote:
With Ada.Text_IO, Ada.Integer_Text_IO, Ada.Numerics.Discrete_Random;

package Economies is
  type Mes_Entiers is new integer range 1..10;
  type Tableau is array(1..50) of Mes_Entiers;
 
  package ES_Mes_Entiers is new Ada.Text_IO.Integer_IO(Mes_Entiers);
  package Random_Mes_Entiers is new Ada.Numerics.Discrete_Random(Mes_Entiers);
 
  Use ES_Mes_Entiers, Random_Mes_Entiers;
 
  procedure MoyenneEtVariance;

end Economies;


Economies.adb


quote:
With Ada.Text_IO, Ada.Float_Text_IO;
Use Ada.Text_IO,Ada.Float_Text_IO;

package body Economies is

  procedure MoyenneEtVariance is
     Mon_Tab : Tableau;
     G : Generator;
     Moy, Variance : Float := 0.0;
     
  begin
     --initialisation de Mon_tab
     New_Line(3);
     for Short1 in 1..Mon_Tab'Length loop
        Reset(G);
        Mon_Tab(Short1) := Random(G);
        Put(Mon_Tab(Short1), 1);New_Line;
     end loop;
   
     --Calcul de la Moyenne et la variance
     for Short2 in 1..Mon_Tab'Length loop
        Moy := Moy + Float(Mon_Tab(Short2));
        Variance := Variance + ( (Float(Mon_Tab(Short2)) - Moy) * ((Float(Mon_Tab(Short2)) - Moy)) );
     end loop;
     
     Moy := Moy / Float(Mon_Tab'Length);
     Variance := Variance / Float(Mon_Tab'Length - 1);
     New_Line;
     
     Put("Moyenne =";);Put(Moy, Exp => 0, Fore => 3, Aft => 3);New_Line(2);
     Put("Variance = ";);Put(Variance, Exp => 0, Fore => 3, Aft => 3);New_Line(2);
     
     
  end MoyenneEtVariance;



Programme principal

main.adb

quote:

With Economies;
Use Economies;

procedure Main is

begin
  MoyenneEtVariance;

end Main;



:hot:
ftbass
Administrator
StaffStaffStaffStaffStaffStaffStaffStaffStaff

images/avatars/WC3HumanOp1.gif

Messages: 72
Inscrit(e) le: 27/02/2004
Déconnecté(e)
Publié le 09/03/2004 à 22:01
Exo 8: Moyenne et Variance

Si je me suis pas trompé sur la formule de la variance...

code:
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.float_Text_IO; use Ada.float_Text_IO;

procedure MoyenneEtVariance is

Long1 : constant := 3;
Tab1 : array(1 .. Long1) of integer := (1, 2, 3);
Moyenne, Variance : float := 0.0;

begin
 for i in 1..long1 loop
   moyenne := moyenne + float(tab1(i));
   Variance := variance + ((float(tab1(i))-moyenne) * ((float(tab1(i))-moyenne)));
 end loop;
 moyenne := moyenne / float(long1);
 Variance := variance / float(long1 - 1);
 put("Moyenne = ");
 put(moyenne);
 new_line;
 put("Variance = ");
 put(variance);
end MoyenneEtVariance;


[Edité le 16/03/2004 à 09:57 par ftbass]

Go Top
10.3.122.74 21:11 - 17 Juin 2025 10.3.122.74
[ 0.1419311 secondes | Effacer le cookie | 19 requêtes ]
Oxygen v1.0.11 © 2002  |  Oxygen WebSite © 2002