INTRODUCTION.

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

Eléments de Génie Logiciel
Introduction: Concepts de la programmation
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Algorithmique Résume.
INTRODUCTION.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
CHAPITRE 3 Calcul numérique et puissances
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Chapitre IV. Structures linéaires (piles, files, listes chaînées)
INITIATION AU GRAFCET E. HELLOT lycée P. Duez.
Les bases de l’Algorithmique
Conception et analyse des algorithmes
Références Bibliographiques
Introduction à l’Intelligence Artificielle
Etude des Technologies du Web services
Structures de données linéaires
Récursivité.
Principes de la technologie orientée objets
Introduction à l’algorithmique
Démarche de résolution de problèmes
Analyse et Conception orientée objet
Initiation à la conception de systèmes d'information
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Algorithmique et Programmation
Introduire la dérivée en 1re S comme réponse à une question
IFT Complexité et NP-complétude
CSI3525: Concepts des Languages de Programmation
Cours de Base de Données & Langage SQL
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Chapitre 3 Syntaxe et sémantique.
Chapitre 3 La cinématique à une dimension
Programmation logique Le Langage PROLOG
Programmation non procédurale Le projet ECOLE 2000
Sensibilisation a la modelisation
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
Programmation linéaire en nombres entiers : les méthodes de troncature
Patrons de conceptions de créations
Structures de données IFT-2000 Abder Alikacem La récursivité Département d’informatique et de génie logiciel Édition Septembre 2009.
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
Introduction à l’algorithmique et aux structures de données
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
ANALYSE METHODE & OUTILS
Paradigmes des Langages de Programmation
Arithmétique Modulaire
Paradigmes des Langages de Programmation
Agents intelligents.  L’IA peut être envisagée de différentes manières. Les deux questions essentielles qu’ il convient de se poser sont: Vous intéressez-vous.
Les principes de la modélisation de systèmes
ALGORITHMIQUE IUT Vélizy – DUT Info - 1ère année Laurent Marsan
Algorithmique et programmation (1)‏
Algorithmes et Programmation
Un survol du language C.
Programmation linéaire en nombres entiers
Méthodes de tri.
Cours 4 - Trois algorithmes de recherche dans un tableau
La programmation.
Initiation à la conception des systèmes d'informations
Les types composés Les enregistrements.
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
LES PRINCIPES DE LA THERMODYNAMIQUE
Algorithmique : Introduction
Introduction et Généralités sur l’Algorithmique
Introduction.
Chapitre 4 La représentation des nombres.
INTRODUCTION AUX BASES DE DONNEES
LES TEXTES ET LES SHADOKS (Docs d’application et d’accompagnement)
Algorithmes parallèles
Transcription de la présentation:

INTRODUCTION

Notion d'algorithme L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d'algorithmes, c'est à dire de processus systématiques de résolution, par le calcul, d'un problème permettant de décrire les étapes vers le résultat. En d'autres termes, un algorithme est une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème. (Wikipédia)

Algorithme : définition plus simple Un procédé systématique qui permet de traiter des informations s’appelle un algorithme. De manière plus générale, un algorithme est un procédé systématique qui permet de faire quelque chose.

Un programme destiné à être exécuté par un ordinateur, est la plupart du temps, la description d'un algorithme dans un langage accepté par cette machine.

Algorithme (définition précise) Un algorithme décrit un traitement sur un certain nombre, fini, de données (éventuellement aucune). Un algorithme est la composition d'un ensemble fini d'étapes, chaque étape étant formée d'un nombre fini d'opérations dont chacune est : définie de façon rigoureuse et non ambiguë; effective, c.à.d. pouvant être effectivement réalisée par une machine : cela correspond à une action qui peut être réalisée avec un papier et un crayon en un temps fini ; par exemple la division entière est une opération effective, mais pas la division avec un nombre infini de décimales. Quelle que soit la donnée sur laquelle on travaille, un algorithme doit toujours se terminer après un nombre fini d'opérations, et fournir un résultat.

La première version de l'algorithme est autant que possible indépendante d'une implémentation particulière. En particulier, la représentation des données n'est pas fixée. les données sont considérées de manière abstraite : on se donne une notation pour les décrire ainsi que l'ensemble des opérations qu'on peut leur appliquer et les propriétés de ces opérations. On parle alors de type abstrait de données. La conception de l'algorithme se fait en utilisant les opérations du type abstrait.

Exemple Considérons le type réel des langages de programmation : on a une convention pour écrire les constantes réelles ; on sait calculer sur les réels en utilisant +, -, *, … On peut manipuler les réels sans avoir à connaître leur représentation interne (mantisse, exposant).

Résolution des problèmes Pour résoudre des problèmes nous allons appliquer une démarche descendante : on se donne la définition des types de données (on dit encore leur spécification), et on conçoit l'algorithme à ce niveau. On donne ensuite une représentation concrète des types et des opérations, qui peut être encore un type abstrait, et ceci jusqu'à obtenir un programme exécutable.

Algorithme : l’archétype antique En langage algorithmique Exemple de traduction en C unsigned gcd(unsigned a, unsigned b) { if (b == 0) return a; else return gcd(b, a % b); // ou // return b ? gcd(b, a % b) : a; }

Structures de données. Une structure de données est un ensemble organisé d'informations reliées logiquement, ces informations pouvant être traitées collectivement ou individuellement.

Exemple Tableau monodimensionnel (VECTEUR) constitué d'un certain nombre de composantes de même type. On peut effectuer des opérations sur chaque composante prise individuellement mais on dispose aussi d'opérations globales portant sur le vecteur considéré comme un seul objet.

Une structure de données est caractérisée par ses composantes et leur arrangement mais surtout par son mode de traitement. Ainsi deux structures ayant les mêmes composantes, les mêmes arrangements comme les PILES et FILES d'ATTENTE sont considérées comme différentes car leurs modes d'exploitation sont fondamentalement différents.

A retenir Algorithme et SDD sont indissociables Se conçoivent ensemble Répondent à un même but Réaliser une opération complexe De la manière la plus performante possible