IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

gestion d'un annuaire de contact


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut gestion d'un annuaire de contact
    bonjour cher developpeur,
    je suis en fait en train d'établir un menu de contact,la ou il ya des choix comme,creation,ajout,recherche,suppression,affichage,tri.
    en ce qui concerne la procedure tri,j'ai pas trouvé de probleme,parce que au fur et à mesure que j'écris je ne me trouve pas obligé de faire appel à une procédure!,par contre au niveau par exemple des autres je dois faire appel aux procedures,par exemple pour la recherche je dois faire appel à la procedure tri pour que ma recherche soit facile,de meme pour la suppression je dois faire appel à la recherche qui m'indique si le contact que je veux supprimer existe ou non!
    mon probleme c'est que est ce que par exemple au niveau d'une procedure,si je trouve que j'ai besoin d'une procedure ,je fais appel à cette procedure.ou peux-je laisser ça dans l'algo principale?
    mon 2eme probleme je veux le concretiser dans cet exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure recherche_contact(X:contact,V:tableau de Nmax contacts,k:entier)
    exist:booleen
    ecrire('donnez le contact à cherchez')
    lire(X.nom)
    lire(X.prenom)
    exist=FAUX
    i=1
    repeter
    si(X.nom)=((V[i].nom)ET(X.prenom)=(V[i].prenom))alors exist=VRAI
    sinon i=i+1
    jusqu'à (i>K)ou(exist)
    si(exist) ecrire('contact existe a la position ',i)
    sinon ecrire('le contact est non existant')
    maintenant je fais ma procedure ajout
    procedure Ajout_contact(X:contact,V:tableau de Nmax de contacts,&k:entier)
    je peux utiliser le booleen exit mais j'aimerais bien utiliser la procedure recherche mais je me suis vraiment bloquée
    alors j'aimerais bien que vous me donner une petite indication!
    merci!!
    cordialement s-ehtp

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Oulà, je ne sais pas si c'est toi ou c'est moi, mais j'ai énormément de mal à te lire

    mon probleme c'est que est ce que par exemple au niveau d'une procedure,si je trouve que j'ai besoin d'une procedure ,je fais appel à cette procedure.ou peux-je laisser ça dans l'algo principale?
    A vrai dire, tout dépend. Si la procédure réalise une opération atomique (ou pseudo-atomique) : ajouter un contact, supprimer un contact, ..., c'est mieux d'en faire une procédure ou une fonction. Si en revanche l'opération est très simple : incrémenter une variable, mettre à jour un drapeau, là tu peux le laisser dans le code.

    En dehors de tout problèmes de performance, d'une manière générale, tu regroupe sous un nom (et donc une procédure) tout ce qui est susceptible d'être réutilisé plusieurs fois. Tu crées aussi une procédure aussi lorsque les opérations sont relativement compliqués, ceci de façon à clarifier le code, et faciliter la maintenance.

    maintenant je fais ma procedure ajout
    Juste comme ça, la touche espace est en panne sur ton clavier ? Aère ton code, ça facilite la lecture. Parce qu'une ligne comme celle ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    si(X.nom)=((V[i].nom)ET(X.prenom)=(V[i].prenom))alors exist=VRAI
    N'est pas forcément facile à lire. Une indentation du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    si ( X.nom = V[i].nom ) ET ( X.prenom = V[i].prenom ) alors 
         exist = VRAI
    Même si elle est loin d'être parfaite est à mon sens plus lisible. Enfin bon, fermons la parenthèse.

    je peux utiliser le booleen exit mais j'aimerais bien utiliser la procedure recherche mais je me suis vraiment bloquée
    Tu m'excuseras mais là, je n'ai vraiment pas compris ta question.

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Tu m'excuseras mais là, je n'ai vraiment pas compris ta question. :aie
    ben,ce que je veux dire c'est en fait dans ma procedure "supprimer "je dois savoir en premier lieu si mon contact existe,je peux donc utiliser la procedure recherche que j'ai deja créeé(ben c'est la mon probleme ,comment utiliser une procedure au sein de procedure et renvoyer donc si le contact que je cherche bien existe)
    mais j'ai dit que je peux utiliser le booléen "exist" au sein de ma procedure "supprimer"sans faire recours à la procedure "recherche"
    j'espere que vous m'avez compris

  4. #4
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    ben,ce que je veux dire c'est en fait dans ma procedure "supprimer "
    Ah bon, maintenant on ne parle plus de la procédure d'ajout ?

    j'espere que vous m'avez compris
    non, pas trop .

    j'ai dit que je peux utiliser le booléen "exist" au sein de ma procedure "supprimer"sans faire recours à la procedure "recherche"
    Si tu peux, où est le problème ?

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    @s-ehtp: Fais-tu une difference entre PROCEDURE et FONCTION ?
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    @s-ehtp: Fais-tu une difference entre PROCEDURE et FONCTION ?
    oui bien sur! une procedure ne peut pas retourner une valeur,par contre une fonction le peut!

    Citation Envoyé par PRomu@ld Voir le message
    Ah bon, maintenant on ne parle plus de la procédure d'ajout ?



    non, pas trop .



    Si tu peux, où est le problème ?
    alors pardonnez moi,c'est en fait j'ai pas su comment vous transmettez mon probleme!
    sinon je vous remercie infiniment et repardon pour le derangement que j'ai causé
    cordialement s-ehtp

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par s-ehtp Voir le message
    oui bien sur! une procedure ne peut pas retourner une valeur,par contre une fonction le peut!
    Dans ce cas, ecris une FONCTION "ContactExiste" qui retourne un booléen et appelle la depuis tes PROCEDURES "Supprimer" et "Recherche".
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 285
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Dans ce cas, ecris une FONCTION "ContactExiste" qui retourne un booléen et appelle la depuis tes PROCEDURES "Supprimer" et "Recherche".
    oui c'est ça ce qui me manquait.....
    merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion d'un annuaire
    Par pope2008 dans le forum Pascal
    Réponses: 3
    Dernier message: 27/12/2011, 21h03
  2. Gestion des droits sur les annuaires de contacts.
    Par fancio dans le forum Configuration
    Réponses: 3
    Dernier message: 11/07/2011, 10h18
  3. Gestion d'une liste de contact
    Par Couz02 dans le forum C#
    Réponses: 7
    Dernier message: 28/01/2009, 01h16
  4. Annuaire de contact sharepoint avec apercu de la piece jointe
    Par gracouille dans le forum SharePoint
    Réponses: 7
    Dernier message: 12/09/2008, 12h20
  5. Gestion de contact
    Par matrxjean1984 dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 23/03/2006, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo