SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
Quelques informations sur
les arbres programmatiques
Par DUBOIS Julien
Avertissement
Ceci est une introduction aux arbres programmatiques avec des exemples pour
illustrer mes propos, il n’y a pas d’exercices d’applications pour vous entraîner.
Si vous voulez appliquez les arbres programmatiques, prenez par exemple une
fonction X²+X+2 et faites un programme permettant de résoudre cette
équation pour qu’elle soit égale à 0 en utilisant son discriminant.
Ce sera une bonne mise en pratique de cela.
Sommaire
1. Introduction
a. Qu’est-ce qu’un arbre programmatique?
b. A quoi cela ressemble?
2. Les règles
a. Les lois et les symboles générales
b. Les différentes conditions
c. Les différentes actions
Introduction
Qu’est-ce qu’un
arbre
programmatique?
Un arbre programmatique est un
dessin permettant de représenter
visuellement l’algorithme d’une
fonction, d’un logiciel ou d’un
programme automate.
C’est un outil puissant pour qui
sait l’utiliser correctement. Il
permet d’avant de se lancer dans
le code ou dans le programme, de
réfléchir à comment est-ce qu’il
compte réussir à aller au but.
A quoi cela
ressemble?
A ceci, je vous expliquerez plus
loins comment est-ce que cela
fonctionne et comment
représenter correctement l’
arbre programmatique en
commençant par les règles
Algorithme
ou
fonction
Action 1
Action 2
Action X
Les règles: les lois et
les symboles
générales
La représentation
de la fonction Voici la représentation d’un
module.
Le cercle
Il sert à l’identifier des
conditions d’exécutions de l’
algorithme. Un cercle vierge ne
sert à rien, nous le
remplissons pour désigner
quelque chose.
La flèche dans le
cercle
Il permet de définir le sens de
lecture du programme à ce
moment là.
Par exemple ici, la flèche pointe
vers le bas, ainsi tout ce qui
suivra la flèche devront être lut
de haut en bas.
La flèche pointe vers la droite,
on doit alors lire ce qui suit de
gauche à droite
Le carré
J’aurai dù l’appeler le rectangle,
en tout cas le carré représente
une action à réaliser quand on
y arrive.
Action à faire
Le prédicat
Associé à des conditions d’
exécutions, c’est lui qui vérifie l’
exécution, le franchissement
ou non de la condition d’
exécution associée.
On écris une condition
de franchissement
dedans, on peut
changer sa
représentation suivant
la condition qui lui est
associée….
Les différentes
conditions
SI
Exemple: SI j’ai B et C alors je
ferai l’action 1, sinon je ferai l’
action 2
SI B ET C
Action 1
Action 2
SI
Afin de pouvoir rajouter des
actions à faire, nous pouvons
faire comme cela. Cela nous
permet de rajouter des
branches d’actions.
Pour les logiciels de
représentations, cela permet
assez facilement de
rouler/dérouler ce qu’il se
passe afin d’y voir plus clair.
SI B ET C
Action 1
Action 2
Action 3
Si j’ai ceci
Alors j’irai ici
Sinon
Action 4
Action 5
Action 6
POUR
La fonction POUR permet de
faire une boucle.
POUR
POUR
Exemple d'utilisation de la boucle
POUR
Pour la variable I variant de 0 à 10
avec un pas de 1, on executera les
actions de la boucle.
On peut avoir l'inverse aussi, on
peut varier la variable I de 10 à 0
avec un pas de -1 MAIS il faut que la
flèche va vers le bas et non vers le
haut.
POUR
I
0
10
1
Les actions de la
boucle
Tant Que
TQ
Voici l’exemple, tant que A est
inférieur à B, j’exécuterai le
corps de la boucle. Attention, il
faut que le prédicat soit à un
moment ou à un autre vérifier
pour pouvoir sortir de la
boucle.
TQ A < B
A <- A+1
Les différents types d’
actions
Une action
Comme nous avons vu précédemment, nous avons déjà vu un type d’action:
A <- A+1
Voici ce que je lis: la variable A est affecté de A+1.
A vaut A+1 pour être plus précis.
Actions avec l’utilisateur
Nous pouvons afficher un résultat, une phrase, ou quoi que ce soit d’autre en
utilisant la chose suivante:
ecrire(“Quelque chose vaut: ”, A)
A est une variable, ici il y aura affiché à l’écran:
Quelque chose vaut: 10 par exemple si A <- 10
L’action écrire est une action de sortie, par exemple avec l’imprimante, on écrit
les caractères les uns à la suite des autres.
Actions avec l’utilisateur
Si l’utilisateur doit écrire la valeur d’une variable, ce sera:
lire(&variable_a_remplir)
Exemple: lire(&B)
L’utilisateur devra à ce moment là taper sur son clavier la valeur de B qui peut-
être un nombre, un caractère ou une phrase.
Exemple concret
On aura à l’écran:
Entrer la valeur de B: 3.14
Puis on appuie sur la touche
entrée pour valider le nombre
rentré et passer à la suite. Ici,
le programme s’arrête juste
après avoir rentré le nombre
B.
ecrire(“Entrer la valeur de B: ”)
lire(&B)

Contenu connexe

En vedette

Figaronron - Concert Sud Radio (12-06-2009)
Figaronron - Concert Sud Radio (12-06-2009)Figaronron - Concert Sud Radio (12-06-2009)
Figaronron - Concert Sud Radio (12-06-2009)Figaronron Figaronron
 
CADRE MÉTHOD_INTERACTIVE
CADRE MÉTHOD_INTERACTIVECADRE MÉTHOD_INTERACTIVE
CADRE MÉTHOD_INTERACTIVERut GOMEZ SOBRINO
 
Internet i les seves aplicacions
Internet i les seves aplicacionsInternet i les seves aplicacions
Internet i les seves aplicacionsguest2547ee
 
Presentacion De Universidad
Presentacion De UniversidadPresentacion De Universidad
Presentacion De UniversidadLorena de Flores
 
Respuestas Práctico 1
Respuestas Práctico 1Respuestas Práctico 1
Respuestas Práctico 1guestecc8d0e
 
LE MORAL DES PROFESSIONNELS DE L'IMMOBILIER
LE MORAL DES PROFESSIONNELS DE L'IMMOBILIERLE MORAL DES PROFESSIONNELS DE L'IMMOBILIER
LE MORAL DES PROFESSIONNELS DE L'IMMOBILIERMonimmeuble.com
 
HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...
HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...
HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...MESHS
 
Harriet taylor mil1
Harriet taylor mil1Harriet taylor mil1
Harriet taylor mil1guest2821916
 
Empresa manofactureras diapositivas
Empresa manofactureras diapositivasEmpresa manofactureras diapositivas
Empresa manofactureras diapositivasmargeory
 
Presentación3
Presentación3Presentación3
Presentación3Laura
 
Paper rfid final!!!!
Paper rfid final!!!!Paper rfid final!!!!
Paper rfid final!!!!guest82ce15d
 
Propuesta de gobierno
Propuesta de gobiernoPropuesta de gobierno
Propuesta de gobiernoOSAFADO
 

En vedette (20)

Figaronron - Concert Sud Radio (12-06-2009)
Figaronron - Concert Sud Radio (12-06-2009)Figaronron - Concert Sud Radio (12-06-2009)
Figaronron - Concert Sud Radio (12-06-2009)
 
CADRE MÉTHOD_INTERACTIVE
CADRE MÉTHOD_INTERACTIVECADRE MÉTHOD_INTERACTIVE
CADRE MÉTHOD_INTERACTIVE
 
Internet i les seves aplicacions
Internet i les seves aplicacionsInternet i les seves aplicacions
Internet i les seves aplicacions
 
Strompreise
StrompreiseStrompreise
Strompreise
 
Presentacion De Universidad
Presentacion De UniversidadPresentacion De Universidad
Presentacion De Universidad
 
Respuestas Práctico 1
Respuestas Práctico 1Respuestas Práctico 1
Respuestas Práctico 1
 
zacatecas zacatecas
zacatecas zacatecaszacatecas zacatecas
zacatecas zacatecas
 
Technomate
TechnomateTechnomate
Technomate
 
LE MORAL DES PROFESSIONNELS DE L'IMMOBILIER
LE MORAL DES PROFESSIONNELS DE L'IMMOBILIERLE MORAL DES PROFESSIONNELS DE L'IMMOBILIER
LE MORAL DES PROFESSIONNELS DE L'IMMOBILIER
 
HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...
HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...
HAL : Retour d'expérience de l'Université Lille 3 par Cécile Malleret - MESHS...
 
Harriet taylor mil1
Harriet taylor mil1Harriet taylor mil1
Harriet taylor mil1
 
Empresa manofactureras diapositivas
Empresa manofactureras diapositivasEmpresa manofactureras diapositivas
Empresa manofactureras diapositivas
 
Indiadxer
IndiadxerIndiadxer
Indiadxer
 
Presentación3
Presentación3Presentación3
Presentación3
 
Paper rfid final!!!!
Paper rfid final!!!!Paper rfid final!!!!
Paper rfid final!!!!
 
Propuesta de gobierno
Propuesta de gobiernoPropuesta de gobierno
Propuesta de gobierno
 
Imposible.
Imposible.Imposible.
Imposible.
 
L'Itinérant Espace Pro
L'Itinérant Espace ProL'Itinérant Espace Pro
L'Itinérant Espace Pro
 
Vih sida
Vih sidaVih sida
Vih sida
 
Vousnele
VousneleVousnele
Vousnele
 

Similaire à Arbres programmatiques

Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Jean Rohmer
 
Contrôle du flux du programme
Contrôle du flux du programmeContrôle du flux du programme
Contrôle du flux du programmeakounda
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfadeljaouadi
 
introduction introdaction introduction introdaction introduction introdaction
 introduction introdaction introduction introdaction introduction introdaction introduction introdaction introduction introdaction introduction introdaction
introduction introdaction introduction introdaction introduction introdactionabnoune
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxbetalab
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigramenabildekess
 
3 vb reference
3 vb reference3 vb reference
3 vb referencekkatia31
 
Enrichissez vos-classes-avec-extends-20
Enrichissez vos-classes-avec-extends-20Enrichissez vos-classes-avec-extends-20
Enrichissez vos-classes-avec-extends-20Asmaa BENGUEDDACH
 

Similaire à Arbres programmatiques (15)

syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
Intelligence Artificielle: résolution de problèmes en Prolog ou Prolog pour l...
 
Contrôle du flux du programme
Contrôle du flux du programmeContrôle du flux du programme
Contrôle du flux du programme
 
Cours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdfCours-ALGORITHMIQUE-03.pdf
Cours-ALGORITHMIQUE-03.pdf
 
Cours programmation
Cours programmation Cours programmation
Cours programmation
 
introduction introdaction introduction introdaction introduction introdaction
 introduction introdaction introduction introdaction introduction introdaction introduction introdaction introduction introdaction introduction introdaction
introduction introdaction introduction introdaction introduction introdaction
 
Formation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptxFormation en Python_Niveau1_2023.pptx
Formation en Python_Niveau1_2023.pptx
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Examen organigrame
Examen organigrameExamen organigrame
Examen organigrame
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Moi jaime coder
Moi jaime coderMoi jaime coder
Moi jaime coder
 
3 vb reference
3 vb reference3 vb reference
3 vb reference
 
Ns python 1
Ns python 1Ns python 1
Ns python 1
 
Enrichissez vos-classes-avec-extends-20
Enrichissez vos-classes-avec-extends-20Enrichissez vos-classes-avec-extends-20
Enrichissez vos-classes-avec-extends-20
 

Arbres programmatiques

  • 1. Quelques informations sur les arbres programmatiques Par DUBOIS Julien
  • 2. Avertissement Ceci est une introduction aux arbres programmatiques avec des exemples pour illustrer mes propos, il n’y a pas d’exercices d’applications pour vous entraîner. Si vous voulez appliquez les arbres programmatiques, prenez par exemple une fonction X²+X+2 et faites un programme permettant de résoudre cette équation pour qu’elle soit égale à 0 en utilisant son discriminant. Ce sera une bonne mise en pratique de cela.
  • 3. Sommaire 1. Introduction a. Qu’est-ce qu’un arbre programmatique? b. A quoi cela ressemble? 2. Les règles a. Les lois et les symboles générales b. Les différentes conditions c. Les différentes actions
  • 5. Qu’est-ce qu’un arbre programmatique? Un arbre programmatique est un dessin permettant de représenter visuellement l’algorithme d’une fonction, d’un logiciel ou d’un programme automate. C’est un outil puissant pour qui sait l’utiliser correctement. Il permet d’avant de se lancer dans le code ou dans le programme, de réfléchir à comment est-ce qu’il compte réussir à aller au but.
  • 6. A quoi cela ressemble? A ceci, je vous expliquerez plus loins comment est-ce que cela fonctionne et comment représenter correctement l’ arbre programmatique en commençant par les règles Algorithme ou fonction Action 1 Action 2 Action X
  • 7. Les règles: les lois et les symboles générales
  • 8. La représentation de la fonction Voici la représentation d’un module.
  • 9. Le cercle Il sert à l’identifier des conditions d’exécutions de l’ algorithme. Un cercle vierge ne sert à rien, nous le remplissons pour désigner quelque chose.
  • 10. La flèche dans le cercle Il permet de définir le sens de lecture du programme à ce moment là. Par exemple ici, la flèche pointe vers le bas, ainsi tout ce qui suivra la flèche devront être lut de haut en bas. La flèche pointe vers la droite, on doit alors lire ce qui suit de gauche à droite
  • 11. Le carré J’aurai dù l’appeler le rectangle, en tout cas le carré représente une action à réaliser quand on y arrive. Action à faire
  • 12. Le prédicat Associé à des conditions d’ exécutions, c’est lui qui vérifie l’ exécution, le franchissement ou non de la condition d’ exécution associée. On écris une condition de franchissement dedans, on peut changer sa représentation suivant la condition qui lui est associée….
  • 14. SI Exemple: SI j’ai B et C alors je ferai l’action 1, sinon je ferai l’ action 2 SI B ET C Action 1 Action 2
  • 15. SI Afin de pouvoir rajouter des actions à faire, nous pouvons faire comme cela. Cela nous permet de rajouter des branches d’actions. Pour les logiciels de représentations, cela permet assez facilement de rouler/dérouler ce qu’il se passe afin d’y voir plus clair. SI B ET C Action 1 Action 2 Action 3 Si j’ai ceci Alors j’irai ici Sinon Action 4 Action 5 Action 6
  • 16. POUR La fonction POUR permet de faire une boucle. POUR
  • 17. POUR Exemple d'utilisation de la boucle POUR Pour la variable I variant de 0 à 10 avec un pas de 1, on executera les actions de la boucle. On peut avoir l'inverse aussi, on peut varier la variable I de 10 à 0 avec un pas de -1 MAIS il faut que la flèche va vers le bas et non vers le haut. POUR I 0 10 1 Les actions de la boucle
  • 18. Tant Que TQ Voici l’exemple, tant que A est inférieur à B, j’exécuterai le corps de la boucle. Attention, il faut que le prédicat soit à un moment ou à un autre vérifier pour pouvoir sortir de la boucle. TQ A < B A <- A+1
  • 19. Les différents types d’ actions
  • 20. Une action Comme nous avons vu précédemment, nous avons déjà vu un type d’action: A <- A+1 Voici ce que je lis: la variable A est affecté de A+1. A vaut A+1 pour être plus précis.
  • 21. Actions avec l’utilisateur Nous pouvons afficher un résultat, une phrase, ou quoi que ce soit d’autre en utilisant la chose suivante: ecrire(“Quelque chose vaut: ”, A) A est une variable, ici il y aura affiché à l’écran: Quelque chose vaut: 10 par exemple si A <- 10 L’action écrire est une action de sortie, par exemple avec l’imprimante, on écrit les caractères les uns à la suite des autres.
  • 22. Actions avec l’utilisateur Si l’utilisateur doit écrire la valeur d’une variable, ce sera: lire(&variable_a_remplir) Exemple: lire(&B) L’utilisateur devra à ce moment là taper sur son clavier la valeur de B qui peut- être un nombre, un caractère ou une phrase.
  • 23. Exemple concret On aura à l’écran: Entrer la valeur de B: 3.14 Puis on appuie sur la touche entrée pour valider le nombre rentré et passer à la suite. Ici, le programme s’arrête juste après avoir rentré le nombre B. ecrire(“Entrer la valeur de B: ”) lire(&B)