Programmation procédurale Les différents schémas

Slides:



Advertisements
Présentations similaires
Algorithmes et structures de données (avancées) Cours 1+2
Advertisements

Chapitre annexe. Récursivité
Initiation à la programmation et algorithmique cours 2
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Algorithmique et Programmation
Algorithmes et structures de données
Algorithmes et structures de données Cours 3
Sensibilisation à l’Algorithmique
Introduction à l’Algorithmique
Sensibilisation à l’Algorithmique et structure de données
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
Les Structures de contrôles itératives
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
4. Les structures de tests
Section VI Structures répétitives (suite)
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Références Bibliographiques
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
La structure conditionnelle simple
Algorithme Sommaire Introduction Définition et représentation
Introduction à l’algorithmique
Dérécursivation Dérécursiver, c’est transformer un algorithme récursif en un algorithme équivalent ne contenant pas d’appels récursifs. Récursivité terminale.
Les éléments de base de l’algorithmique
Structures de contrôle de l’exécution
Les structures de contrôle conditionnelles
Programmation logique Logique des prédicats du premier ordre
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Programmation logique Démonstrateur automatique
Semaine #1 INF135 par Frédérick Henri.
Architecture et technologie des ordinateurs II
Chapitre 3 Syntaxe et sémantique.
Séance d’introduction
Instructions de contrôle
Intégration d'un langage de modélisation algébrique (LMA) dans AROM
Programmation procédurale Le projet C O N C O R D E
Répéter dans un programme avec une Instruction itérative
Structures alternative et répétitive
Programmation procédurale Transformations
Spécification de programmes et de systèmes
Algorithmique Les structures Rappel L'enchaînement séquentiel
Cours Architecture des Systèmes Informatiques
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
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.
Programmation fonctionnelle Lambda-calcul
Amélioration de la simulation stochastique
TD0 - Rappels. Acquis du programme 1 ère année Analyser et modéliser : un problème, une situation ; Imaginer et concevoir : une solution algorithmique.
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.
Un survol du language C.
Structures de contrôle
La programmation.
Le langage Racket (Lisp)
Cours n° 3 Traitements en Java
Structures de contrôle Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Fonction Traiter Algorithmique et Programmation
Programmation fonctionnelle Preuve
Introduction et Généralités sur l’Algorithmique
Introduction à la récursivité
Démarche de résolution
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Les structures de contrôle
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Module algorithmique et programmation
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Un projet pour approfondir l’apprentissage de la programmation en L1: atelier Prog&Play E. Delozanne, P. Jarraud, M. Muratet 1.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Technologie - Cycle 4 Exemple de progressivité
Transcription de la présentation:

Programmation procédurale Les différents schémas A. Introduction B. Les différents schémas B-schémas D-schémas R-schémas BJn-schémas REn-schémas RECn-schémas Variantes Comparaison des structures Relation entre schémas Relation entre structures Quelques résultats

Programmation procédurale Les différents schémas Introduction Calculateurs câblés : A l'origine de l'informatique, toutes les opérations étaient câblées. Machine de Von Neumann Le programme est stocké en mémoire centrale. Existence d'un canal de communication entre la mémoire et l'unité de traitement (UC) Donc deux opérations de base : - traitement (UC) - mouvement d'informations( Canal de communication) L'opération de base est l'affectation. Ne sont pas basés sur des systèmes formels.

Programmation procédurale Les différents schémas Schéma avec Branchement (B-schémas) Syntaxe sous forme étendue de Backus-Naur. B-language <b-algo> => <Inst>{; <Inst> }* <Inst> => <InstSimple> | Etiq: InstSimple> <InstSimple>=><saut>| <SautCond> | stop | a | b | c | d <Saut> => Allera Etiq <SautCond> => SI<exp> Allera Etiq <Exp> => T1|T2|T3|..... Les seules structures de contrôle sont les branchements inconditionnel et conditionnel.

Programmation procédurale Les différents schémas Schéma avec Branchement (B-schémas) Une instruction peut être : - une action - un "si » - un "allera » - un arret Le schéma de programme devient un programme lorsqu'on donne un sens aux symboles de fonctions et de prédicats. C'est ce qu'on appelle une interprétation. Le langage des B-schéma est solution de l'équation à point fixe : B = A U Et : B U B ; B U Si P allera et U Allera et

Programmation procédurale Les différents schémas Schéma itératif ( D-schéma ) <d-algo> => <Inst> {; <Inst>}* <Inst> => <Tantque>| <Sisinon>|a|b|c|d|.... <Tantque> => TANTQUE <exp> : <Inst>{;<Inst>}* FTANTQUE <Sisinon> => SI <exp>: <Inst> {; <Inst>}* [SINON <Inst>{; <Inst>}* ] FSI <Exp> => T1|T2|T3|.....

Programmation procédurale Les différents schémas Schéma itératif ( D-schéma ) Les seules structures de contrôle sont la répétitive et l'alternative Le langage des D-schémas est solution de l'équation à point fixe : D = A U D ; D U Tantque P : D Fintantque Si P : D Sinon D Finsi

Programmation procédurale Les différents schémas Schéma récursif Une seule structure de contrôle: alternative avec des appels récursifs.

Programmation procédurale Les différents schémas BJn-schémas B pour Bohm et J pour Jaccopini Séquentielle : a ; b Conditionnelle : si p alors a sinon b fsi K-itération : faire p1 --> a1 ; p2 --> a2 ; .... pk --> ak fait avec K dans l'intervalle [1, n].

Programmation procédurale Les différents schémas BJn-schémas Sens de la K-itération : Si p1 est vrai on effectue a1, puis si p2 est vrai on effectue a2, .... Après ak, on revient en p1. L'itération est arrêtée dés qu'un pi est faux. Syntaxiquement le langage BJ est solution de : BJ = A U BJ ; BJ U Si (P U !P) alors BJ sinon BJ fsi U Faire P --> BJ ; P --> BJ ... ; P --> BJ Fait A désigne l'ensemble des actions.

Programmation procédurale Les différents schémas REn-schémas Schéma Répétitif avec Exit. C'est le cas où on a plusieurs boucles imbriquées et on veut sortir directement des i boucles englobant. On introduit un nouveau type de d'instruction : EXIT(i), 1<= i <= n. Composante sérielle : a ; b Conditionnelle : si p alors a sinon b fsi Répétitive : Faire a fait où a comporte éventuellement des instructions Exit().

Programmation procédurale Les différents schémas REn-schémas Schéma Répétitif avec Exit. Syntaxiquement le langage RE est solution de : RE = A U RE ; RE U Si ( P U !P) alors RE Sinon RE fsi U Faire RE fait F contient des actions et des instructions Exit(i).

Programmation procédurale Les différents schémas RECn-shémas C'est RE auquel on ajoute l'instruction Entrée(i) qui réalise un saut au début de la i-ème itération.

Programmation procédurale Les différents schémas Variantes Dans les REn et RECn on ne retrouve pas la construction Tantque p faire a fait des D-schémas. On appelle DREn ( respectivement DRECn) schémas l'ensemble des schémas REn et RECn étendus par ce mode de construction. Les instructions Entrée et Exit ne portent pas sur l'instruction Tantque.

Programmation procédurale Les différents schémas Comparaison des structures ( Relation entre schémas ) R1 : Pour toute interprétation I de &1 et &2 on a : I(&1) = I(&2). R2 : Les ensembles d'actions et de prédicats ayant une occurrence dans &1 ou dans &2 sont les mêmes. Remarques : 1. R1 et R2 sont des relations d'équivalence. 2. Si deux schémas sont reliés par la relation R2, le passage de l'un à l'autre se fait sans introduction de nouvelles actions ou tests.

Programmation procédurale Les différents schémas Comparaison des structures ( Relations entre structures ) Soient S1 et S2 deux structures et R une relation S1 est dit réductible en S2 pour la relation R si quelque soit &1 de S1, il existe &2 de S2 tel que &1 R &2. notation : S1 <=R S2 S1 est dit équivalent à S2 pour R si : S1 <=R S2 et S2 <=R S1 notation : S1 =R S2 S1 et dit strictement réductible en S2 pour R si : S1 <=R S2 et non (S2 <=R S1) notation : S1 <R S2

Programmation procédurale Les différents schémas Comparaison des structures (Relations courantes entre structures) Conversion fonctionnelle (FN) Elle correspond à R1 : S1 <=FN S2. Sens : Pour toute interprétation I, et tout schéma &1 de S1, il existe un schéma &2 de S2 tel que I(&1) = I(&2). Conversion sémantique (SE) Elle correspond à R1 et R2. S1 <=SE S2. Sens : Pour toute interprétation I, et tout schéma &1 de S1, il existe un schéma &2 de S2 construit sans introduction de nouvelles actions et tel que I(&1) = i(&2).

Programmation procédurale Les différents schémas Quelques résultats D <SE B D =FN B (Théorème de Bohm et Jaccopini)

Programmation procédurale Les différents schémas Quelques résultats Les comparaisons entre structures sont les résultats des travaux de RAO-KOSARAJU (1974). <, <=, = désigne <SE, <=SE, =SE. RE = REC = DRE = DREC = B V V REn = RECn <= DREn = DRECn V VI RE2 = REC2 <= DRE2 = DREC2 V VI RE1 = REC1 <= DRE1 = DREC1 V BJ V BJn V BJ2 V BJ1 = D (V désigne < et VI <=)

Programmation procédurale Les différents schémas Conclusion Soit S une structure quelconque parmi celles que nous venons de définir. D'après le tableau ci-dessus nous avons D <=SE S <=SE B D'où a fortiori D <=FN S <=FN B Comme B =FN D ( Théorème de Bohm et Jaccopini), on en déduit : S =FN B Théorème : Toutes les structures présentées sont fonctionnellement équivalentes.