Forum ada95000 Dernière connexion : 16/06/2025 à 23:07
Fin de session : 16/06/2025 à 23:17

Vous n'êtes pas connecté [Connexion - Inscription]
Go Bottom
Version imprimable | Envoyer à un ami | S'abonner | Ajouter aux Favoris Nouveau SujetNouveau sondageRépondre
Auteur: Sujet: Exo 8: Moyenne et Variance   ( Réponses: 1 | Vues: 616 )
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 Reply With Quote
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 #9 Go Bottom
View ftbass's ProfileE-Mail ftbassVisit ftbass's HomepageView All Posts by ftbassU2U Member
Yossep
VIP
MembreMembreMembreMembre
 
 
Messages: 10
Inscrit(e) le: 31/05/2020
Déconnecté(e)
Publié le 04/06/2020 à 22:42 Reply With Quote
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:
Go Top #107 Go Bottom
View Yossep's ProfileE-Mail YossepView All Posts by YossepU2U Member
Nouveau SujetNouveau sondageRépondre

Go Top
10.2.121.144 23:07 - 16 Juin 2025 10.2.121.144
[ 0.5796819 secondes | Effacer le cookie | 18 requêtes ]
Oxygen v1.0.11 © 2002  |  Oxygen WebSite © 2002