Algorithmique et structure de données

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Initiation à la programmation et algorithmique cours 2
Le langage Z Pr ZEGOUR DJAMEL EDDINE
« 1.5. Les fonctions logiques »
Algorithmique (suite)
Fonctions & procédures
Interactivé: L'Action Script.
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Expressions et opérateurs §
GEF 243B Programmation informatique appliquée Expressions et opérateurs.
3- Déclaration et accès aux objets
Les Tests ou structures alternatives
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
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.
INTRODUCTION.
5. Les structures répétitives
4. Les structures de tests
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Section VI Structures répétitives (suite)
Qu’est-ce qu’un ordinateur ?
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Semaine #1 INF155 par Frédérick Henri.
Cours algorithme 2 S. Tabbone.
Partie 1 Etude de l'existant
Récursivité.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
Introduction à l’algorithmique
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
Structures de contrôle de l’exécution
Algèbre de Boole et les Boucles
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Programmation fonctionnelle Le langage LISP
Lundi, 13 septembre 2010 Algorithmie (cours 2) Cégep de Saint- Hyacinthe Par Hugo St-Louis.
LES ALGORITHMES F.DUPONT/M.HECTOR OCTOBRE 2003.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Introduction à l’algorithmique
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
8PRO107 Éléments de programmation
Algorithmique et structure de données
L’essentiel du langage C
Algorithmique Les structures Rappel L'enchaînement séquentiel
JavaScript.
Chapitre 3 :Algèbre de Boole
Un survol du language C.
Les tests.
La programmation.
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Interprétation/Génération de code pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Fonctions avancées et graphiques
Tutorat en bio-informatique Le 10 octobre Au programme… Rappel sur les variables Constantes Conditions Comparaisons Tables de vérité Switch.
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
Algèbre de Boole Définition des variables et fonctions logiques
Module 3 : Algorithme et Programmation
Module algorithmique et programmation
Scripts et fonctions Instructions de contrôle
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Objets et Actions Élémentaires.
Scratch Partie 03 Version A15.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Algorithmique et structure de données Par: Melle Najlae KORIKACHE

Syllabus du cours ... Objectif : se familiariser avec les méthodes de résolution de problèmes avec l'outil informatique ; apprendre les principes de l'algorithmique ; acquérir un début de maîtrise des techniques et langages de programmation. Bibliographie : Introduction a l'algorithmique, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest et Cliord Stein, Dunod, Paris, 2004. Algorithmique Application en C, Jean-Michel Lery, Pearson Education, 2005. Algorithmique et programmation en Java, Vincent Granet, Dunod, Paris, 2000. Débuter en programmation, Greg Perry, CampusPress, 2003.

Plan du cours Introduction à l'algorithmique Environnement algorithmique Structure de données Structures de contrôle Structures itératives Sous-programmes Mode de passage de paramètres Tableaux

Structures de contrôle Exemple introductif Indiquer le chemin de l’hôtel à un touriste égaré : Allez tout droit jusqu’au prochain carrefour, puis prenez à droite ensuite prenez la deuxième à gauche et vous y êtes Est-ce que la rue est autorisée à la circulation? Allez tout droit jusqu’au prochain carrefour et là regardez à droite. Si la rue est autorisée à la circulation, alors : prenez la, puis, prenez la deuxième à gauche. Si en revanche elle est en sens interdit, alors : continuez jusqu’à la prochaine à droite, prenez celle-là, ensuite, prenez la première à droite.

Structures de contrôle La structure d’un test En algorithmique, il y a deux formes possibles pour un test : Structure simple Si Booléen Alors Instructions Fin Si Structure complète Instructions 1 Sinon Instructions 2

Structures de contrôle La structure d’un test Un booléen est une expression dont la valeur est VRAI ou FAUX. Elle peut-être: une variable de type booléen ; une condition.

Structures de contrôle La structure d’un test Description de la structure simple : Arrivé à la première ligne (Si . . . Alors), la machine examine la valeur du booléen : Si le booléen a pour valeur VRAI, alors la machine exécute la série d’instructions. Si le booléen a pour valeur FAUX, alors la machine saute directement aux instructions situées après le Fin Si. Si Booléen Alors Instructions Fin Si

Structures de contrôle La structure d’un test Description de la structure complète : Arrivé à la première ligne (Si . . . Alors), la machine examine la valeur du booléen : Si le booléen a pour valeur VRAI, alors la machine exécute la série d’instructions 1. Au moment ou la machine arrive au mot Sinon, elle saute directement à la première instruction située après le Fin Si. Si le booléen a pour valeur FAUX, alors la machine saute directement aux instructions situées après le Sinon. La machine exécute la série d’instructions 2. Si Booléen Alors Instructions 1 Sinon Instructions 2 Fin Si

Structures de contrôle La structure d’un test Exemple : Allez tout droit jusqu’au prochain carrefour Si la rue à droite est autorisée à la circulation Alors Tournez à droite Avancez Prenez la deuxième à gauche Sinon Continuez jusqu’à la prochaine rue à droite Prenez cette rue Prenez la première à droite Fin Si

Structures de contrôle Qu’est-ce qu’une condition ? Une condition est donc composée de trois éléments : une valeur ; un opérateur de comparaison ; une autre valeur. Définition Une condition est une comparaison qui, à un moment donné, est vraie ou fausse. Important Les valeurs peuvent être a priori de n’importe quel type (numériques, caractères, etc.) Mais si l’on veut que la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du même type !

Structures de contrôle Qu’est-ce qu’une condition ? Les opérateurs de comparaison sont : = : égal à . . . ≠: différent de . . . < : strictement plus petit que . . . > : strictement plus grand que . . . ≤: plus petit ou égal à . . . ≥: plus grand ou égal à . . . Exemples de conditions : X ≤ 50 Fifi = “Loulou” (à ne pas confondre avec l’affectation) Y ≠24,5

Structures de contrôle Qu’est-ce qu’une condition ? Exemples de conditions sur des caractères : “p” > “m” “papa” < “maman” “Toto” = “toto” “T” < “t” “Papa” < “maman” “Totu” > “Tota” Important Les opérateurs de comparaison peuvent s’employer avec des caractères. Ceux-ci sont codés par la machine dans l’ordre alphabétique. De plus, les majuscules sont systématiquement placées avant les minuscules. VRAI FAUX

Structures de contrôle Les conditions composées Comment exprimer la condition “Toto est inclus entre 5 et 8”? Cette phrase cache deux conditions : “Toto est supérieur à 5” (Toto > 5) “Toto est inférieur à 8” (Toto < 8) Le deux conditions sont reliées par l’opérateur logique “ET”. La condition s’exprime : (Toto > 5) ET (Toto < 8) Les opérateurs logiques : ET : la conjonction ; OU : la disjonction ; NON : la négation.

Structures de contrôle Les conditions composées La conjonction : Le ET a les mêmes sens en informatique que dans le langage courant. Pour que (Condition 1) ET (Condition 2) soit : VRAI, il faut impérativement que Condition 1 soit VRAI et que Condition 2 soit VRAI. Dans tous les autres cas, (Condition 1) ET (Condition 2) sera FAUX. La table de vérité : (Condition 1) ET (Condition 2) Condition 1 VRAI Condition 1 FAUX Condition 2 VRAI VRAI FAUX Condition 2 FAUX

Structures de contrôle Les conditions composées La disjonction : Pour que (Condition 1) OU (Condition 2) soit : VRAI, il suffit que Condition 1 soit VRAI ou que Condition 2 soit VRAI. FAUX, il faut que Condition 1 soit FAUX et que Condition2 soit FAUX aussi. La table de vérité : (Condition 1) OU (Condition 2) Condition 1 VRAI Condition 1 FAUX Condition 2 VRAI VRAI Condition 2 FAUX FAUX

Structures de contrôle Les conditions composées La négation : le NON inverse une condition. NON (Condition 1) est : VRAI si Condition 1 est FAUX. FAUX si Condition 1 est VRAI. La table de vérité : NON (Condition 1) Condition 1 VRAI FAUX Condition 1 FAUX VRAI

Structures de contrôle Les tests imbriqués Graphiquement, on peut facilement représenter la structure d’un test comme un aiguillage de chemin de fer. Un SI ouvre deux voies, correspondant à deux traitements différents. Il y a beaucoup de situations ou deux voies ne suffisent pas! Si Booléen Alors Instructions 1 Sinon Instructions 2 Fin Si

Structures de contrôle Les tests imbriqués

Structures de contrôle Les tests imbriqués Exemple : Un algorithme qui donne l’état de l’eau selon sa température. Il doit pouvoir fournir trois réponses possibles : (1) solide ; (2) liquide ou (3) gazeuse. Algorithme Temperature_Eau_1 Var : Temp : réel Début Lire (“Entrez la température de l’eau :” ; Temp) Si (Temp ≤ 0) Alors Ecrire (“C’est de la glace”) Fin Si Si (Temp > 0) ET (Temp < 100) Alors Ecrire (“C’est du liquide”) Si (Temp ≥ 100) Alors Ecrire (“C’est de la vapeur”) Fin

Structures de contrôle Les tests imbriqués Exemple : Un algorithme qui donne l’état de l’eau selon sa température. Il doit pouvoir fournir trois réponses possibles : (1) solide ; (2) liquide ou (3) gazeuse. Algorithme Temperature_Eau_2 Var : Temp : réel Début Lire (“Entrez la température de l’eau :” ; Temp) Si (Temp ≤ 0) Alors Ecrire (“C’est de la glace”) Sinon Si (Temp < 100) Alors Ecrire (“C’est du liquide”) Ecrire (“C’est de la vapeur”) Fin Si Fin

Structures de contrôle Les tests imbriqués De manière plus simplifiée : Si Booléen 1 Alors Instructions 1 Sinon Si Booléen 2 Alors Instructions 2 Instructions 3 Fin Si Si Booléen 1 Alors Instructions 1 Sinon Si Booléen 2 Alors Instructions 2 Sinon Instructions 3 Fin Si Important Dans le cas de tests imbriqués, le Sinon et le Si peuvent être fusionnés en un Sinon Si. On considère alors qu’il s’agit d’un seul bloc de test, conclu par un seul Fin Si.

Plan du cours Introduction à l'algorithmique Environnement algorithmique Structure de données Structures de contrôle Structures itératives Sous-programmes Mode de passage de paramètres Tableaux