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; |
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; |
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("Variance = " ![]() end MoyenneEtVariance; |
quote: With Economies; Use Economies; procedure Main is begin MoyenneEtVariance; end Main; |