chapitre 1 initiation À la programmation introduction exemple: monter un meuble (ikea) résultat...
TRANSCRIPT
![Page 1: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/1.jpg)
![Page 2: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/2.jpg)
CHAPITRE 1
INITIATION À LA PROGRAMMATION
![Page 3: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/3.jpg)
INTRODUCTION
Exemple: Monter un meuble (IKEA)
Résultat final: meuble monté
Paramètres d’entrées
Différents éléments et outils
Algorithme
Paramètres de sortie
Notice de montage
![Page 4: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/4.jpg)
Définition:
Qu’est-ce qu’un programme et qu’est-ce que la programmation?
La programmation est l’écriture dans le langage choisi, de cette séquence d’instruction.
Un programme est une séquence d’instruction que l’ordinateur exécute afin de traiter des données. Ces instructions sont composées d’énoncés écrits selon les règles d’un langage de programmation (C, C++, JAVA, VISUAL BASIC, etc…).
![Page 5: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/5.jpg)
Pourquoi l’informatique et les programmes ?
Traitement des données numériques
Automatiser les tâches longues et répétitives
Modéliser, virtualiser, simuler des systèmes
Echanger, partager, mutualiser des données
Application web, Services Web, Cloud Computing…
Dématérialiser, de stocker l’information dans des bases de données
Databases
![Page 6: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/6.jpg)
La philosophie du programmeur
Problème complexeDifficile à résoudre
Sous-problème plus simple à résoudre
Sous-problème plus simple à résoudre
Sous-problème plus simple à résoudre
Diviser pour mieux reigner
![Page 7: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/7.jpg)
I. Comment concevoir un programme?1.1. Présentation généraleLa réalisation de la série d’instruction que constitue le programme peut-être réalisée en 6 étapes :
Analyse du programme.1
Que souhaitez-vous que le programme réalise ?
Quelles sont les taches que le programme doit réaliser ?
Quels sont les paramètres d’entrée et de sortie du programme ?
Conception du programme. 2
Comportement du programme
Algorithme → schémas blocs
Codage du programme.3
Ecriture de l’algorithme dans un langage de programmation (C, C++, JAVA, PROCESSING, etc…)
![Page 8: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/8.jpg)
Mise à l’essai et test du programme.4
Documenter le programme.5
Sur des petits exemples, vérifier que le programme exécute bien ce qui a été défini dans la phase d’analyse du programme.
Indispensable afin de vérifier la validité de l’algorithme ou faire évoluer le programme.
la phase de documentation est naturellement imbriquée dans la phase de codage du programme et indissociable de cette dernière !
Entretient du programme.6
Améliorations et la réalisation des différentes versions du programme initial
![Page 9: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/9.jpg)
1.2. Analyse du programme
6 étapes
Définir les objectifs. 1
Problème à résoudre
taches à effectuer
Définir les résultats escomptés2
Exemple: lorsque l’ordinateur reconnaît une image via la webcam → apparition d’un son et d’une nouvelle image
Définir les données d’entrée et sortie3
Exemple précédant:
Paramètre d’entrée: Image de référence
Paramètres de sortie: Nouvelle image + son
![Page 10: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/10.jpg)
Apparition d’un monstre en 3D à la place de l’image d’entrée et
émission d’un son
Image de référence reconnue en
paramètre d’entrée
Reconnaissance et traitement
Paramètre d’entrée
+
Paramètres de sortie
![Page 11: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/11.jpg)
Définir les exigences de traitement4
Différentes taches à réaliser avant d’arriver au résultat escompté
Exemple précédant:
(1) Capturer l’image issue de la webcam
(2) Analyser cette image afin de reconnaître l’image de référence donnée en paramètre d’entrée du programme.
(3) Remplacer cette image par une tête de monstre et émettre un son.
Bien commenter le programme5
Définir tous les paramètres et les actions effectuées afin que quiconque puisse comprendre l’objectif du programme.
![Page 12: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/12.jpg)
1.3. Conception du programme
Ecriture de l’algorithme, c'est-à-dire l’ensemble des étapes qui mènent à la résolution du problème posé initialement.
Exemple 1: « monter un meuble IKEA »
Paramètres d’entrée:
Algorithme:
Toutes les pièces du meuble.
Procédure à respecter pour monter le meuble correctement.
Paramètres de sortie: Le meuble monté
Exemple 1: « vérifier si un triangle ABC est rectangle »
Paramètres d’entrée:
Algorithme:
longueurs a,b et c.
(1) Calculer a²,b² et c²
(2) Vérifier si la plus grande de ces trois valeurs est égale à la somme des deux autres
Paramètres de sortie: VRAI ou FAUX (il s’agit d’un booléen)
C
BA
a
b
c
![Page 13: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/13.jpg)
II. Comment écrire un algorithme ?2.1. Présentation généraleIl existe plusieurs techniques de programmation structurée pour écrire un algorithme :
L’analyse progressive1
Le pseudo-code2
Les organigrammes3
Les structures logiques4
La programmation orienté objet5
La programmation événementielle6
Les outils du génie logiciel7
![Page 14: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/14.jpg)
2.2. Analyse progressive
Elle consiste à établir linéairement et chronologiquement les différentes étapes de l’algorithme généralement à l’aide d’un diagramme.
Chaque étape est appelé « module » modélisé par un cartouche (encadré) composé des énoncés du programme logiquement reliés entre eux.
Chaque module a une fonction unique et une tache simple à réaliser.
![Page 15: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/15.jpg)
Exemple : Analyse progressive de gestion du temps.
![Page 16: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/16.jpg)
2.3. Le pseudo-code
Le pseudo-code est la forme narrative de la logique du programme.
Il donne les détails des modules élaborés dans l’analyse progressive.
Exemple : Pseudo-code détaillant le module « Calculer la facture du client A ».
![Page 17: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/17.jpg)
Les phrases en français constituent une bonne façon de décrire le comportement d’un programme.
Dans cette approche il est impératif d’utiliser des phrases simples et concises qui emploient des verbes d’action à l’infinitif.
Exemple : « construire une forme géométrique »
Acquérir les points de la forme géométrique dans l’espace.1
Mémoriser les points de la forme géométrique.2
Construire les segments qui relient les points entre eux.3
Dessiner la forme à partir des segments.4
![Page 18: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/18.jpg)
2.4. Les organigrammes
Représentation graphique de l’algorithme
Notations conventionnelles:
Traitement
Entrées/Sorties
Test sélectif
Renvoi
Début/fin/interruption
![Page 19: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/19.jpg)
Exemple : Logique du module « Calculer les heures travaillées pour les taches du client A »
Remarque : chaque étape est scrupuleusement commentée !!
![Page 20: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/20.jpg)
2.5. Les structures logiques
Définition : les structures logiques sont des énoncés logiques exécutables permettant de décrire les programmes structurés. Elles sont de trois types :
Séquentielles
Sélectives
Itératives
![Page 21: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/21.jpg)
a. Structure Séquentielle
Définition : les énoncés sont exécutés dans l’ordre où ils apparaissent dans le programme :
Action i
Instruction i
Action i+1
Instruction i+1
![Page 22: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/22.jpg)
Exemple: Dans l’organigramme du module « Calculer la facture d’un client », les deux actions « additionner les heures normales » et « additionner les heures supplémentaires » se suivent et s’exécutent l’une à la suite de l’autre.
Ces actions ne contiennent ni de décision, ni de question nécessitant la réponse « oui » ou « non » suggérant d’autre conséquences.
![Page 23: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/23.jpg)
b. La structure sélective « si, alors, sinon »
Définition : La structure sélective s’impose lorsqu’une condition doit être évaluée et que deux chemins peuvent être empruntés en fonction du résultat de cette évaluation. La syntaxe linéaire est la suivante :
Si « condition »Alors « instruction 1 »Sinon « instruction 2 »
Instruction 1
Si condition
Instruction 2
oui non
Organigramme:
![Page 24: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/24.jpg)
Exemple:
Si « l’heure à laquelle on cesse de travailler dépasse 17h. » (condition)
Alors « le nombre d’heure sup. est égale au nombre d’heure excédentaires travaillées. » (Instruction 1)
sinon « le nombre d’heure sup. est nul. » (Instruction 2)
![Page 25: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/25.jpg)
b. La structure Itérative « Tans que … faire … » ou « faire … tant que … »
Définition : Cette structure itérative décrit une action qui doit s’effectuer tant qu’une condition est satisfaite. La boucle itérative s’arrête lorsque la condition n’est plus vérifiée. Deux variantes:
Tant que « condition » Faire « instruction »
Faire « instruction »Tant que « condition »
La bouche s’effectue au moins 1 fois
![Page 26: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/26.jpg)
b. La structure Itérative « faire de i=1 à N, instruction »
Définition : Cette structure itérative décrit une action qui doit s’effectuer N fois. Tant que l’indice i n’a pas atteint la valeur de N, l’instruction est effectuée. La syntaxe est la suivante :
Pour (i=1 à N) faire « instruction »
Remarque: Cette structure itérative peut aussi s’exprimer à l’aide de la structure « tant que... faire »:
i=1 // initialisation de l’indiceTant que i≠N faire « instruction ».
oui non
i=N ?
Instruction
i=i+1
i=1Schéma bloc:
![Page 27: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/27.jpg)
2.6. La programmation orientée objet
La programmation orientée objet (POO) permet d’augmenter l’efficacité de la programmation linéaire classique qui utilise les structures logiques décrites précédemment.
Programmation linéaire: Conçus de la 1ère à la dernière ligne, comme des entités gigantesques.
processus long et lourd à réitérer à chaque nouvelle voiture
Matières premières
UsinageEtc…
a. Présentation générale
![Page 28: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/28.jpg)
Programmation objet: On conçoit un modèle de voiture à partir de pièces préfabriquées et on duplique le modèle.
Pièces préfabriquées
Modèle de voiture
duplication
![Page 29: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/29.jpg)
Autre exemple: Documents « Word »
Classe(modèle)
Instanciation(Duplication)
Objets(uniques)
DocumentWord
![Page 30: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/30.jpg)
Les objets peuvent interagir entre eux…
Exemple sur PROCESSINGS
Cadre de travail
Balle 1
Balle 2
Interaction avec bord du cadre
Interaction avec bord du cadre
![Page 31: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/31.jpg)
Un objet est fabriqué à partir d’un modèle appelé « classe ».
Conclusion:
Le modèle de l’objet (la classe) peut être dupliqué par le processus d’instanciation:
Nouvelle copie = « instance ».
Chaque objet a une vie indépendante des autres objets.
Les instances d’un même objet sont aussi capables de communiquer entre eux, et avec les instances d’autres objets.
![Page 32: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/32.jpg)
Un objet est composé de:
b. Contenu d’un objet
caractéristiques appelées variables membres
et d’actions appelés méthodes
Les valeurs variables membres sont uniques,
et il peut effectuer les mêmes actions (c'est-à-dire utiliser les mêmes méthodes) que les autres instances du même objet.
Exemple: Architecture de la classe « balle »:
Variables membres: Abscisse x (position suivant l’axe x). Ordonnée y (position suivant l’axe y). Couleur.
méthodes membres: Afficher la balle à l’écran
![Page 33: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/33.jpg)
2.7. La programmation événementielle (PE)
La POO a donné lieu à l’élaboration du concept de programmation événementielle.
On définit la réaction d’un objet pré-créé à un événement donné.
Exemple:
Un texte en petit caractère grossit lorsqu’on double-clique dessus
Un texte en petit caractère grossit lorsqu’on double-clique dessus
La PE permet de mettre au point des applications complexes à partir d’interventions ponctuelles facilement contrôlables.
Durée de vie d’un programme:
Un programme nait lorsqu’on l’exécute et meurt à la fin du traitement.
Programme immortel : figé sur une boucle dans l’attente d’un événement
Exemple: Interface Homme/Machine
Traitement en temps réel d’un événement
![Page 34: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/34.jpg)
2.8. Aide à la programmation: les outils du génie logiciel
Rend la programmation plus efficaces, plus rapide et plus fiable.
Exemple:
ECLIPSE en JAVA
PROCESSINGS facilite la programmation JAVA appliqué au traitement de l’information (visuelle, sonore…), et aux animations et dessins multidimensionnels.
Ecriture automatique
Débogage
Exécution pas à pas pour vérifier l’algorithme
![Page 35: CHAPITRE 1 INITIATION À LA PROGRAMMATION INTRODUCTION Exemple: Monter un meuble (IKEA) Résultat final: meuble monté Paramètres dentrées Différents éléments](https://reader036.vdocuments.site/reader036/viewer/2022070309/551d9d90497959293b8c6b35/html5/thumbnails/35.jpg)
2.9. BILAN