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 :

Logigramme et représentation


Sujet :

Algorithmes et structures de données

  1. #1
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut Logigramme et représentation
    Bonjour,
    Sur Wikipedia on trouve ça:
    Nom : Wiki.JPG
Affichages : 785
Taille : 23,1 Ko
    Mais si le traitement 1 (ou un autre) modifie les termes de la condition, cette représentation est-elle pertinente:
    Nom : prop.JPG
Affichages : 677
Taille : 17,6 Ko
    Savoir pour comprendre et vice versa.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 049
    Points : 9 384
    Points
    9 384
    Par défaut
    Ton dessin évoque plus ou moins un comportement du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    TantQue  <condition>
        exécuter traitement1
    Fin TantQue
    Exécuter traitement2.
    Mais il faudrait supprimer le trait qui sort de traitement1 vers le bas.
    Après traitement1, on retourne systématiquement vers le losange qui symbolise le test 'Si <Condition>'.

    Un rectangle qui a 2 sorties, ça n'existe pas dans ce genre de représentation. Il faut un test qui dit quelle sortie emprunter.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Les lignes sont donc obligatoirement des branchements ?
    Et on ne peut pas représenter de lien entre une modification des termes d'une condition et cette condition ?
    Savoir pour comprendre et vice versa.

  4. #4
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 049
    Points : 9 384
    Points
    9 384
    Par défaut
    J'ai l'impression que tu racontes un peu n'importe quoi, mais comme je ne pratique pas du tout ces logigrammes, je passe la main.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  5. #5
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Bonjour

    cette représentation est-elle pertinente ?
    Non. Elle n'est pas pertinente, car tu n'as que 2 branchements possibles. Fabriquer une troisième voie n'a de sens que si tu pointes vers un troisième bloc de traitement.

    De plus, la condition est évaluée à une date donnée. Ce qui se passe avant ou après n'est pas pris en compte.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  6. #6
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Bonjour,
    Non, si ta condition est modifiée par ton traitement, alors elle ne peut plus être affectée à la même représentation. Il s'agit donc d'un nouveau test...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  7. #7
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    @ Flodelarab et Galet:
    Vous êtes clairs, mais c'est quand même étonnant qu'on ne puisse pas relier une condition à une commande qui lui envoie du paramètre, en considérant qu'une condition a une sortie (à droite) et une entrée (à gauche).
    Donc la gauche et la droite d'une condition sont des sorties ? Et n'y a pas d'entrée autre que par le haut ?
    Savoir pour comprendre et vice versa.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 376
    Points
    1 376
    Par défaut
    Citation Envoyé par valentin03 Voir le message
    @ Flodelarab et Galet:
    Vous êtes clairs, mais c'est quand même étonnant qu'on ne puisse pas relier une condition à une commande qui lui envoie du paramètre, en considérant qu'une condition a une sortie (à droite) et une entrée (à gauche).
    Donc la gauche et la droite d'une condition sont des sorties ? Et n'y a pas d'entrée autre que par le haut ?
    Ce n'est pas une question de pouvoir ou non, c'est une question de savoir quelle signification donner à ça. Tout va dépendre de ce que tu entends par «relier une condition à une commande qui lui envoie du paramètre», hormis le fait bien sûr de rajouter un lien dans un organigramme. Que signifie ce lien dans ton esprit ? Peut-être pourrais-tu nous donner un exemple de ce que tu penses pouvoir exprimer avec ça ?
    Est-ce que ça serait quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    calc_cond: condition = f(param1, param2, …)
    si condition alors
        modifier(param1, param2, …)
       aller en calc_cond
    sinon
       faire autre chose
    fin si
    Si c'est cela alors cela revient à faire une boucle tant que.
    Mais c'est peut-etre autre chose dans ton esprit ?

  9. #9
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Citation Envoyé par valentin03 Voir le message
    Et n'y a pas d'entrée autre que par le haut ?
    • Ah bon ? Parce que, toi, tu lis un texte autrement que de haut en bas ? Le programme informatique, c'est pareil, et le logigramme qui en découle aussi. Du haut, vers le bas.
    • D'ailleurs, tu n'as pas indiqué le sens de circulation sur tes traits, ce qui enlève toute signification.
    • Il ne faut pas voir l'entrée comme une donnée unique mais comme un faisceau de données. Tu peux bien avoir un millier d'informations en entrée.



    relier une condition à une commande qui lui envoie du paramètre,
    Si une condition subit l'influence d'un paramètre, tout cela est déterminé avant le dessin que tu as posté. Ce sont les éléments précédents.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  10. #10
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Par exemple conserver une valeur d'un premier passage
    ...prog Clic et re-clic
    Si flag=1 aller à [passer]
    ...prog prises de cotes xa, ya
    ...prog
    flag=1
    [passer]
    ...prog prise de cotes xb, yb

    Après n clics j'aurai les premières cotes et les dernières.
    Savoir pour comprendre et vice versa.

  11. #11
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Suite du 15h17
    Si je fais ça, c'est compréhensible ?
    Et qu'est-ce qu'on comprend ?
    Nom : Untitled.JPG
Affichages : 388
Taille : 18,6 Ko
    Savoir pour comprendre et vice versa.

  12. #12
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Tu as essayé de rentrer dans une pièce par le mur et tu as écrasé ton petit nez.

    Un schéma valide serait celui-ci :
    Nom : modif.png
Affichages : 379
Taille : 13,0 Ko
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  13. #13
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Bonjour,
    Le but du logigramme est de formuler une méthode sans être sujet à interprétation. Si tu dois le compléter par une explication, c'est que la représentation n'est pas claire...donc que la compréhension n'est pas claire.

    Si tu n'arrives pas à schématiser une idée, c'est, soit qu'elle n'est pas claire, soit qu'elle est géniale au point de remettre en cause les bases. Il faut reconnaitre que c'est souvent le premier cas qui s'applique.

    Les règles ont donc 2 grands avantages :
    - faire remonter des incompréhensions (qui risquent de se transformer en problèmes ou en bug)
    - servir de communication avec d'autres programmeurs (pour partager une tâche ou simplement avoir de l'aide)

    Belle journée...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  14. #14
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Ah Ok.
    Et est-ce que ça c'est valide ? (le petit rectangle est l'endroit ou la variable de test est modifiée)
    Nom : Untitled.JPG
Affichages : 352
Taille : 21,0 Ko
    Savoir pour comprendre et vice versa.

  15. #15
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Les graphes sont déformables. Dans la boucle, que tu mettes 1, 2 ou 3 blocs, à gauche en montant, ou à droite en descendant, c'est pareil. Tu pourrais même résumer tes 3 blocs en un. C'est comme les données évoquées précédemment : un bloc n'est pas 1 instruction, mais un ensemble d'instructions.

    Quand on voit ce dessin, on comprend qu'on sera prisonnier de la branche qui boucle, jusqu'à ce qu'on s'enfuit à droite. Et on s'enfuira à droite quand la condition sera remplie ( ou non remplie, si un "faux" est nécessaire ).
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  16. #16
    Membre expérimenté
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juillet 2020
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juillet 2020
    Messages : 352
    Points : 1 376
    Points
    1 376
    Par défaut
    On appelle ça «une boucle tant que» …
    Et on le retrouve même sur la page wiki citée par le PO.

  17. #17
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par WhiteCrow Voir le message
    On appelle ça «une boucle tant que» …
    Et on le retrouve même sur la page wiki citée par le PO.
    Ok ok, je n'aime pas trop les "Tan que...", mais je pense avoir compris.
    Savoir pour comprendre et vice versa.

  18. #18
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 242
    Points : 13 457
    Points
    13 457
    Par défaut
    Connais-tu le brainfuck ? C'est un langage de programmation qui a, en tout et pour tout, 8 instructions :
    • avancer dans la mémoire
    • reculer dans la mémoire
    • incrémenter la mémoire
    • décrémenter la mémoire
    • début de boucle
    • fin de boucle
    • entrée
    • sortie

    Et avec ces instructions, on pourrait refaire tous les logiciels du monde. Je rappelle cela pour montrer que la "boucle" sert de condition, de boucle "for", de boucle "tant que", etc. Tout ça, c'est pareil. Et il faut le comprendre.

    Tu dis ne pas aimer la boucle "tant que". Mais quand on écrit for (i=0;i<n;i++), c'est bien une boucle "tant que" avec une initialisation (i=0), une condition d'arrêt (i<n) qui est l'échappatoire de la boucle. Et un incrément (i++).

    Code brainfuck : Sélectionner tout - Visualiser dans une fenêtre à part
    ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  19. #19
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Citation Envoyé par valentin03 Voir le message
    Ok ok, je n'aime pas trop les "Tan que...", mais je pense avoir compris.
    ??? Curieuse réponse

    +1 pour BrainFuck. Enfin un candidat pour faire avancer ce langage plein d'avenir ...
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

  20. #20
    Membre actif
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Février 2013
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Février 2013
    Messages : 317
    Points : 233
    Points
    233
    Par défaut
    Citation Envoyé par Galet Voir le message
    ??? Curieuse réponse .
    Pourquoi je n'aime pas les "Tant que"


    Méthode avec "If":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    clic et re-clic
    Si flag =1 alors-->passer-->
    Lecture cote xa, ya
    -->Passer
    lecture xb, yb
    suite du prog
    ...
    prog...
    Méthode avec "Tant que":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    clic et re-clic
    Tant que flag=0
       Lire xa,ya
       Flag =1
       Lire xb, yb
       Suite du prog
    ...
    prog...
    Où tu place le Fin tant que ?
    Savoir pour comprendre et vice versa.

Discussions similaires

  1. [debutant] représentation vector dans diagramme de class
    Par onap dans le forum Diagrammes de Classes
    Réponses: 5
    Dernier message: 23/12/2004, 22h01
  2. Représentation intervallaire des listes arborescentes
    Par PMAR dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/11/2004, 09h35
  3. [Normes] représentation des pourcentages
    Par Bowen dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 19/10/2004, 14h42
  4. [ASM370] Décimaux : représentation compacte et etendue
    Par grand's dans le forum Autres architectures
    Réponses: 6
    Dernier message: 25/01/2004, 17h47
  5. Logigramme du code
    Par David dans le forum Outils
    Réponses: 3
    Dernier message: 03/11/2003, 23h42

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