Algorithmique Introduction Qu’est-ce que l’algorithme ?

Slides:



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

ACTIVE DIRECTORY. Qu'est-ce un service d'annuaire ?: Un service d'annuaire peut être comparé à un agenda téléphonique, celui- ci contient au départ des.
Algorithmes et structures de données avancés
Algorithmique Résume.
GEF 435 Principes des systèmes d’exploitation
MIKHAYLOVA Vera Exposé Java principe de fonctionnement Lundi 17 mai 2004 DEUG 1ère année Science du langage Paris III.
INTRODUCTION.
Pourquoi êtes vous ici aujourd’hui ?
LA DÉFINITION Par Carole Proulx Cégep de Trois-Rivières.
L’ordinateur Aspect théorique
Les bases de l’Algorithmique
Introduction à l’algorithmique
Démarche de résolution de problèmes
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Algorithmique et Programmation
Initiation à la conception de systèmes d'information
Les types de phrases La phrase déclarative
Algorithmique et Programmation
7.1 TRANSFORMATION LINÉAIRE Cours 19. Au dernier cours nous avons vus Le déterminant dune matrice carré Les propriétés du déterminant La matrice adjointe.
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Classes abstraites et Interfaces
La résolution de problèmes au cycle 3
Structures de données IFT-2000
Introduction à la programmation objet Langage Java
Cours.
Introduction au paradigme orienté-objet (suite)
IFT Complexité et NP-complétude
CSI3525: Concepts des Languages de Programmation
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
Programmation non procédurale Le projet ECOLE 2000
Patrons de conceptions de créations
ANALYSE METHODE & OUTILS
Paradigmes des Langages de Programmation
Algorithmique Les structures Rappel L'enchaînement séquentiel
Résolution de problèmes
INTRODUCTION.
Insérer ici votre texte Insérer ici le titre de votre diapo.
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
Programmation objet La base.
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à.
Programmation linéaire en nombres entiers
Tutorat en bio-informatique
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
La programmation.
Un temps de mutualisation.
Projet de lecture Résumé-synthèse d’une oeuvre littéraire
Algorithmique : Introduction
7.4 VECTEURS PROPRES Cours 22. Au dernier cours nous avons vus ✓ Les cisaillements ✓ Les projections orthogonales ✓ Les projections obliques.
MOCK.
Introduction et Généralités sur l’Algorithmique
Initiation à l’Algorithmique
Nouvelles Technologies Internet & Mobile
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
Introduction à la Programmation Orientée Objet
Chapitre 4 La représentation des nombres.
développeur informatique
La situation : Clément et Zoé ont schématisé le circuit ci-dessous :
La numération.
Loi des intensités et des tensions dans les circuits électriques
Le rationalisme.
La numération.
La justice et le droit Ière partie. La justice est un principe. On la recherche. Le mot justice désigne aussi l’institution judiciaire dans son ensemble.
Préparation d’un mémoire
1 Spécifications de Problèmes. 2 Plan Définition Motivation Qualités attendues Types de formalismes Rappels du cours de programmation Spécifications structurées.
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.
Le Pitch appliqué au recrutement
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Transcription de la présentation:

Algorithmique Introduction Qu’est-ce que l’algorithme ? Définissons l’algorithmique Faut-il être matheux pour être bon en algorithmique ? Où se situe l ’algorithmique ? Les Shadoks et les ordinateurs Algorithme et langage Java Notion d'objet

http://www.doc.cs.univ-paris8.fr/programmation/algo-programmation/ Algorithme : méthode de résolution d'un problème suivant un enchaînement déterminé de règles opératoires. Le mot "algorithme" est dérivé du nom du mathématicien persan : al Khuwarizmi (825) à qui l'on doit un traité d'algèbre. 1. Qu’est-ce que l’algorithme ? Avez-vous déjà ouvert un livre de recettes de cuisine ? Avez-vous déjà indiqué un chemin à un touriste égaré ? Avez vous fait chercher un objet à quelqu’un par téléphone ? Si oui, vous avez déjà réalisé et fait exécuter des algorithmes. Comme quoi, l’algorithmique n’est pas un savoir ésotérique réservé à quelques rares initiés, mais une aptitude partagée par la totalité de l’humanité.

2. Définissons l’algorithmique Dans le domaine des mathématiques, les algorithmes furent utilisés dès l'Antiquité pour traiter des problèmes d'arithmétique ou de géométrie. Le calcul du plus grand commun diviseur de deux nombres par la méthode d'Euclide (300 av. J.-C.) en constitue un exemple célèbre. En informatique, un algorithme désigne un procédé de calcul que l'on peut confier à un ordinateur, et qui est répété autant de fois qu'il est nécessaire pour parvenir au résultat. Il se présente alors comme une liste d'instructions de nature mathématique ou logique pouvant être programmées. Pour fonctionner, un algorithme doit donc contenir uniquement des instructions compréhensibles par celui qui devra l’exécuter.

3. Faut-il être matheux pour être bon en algorithmique ? Cette opinion aussi fortement affirmée que faiblement fondée sert régulièrement d’excuse : " moi, de toute façon, je suis mauvais(e) en algo, j’ai jamais rien pigé aux maths ". Faut-il être " bon en maths " pour expliquer correctement son chemin à quelqu’un ? Je vous laisse juge. La maîtrise de l’algorithmique requiert deux qualités : Il faut être rigoureux. Car chaque fois qu’on écrit une série d’instructions qu’on croit justes, il faut se mettre à la place de la machine qui va les exécuter, pour vérifier si le résultat obtenu est bien celui que l’on voulait. Cette opération ne requiert pas de l’intelligence, uniquement de la méthode. Il faut avoir une certaine intuition, car aucune recette ne permet de savoir a priori quelles instructions permettront d’obtenir le résultat voulu. C’est là qu’intervient la forme " d’intelligence " requise pour l’algorithmique.

ANALYSE PROGRAMME ALGORITHME 4. Où se situe l ’algorithmique Définir précisément le problème à résoudre. Définir clairement la méthode amenant à la solution du problème. Transcrire la méthode dans le langage de programmation. ANALYSE PROGRAMME ALGORITHME 5

5. Les Shadoks et les ordinateurs Quel rapport me direz-vous ? Eh bien le point commun est : quatre mots de vocabulaire. L’univers lexical Shadok, c’est bien connu, se limite aux termes " Ga ", " Bu ", " Zo ", et " Meu ". Ce qui leur a tout de même permis de formuler quelques fortes maximes, telles que : "Mieux vaut pomper et qu’il ne se passe rien, plutôt qu’arrêter de pomper et risquer qu’il se passe quelque chose de pire " . L’algorithme à la base de la construction de tous programmes, est une chaîne construite à partir de cinq éléments invariables. Ce n’est que le nombre de ces éléments, et l’ordre dans lequel ils sont arrangés, qui va déterminer ce que l'on va obtenir. Les ordinateurs, quels qu’ils soient, ne sont fondamentalement capables d’exécuter que cinq opérations  : l’affectation de variables les calculs (arithmétiques et logiques) la lecture / écriture les tests les itérations

6. Algorithme et langage  Historiquement, plusieurs types de notations ont représenté des algorithmes. Il y a eu notamment une représentation graphique, avec des carrés, des losanges, etc. qu’on appelait des organigrammes. Aujourd’hui, cette représentation est quasiment abandonnée, pour deux raisons. D’abord, parce que dès que l’algorithme commence à grossir un peu, ce n’est plus pratique du tout du tout. Ensuite parce que cette représentation favorise le glissement vers un certain type de programmation, dite non structurée, que l’on tente en général d’éviter. Nous passerons tout de suite à un langage que nous utiliserons au cours de ces deux années : Le java

7. Java Java est un langage objet ressemblant au langage C++. Il a été mis au point en 1991 par la firme Sun Microsystems. Le but de Java à l'époque était de constituer un langage de programmation pouvant être intégré dans les appareils électroménagers, afin de pouvoir les contrôler, de les rendre interactifs, et surtout de permettre une communication entre les appareils. Etant donné que le langage C++ comportait trop de difficultés, James Gosling, considéré comme le père de Java, décida de créer un langage orienté objet reprenant les caractéristiques principales du C++, en éliminant ses points difficiles, et en le rendant moins encombrant et plus portable.

7. Notion d'objet La programmation orientée objet consiste à modéliser informatiquement un ensemble d'éléments d'une partie du monde réel en un ensemble d'entités informatiques. Ces entités informatiques sont appelées objet. La difficulté de cette modélisation consiste à créer une représentation abstraite, sous forme d'objets, d'entités ayant une existence matérielle (chien, voiture, ampoule, ...) ou bien virtuelle (sécurité sociale, temps, ...). Un objet est caractérisé par plusieurs notions: les attributs : Il s'agit des données caractérisant l'objet. Les méthodes : Elles caractérisent son comportement, c'est-à-dire l'ensemble des actions que l'objet est à même de réaliser.

On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui composeront un objet. Un objet est donc "issu" d'une classe. On dit qu'un objet est une instanciation d'une classe, c'est la raison pour laquelle on pourra parler indifféremment d'objet ou d'instance. Une classe est composée de deux parties: Les attributs (parfois appelés données membres): il s'agit des données représentant l'état de l'objet Les méthodes (parfois appelées fonctions membres): il s'agit des opérations applicables aux objets Si on définit la classe animaux, les objets chien et chat seront des instanciations de cette classe. Il pourra éventuellement exister plusieurs objets chien, différenciés par leur race.