Initiation à la programmation

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

Génie Logiciel 2 Julie Dugdale
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Algorithmique Résume.
GEF 243B Programmation informatique appliquée
et évaluation des compétences
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
Diagrammes de communication
Cours Visual Basic pour Application
Section VI Structures répétitives (suite)
Utilisation des tableaux
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
INITIATION AU GRAFCET E. HELLOT lycée P. Duez.
Les bases de l’Algorithmique
Initiation à la programmation et algorithmique
Algorithmes et résolution de problèmes FGE
Introduction à l’algorithmique
Démarche de résolution de problèmes
Algorithmique et Programmation
Algorithmique et structure de données
Les éléments de base de l’algorithmique
Structure d’un système industriel.
Création d’un programme :
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
ALGORITHMIQUE en classe de seconde
SÉMINAIRE DE LANCEMENT DES COURS EN LIGNE
Algorithmique et Programmation
Les structure d’un programme :
Introduction à l’algorithmique
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
IFT Complexité et NP-complétude
CSI3525: Concepts des Languages de Programmation
Efficacité des algorithmes
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Sensibilisation a la modelisation
Patrons de conceptions de créations
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
GNU Free Documentation License
Université de Sherbrooke
Algorithmique et programmation (1)‏
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Introduction au Génie Logiciel
DESIGN MULTIMÉDIA Initiation aux bases de La scénarisation multimédia
Cours n° 3 Traitements en Java
Initiation à la conception des systèmes d'informations
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Algorithmique : Introduction
Introduction et Généralités sur l’Algorithmique
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Module algorithmique et programmation
Nouvelles Technologies Internet & Mobile
Scripts et fonctions Instructions de contrôle
Initiation aux bases de données et à la programmation événementielle
Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Algorithmique Boucles et Itérations
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Une progression spiralaire de l’apprentissage en technologie
Transcription de la présentation:

Initiation à la programmation Chapitre 1 Initiation à la programmation

Différents éléments et outils Introduction Exemple: Monter un meuble (IKEA) Algorithme Paramètres d’entrées Notice de montage Différents éléments et outils Paramètres de sortie Résultat final: meuble monté

Qu’est-ce qu’un programme et qu’est-ce que la programmation? Définition: 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…). La programmation est l’écriture dans le langage choisi, de cette séquence d’instruction.

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

La philosophie du programmeur Problème complexe Difficile à résoudre Diviser pour mieux reigner Sous-problème plus simple à résoudre Sous-problème plus simple à résoudre Sous-problème plus simple à résoudre

I. Comment concevoir un programme? 1.1. Présentation générale La réalisation de la série d’instruction que constitue le programme peut-être réalisée en 6 étapes : 1 Analyse du programme. 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 ? 2 Conception du programme. Comportement du programme Algorithme → schémas blocs 3 Codage du programme. Ecriture de l’algorithme dans un langage de programmation (C, C++, JAVA, PROCESSING, etc…)

4 Mise à l’essai et test du programme. 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. 5 Documenter le 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 ! 6 Entretient du programme. Améliorations et la réalisation des différentes versions du programme initial

1.2. Analyse du programme 6 étapes 1 Définir les objectifs. Problème à résoudre taches à effectuer 2 Définir les résultats escomptés Exemple: lorsque l’ordinateur reconnaît une image via la webcam → apparition d’un son et d’une nouvelle image 3 Définir les données d’entrée et sortie Exemple précédant: Paramètre d’entrée: Image de référence Paramètres de sortie: Nouvelle image + son

+ BIP Image de référence reconnue en paramètre d’entrée Reconnaissance et traitement + BIP Image de référence reconnue en paramètre d’entrée Apparition d’un monstre en 3D à la place de l’image d’entrée et émission d’un son Paramètre d’entrée Paramètres de sortie

4 Définir les exigences de traitement 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. 5 Bien commenter le programme Définir tous les paramètres et les actions effectuées afin que quiconque puisse comprendre l’objectif du programme.

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: Toutes les pièces du meuble. Paramètres de sortie: Le meuble monté Algorithme: Procédure à respecter pour monter le meuble correctement. Exemple 1: « vérifier si un triangle ABC est rectangle » C B A a b c Paramètres d’entrée: longueurs a,b et c. Algorithme: (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)

II. Comment écrire un algorithme ? 2.1. Présentation générale Il existe plusieurs techniques de programmation structurée pour écrire un algorithme : 1 L’analyse progressive 2 Le pseudo-code 3 Les organigrammes 4 Les structures logiques 5 La programmation orienté objet 6 La programmation événementielle 7 Les outils du génie logiciel

Chaque module a une fonction unique et une tache simple à réaliser. 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.

Exemple : Analyse progressive de gestion du temps.

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

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 » 1 Acquérir les points de la forme géométrique dans l’espace. 2 Mémoriser les points de la forme géométrique. 3 Construire les segments qui relient les points entre eux. 4 Dessiner la forme à partir des segments.

Représentation graphique de l’algorithme 2.4. Les organigrammes Représentation graphique de l’algorithme Notations conventionnelles: Renvoi Traitement Entrées/ Sorties Test sélectif Début/fin/interruption

Exemple : Logique du module « Calculer les heures travaillées pour les taches du client A » Remarque : chaque étape est scrupuleusement commentée !!

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

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

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.

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 » Organigramme: Instruction 1 Si condition Instruction 2 oui non

« l’heure à laquelle on cesse de travailler dépasse 17h. » (condition) 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)

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: La bouche s’effectue au moins 1 fois Tant que « condition » Faire « instruction » Faire « instruction » Tant que « condition »

Pour (i=1 à N) faire « instruction » 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’indice Tant que i≠N faire « instruction ». Schéma bloc: oui non i=N ? Instruction i=i+1 i=1

2.6. La programmation orientée objet a. Présentation générale 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. Conçus de la 1ère à la dernière ligne, comme des entités gigantesques. Programmation linéaire: Matières premières Usinage Etc… processus long et lourd à réitérer à chaque nouvelle voiture

Programmation objet: On conçoit un modèle de voiture à partir de pièces préfabriquées et on duplique le modèle. Modèle de voiture duplication Pièces préfabriquées

Autre exemple: Documents « Word » Document Word Classe (modèle) Instanciation (Duplication) Objets (uniques)

Exemple sur PROCESSINGS Les objets peuvent interagir entre eux… Exemple sur PROCESSINGS Cadre de travail Interaction avec bord du cadre Balle 1 Balle 2 Interaction avec bord du cadre

Conclusion: Un objet est fabriqué à partir d’un modèle appelé « classe ». 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.

Un objet est composé de: caractéristiques appelées variables membres b. Contenu d’un objet Un objet est composé de: 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

Un texte en petit caractère grossit lorsqu’on double-clique dessus 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

2.8. Aide à la programmation: les outils du génie logiciel Rend la programmation plus efficaces, plus rapide et plus fiable. Ecriture automatique Débogage Exécution pas à pas pour vérifier l’algorithme Exemple: ECLIPSE en JAVA PROCESSINGS facilite la programmation JAVA appliqué au traitement de l’information (visuelle, sonore…), et aux animations et dessins multidimensionnels.

2.9. BILAN