ALGORITHMIQUE II. Récurrence et Récursivité. SMI AlgoII
|
|
|
- Sévérine Doré
- il y a 10 ans
- Total affichages :
Transcription
1 ALGORITHMIQUE II Récurrence et Récursivité
2 Récurrence Suite récurrente: la déition d une suite est la donnée d un terme général déi en fonction du (ou des) terme(s) précédant(s) D un terme initial qui permet d initialiser le calcul Principe de récurrence : Soit P un prédicat (ou propriété) sur IN qui peut être soit vrai soit faux (on écrira souvent P(n) à la place de P(n) = vrai). On suppose que P(0) vrai n IN, P(n) P(n+1) Alors, pour tout n IN, P(n) est vrai. Si on considère le prédicat suivant P(n) : je sais résoudre le problème pour n alors le principe de récurrence nous dit que si je sais résoudre le Pb pour n=0 et que si je sais exprimer la solution pour n en fonction de la solution pour n+1 alors je sais résoudre le Pb pour n importe quel n.
3 Récursivité Examples: 1. Puissance a 0 = 1 a 0 = 1 a n+1 = a a n Ou bien a n = a a n-1 n>0 2. Factoriel 0! = 1 n! = n (n-1)!, n 1 3. Suite de Fibonacci F 0 = F 1 = 1 F n = F n-1 + F n-2, n 2
4 Récursivité Un algorithme (ou fonction) est dit récursif s il est déi en fonction de lui-même. Exemples Fonction puissance(x : réel, n : entier) : réel si n = 0 alors retourner 1 sinon retourner (x * puissance(x, n-1)) Factoriel (n) si n = 0 alors retourner(1) sinon retourner (n*factoriel(n-1))
5 Récursivité fact (n) si n = 0 alors retourner(1) sinon retourner(n*fact(n-1)) fsi Le déroulement de l appel de fact(3): 3*fact(2) Fact(3) 3*2=6 2*fact(1) 6 2*1=2 1*fact(0) La condition n = 0 est appelée test d arrêt de la récursivité. 1*1=1 Il est impératif de prévoir un test d arrêt dans une fonction récursive, sinon l exécution ne s arrêtera jamais. L appel récursif est traité comme n importe appel de fonction.
6 Récursivité L appel d une fonction (récursive ou non) se fait dans un contexte d exécution propre (pile d exécution), qui contient : L adresse mémoire de l instruction qui a appelé la fonction (adresse de retour) Les valeurs des paramètres et des variables locales à la fonction. L exécution d une fonction récursive se fait par des appels successifs à la fonction jusqu à ce que la condition d arrêt soit vérifiée, et à chaque appel, les valeurs des paramètres et l adresse de retour sont mis (empilés) dans la pile d exécution.
7 Récursivité L ordre des instructions par rapport à un appel récursif est important. Exemple: afficher(n) si n > 0 alors fsi ١ afficher(n div 10) ٢ écrire(n mod 10) L algorithme récursif afficher(n) permet d afficher les chiffres d un entier, strictement positif, selon la disposition de l instruction écrie(n mod 10): - Si l instruction est placée en ١, les chiffres sont affichés dans l ordre inverse - Si elle est placée en ٢, alors les chiffres seront affichés dans le bon ordre Pour n = 123, on a : ١ ٢ 1 2 3
8 Type de récursivité Récursivité simple: Une fonction récursive contient un seul appel récursif. Récursivité multiple: une fonction récursive contient plus d un appel récursif (exemple suite de Fibonacci). Récursivité mutuelle( ou croisée): Consiste à écrire des fonctions qui s appellent l une l autre. Exemple
9 Récursivité mutuelle Pair(n) si n = 0 alors retourner vrai sinon retourner (impair(n-1)) fsi Impair(n) si n = 0 alors retourner (faux) sinon retourner (pair(n-1)) fsi
10 Un peu de Structures de Données Notion de pile. Une pile est une structure pour représenter une suite d éléments avec la contrainte qu on ne peut ajouter, ou enlever, un élément que d un même côté de la pile (dit sommet de la pile). Exemple pile d assiettes. Une pile peut être représentée ajouter som 4 par un tableau et un indice de sommet P enlever
11 Notion de Pile Opérations déies sur les piles: initialiser(p : Pile) //Crée une pile vide. sommet(p : Pile) : élément// Renvoie l élément au sommet de la pile p, sous la condition que p soit non vide. empiler(x : élément, p : Pile) // ajoute x au sommet de la pile p. dépiler(p : Pile) // supprime l élément au sommet de la pile p, sous la condition que p soit non vide. pilevide(p : Pile) : booléen // retourne vrai si p est vide.
12 Notion de Pile Exemple. Une expression e est dite bien parenthésée (on se limite au ( et ) ) si : 1. Le nombre de parenthèses ouvrantes ( e ( ) est égal au nombre de parenthèses fermantes ( e ) ) dans e. 2. Tout préfixe (partie gauche) u de e vérifie: u ( - u ( 0. Algorithme: on parcourt l expression e (de gauche à droite). A chaque rencontre d une parenthèse ouvrante on l empile, et à chaque rencontre d une parenthèse fermente on dépile. Si on arrive à la de e avec une pile vide, l expression e est bien parenthésée sinon e n est pas bien parenthésée. - l expression (()())() est bien parenthée. - l expression ())( n est pas bien parenthésée.
13 Transformation du récursif en itératif : «Dérécursivation» Schéma d un algorithme récursif: algor(x) A si C(X) alors B; algor(ϕ(x)); D; sinon E; fsi; Où : X : liste de paramètres C : condition d arrêt portant sur X A, B, D, E : bloc d instructions (éventuellement vide) ϕ(x) : transformation des paramètres
14 Transformation du récursif en itératif : «Dérécursivation» algor(x) Début A si C(X) alors B ; algor(ϕ(x)); ϕ D ; sinon E ; fsi; Algorithme itératif équivalent. algoi(x) p : Pile initialiser(p); A ; tantque C(X) faire B ; empiler(x, p); X := ϕ (X); A ; ftantque; E ; tantque (non pilevide(p)) faire X := sommet(p); dépiler(p); D ; ftantque
15 Dérécusivation Exemple. afficherr(n) si n > 0 alors afficher(n div 10) écrire(n mod 10); fsi A = B = E = afficheri(n) p : Pile; Début initialiser(p); tanque n > 0 faire empiler(n, p); n := n div 10; ftantque tantque (non pilevide(p)) faire n := sommet(p); dépiler(p); écrire(n mod 10); ftanque
16 Transformation du récursif en itératif : «Dérécursivation» Récursivité terminale: La récursivité est dite terminale si la dernière instruction exécutée est un appel récursive; (Cas où D = ). Il est claire, dans ce cas, d éliminer la pile dans la version itérative. (On dépile pour ne rien faire dans la 2 ème boucle). La récursivité d une fonction F(X) est aussi dite terminale lorsqu elle se termine par l instruction retourner(f(ϕ(x))). On ajoute, dans ce cas, un paramètre à la liste X pour contenir le résultat de retour d un appel récursive, comme le montre l exemple suivant:
17 Exemple fonction FACR(n) ; fonction FACR'(n, r) si n=0 alors retourner (1) si n=0 alors retourner (r). sinon retourner (n* FACR(n-1)) ; sinon retourner (FACR'(n-1, n*r)) ; RÉCURSIVE. RÉCURSIVITÉ TERMINALE fonction FACI(n) ; fonction FACI'(n, r) ; r:= 1 ; tant que n > 0 faire tant que n > 0 faire { r := n* r ; n := n-1 ; } { r := n* r ; n := n-1 ; } retourner (r) ; retourner (r) ;.. ITÉRATIVE
18 Complexité des algorithmes récursifs La complexité des algorithmes récursifs est souvent exprimée par une équation de récurrence. Exemple1. Complexité de l algorithme récursif pour calculer n! (l opération dominante est la multiplication) Soit T(n) le coût de FACR(n). T(n) vérifie l équation: T(0) = 0 T(n) = T(n-1) + 1 la solution de cette équation est : T(n) = n = (n fois)
19 Complexité des algorithmes récursifs Exemple2. Tri par sélection sel_rec(t,n) si n > 1 alors k max {i {1,2,,n}/ T[i] T[j], j=1,2,,n et j i} échanger(t[k],t[n]) fsi; sel_rec(t,n-1) Complexité : T(n) vérifie : T(1) = 0 T(n) = T(n-1) + n T(n) = n+t(n-1) = n+(n-1)+t(n-2) = = n+(n-1)+ +2 +C(1) = T(n) = O(n 2 )
20 On ouvre une parenthèse Encore un peu de structures de données Notion d arbre binaire On introduit cette notion pour savoir interpréter les arbres d appels dans le cas d une récursivité double(où il y a deux appels récursifs). - Les arbres sont utilisés pour représenter une suite d éléments. - un arbre est un ensemble de nœuds, chaque nœud représente un élément de la suite. Déition récursive d un arbre binaire: un arbre binaire est: Soit vide Soit formé : D un nœud (appelé racine) arbre de racine r r D un sous-arbre gauche, noté SAG, qui est un arbre binaire) D un sous-arbre droit, noté SAD, qui est aussi un arbre binaire (les deux sou-arbres gauche et droit sont disjoints). SAG SAD
21 Arbre binaire: terminologie Soit A un arbre binaire de racine r.. La racine du SAG (resp. SAD) de A est appelé fils gauche (resp. fils droit) de r et r est appelé père. Un nœud qui n a pas de fils est appelé feuille. 5 un chemin de l arbre est une suite de nœuds n 1,n 2, n k où n i+1 est un fils (gauche ou droit) de n i, 1 i k-1. 9 Longueur d un chemin = nombre de nœuds, constituant le chemin, - 1 Une branche est un chemin de la racine à une feuille. La hauteur d un arbre est la longueur de la plus longue branche de feuilles l arbre. -1 si A = h(a) = 1 + max(h(sag(a), h(sad(a)) Branche: Branche plus longue: Hauteur = 4
22 Arbre binaire Résultat (utile pour la complexité sur les arbres binaires de recherche): la hauteur h d un arbre binaire de taille n (n est le nombre de nœuds de l arbre) vérifie: 1 + log 2 n h n - la hauteur est, en moyenne, un O(log n) et un O(n) dans le pire des cas. Les algorithmes sur les arbres binaires se ramènent souvent aux algorithmes de parcours de ces arbres.
23 Algorithmes de parcours puis on ferme la parenthèse Parcours(a : Arbre) si a alors ١ parcours(sag(a)); ٢ Traiter(racine(a)) parcours(sad(a)); ٣ fsi; Selon la disposition de l instruction traiter(racine(a)), on distingue 3 types de parcours: ١ : parcours préfixe. ٢ : parcours infixe. ٣ : parcours postfixe On passe 3 fois sur un nœud. Parcours préfixe: on traite un nœud lorsqu on le rencontre pour la 1 er fois Parcours infixe: la 2è fois Parcours posfixe: le quitte pour la dernière fois
24 Récursivité double & Arbre des appels récursifs Exemple1: calcul de la hauteur d un arbre binaire. h(a : arbre) si a = alors retourner -1 sinon fsi; h1 := h(sag(a)); h2 : h(sad(a)); retourner(1+max(h1,h2)); Un arbre est donné par sa racine -1-1 appel de h(1): h(2)=2 3 h(5)=0-1 h(1)=3 h(3)= h(4)=0-1
25 Exemple2 : tours de Hanoï Le jeu consiste à faire passer les disques de la tour T1 à la tours T2, en ne déplaçant qu un seul disque à la fois, et en utilisant la tour intermédiaire T3 de telle sorte qu à aucun moment un disque ne soit empilé sur un disque de plus petite dimension. Récursivité double & Arbre des appels récursifs. (Occupation des moines de Hanoï) La solution semble difficile, et pourtant une solution récursive existe. T1 T2 T3 Soit n le nombre de disques à déplacer. Si n=1 la solution est triviale. Si on sait transférer n-1 disques alors on sait en transférer n. Il suffit de transférer les n-1 disques supérieurs de la tours T1 vers la tours T3, de déplacer le disque le plus grand de T1 vers T2, puis de transférer les n-1 disques de T3 vers T2. Ceci se traduit par l algorithme récursif suivant:
26 Tours de Hanoï H(n,T1,T2,T3) si n = 1 alors écrire(t1,,t2) sinon fsi H(n-1,T1,T3,T2); écrire(t1,,t2) H(n-1,T3,T2,T1);
27 H(n,T1,T2,T3) si n = 1 alors écrire(t1,,t2) sinon H(n-1,T1,T3,T2); écrire(t1,,t2) H(n-1,T3,T2,T1); fsi. Arbre des appels de H(3,a,b,c) H (3, a, b, c) H (2, a, c, b) a b H(2,c,b,a) H(1,a,b,c) a c H(1,b,c,a) H(1,c,a,b) c b H(1,a,b,c) a b b c c a a b
28 Tours de Hanoï : Complexité Soit T(n) le temps pour déplacer les n disques. T(n) vérifie l équation : T(1) = 1 T(n) = 2 T(n-1) +1 On a : T(2) = T(3) = 2(2 +1) + 1 = On montre, par récurrence, que T(n) = n-1 = 2 n 1 Sachant que T(10) = = 1023 et une année 0.3 x10 8 secondes, il faudrait, pour les moines, siècles pour pouvoir déplacer 64 disques!
introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives
introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques
1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : [email protected] Page personnelle : http://www.lri.fr/ hivert
1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : [email protected] Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes
Les structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Algorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
ARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
INF601 : Algorithme et Structure de données
Cours 2 : TDA Arbre Binaire B. Jacob IC2/LIUM 27 février 2010 Plan 1 Introuction 2 Primitives u TDA Arbin 3 Réalisations u TDA Arbin par cellules chaînées par cellules contiguës par curseurs (faux pointeurs)
ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII
ALGORITHMIQUE II NOTION DE COMPLEXITE 1 2 Comment choisir entre différents algorithmes pour résoudre un même problème? Plusieurs critères de choix : Exactitude Simplicité Efficacité (but de ce chapitre)
Architecture des Systèmes d Information Architecture des Systèmes d Information
Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau
Quelques Algorithmes simples
Quelques Algorithmes simples Irène Guessarian [email protected] 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été
Initiation à l algorithmique
Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -
Feuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Algorithmique, Structures de données et langage C
UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure
Chapitre 7. Récurrences
Chapitre 7 Récurrences 333 Plan 1. Introduction 2. Applications 3. Classification des récurrences 4. Résolution de récurrences 5. Résumé et comparaisons Lectures conseillées : I MCS, chapitre 20. I Rosen,
Arbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
4. Les structures de données statiques
4. Les structures de données statiques 4.1 Tableaux à une dimension 4.1.1 Introduction Imaginons que dans un programme, nous ayons besoin simultanément de 25 valeurs (par exemple, des notes pour calculer
Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...
Université Bordeaux 1 table des matières Licence Semestre 3 - Algorithmes et structures de données 1 Dernière mise à jour effectuée le 23 Octobre 2013 Piles et Files Déitions Primitives de piles, exemples
Algorithmique et Programmation
École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................
Définitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Recherche dans un tableau
Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
chapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Les arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Chapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
Initiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Université de Strasbourg UFR de Mathématique et d'informatique. L2 Informatique Semestres S3 et S4. Structures de Données et Algorithmes 1 et 2
Université de Strasbourg UFR de Mathématique et d'informatique L2 Informatique Semestres S3 et S4 Structures de Données et Algorithmes 1 et 2 Fiches d exercices année 2009 2010 1 2 Constructions de base
STAGE IREM 0- Premiers pas en Python
Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer
MIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Algorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Théorie des Langages
Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Licence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Algorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Initiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
La fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
SUPPORT DE COURS. Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : [email protected]
Dr. Omari Mohammed Maître de Conférences Classe A Université d Adrar Courriel : [email protected] SUPPORT DE COURS Matière : Algorithmiques et Structures de Données 1 Niveau : 2 ème Année Licence en Informatique
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
LE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
CORRECTION EXERCICES ALGORITHME 1
CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré
Initiation à la programmation en Python
I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de
Plus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Image d un intervalle par une fonction continue
DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction
Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter
Les algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
M é ca n ism e Pr o lo g. Ex e m p le
M é ca n ism e Pr o lo g Principe général : 5. on élimine L du but (le but est géré comme une pile de clauses) 1. on prend dans le but (clause ne contenant que des littéraux négatifs) le premier littéral
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Cours d Algorithmique et de Langage C 2005 - v 3.0
Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU [email protected] Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris
T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files
Chapitre 7 (suite) Listes particulières Pile : liste particulière T. A. D. pile insertion et suppression au sommet de la pile extraction Files queue Listes doublement chaînées insertion file : liste particulière
Génie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 10 août 2015 Enoncés 1 Proailités sur un univers fini Evènements et langage ensemliste A quelle condition sur (a,, c, d) ]0, 1[ 4 existe-t-il une proailité P sur
Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
Taux d évolution moyen.
Chapitre 1 Indice Taux d'évolution moyen Terminale STMG Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Indice simple en base 100. Passer de l indice au taux d évolution, et réciproquement.
L exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Introduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
Correction TD algorithmique
Affectation Correction TD algorithmique Exercice 1 algo affect1b b 5 a b+1 b 2 Il vaut faire passer la notion de variable et la notion de stockage mémoire. Une variable n a donc pas d historique et à un
Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007
1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que
#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };
#include #include struct cell int clef; struct cell suiv; ; / longueur. pc->suiv est l abréviation de (pc).suiv. pour cette fonction comme pour les suivantes, on donne, lorsqu il existe
Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé
Baccalauréat S ntilles-guyane 11 septembre 14 Corrigé EXERCICE 1 6 points Commun à tous les candidats Une entreprise de jouets en peluche souhaite commercialiser un nouveau produit et à cette fin, effectue
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Jade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions
Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental
V- Manipulations de nombres en binaire
1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,
Programmation avec Xcas ou Python
Programmation avec Xcas ou Python G. Aldon - J. Germoni - J.-M. Mény IREM de Lyon Mars 2012 GA, JG, JMM (IREM de Lyon) programmer xcas python Mars 2012 1 / 20 Éditeur Xcas Environnement Le texte d un programme
Baccalauréat ES Pondichéry 7 avril 2014 Corrigé
Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient
Exercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
Maple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
Initiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
CCP PSI - 2010 Mathématiques 1 : un corrigé
CCP PSI - 00 Mathématiques : un corrigé Première partie. Définition d une structure euclidienne sur R n [X]... B est clairement symétrique et linéaire par rapport à sa seconde variable. De plus B(P, P
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Continuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009
Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30
Programmation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Chaînes de Markov au lycée
Journées APMEP Metz Atelier P1-32 du dimanche 28 octobre 2012 Louis-Marie BONNEVAL Chaînes de Markov au lycée Andreï Markov (1856-1922) , série S Problème 1 Bonus et malus en assurance automobile Un contrat
Solutions du chapitre 4
Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (
Résolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
Chp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34
Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Fondements de l informatique Logique, modèles, et calculs
Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................
Adama MBODJI MBODJ.SYSTEM
MBODJ.SYSTEM Tableaux & vecteurs Algorithmes de tris Chaînes de caractères Listes linéaires Piles & Files Arbres Fichiers Je dédie cet ouvrage à mon père Souleymane MBODJI 2 Dédicace... 2 Sommaire... 3
3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Cours de Probabilités et de Statistique
Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles
