J'ai besoin d'aide!je rémunère!

manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005 - 19 déc. 2005 à 18:50
manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005 - 21 déc. 2005 à 17:54
voilà ! je cherche de l'aide pour réaliser un petit projet sous delphi!
merci de me contacter sur emmanueljack80@hotmail.com!
bye

11 réponses

moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
20 déc. 2005 à 10:43
salut

C'est quoi le thème du projet ?
Tu es d'ou ?

Bonne Prog
0
manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005
20 déc. 2005 à 16:19
salut!
moi je suis de paris!
il s'agit dun petit projet sur des matrices !
jai déjà quelque procédures!
mais il faut réalsier le visuel sur windows!
peux tu menvoyer ton mail?!jtenverrai plus de détail!
merci!
bye
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
20 déc. 2005 à 17:17
ca resemble a un projet de fin d'annee ca .... lol
exyacc
0
manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005
20 déc. 2005 à 17:18
pe tu maider ou pa?! stp...!!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
20 déc. 2005 à 17:24
ben ecrit directement le detail de ce que tu veux ici, on verra
apres... les matrices, ca date....diagonaliser une matrice pour voir si
une grammaire est valide...beurk mauvis souvenir... lol

exyacc
0
manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005
20 déc. 2005 à 17:29
on fai commen pour envoyer un fichier?!
ne tinkiète pas ya aucun calcul à faire jai déja toutes les procédures!
tu ve pa me donner tn msn?! ça sera plu simple!!
stp........
merci davance!
0
exyacc Messages postés 163 Date d'inscription dimanche 20 octobre 2002 Statut Membre Dernière intervention 31 juillet 2008
20 déc. 2005 à 17:33
fais un copier-coller de ton texte....

desolé, j'ai que msn boulot...

c'est quoi ton pb si toutes les fonctions sont ecrites ? juste l'affichage ?

exyacc
0
manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005
20 déc. 2005 à 20:05
Projet : un logiciel de calcul matriciel sous windows.










Ce projet reprend l'exercice donné en début d'année, avec trois différences importantes :


-
le logiciel fonctionne sous windows en mode graphique "normal" et non pas en mode console,


-
les matrices utilisées sont nommées : l'utilisateur peut désigner toute matrice par le nom qu'il souhaite, tous les noms utilisés doivent être distincts et le nombre des matrices utilisables n'est pas limité,


-
les matrices (nommées) peuvent être sauvegardées dans des fichiers et restaurées.






Les matrices gérées sont des matrices rectangulaires m × n, avec m, n ∈Á* ; les matrices manipulées peuvent avoir des dimensions différentes les unes des autres (la cohérence des dimensions est vérifiée pour les diverses opérations). Les nombres réels pouvant intervenir (comme par exemple dans le produit par un scalaire) pourront être considérés comme des matrices 1 × 1. On utilisera le type réel double.






L'application comporte


-
une fiche principale, toujours affichée,


-
des fiches pour le stockage et l'affichage des valeurs d'une matrice ; ces fiches sont du même type et créées à l'exécution à volonté, et peuvent être affichées ou cachées également à volonté (plusieurs fiches peuvent être affichées en même temps),


-
une fiche spécifique pour l'entrée d'une matrice, qui est visible seulement lors des entrées,


-
une fiche spécifique pour la sauvegarde, qui est visible seulement lors des sauvegardes,


-
une fiche spécifique pour la restauration, qui est visible seulement lors des restauratons.






Dans la fiche principale, on trouvera


-
un menu permettant de choisir une opération (y compris l'entrée, l'affichage, la suppression, la sauvegarde, la restauration),


-
un composant stringGrid avec 3 colonnes et une ligne ; chaque ligne correspond à une matrice et indique le nom et les dimensions de la matrice ; toutes les matrices mémorisées y sont répertoriées ; les noms sont rangés dans l'ordre alphabétique,


-
un label indiquant l'opération en cours,


-
trois éditeurs permettant d'indiquer les noms des matrices utilisées pour l'opération en cours (pouvant être rendus en grisé lorsque l'opération nécessite moins de 3 paramètres ou résultat),


-
à coté de chaque éditeur, un bouton permettant d'entrer directement la matrice voulue par sélection dans le stringGrid,


-
à coté de chaque éditeur, un bouton provoquant un affichage "temporaire" des valeurs de la matrice indiquée,


-
un bouton de validation et un bouton d'annulation pour l'opération en cours


-
un champ permettant de retrouver la fiche associée à chaque matrice (de type array of tfMatrice, voir plus loin).






La commande d'affichage permet l'affichage de n'importe quelle matrice mémorisée, de façon "non temporaire".


Il peut y avoir plusieurs matrices affichées en même temps, mais pas deux fois la même. Chaque matrice est affichée dans une fiche séparée, de type tfMatrice (déclaré dans une unité ufMatrice). Ces fiches sont créées dynamiquement (constructeur tfMatrice.create) et perdurent durant toute la durée de vie de la matrice (c'est-à-dire jusqu'à la fin de l'exécutiondu programme, sauf suppression explicite). Elles stockent les valeurs des matrices, mais elles ne sont pas toujours affichées. Chaque fiche comporte :


-
un strigGrid sg pour l'affichage de la matrice, (ne permettant pas l'édition),


-
un champ nompour le nom de la matrice,


-
un champ valpour stocker les valeurs de la matrice (type : array of array of double),


-
le nom et les dimensions de la matrice sont affichés dans le titre de la fiche






Si une matrice est modifiée alors qu'elle est affichée, l'affichage est mis à jour. La fermeture de ces fiches se fait au gré de l'utilisateur au moyen de la commande de fermeture usuelle (×) . Pour les affichages "temporaires", la fermeture est également provoquée par l'annulation de l'opération ou par le passage à l'opération suivante.






Pour les opérandes, les matrices doivent exister auparavant. Pour les résultats, si le choix de la matrice est effectué en écrivant directement dans l'éditeur correspond à une matrice déjà existante, un message d'avertissement ("warning") d'écrasement des anciennes valeurs est affiché. Par contre, si le choix de la matrice résultat est effectué par sélection dans le stringGrid, il n'y a pas d'avertissement. L'opération doit être validée par un bouton pour être exécutée.






L'entrée d'une matrice se fait au moyen d'une fiche particulière, avec deux composants tEdit ou tSpin edit pour choisir les dimensions et un stringGrid permettant l'édition directe des valeurs.






Les opérations traitées sont celles du début de l'année, plus :


-
l'opposée,


-
la transposée,


-
l'inverse (quand il existe),


-
le déterminant.






La sauvegarde permet de sauver un sous-ensemble des matrices présentes (choisi par l'utilisateur). Elle peut être effectuée à tout moment dans des fichiers (également choisis par l'utilisateur). Chaque sauvegarde utilise trois fichiers de même nom, mais avec les extensions différentes .nom ,.dim, .val , les trois fichiers devant être situés dans un même répertoire.






L'opération de sauvegarde provoque l'ouverture de la fiche de sauvegarde, en mode modal (showModal). Ce mode oblige à fermer la fiche avant de passer à autre chose.






Cette fiche comporte


-
un menu, avec la commande choix fichier


-
deux composants tListBox, pour effectuer la sélection des matrices à sauvegarder ; le premier contient les noms des matrices disponibles (mais non encore sélectionnées), le deuxième contient les noms des matrices sélectionnées (initialement vide), les deux sont dans l'ordre alpabétique,


-
quatre boutons situés entre les deux listBox :


-'>': pour déplacer un nom de matrice du premier listBox dans le deuxième


-'>': pour déplacer toutes les matrices dans le deuxième listBox


-'
0
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
21 déc. 2005 à 04:23
LOL

lit tes cours ... fait tes devoirs ...

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
0
moldov Messages postés 165 Date d'inscription mercredi 8 octobre 2003 Statut Membre Dernière intervention 10 novembre 2008
21 déc. 2005 à 07:38
C'est pas bien de vouloir faire faire le boulot aux autres...... lol

Au Boulot tu le fera faire par quelqu'un d'autres aussi...

Désolé.

Bonne Prog Kan meme
0
manu671 Messages postés 7 Date d'inscription mercredi 14 décembre 2005 Statut Membre Dernière intervention 21 décembre 2005
21 déc. 2005 à 17:54
unit uMatrice;


interface
uses sysUtils;
type tMat=array of array of real; //matrice
type EMatError=class(EMathError) end;



function sommeMat(const M1,M2:tMat):tMat;
function produitMat(const M1,M2:tMat):tMat;
function produitReelMat(const r:real;const M1:tMat):tMat;
function normeMat(const M:tMat):real;
function zeroMat(const nbL,nbC:integer):tMat;
function identiteMat(const dim:integer):tMat;
function egalMat(const M1,M2:tMat):boolean;
function copieMat(const M:tMat):tMat;
function randomMat(const nbL,nbC:integer; const min,max:real):tMat;
function exponentielleMat(const M:tMat; const epsilon:real):tMat;


implementation


function sommeMat(const M1,M2:tMat):tMat;
var nbL,nbC,numL,numC:integer;
begin
nbL:=length(M1);
nbC:=length(M1[0]);


if(length(M2)<>nbL) or (length(M2[0]) <>nbC) then
raise eMatError.Create('erreur : somme de matrices de dim. diff.');


setlength(result,nbL,nbC);
for numL:=0 to nbL-1 do for numC:=0 to nbC-1 do
result[numL,numC]:=M1[numL,numC] + M2[numL,numC];
end;


function produitMat(const M1,M2:tMat):tMat;
var nbL1,nbC1,nbL2,nbC2,numL,numC,i:integer;
var som:real;
begin
nbL1:=length(M1);
nbL2:=length(M2);
nbC1:=length(M1[0]);
nbC2:=length(M2[0]);
som:=0;


if(nbC1<>nbL2) then
raise eMatError.Create('erreur : produit de matrices de dim. diff.');


setlength(result,nbL1,nbC2);


for numL:=0 to nbL1-1 do
for numC:=0 to nbC2-1 do
begin
for i:=0 to nbC1-1 do som:= som+ (M1[numL,i] * M2[i,numC]);
result[numL,numC]:=som;
som:=0;
end;


end;



function produitReelMat(const r:real;const M1:tMat):tMat;
var nbL,nbC,numL,numC:integer;
begin
nbL:=length(M1);
nbC:=length(M1[0]);


setlength(result,nbL,nbC);
for numL:=0 to nbL-1 do for numC:=0 to nbC-1 do
result[numL,numC]:=r*M1[numL,numC];


end;


function normeMat(const M:tMat):real;
var nbL,nbC,numL,numC:integer;
begin
nbL:=length(M);
nbC:=length(M[0]);
result:=abs(M[0][0]);
for numL:=0 to nbL-1 do for numC:=0 to nbC-1 do
if resultnbL) or (length(M2[0]) <>nbC) then
raise eMatError.Create('erreur : matrices de dim. diff.');


for numL:=0 to nbL-1 do for numC:=0 to nbC-1 do
if M1[numL,numC] <> M2[numL,numC] then result:=False;
end;


function copieMat(const M:tMat):tMat;
var nbL,nbC,numL,numC:integer;
begin
nbL:=length(M);
nbC:=length(M[0]);


setlength(result,nbL,nbC);
for numL:=0 to nbL-1 do for numC:=0 to nbC-1 do
result[numL,numC]:=M[numL,numC];
end;


function randomMat(const nbL,nbC:integer; const min,max:real):tMat;
var numL,numC:integer;
begin
if(min>max) then
raise eMatError.Create('erreur : minimum superieur a maximum');



setlength(result,nbL,nbC);
for numL:=0 to nbL-1 do for numC:=0 to nbC-1 do
result[numL,numC]:=min + (max-min)*random;
end;
end.

juste montre moi un exemple pour une operation stp!!!!!!!!!!!!!
0
Rejoignez-nous