Voilà, à mon avis, il n'y a pas assez de code Delphi ces derniers jours !! Et comme je suis occupé dans un projet qui exploite toutes mes ressources, alors je dévoile une autre Unité de ce-dit projet. Il sera sans importance aucune pour les amateur de Graphisme et Cie, mais comme je vous ai dit il manque teriblement de source Delphi ces jours-ci. A vos claviers, car il y a les amoureux de VB qui nous dépassent !
Si quelqu'un possède des sources sur les RDP Stochastiques, je serais heureux si il me les envoyait, merci à l'avance.
Source / Exemple :
////////////////////////////////////////////////////////////////////////////////////////////////
// Cette unité utilise les deux autres unités que j'ai déjà posées sur le site //
// Dans celle-ci, j'ai essaiyé d'introduire une utilisation simple de tableux //
// dynamiques: Dimension, remplissage. //
// Une fonction est prévue pour les nombres premiers. //
// Cette Unité ainsi que UFMath, UInverses, font partie d'un projet global en cours //
// de réalisation qui porte sur les réseaux de petri stochastiques. //
////////////////////////////////////////////////////////////////////////////////////////////////
unit UDeclarations;
interface
Uses UFMath, UInverses;
Type
TMatrice = Array of Array of Real;
TObservation = Array of FLoat;
TPremier = Array of Integer;
Var
Taille : Integer;
Echantillon : TObservation; //Observation en MD;
MA : TMatrice; //Contient les Ri;
Premier : TPremier; // et les nombres premiers ??
Longueur : INteger;
Hauteur : INteger;
Somme : INteger;
Function EstPremier(Nombre:INteger):Boolean;
Procedure DeterminateMADim(MATaille:INteger);
Procedure Recalculate(MATaille:integer);
Procedure InitMA;
implementation
Function EstPremier(Nombre:INteger):Boolean;
var I:INteger;
begin
EstPremier:=True;
If (Nombre = 2) or (Nombre = 1) then
begin
EstPremier := False;
Exit;
end;
If (Nombre = 0) then Exit;
For i:=2 to Nombre-1 do
If (Nombre Mod i) = 0 then
begin
EstPremier:=False;
BREAK;
end;
end;
Procedure DeterminateMADim(MATaille:INteger);//Determine les dimensions de MA;
Var i:integer;
begin
Longueur := 0;
Hauteur := 0;
i := 7;//On commence par le premier 7;
Somme := 0;
Repeat
If EstPremier(i) then
begin
Longueur := i;
Hauteur := Hauteur+1;
Somme := Somme + i;
end;
Inc(i);
Until Somme >= MATaille;
SetLength(Premier, Hauteur);
Setlength(MA,Hauteur+1); // Nombre de Lignes;
I:= Low(MA);
Repeat
Setlength(MA[I], Longueur); // Nombre de colonnes;
Inc(I);
Until I=High(MA);
end;
Procedure Recalculate(MATaille:integer);
var i,k:Integer;
begin
i := 0;
K := 7;
Premier[i]:=K;
Inc(K);
repeat
If EstPremier(K) then
begin
Inc(i); // Prochaine valeur;
Premier[i]:= K; // Chargement des nombres premiers;
end; // End If;
Inc(K); // Ne pas recommencer du début;
Until i=High(Premier); // Tous les premiers sont calculés;
end;
Procedure InitMA; //Remplissage Aléatoire;
Var i:integer;
j:Integer;
begin
RANDOMIZE;
For i:= Low(MA) to High(MA) do
for j:= Low(MA[I]) to High(MA[I]) do
MA[I,J]:=Random;
end;
begin
Taille := 0; // La taille de l'échantillon à générer initialisée à 0;
end.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.