Jean-Philippe PERNIN Université Stendhal Département Informatique Pédagogique Bureau I113 Mél. : Algorithmique : Programmes.

Slides:



Advertisements
Présentations similaires
Le langage C++ Les types structurés
Advertisements

Algorithmes et structures de données
DECLARATION DE VARIABLES
But de l’exercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
But de lexercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
Algorithmique et évaluation
Jean-Philippe PERNIN Université Stendhal Département Informatique Pédagogique Bureau I113 Mél. : Actions nommées, Procédures.
Jean-Philippe PERNIN Université Stendhal Département Informatique Pédagogique Bureau I113 PHP Traitement Graphique.
Jean-Philippe PERNIN Université Stendhal Département Informatique Pédagogique Bureau I113 PHP Templates.
Présentation du Projet CAUSA
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 &
1 Étude des mécanismes de suivi dapprenants par les différents acteurs de la situation dapprentissage Carole Eyssautier, 1ère année de thèse Directeur.
et évaluation des compétences
Le PRADO Florian Guth PRADO.
Unités dEnseignement Ouverture Professionnelle « Système de Management de la Qualité » de la Qualité » Octobre 2008.
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.
4. Les structures de tests
Introduction à la POO: Les classes vs les objets
Javascript les spécificités du langage - Partie 7 -
Qu’est-ce qu’un ordinateur ?
Langage C Révision.
Calcul et programmation au lycée avec Scilab
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Démarche de résolution de problèmes
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Quelques algorithmes sur calculatrices
ALGORITHMIQUE en classe de seconde
Méthode des k plus proches voisins
POO : Programmation Orientée Objet
Journées Pattern Grenoble - 1 Une expérience à l'IUT de Bayonne : Les patrons Composite et Interprète Philippe Lopistéguy I.U.T. de Bayonne-Pays.
Introduction à l’algorithmique
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
Cours de Base de Données & Langage SQL
Algorithmique (Introduction)
8PRO107 Éléments de programmation
Programmation procédurale Le projet C O N C O R D E
Programmation non procédurale Le projet ECOLE 2000
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
Les enseignements technologiques d'exploration en SECONDE : pour une culture technologique.
Évolution de schémas par classification automatique dans les entrepôts de données 3ème journée francophone sur les Entrepôts de Données et l'Analyse en.
1 La durée du projet d’école est de 4 ans.
ANALYSE METHODE & OUTILS
Arithmétique Classe 3e.
Programmation procédurale Les différents schémas
Algorithmique Les structures Rappel L'enchaînement séquentiel
Base de Données.
PROGRAMMATION SCIENTIFIQUE EN C
INTRODUCTION.
Algorithmique et programmation (1)‏
Algorithmes de tri et de recherche
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.
Algorithmes Branch & Bound
Les tests.
Séminaire (6-12 Février 2007) Promo. M2 ESCE-Tunis 2006/07
Introduction et Généralités sur l’Algorithmique
Tutorat en bio-informatique Le 5 décembre Au programme… MAT1400 Algorithmes de tri dans un tableau (suite)
Démarche de résolution
Initiation à l’Algorithmique
Algorithmique Tableaux de données
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Algorithmique et programmation
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Ecole Nationale Supérieure des Officiers Sapeurs-Pompiers
Maths en Jean : Nager dans le brouillard. Présentation du sujet Une personne part du bord de la plage et nage 500 mètres en ligne droite dans une direction.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Algorithmique - Lecture / Ecriture - M me DJEBOURI. D. Faculté de Médecine salle informatique Année universitaire

Transcription de la présentation:

Jean-Philippe PERNIN Université Stendhal Département Informatique Pédagogique Bureau I113 Mél. : Algorithmique : Programmes et données

2 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 L'approche algorithmique (Approche procédurale, programmation structurée) Origine du terme : –Al Kwarismi : mathématicien arabe (Xème siècle) Algorithme = Ensemble de règles opératoires définissant une suite finie d'opérations à effectuer, en vue d'obtenir la solution d'un problème donné. Deux activités distinctes : –1. Conception d'un algorithme produisant le résultat cherché –2. Rédaction de l'algorithme dans un langage de programmation donné (par exemple JavaScript)

3 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Deux étapes : conception et programmation AFFICHER "Donne ton age" LIRE age de l'utilisateur SELON LE CAS | SI l'age est inférieur ou égal à 18 | AFFICHER "Tu es jeune" | SI l'age est entre 19 et 29 | AFFICHER "Tu es vieux" | SINON | AFFICHER "Tu es très vieux" 1. CONCEVOIR L'ALGORITHME var age age = prompt ("Quel est ton age ?", "") if (age <= 18) { alert ("tu es jeune"); } else { if ( (age >= 19) &&( age <=29)) { alert ("tu es vieux" ) ; } else { alert (" tu es tres vieux") ; } 2. TRADUIRE L'ALGORITHME EN JAVASCRIPT

4 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Deux étapes : conception et programmation AFFICHER "Donne ton age" LIRE age de l'utilisateur SELON LE CAS | SI l'age est inférieur à 18 | AFFICHER "Tu es jeune" | SI l'age est entre 19 et 29 | AFFICHER "Tu es vieux" | SINON | AFFICHER "Tu es très vieux" var age age = prompt ("Quel est ton age ?", "") if (age < 18) { alert ("tu es jeune"); } else { if ( (age >= 19) &&( age <=29)) { alert ("tu es vieux" ) ; } else { alert (" tu es tres vieux") ; } ERREUR DE CONCEPTION La conception d'un algorithme juste est une activité plus complexe que la maîtrise d'un langage de programmation

5 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Algorithme : une première définition Combinaison d'actions qui agissent sur des données –Qu'est ce qu'une action ? Le concept d'action élémentaire Le concept d'action complexe : l'analyse descendante –Comment combiner les actions ? la composition séquentielle la composition conditionnelle la composition alternative la composition itérative –Comment décrire les données ? les types simples de données les types complexes de données

6 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Ex: Recette de Gâteau glacé Forêt noire, sauce à la vanille et au kirsch 1. Dans une casserole, faire bouillir le lait, la crème et les gousses de vanille 2. Faire mousser les jaunes d'oeufs avec le sucre. 3. Ajouter le mélange bouillant tout en remuant. 4. Remettre la sauce dans la casserole 5. Remuer sans arrêt jusqu'au point d'ébullition (ne pas bouillir). 6. Laisser refroidir, 7. Enlever les gousses de vanille 8. Parfumer au kirsch. Ingrédients: 2 dl de lait 2 dl de crème 2 gousses de vanille 4 jaunes d'oeufs 60 g de sucre un peu de kirsch. Description des données (ingrédients) à manipuler Le résultat : transformation des données initiales Traitement Description de la marche à suivre pour obtenir le résultat

7 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Programme = séquence d'actions Le programme principal décrit la séquence d'actions qui vont être exécutées. Le programme est écrit uniquement avec les termes ou les conventions autorisées dans le langage. Début Programme Action1 Action2.... Fin Programme

8 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Action nommée ou procédure Afin de rendre le programme plus lisible on peut nommer une séquence d'actions (ou procédure) Cette procédure peut être appelée depuis le programme principal ou depuis d'autres procédures Début Programme appeler Action1 Action2.... Fin Programme procédure Action1.... Fin Procédure

9 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Structure d'un programme Programme = DONNEES + TRAITEMENTS Un programme doit toujours modifier des données sinon il ne fait rien Programme Description des données: Description des traitements début fin

10 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Comment décrire les données ? Une donnée est désignée par un nom –EX: lait, oeuf, farine, roue, nombre de roues, age, taille,... Une donnée est caractérisée par une valeur : –Ex: Taille : 170 cm –DateNaissance : 21 Janvier 1975 –Age : 22 ans –Prénom : Nestor Une donnée peut être constante ou variable.

11 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Données constantes ou variables ? CONSTANTES : DateNaissance, Prénom –Donnée dont la valeur ne varie jamais pendant le déroulement des traitements VARIABLES : Age, Taille –Donnée dont la valeur peut varier pendant le déroulement des traitements

12 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Déclaration de constantes en Javascript // Déclaration des constantes Pi = 3.14; // valeur de la constante Pi NbDeRoues = 4; // nombre de roues Nom de la constante Ni blanc, ni caractères spéciaux (é,è,à,...) Sensible au majuscules (case-sensitive) Valeur de la constante Pi = 3.14 ; Symbole = Symbole ; termine chaque déclaration

13 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Traduction des données en informations machine Programme Source Description des données: Description des traitements début fin Programme Exécutable Les données doivent pouvoir être traduites en informations manipulables par la machine Les traitements doivent pouvoir être traduits en instructions de la machine Programmation Programmeur

14 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Format des données élémentaires L'unité d'information pour la machine est l'octet. Comment traduire une donnée en une suite d'octets ? 1. Adopter un code de représentation 2. Choisir un format (nombre d'octets) un nombre Entier Code binaire Deux octets un caractère Une chaine de caractères Une valeur logique ABA Dépend de la longueur de la chaine Code ASCII, UNICODE true Un octet Convention VRAI = FAUX = A Code ASCII, UNICODE Un octet

15 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Nécessité de décrire le type des données variables Pour pouvoir être traduite en informations manipulable par la machine, il est nécessaire de typer les données variables : Description des variables Age : un entier EstPlein : un logique (vrai ou faux) Nom : une chaine A chaque variable déclarée, on réserve une zone de la mémoire correspondant à la taille nécessaire au codage de l'information mémoire

16 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 56 Notion de Variable Emplacement "virtuel" dans lequel est stocké provisoirement une valeur A Valeur Emplacement Nom de la variable

17 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Chaque variable ne peut contenir que des valeurs d'un certain type A Enveloppe type Logique true B Enveloppe type Entier 356 C Enveloppe type Chaîne Il était une fois, il y a très très longtemps

18 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Caractéristiques d'une variable Une variable est caractérisée par : un nom –exemple : Hauteur un type. exemples de types de base : –entier (en Pascal : integer)(en Javascript : Number) –réel (en Pascal : real)(en Javascript : Number) –logique (en Pascal : boolean)(en Javascript : Boolean) –texte (en Pascal : string)(en JavaScript : String) une valeur qui peut varier selon le déroulement du programme –exemple : 123

19 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Etapes à suivre 1.Créer ( =déclarer) la variable –var ENTIER minimum 2.Mettre une valeur (=Affecter) dans la variable (La valeur doit être de même type que la variable) –minimum 955 ; 1.Utiliser la valeur contenue dans la variable –circonference minimum ; minimum type entier 356 minimum type entier 356 circonference type entier 356

20 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Déclaration des variables // Déclaration des variables var Diametre ; // Diametre est un entier var Nom, Prenom ; // Nom et Prenom sont des chaînes Lexique Diamètre : un entier Nom, Prénom : des chaines en notation algorithmique en Javascript (langage faiblement typé)

21 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Affectation de variables Diametre = 4 Diametre 4{mettre 4 dans diametre} Diametre Diametre + 1{ajouter 1 à diametre} Circonference Pi * Diametre{calculer la circonference} en notation algorithmique en Javascript Partie Gauche Toujours le nom d'une variable Partie Droite Une expression dont le résultat est compatible avec le type de la variable Symbole = affectation ATTENTION : RISQUE DE CONFUSION AVEC L'EGALITE

22 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Lecture d'une variable diametre = prompt ("Quel diamètre ?", 0) ; lire (Diamètre){mettre dans diamètre la valeur saisie} en notation algorithmique en Javascript Partie Gauche Nom de la variable à lire (dans laquelle sera mis le résultat) Instruction de lecture Message à afficher Valeur proposée

23 Copyright - Jean-Philippe Pernin - DIP - Université Stendhal - Grenoble 3 Ecriture d'une variable alert (diametre) ; ecrire (Diamètre){Afficher à lécran la valeur contenue dans diamètre} en notation algorithmique en Javascript Instruction d'écriture alert Nom de la variable à écrire