Algorithmique et structure de données

Slides:



Advertisements
Présentations similaires
Les Structures.
Advertisements

Premier programme en C :
Introduction a L’algorithme
Algorithmique (suite)
Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Fonctions & procédures
Algorithmique Résume.
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
Lecture et Ecriture.
INTRODUCTION.
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
5. Les structures répétitives
8. Les tableaux P. Costamagna – ISEN N1.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
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.
Cours de programmation
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Partie 1 Etude de l'existant
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
Introduction à l’algorithmique
Partie Informatique Algorithmique Introduction A. LOTFI
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
Algorithmique et structure de données
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Le codage des nombres en informatique
Les pointeurs Enormément utilisé en C/C++ ! Pourquoi? A quoi ça sert?
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Les constantes de compilation. Les fonctions.
Principes de programmation
Mise en forme en Mathématiques
LA LOGIQUE ALGORITHMIQUE
Cours d’ Algorithmique 2012 Algorithmique. Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà.
Un survol du language C.
Les expressions algébriques
Le langage Z minimal Pr ZEGOUR DJAMEL EDDINE
La programmation.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Expressions sur les chaînes de caractères Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Les bases de l’algorithmique
Module 3 : Algorithme et Programmation
Module algorithmique et programmation
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Chapitre 9 Les caractères.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Les Structures simples
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.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Seconde 8 Module 7 M. FELT 03/11/ Module 7: Algorithmique #2  Objectifs:  AlgoBox.  Définition d’un algorithme.  Affectation de variable. 
Introduction à L’Algorithmique
Algorithmique Boucles et Itérations
Introduction au langage C
Algorithmique et programmation
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Introduction à l’Informatique 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é.
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

Structure de données A quoi servent les variables ? Dans un programme informatique, on a, en permanence, besoin de stocker provisoirement des valeurs : données issues du disque dur ; données fournies par l’utilisateur (frappées au clavier) ; résultats (intermédiaires ou définitifs) obtenus par le programme. Pour stocker une valeur au cours d’un programme, on utilise une variable. Signification physique d’une variable Dans la mémoire vive de l’ordinateur, physiquement, une variable correspond à un emplacement de mémoire, repéré par une adresse binaire.

Structure de données Les types de variables En employant une image Une variable est un récipient, que l’ordinateur va repérer par une étiquette (un nom). Pour avoir accès au contenu du récipient, il suffit de le désigner par son étiquette. Il existe plusieurs types de récipients ! De la même manière, il existe plusieurs types de variables ...

Structure de données Les types de variables Important Lorsqu’on déclare une variable, il ne suffit pas de créer un récipient (réserver un emplacement mémoire). Il faut encore préciser ce que l’on voudra mettre dedans, car de cela dépendent la taille et la nature du récipient.

Structure de données Les types de variables Les types de variables les plus courants en algorithmique: Type numérique Entier Réel Type alphanumérique Chaine de caractères Type booléen Booléen

Structure de données Les types de variables Type numérique : Entier : ensemble des entiers relatifs Z; valeurs non décimales. Réel : ensemble des nombres réels IR; valeurs décimales.

Structure de données Les types de variables Exemple : Algorithme Algo Exemple Var : Prix HT : réel ; Nombre Mois : entier ; Début ... Prix HT := 245,550 ‘Affectation d’une valeur réelle Nombre Mois := 12 ‘Affectation d’une valeur entière Fin

Structure de données Les types de variables Type alphanumérique : Chaîne de caractères : stocke des caractères : des lettres, des signes de ponctuation, des espaces, ou même des chiffres ; le nombre maximal de caractères pouvant être stockés dans une seule variable chaîne de caractères dépend du langage utilisé ; en pseudo-code (en algorithmique), une chaîne de caractères est toujours notée entre guillemets.

Structure de données Les types de variables Exemple : Algorithme Algo_Exemple Var : Prix HT : réel ; Nombre Mois : entier ; Fournisseur : chaîne ; Début ... Prix HT := 245,550 ‘Affectation d’une valeur réelle Nombre Mois := 12 ‘Affectation d’une valeur entière Fournisseur := “Smith & Co” ‘Affectation d’une chaîne de caractère Fin

Structure de données Les types de variables Type booléen : Booléen : stocke uniquement les valeurs logiques VRAI et FAUX; le type booléen la présence ou l’absence d’un caractère.

Structure de données Les types de variables Exemple : Algorithme Algo_Exemple Var : Fournisseur : chaîne ; Etranger : booléen ; Début ... Fournisseur := “Smith & Co” ‘Affectation d’une chaîne de caractères Etranger := VRAI ‘Affectation d’une valeur booléenne Fin

Structure de données L’instruction d’affectation Qu’est ce qu’on peut faire avec une variable ? Réponse La seule chose qu’on peut faire avec une variable, c’est l’affecter, c’est-à-dire lui attribuer une valeur. En reprenant l’image des récipients : La variable = Le récipient (Thermos du café)

Structure de données L’instruction d’affectation Qu’est ce qu’on peut faire avec une variable ? Réponse La seule chose qu’on peut faire avec une variable, c’est l’affecter, c’est-à-dire lui attribuer une valeur. En reprenant l’image des récipients : Convention En pseudo-code, l’instruction d’affectation se note avec le signe := La variable = Le récipient (Thermos du café) La valeur de la variable = Le contenu du récipient (le café)

Structure de données L’instruction d’affectation Exemple : Toto := 24,5 On attribue la valeur 24,5 à la variable Toto. Cette affectation sous-entend que Toto est une variable de type réel ... On ne peut pas affecter à Toto une variable de type alphanumérique ou booléen.

Structure de données L’instruction d’affectation Exemple : Toto := 24,5 On attribue la valeur 24,5 à la variable Toto. Cette affectation sous-entend que Toto est une variable de type réel ... On ne peut pas affecter à Toto une variable de type alphanumérique ou booléen.

Structure de données L’instruction d’affectation Exemple : Toto := 24,5 On attribue la valeur 24,5 à la variable Toto. Cette affectation sous-entend que Toto est une variable de type réel ... On ne peut pas affecter à Toto une variable de type alphanumérique ou booléen.

Structure de données L’instruction d’affectation Exemple : Toto := 24,5 On attribue la valeur 24,5 à la variable Toto. Cette affectation sous-entend que Toto est une variable de type réel ... On ne peut pas affecter à Toto une variable de type alphanumérique ou booléen. On peut toujours verser dans une coupe du sirop, sauf que ce n’est pas logique !

Structure de données L’instruction d’affectation On peut affecter à une variable la valeur d’une autre variable. Exemple : Toto := 24,5 Tutu := Toto La valeur de Tutu est maintenant celle de Toto. Tutu contient donc la valeur 24,5. La valeur de Toto n’est pas modifiée. Important Une instruction d’affectation ne modifie que ce qui est situé à gauche de l’affectation :=

Structure de données L’instruction d’affectation On peut affecter à une variable le résultat d’une opération en fonction d’autres variables. Exemple 1 : Toto := 24,5 Tutu := Toto + 5,5 La valeur de Tutu est maintenant égale à celle de Toto + 5,5. Tutu contient donc la valeur 30. La valeur de Toto n’est pas modifiée. Elle vaut toujours 24,5. Exemple 2 : Tutu := Tutu + 3 Si Tutu valait 30, il vaut maintenant 33. La valeur de Tutu est modifiée, puisque Tutu est la variable située à gauche de l’affectation.

Structure de données L’instruction d’affectation Confusion possible entre le nom d’une variable et la valeur d’une variable! Début Riri := “Loulou” Fifi := “Riri” Fin Fifi contient la suite de caractères R - i - r - i. A la fin de l’algorithme, la variable Fifi est donc égale à “Riri”. Fifi := Riri Riri, étant dépourvu de guillemets, n’est pas considéré comme une suite de caractères, mais comme un nom de variable. A la fin de l’algorithme, la variable Fifi est donc égale à “Loulou”.

Structure de données L’instruction d’affectation L’ordre des instructions joue un rôle essentiel dans le résultat final ! Var : A : entier ; Début A := 34 A := 12 Fin la fin de l’algorithme, la variable A est égale à 12. A la fin de l’algorithme, la variable A est égale à 34.

Structure de données Les expressions et les opérateurs Une instruction d’affectation doit respecter trois conditions: À gauche de l’affectation, on doit trouver un nom de variable, et uniquement cela. Dans le cas contraire, il s’agit certainement d’une erreur ! À droite de l’affectation, on doit trouver une expression ; l’expression (située à droite de l’affectation) doit être du même type que la variable (située à gauche de l’affectation). Définition d’une expression Une expression est un ensemble de valeurs, reliées par des opérateurs, et équivalent à une seule valeur.

Structure de données Les expressions et les opérateurs Définition d’une expression Une expression est un ensemble de valeurs, reliées par des opérateurs, et équivalent à une seule valeur. Exemple d’expressions de type numérique : A := 7 B := 5 + 4 C := 123 – 45 + 844 D := Toto – 12 + 5 – Riri

Structure de données Les expressions et les opérateurs Définition d’un opérateur Un opérateur est un signe qui relie deux valeurs, pour produire un résultat. Les opérateurs possibles dépendent du type des valeurs qui sont en jeu : Opérateurs numériques Opérateur alphanumérique Opérateurs logiques

Structure de données Les expressions et les opérateurs Opérateurs numériques : + : l’addition ; – : la soustraction ; * : la multiplication ; / : la division ; ^ : la puissance. On peut utiliser les parenthèses. La multiplication et la division ont naturellement la priorité sur l’addition et la soustraction. Les parenthèses ne sont ainsi utiles que pour modifier cette priorité naturelle. Exemple : A := 12 * 3 + 5 B := (12 * 3) + 5 ‘A et B valent 41 C := 12 * (3 + 5) ‘C vaut 12 * 8, soit 96

Structure de données Les expressions et les opérateurs Opérateur alphanumérique : & : la concaténation. Cet opérateur permet de concaténer (agglomérer) deux chaines de caractères. Exemple : A := “Buvons” B := “ un café” C := A & B ‘C vaut “Buvons un café”

Structure de données Les expressions et les opérateurs Opérateurs logiques : ET : la conjonction ; OU : la disjonction ; NON : la négation. À garder sous le coude pour le moment. Nous y reviendrons une autre fois !

Structure de données La lecture et l’écriture Algorithme Carre De Douze Var : A : entier ; Début A := 12 ^ 2 Fin Pour calculer le carré d’un autre nombre que 12, il faut réécrire le programme. L’utilisateur ne saura jamais le résultat. La machine le garde pour elle. Il existe des instructions pour permettre à la machine de dialoguer avec l’utilisateur. Instruction de lecture et instruction d’écriture.

Structure de données La lecture et l’écriture Instruction de lecture Une instruction de lecture permet à l’utilisateur de rentrer des valeurs au clavier pour qu’elles soient utilisées par le programme. Exemple : pour que l’utilisateur entre une nouvelle valeur d’une variable Titi : Lire (“Donnez la valeur de Titi” ; Titi) Remarque Dès que le programme rencontre une instruction Lire, l’exécution s’interrompt et attend la frappe d’une valeur au clavier.

Structure de données La lecture et l’écriture Instruction d’écriture Une instruction d’écriture permet au programme de communiquer des valeurs à l’utilisateur en les affichant à l’écran. Exemple : Pour que le programme affiche à l’utilisateur la valeur d’une variable Toto : Ecrire (“La valeur de Toto est :” ; Toto)

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