Programmation procédurale Le projet C O N C O R D E

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

TYPES DE PROBLÈMES EN GÉOMÉTRIE
Chapitre annexe. Récursivité
Algorithmes et structures de données avancées Cours 7
La Gestion de la Configuration
Algorithmes et structures de données avancés
Spécification et qualité du logiciel
Introduction à l’Algorithmique
GEF 243B Programmation informatique appliquée
Les Structures de contrôles itératives
UML - Présentation.
Chap 1 Grammaires et dérivations.
Les Ateliers de Génie Logiciel
Logiciels de Modélisation par Objets Typés
L’ordinateur Aspect théorique
Nous allons vous présenter: - Photoshop - Algorithme et programmation
.Becquet Yoann .Langa Guillaume .Ribéry Jonathan .Strubbe Ioannis
Section XI Traitement de fichiers
Graphes Conceptuels J.F. Baget Inria.
Analyse lexicale Généralités Expressions rationnelles Automates finis
Programmation logique Logique des prédicats du premier ordre
ALGORITHMIQUE en classe de seconde
.Becquet Yoann .Langa Guillaume .Ribéry Jonathan .Strubbe Ioannis
INTRODUCTION AU LANGAGE « LADDER » ROLE DES DIFFERENTS ELEMENTS
LANGUE ET LANGAGE EN MATHEMATIQUES.
INRP Casyopée Un logiciel pour l’étude des fonctions au lycée
MOT Éditeur de modèles de connaissances par objets typés
IFT313 Introduction aux langages formels Froduald Kabanza Département dinformatique Université de Sherbrooke Révision de mi-session.
Rappels de logique des prédicats du 1er ordre
Chapitre 8 Structure de contrôle.
Plan de la rencontre #6 Approches pédagogiques pour l ’utilisation des NTIC Scénarios d ’utilisation des NTIC Logiciels-outils et écriture Activité: Réalisation.
Programmation non procédurale Le projet ECOLE 2000
Constructions aux instruments
Programmation procédurale Transformations
Introduction à l’algèbre
Graphes 1. Introduction 2. Définition 3. Représentation mémoire
Programmation procédurale Les différents schémas
Spécification de programmes et de systèmes
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Université de Sherbrooke
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
GENIE LOGICIEL
Algorithmes et Programmation
Programmation procédurale preuves D. Preuves Preuves sur les R-algorithmes. Règle de l'appel (Hoare). Exemple Preuves sur les B-algorithmes (Floyd) Automatisation.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
Les outils de la vérification statiquedynamique unitaires intégration vérificateur de syntaxe vérificateur de syntaxe étenduABAP débogueur inspecteur de.
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
La programmation.
Le langage Racket (Lisp)
Introduction à l’algèbre Séminaires démultipliés 2013 Jour 2.
Initiation à la conception des systèmes d'informations
Fondamentaux de l’enseignement
1 IFT 099 Introduction à la programmation. 2 Plan du cours (sem. 1) 1.Introduction - les ordinateurs 2.La programmation procédurale 3.La programmation.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Programmation fonctionnelle Preuve
UMR 7619 Sisyphe Avril 2012 Alexandre Pryet Le langage une introduction pragmatique.
Démarche de résolution
Initiation à l’Algorithmique
Une brève présentation de C# Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Synthèse d’images et Rendu Réaliste Compression Progressive de Modèles 3D DOMENGET Bruno DUMAS Benjamin EISTI.
Chap 1 Grammaires et dérivations.
L’EXAO: Outil et Objet d’Apprentissage. Développements et Perspective.
MINI‐PROJET DE GROUPE REALISE DANS LE CADRE DU COURS DE GEN
L’ALGORITHMIQUE DANS LE PROGRAMME DE SECONDE Nouvelle Calédonie 2010.
Mathématiques au cycle 3
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
GEOMETRIE du cycle 1 au cycle 3 quelques pistes
Transcription de la présentation:

Programmation procédurale Le projet C O N C O R D E " Environnement de CONstruction, CORrection et DE transformation d'algorithmes de tous types." Proposé par D.E ZEGOUR. E. Le projet Concorde. Introduction Les différents types de schéma Construction Correction Transformation Objectif pratique Objectif pédagogique

Programmation procédurale Le projet C O N C O R D E INTRODUCTION Synthèse de tous les langages procéduraux. Synthèse sur l'art de la programmation. Ne traite que les constructions issues de langages procéduraux. Chaque type de construction reflète un mode de penser, un mode de conception d'algorithmes. Langages simples afin de montrer les différents types de construction. Ainsi, Concorde considère aussi bien les constructions d'antan (algorithme avec branchement) que celles évoluées ( algorithme récursif).

Programmation procédurale Le projet C O N C O R D E CONCORDE : UN GENIE LOGICIEL Construction des algorithmes de différents types, Correction des algorithmes . Transformation des algorithmes. AUTRES OBJECTIFS . Pédagogique . Pratique

Programmation procédurale Le projet C O N C O R D E TYPES DE CONSTRUCTION O-algorithmes, A-algorithmes, R-algorithmes, B-algorithmes, D-algorithmes.

Programmation procédurale Le projet C O N C O R D E TYPES DE CONSTRUCTION O-ALGORITHME : Organigramme composé de deux types de formes géométriques: losange et carré. A-ALGORITHME Automate composé d'un ensemble d'états ( représentés par des cercles ) reliés par des arcs étiquetés par des tests et des actions.

Programmation procédurale Le projet C O N C O R D E TYPES DE CONSTRUCTION R-ALGORITHME Récursivité avec utilisation d'une seule structure de contrôle :( Si alors Sinon). B-ALGORITHME Branchements conditionnels et inconditionnels. * D-ALGORITHME . Structures de contrôle dues à Dijkstra :(Tantque .. Fintantque) et (Si Alors Sinon )

Programmation procédurale Le projet C O N C O R D E CONSTRUCTION Outils pour l'écriture d'algorithmes : . Éditeur syntaxique [Graphique] . Mode Assisté ou non assisté . Documentation sur : - le langage - sur l'environnement intégré . Indentation Exemple : Pour un D-algorithme, l'utilisateur ne fait qu'entrer les tests et les actions.

Programmation procédurale Le projet C O N C O R D E CORRECTION Trace : Dérouler l'algorithme sur des données particulières Évaluation symbolique : Dérouler l'algorithme sur des données symboliques. Démonstration automatique : Correction partielle et totale d'un algorithme.

Programmation procédurale Le projet C O N C O R D E TRANSFORMATION Outils pour passer d'un s-algorithme vers un s'-algorithme, s<>s' et s, s' dans( B, R, O, A, D) Ainsi, Concorde permet de passer: . de tout algorithme récursif en un algorithme itératif, .de tout algorithme avec branchement en un algorithme itératif, .d'un automate à un algorithme itératif, .ect... Une taxonomie complète de toutes les transformations est faite, grâce a quelques transformations que nous avons proposées.

Programmation procédurale Le projet C O N C O R D E OBJECTIFS PRATIQUES Réutilisation de vieux logiciels : Restructuration en rendant formel ce qui ne l'était pas. Preuves par héritage : Transformer avant de prouver.

Programmation procédurale Le projet C O N C O R D E OBJECTIFS PEDAGOGIQUES Documentation pour chaque type de construction. A la portée de toute personne qui veut l'expérimenter. Utilisé pour l'enseignement de l'art de la programmation. Permet l'écriture d'algorithmes corrects. Permet le déroulement des algorithmes.

Programmation procédurale Le projet C O N C O R D E CONCORDE FAIT DES CHOSES PLUS POUSSEES Explique le "mystère" de la récursivité. Permet la dérécursification d'un algorithme et en explique même le principe pas à pas. Permet le passage d'un algorithme contenant des "GOTO" vers un autre équivalent n'en contenant pas. Entreprend la preuve automatique d'algorithmes récursifs et assiste l'utilisateur pour prouver des algorithmes non récursifs. Ect . . .

Programmation procédurale Le projet C O N C O R D E LES DIFFERENTES PARTIES DU PROJET 3 éditeurs syntaxiques + traceurs correspondant aux s-langages avec s = D, B, R 2 éditeurs syntaxiques graphiques + traceurs correspondants aux s-langages avec s = A, O 1 évaluateur symbolique par s-langage. des Transformateurs.(Se ramener à un D-algorithme ou un R-algorithme) des prouveurs automatiques (D et R-algorithmes)

Programmation procédurale Le projet C O N C O R D E QUELQUES TRANSFORMATIONS Algorithme à branchement -->> Algorithme structuré. Algorithme récursif -->> Algorithme structuré. Algorithme structuré -->> Algorithme récursif.

Programmation procédurale Le projet C O N C O R D E QUELQUES TRANSFORMATIONS Transformations proposées : Automate --> D-algorithme : Automates sont plus généraux que les organigrammes. De plus, le passage vers les D est beaucoup plus simple comparé à celui de Bohm et Jaccoppini. Automates : un outil puissant pour développer des algorithmes structurés.

Programmation procédurale Le projet C O N C O R D E QUELQUES TRANSFORMATIONS Transformations proposées : B-algorithme --> Automate C'est la transformation clé puisque à tout algorithme avec branchement, on peut construire un automate. Nous a permis de concevoir une méthode tout à fait original pour éliminer les "GOTO". B-algorithme --> R-algorithme : Récursifier n'importe quel type d'algorithmes