Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009



Documents pareils
IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Cours d Informatique

STAGE IREM 0- Premiers pas en Python

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP


UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

TP 1. Prise en main du langage Python

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Algorithmique et programmation : les bases (VBA) Corrigé

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours 1 : Qu est-ce que la programmation?

Algorithmique et Programmation, IMA

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

UE C avancé cours 1: introduction et révisions

Initiation à LabView : Les exemples d applications :

Raisonnement probabiliste

UE Programmation Impérative Licence 2ème Année

Introduction à MATLAB R

Algorithmique et structures de données I

Recherche dans un tableau

EXCEL TUTORIEL 2012/2013

Programmer en JAVA. par Tama

Notions fondamentales du langage C# Version 1.0

Cours Informatique Master STEP

Les structures. Chapitre 3

Environnements et Outils de Développement Cours 1 Introduction

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Conception de circuits numériques et architecture des ordinateurs

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Projet Matlab : un logiciel de cryptage

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Initiation à la programmation en Python

Algorithmique et Programmation Fonctionnelle

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Correction TD algorithmique

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Initiation à l algorithmique

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Créer le schéma relationnel d une base de données ACCESS

Programmes des classes préparatoires aux Grandes Ecoles

1 Recherche en table par balayage

SUPPORT DE COURS. Langage C

Programmation Objet - Cours II

Calculateur quantique: factorisation des entiers

ALGORITHMIQUE ET PROGRAMMATION En C

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Cours d Algorithmique et de Langage C v 3.0

EBS 204 E C B S. Publication : Novembre 96

ACTIVITÉ DE PROGRAMMATION

Initiation à la Programmation en Logique avec SISCtus Prolog

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Solutions du chapitre 4

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

INF 321 : mémento de la syntaxe de Java

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

TEXT MINING von 7

Enseignement secondaire technique

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

2. Comprendre les définitions de classes

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

PROGRAMMER EN MQL4. Apprenez à automatiser vos stratégies sur MetaTrader 4

Algorithmes récursifs

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Théorie de la Programmation

Bernard HAMM, Évelyne LAVOISIER

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Adama MBODJI MBODJ.SYSTEM

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

MPI Activité.10 : Logique binaire Portes logiques

Architecture des ordinateurs

Cours d algorithmique pour la classe de 2nde

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction au langage C

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Génie Logiciel avec Ada. 4 février 2013

2 Comment fonctionne un ordinateur, dans les grandes lignes

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Programmation C++ (débutant)/instructions for, while et do...while

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur)

Chap III : Les tableaux

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Cours 1 : La compilation

Algorithme. Table des matières

Corrigé des TD 1 à 5

Rappels d architecture

Gestion de projet et. «Second précepte: diviser chacune des difficultés que j examinerois, en autant de. qu il seroit requis pour les mieux

V- Manipulations de nombres en binaire

Organigramme / Algorigramme Dossier élève 1 SI

Transcription:

Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30 12h00 (Bât. G, salle 20) - Groupe 1 : mercredi, 13h30 15h00 (DLC LC4) - Groupe 2 : mercredi, 15h15 16h45 (DLC LC4) Jérôme Baril (en alternance: salle TD et salle machine) Evaluation 2 contrôles continu Préambule Définition L'informatique désigne l'automatisation du traitement de l'information par un système, concret (machine) ou abstrait. Définition L'informatique désigne l'automatisation du traitement de l'information par un système, concret (machine) ou abstrait. 1

C est ça? Avant. Maintenant. Définition L'informatique désigne l'automatisation du traitement de l'information par un système, concret (machine) ou abstrait. Automatisation Automatisation Exemple : Une punition genre 2

Automatisation Programmation d un site web Exemple : Une punition genre Automatisation $i = 1; while ($i <= 10) { $i = $i + 1; } Niklaus Wirth, ETH Zuerich, 1976 «Algorithms + Data Structures = Programs» Exemple Structure de données Trouver un numéro dans un annuaire par nom donnée 3

Exemple Trouver un nom dans un annuaire par numéro donnée Définition Structure de données une structure logique destinée à contenir des données afin de leur donner une organisation permettant de simplifier leur traitement. Exemple : On peut présenter des numéros de téléphone * - par département, - par nom - par profession (pages jaunes), - par numéro téléphonique (annuaires destinés au télémarketing), - par rue et/ou - une combinaison quelconque de ces classements. À chaque usage correspondra une structure d'annuaire appropriée. > 1,000,000,000,000 pages Comment ça marche? Structure de donnée: p.ex. fantôme - couleur - position - direction - aggressif ou pas? Algorithmes: Source : http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html p.ex. mettre a jour le meilleur score Structure de donnée: - tableau a 2 dimension Structure de donnée : File Algorithmes: - surtout I.A. FIFO (First In First Out) Aussi: File à priorité 4

Structure de donnée : Pile LIFO (Last In First Out) Structure de donnée : Arbre (pour l élimination des parties cachées) Structure de donnée : Graphe (pour plannifier des trajets) Définitions Algorithme L'algorithmique est la science des algorithmes, visant à étudier les opérations nécessaires à la réalisation d'un calcul. René Descartes dans le Discours de la Méthode : «diviser chacune des difficultés que j'examinerois, en autant de parcelles qu'il se pourroit, et qu'il seroit requis pour les mieux résoudre.». Algorithme Un algorithme est une méthode de résolution de problème énoncée é sous la forme d'une série d'opérations à effectuer. 5

Algorithme L algorithme constitue alors la brique de base d'un programme informatique Programme La mise en œuvre de l'algorithme consiste en l'écriture de ces opérations dans un langage de programmation Algorithme et programmes Algorithme Moyen d atteindre un but en répétant un nombre fini de fois un nombre fini d instructions. Donc, un algorithme se termine en un temps fini. Programme Un programme est la traduction d un algorithme en un langage compilable ou interprétable par un ordinateur. Détailler l'algorithme L'algorithme devra être plus ou moins détaillé selon le niveau d'abstraction du langage utilisé une recette de cuisine doit être plus ou moins détaillée en fonction de l'expérience cuisinier. Les Algorithmes Variables Appel de fonction Structure de contrôle Bloc d'instruction Branchements conditionnels Branchements conditionnels (multiples) Boucles 6

Variables se caractérisent par leur nom et leur type Variables : nom des variables nombre y i patrick x1 Mais non pas : 3x entrée while Variables : type des variabes Nombre entier (p.ex. 5) Nombre à virgule flottant (p.ex. 5.12) Caractère (p.ex. c ) Chaîne de caractères (p.ex. "salut") Vrai/faux (p.ex. TRUE, FALSE) Variables Appel de fonction Structure de contrôle Bloc d'instruction Branchements conditionnels Branchements conditionnels (multiples) Boucles a = 7 points= 0 points= points+ 100 points= points+ 100 fini = FAUX - Note: - Affectation d une seule variable avec une valeur. - La variable à affecter figure à gauche, la valeur à droite Faux: a+b = 6 7 = c Opérateurs Opérateurs numériques : +, -, *, / % : modulo (reste de la division) Multiplication/division prioritaire Parenthèses Opérateurs alphanumériques : concatenation + ex. prenom = "William" nomdefamille = "Simonet" nomcompose = prenom+" "+nomdefamille Opérateurs booléennes : ET, OU, NON, XOR logique 7

a = 10%3 nom = prenom + nom x = a AND b Variables Appel de fonction Structure de contrôle Bloc d'instruction Branchements conditionnels Branchements conditionnels (multiples) Boucles a == 7 absent == FAUX malade == VRAI OU vacances == VRAI score > highscore a = 7 x = (a==7) - Notez: - Le ==!! - Le résultat d une condition/comparaison peut être uniquement soit VRAI, soit FAUX a == 7 absent == FAUX malade == VRAI OU vacances == VRAI score > highscore - Notez: - Le ==!! - Le résultat d une condition/comparaison peut être uniquement soit VRAI, soit FAUX 8