Algorithmique : Introduction

Slides:



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

Cours d’algorithmique
Introduction a L’algorithme
Tris.
Chapitre annexe. Récursivité
Tests et Validation du logiciel
Initiation à la programmation et algorithmique cours 2
Algorithmique et Programmation
Algorithmes et structures de données
Algorithmes et structures de données Cours 2
Sensibilisation à l’Algorithmique
Introduction à l’Algorithmique
Sensibilisation à l’Algorithmique et structure de données
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
INTRODUCTION.
Qu’est-ce qu’un ordinateur ?
Les bases de l’Algorithmique
CPI/BTS 2 Programmation Web Introduction au PHP
Initiation à la programmation et algorithmique
Partie 1 Etude de l'existant
Récursivité.
Algorithmes et résolution de problèmes FGE
Introduction à l’algorithmique
Démarche de résolution de problèmes
Section XI Traitement de fichiers
Algorithmique et Programmation
Les éléments de base de l’algorithmique
Initiation à la conception de systèmes d'information
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
ALGORITHMIQUE en classe de seconde
Algorithmique et Programmation
Introduction à l’algorithmique
Semaine #1 INF135 par Frédérick Henri.
I&G- chapitre 11-La logique Logarithmique -Mme Roulaud
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.
Programmation non procédurale Le projet ECOLE 2000
Programmation linéaire en nombres entiers : les méthodes de troncature
LA LOGIQUE ALGORITHMIQUE
Institut de Formation aux Métiers de l’industrie Automobile.
INTRODUCTION.
TD0 - Rappels. Acquis du programme 1 ère année Analyser et modéliser : un problème, une situation ; Imaginer et concevoir : une solution algorithmique.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Décomposition et paramétrage des algorithmes
Algorithmes et Programmation
Un survol du language C.
Programmation linéaire en nombres entiers
Introduction au Génie Logiciel
Module I3 algorithmique et programmation
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.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Introduction et Généralités sur l’Algorithmique
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Cours 5 - Trois algorithmes de tri d'un tableau
Algorithmique Tableaux de données
développeur informatique
Objets et Actions Élémentaires.
Algorithmique Algorithmique  Pascal
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.
Rédiger des procédures efficaces
Seconde 8 Module 7 M. FELT 03/11/ Module 7: Algorithmique #2  Objectifs:  AlgoBox.  Définition d’un algorithme.  Affectation de variable. 
Algorithmique Boucles et Itérations
Algorithmique et programmation
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Algorithmique : Introduction Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 10/09/2003 Dernière modification: 11/09/2003

Introduction à l’Algorithmique Algorithmie ou algorithmique: science des algorithmes, visant à étudier les séquences d’instruction dans un programme informatique. Un algorithme est une procédure de résolution de problème, énoncée sous la forme d'une série d'opérations à effectuer. L'implémentation (ou codage) de l'algorithme consiste en l'écriture de ces opérations dans un langage de programmation. Il faut donc définir ces opérations avant l’implémentation.

Introduction à l’Algorithmique La conception d’algorithmes intervient donc assez tôt dans le cycle de création d’un logiciel. La qualité de l’algorithme conditionne directement la qualité du logiciel développé ultérieurement sur ses bases. Faire de bons algorithmes (définition d’un «bon» algorithme plus tard) est donc primordial pour le développeur informatique. Un mauvais algorithme devra sans cesse être retravaillé car le logiciel associé fonctionne mal.

Introduction à l’Algorithmique Intérêts de l’algorithmique Faire la conception détaillée dans un langage algorithmique, indépendant des langages de programmation, et compréhensible par des informaticiens qui ne sont pas des développeurs

Introduction à l’Algorithmique Intérêts de l’algorithmique Préparer la phase de test du logiciel Analyse Tests Tests d’intégration Recette Exemple du cycle en V Conception générale Facteurs ergonomiques, intégration à d’autres logiciels, etc. Conception détaillée Codage

Introduction à l’Algorithmique Préparation à la phase de test On sait ce qu’un algo doit faire puisqu’on connaît les résultats à sortir en fonction des données en entrée, Donc on sait aussi ce qu’il ne doit pas faire ! On peut ainsi rédiger un protocole de tests pour déceler les problèmes de conception/logique Problème du cycle en V: les tests après le codage : possibilité de perte de temps … Donc nécessité de procéder à plusieurs tests basiques de l’algo AVANT de traduire l’algo dans un langage de programmation quelconque.

Introduction à l’Algorithmique Cycle de développement d’un programme Enoncé du problème Traduction dans un langage précis Traduction en langage machine 2 Phase d’analyse Réalisation du programme 3 Conception du ou Des algorithmes C’est nous ! Programme exécutable Par la machine 1

Introduction à l’Algorithmique Principe d’un logiciel informatique Recevoir des données (depuis le clavier, depuis un fichier, par une connexion réseau, etc.) Traitement de ces données via le code machine conçu indirectement par le développeur de l’application. Ce traitement s’effectue en utilisant le ou les processeurs, la mémoire disponible, d’éventuels périphériques. Sortie d’un résultat (affichage écran, impression papier, envois sur le réseau, etc.)

Introduction à l’Algorithmique L’ordinateur effectue donc des traitement de données. Ces données, quelles qu’elles soient, sont réduites à des expressions simples, les primitives. Elles sont stockées en mémoire. Données en entrée Programme Données en sortie Processeur Mémoire

Conception Algorithmique La programmation comprend plusieurs étapes. Ecrire un programme informatique est un problème très complexe  on divise ce problème en plusieurs étapes pour le rendre plus facile. Chaque étape est plus simple à résoudre isolément que le problème tout entier. Certaines étapes peuvent être prises en charge par d’autres programmes déjà existants.

Conception Algorithmique Première chose à faire lors de la conception d’un algorithme: Identifier les données en entrée et les écrire, Identifier le ou les résultats à obtenir, et les écrire. Deuxième chose à faire: Imaginer la méthode pour obtenir les résultats à partir des données fournies. Troisième chose à faire: Concrétiser cette méthode en l’écrivant en pseudo-langage, suivant des règles bien précises.

Le pseudo-langage ? Le pseudo-langage: langage hybride entre les langages de programmation et notre langage commun, que l’on parle tous les jours. Il suit cependant une organisation stricte de manière à être clair et facilement lisible ou compréhensible. De même que l’organisation, les termes employés doivent être rigoureusement respectés et employés. La personnalisation d’algorithme ne doit pas exister …

Le pseudo-langage ? Un algorithme possède: Exemple : Un nom, Un début, Une fin. Exemple : Programme Moyenne Début suite d’instructions calculant une moyenne Fin

Le pseudo-langage ? L’algorithme est une suite logique de décisions/actions Exemple: La machine à café de l’EPSI Programme ServirCafé Début Si je reçois de l’argent Si on m’indique quel café servir en moins de 30 secondes Alors je verse le café je rend l’éventuelle monnaie Fin Sinon je rend l’argent Fin si Je retourne à mon état initial

Le pseudo-langage ? L’algo se lit donc : De haut en bas De gauche à droite Mais en tenant compte des primitives (ex. si-alors-sinon-fin si) La rédaction de l’algo se doit d’être très claire pour une compréhension optimale Imaginez l’algo précédent sans alinéas …

Le pseudo-langage ? L’algorithme est une suite logique de décisions/actions Exemple: La machine à café de l’EPSI Programme ServirCafé Début Si je reçois de l’argent Si on m’indique quel café servir en moins de 30 secondes Alors je verse le café je rend l’éventuelle monnaie Fin Sinon je rend l’argent Fin si Je retourne à mon état initial INGERABLE SUR DES ALGOS PLUS LONGS ET PLUS COMPLEXES !

Le pseudo-langage ? De même, un algo doit être commenté. Chaque étape importante dans le déroulement de l’algo doit être expliquée clairement … … et de manière concise : pas de romans plus long que l’algo lui-même ! Cela servira à tout le monde y compris vous …

Le pseudo-langage ? Moralité : Présentation de l’algorithme très importante … autant pour vous (facilité à traduire dans un langage de programmation donné) … … Que pour vos lecteurs (profs, jury, autre développeur), et donc Les algos « sales » et/ou non commentés seront toujours « salement » notées ! C’est juste une habitude à prendre …

Introduction à l’Algorithmique Prochaines étapes du cours : Instructions de base, définition et utilisation des variables Les structures de contrôle Alternatives (si alors sinon) Itératives (boucles) Les tableaux de données Les enregistrements Procédures et fonctions Les fichiers …

Introduction à l’Algorithmique Questions sur cette partie du cours ?