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

Embed Size (px)

Citation preview

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.9. BILAN