Les principes de l Algorithmique et Programmation

Dimension: px
Commencer à balayer dès la page:

Download "Les principes de l Algorithmique et Programmation"

Transcription

1 Les principes de l Algorithmique et Programmation 1 Introduction Informatique : traitement automatisé de l information. Algorithme : ensemble de règles opératoires dont l application permet de résoudre un problème en un nombre fini d opérations. Programme : séquences d instructions et de données enregistrées sur un support et susceptibles d être traitée par un ordinateur. Données : objets manipulés par le programme. Structures de Données : organisation des données dans des structures ayant une représentation fixée et des opérations d accès, modification,... Le programme est la traduction d un algorithme et des structures de données dans un langage de programmation qui impose une syntaxe rigoureuse. Objectif de l analyste programmeur : Ecrire un programme dans un langage donné dont l exécution permet de résoudre un problème. Exercice 1 Donner les avantages d un algorithme sur un programme. Donner les avantages d un programme sur un algorithme. Exercice 2 Citer des exemples d algorithmes. 1

2 Exercice 3 Le texte suivant est-il un algorithme? Recette de la pate à choux : Ingrédients : 1/4 litre d eau, 100g de beurre, 125g de farine, 4 oeufs,1 pincée de sel, 1 cuillérée de sucre. Dans une casserole, faire bouillir l eau avec le beurre, le sel le sucre. A la première ébullition, retirer la casserole du feu, et verser la farine. Tourner rapidement avec un ecuillère en bois en travaillant sur le feu jusqu à ce qu elle se détache complètement de la casserole. Hors du feu ajouter les oeufs un à un en travaillant chaque fois la préparation avec la cuillère. 2 Les Langages 2.1 Constituants Une langue : Syntaxe : catégories de mots (noms, verbes, adjectifs,...), règles de grammaire... Analyse lexicale permet de reconnaitre les mots de la langue. Analyse syntaxique permet de reconnaitre les phrases bien formées. Sémantique : une phrase bien formée n a pas toujours un sens. Catégories de langages : langue naturelle : syntaxe et sémantique assez laxistes mais souple d emploi. On peut se comprendre même avec des phrases peu orthodoxes et incorrectes. Sémantique intuitive mais pouvant être ambigue. Le récepteur est un être humain intelligent et réactif. langage informatique : syntaxe rigoureuse et rigide. La sémantique n est pas intuitive et met en oeuvre des cadres complexes (meme si les principes sont simples) et difficiles à bien apprehender. Le récepteur est une machine denuée d intelligence. langage de description d algorithme : une syntaxe moins rigide mais assez stricte pour ne pas donner d ambiguité sur la sémantique de ce qui est décrit. 2.2 Un exemple Problème : Donner la table de conversion de franc en euro de 100 en 100 depuis 0 jusqu à 1000 en utilisant un coefficient de conversion de 6.56 Données : somme en franc et euros Algorithme : répétition du calcul de conversion de 100 en 100 MIN=0 MAX=1000 INTER=100 COEF=6.56 franc=min Tant que franc <=MAX faire euro=franc/coef afficher euro franc=franc+inter fait Programmes C : /* File: conver.c Auteurs: Prof cree le modifie le: */ /* conversion des sommes en francs en euros */ /* affichage de 0 a 1000 par intervalle de 100 */ #include <stdio.h> 2

3 #define MIN 0 /*somme minimale a convertir */ #define MAX 1000 /*somme maximale a convertir */ #define INTER 100 /*intervalle entre deux sommes*/ #define COEF 6.56 /*coefficient de conversion */ int main () { float franc, euro; franc=min; while (franc <= MAX) { euro = franc / COEF; printf("somme: en franc %4.0f en euro %6.2f\n",franc, euro); franc=franc+inter; } return 0; } Programme : def franc2euro(): " conversion des sommes en francs en euros \ affichage de 0 a 1000 par intervalle de 100" MIN=0 MAX=1000 INTER=100 COEF=6.56 franc=min while (franc<=max): euro=franc/coef print "somme en franc: ",franc, "en euro: ",euro franc=franc+inter Les deux programmes sont similaires mais différents : l un est plus simple que l autre. Tous les deux sont décrits dans un langage impératif 1 et implémentent un même algorithme de conversion qui repose sur la répétition d une opération simple. Dans ce cours d initiation, nous allons apprendre à écrire des programmes en. Exercice 4 Trouver les exemples d algorithmes les plus anciens connus. Calcul de surface (carré, triangle,..), algorithme d euclide (1er siecle), des restes chinois. Exercice 5 Décrire l algorithme de résolution d une équation du second degré. 3 Langage et Machine Pour commencer nous donnons la syntaxe des langages que nous utilisons. Nous donnons à la fois la syntaxe d un vrai langage informatique : et un langage de description d algorithme. 3.1 Commentaires Les commentaires servent à expliquer le comportement du programmes (en langue naturelle) et ne jouent aucun role dans le comportement du langage. #ce programme calcule la surface d un cercle 1. en fait python est un langage objet, mais on ne le verra que sous son aspect impératif 3

4 3.2 Les expressions Les noms appelés identificateurs : désignent des variables, fonctions,... Usuellement x,y,pi,taux de change,..., i.e. suite de caractères (commençant par une lettre en général) Les expressions : combinaisons de noms, valeur définies, avec des opérateurs (prédéfinis dans le langage et fabriqués par le concepteur du programme). pi*(r**2), x+z,... Exp ::= C Idf Exp op Exp Ici seuls des opérateurs binaires notés de manière infixée sont utilisés. La définition s étend si on a des opérateurs unaires, ternaires,..., des appels de fonctions f(exp 1,...,exp n ) (si f est l identificateur notant une fonction qui a une arité n). Certaines suites de caractères ne sont pas autorisées comme identificateurs car ce sont des mots réservés : leur sens est prédéfini et correspond à des constructions du langage. Exemple if, while, for,... Opérateurs classiques : Arithmétique :+,-,*,/, % Opérateur de comparaison (à résultat booléen V ou F) <,>,==,<=,>= Opérateur booléen and, or (à arguments et résultat booléen) Ambiguité : que signifie 4+3*2? Pour lever les ambiguités on utilise le parenthésage (4+3)*2 ou 4+(3*2) ou bien les règles de priorité prédéfinies : **plus fort que *,/ plus forts que +,-. Sinon l évaluation se fait de Gauche à Droite en cas de même priorité : 5*10/6 Exercice 6 Donner le résultat de l évaluation de : 2**3*3-1, 8/2+3, 1-2* Constructions de base Remarque : en python, l indentation fait partie de la syntaxe (elle remplace l utilisation de parenthèse ou de mots clé begin end). Instructions de base affectation : var=exp var=exp Sens intuitif : Donne la valeur de exp à var condition : si cond alors Ins1 sinon Ins2 fsi if cond: Ins1 else: Ins2 avec la variante elif en cas de suite de conditions Sens intuitif : si l évaluation de cond donne vrai on évalue Ins1 sinon on évalue Ins2. Itération : Tant que cond faire Inst fait : while cond: Inst Sens intuitif : Tant que evaluer cond donne vrai on effectue Inst Sequence : Ins1 Ins2 Ins1 Ins2 Sens intuitif : Ins1 est effectuée suivie de Ins2 (si Ins1 termine). 4

5 Entree/sortie : x=input() output(x) x=input() ou x=raw_input() print x Appel de fonction : f(x 1,...,x n ) (si f est une fonction d arité n qui ne renvoie pas de résultat, comme print ou read). x=f(x1,..;,xn) Si on veut utiliser une fonction qui renvoie une valeur, cela se fera en utilisant l affectation x = f(exp 1,...,exp n ). Notation graphique : elle permet de représenter la structure de contrôle du programme de manière visuelle. L objet représenté est appelé le graphe de contrôle du programme. Affectation x:=exp x:=exp Conditionnelle if cond then Inst1 else Inst2 fi true cond false While cond do Inst false cond true Inst1 Inst1; Inst2 Inst Inst2 Langage correspond à une syntaxe rigoureuse (/= langue nat). Un programme est source est une phrase de ce langage. Il reste une suite de caractères pouvant etre écrite par un éditeur et compréhensible par l humain. Un programme appelé compilateur traduit ce texte en un programme exécutable (binaire ou code objet) qui est un ensemble d instructions machine (compréhensible par la machine mais pas l humain). Dans un langage interpreté le source est traduit à la volée en instruction machine. Source > compilé > bytecode > interprété > résultat 3.4 Typage Chaque variable a un type. Un type est un ensemble de valeurs (les entiers, les réels,..) et chaque type correspond une représentation machine. Le type int correspond aux entiers représentés sur 32 bits (ou 64) de -2**31 à 2**31-1. Le type long correspond aux entiers de taille supérieure. Le type float correspond aux réels représentés selon la norme IEEE sur 64 bits. Les types simples sont les types int long float. Les autres types sont les types composites (ou complexes) chaines, listes,... Ils seront décrits plus en détail ultérieurement. En le typage est dynamique : l interpréteur calcule le type des variables à la volée sans que celui-ci doive être déclaré (comme en C, Java). Dans ces langage le typage est statique car il est calculé à la compilation du programme. 5

6 4 Modèle d exécution 4.1 Mémoire Mémoire d une machine Environnement adresse case mémoire nom de variable x 1... x n adresse case mémoire 0 réservée 1 val 1... n val n Le lien entre nom et adresse se fait lors de la compilation. L exécution du programme correspond se définit en décrivant comment l environnement est modifié par les instructions du programme et comment les expressions sont calculées dans l environnement courant. 4.2 Sémantique opérationnelle Le sémantique opérationnelle est un modèle abstrait qui permet d associer un sens précis à un langage. On modélise l environnement par une suite (x 1,v 1 ),...,(x n,v n ) avec x 1,...,x n les variables du programme et v 1,...,v n des valeurs. Env est l ensemble des environnements et I l ensemble des programmes (vus comme une suite d instructions). Dans ce qui suit E désigne un environnement (E Env). Règle d evaluation d une expression On considère les expressions données par la grammaire: Exp ::= C Idf Exp op Exp avec C une valeur constante (dans R ou Z). La fonction eval(e,e) décrit comment donner une valeur à une expression e Exp dans un environnement E Env. eval(e,c) = C eval(e,x i ) = v i eval(e,e 1 op e 2 ) = v 1 op v 2 v 1 = eval(e,e 1 ),v 2 = eval(e,e 2 ) Sémantique d un programme Le sémantique d un programme (suite d instructions I) est une fonction Env,I Env qui décrit comment calculer un environnement E se transforme en un environnement E quand on exécute I. eval(e,e) v (E,x = e) E [x v] Exemple : E = {(x,1),(y, 1)} et I = x = y +x alors eval(e,x+y) donne 0 et donc (E,x = y +x) {(x,0),(y, 1)} eval(e,cond) = True E,I 1 E (E,if cond then : I 1 else I 2 ) E eval(e,cond) = False E,I 2 E (E,if cond then : I 1 elsei 2 ) E eval(e,cond) = True E,I E (E,while cond : I) (E,while cond : I) 6

7 eval(e,cond) = False (E,while cond : I) E Une manière compliquée d exprimer des choses naturelles? Le modèle est plus intéressant quand on cherche à définir fonctions du premier ordre ou d ordre supérieur, mécanisme d exceptions,...ou qu on veut définir la sémantique d un langage objet. Dans ce modèle on voit qu évaluer une expression sans affecter le résultat ne modifie pas l environnement donc c est une opération inutile. Modèle concret : voir cours d initiation. Le compilateur ou l interpréteur traduit le programme en instructions machine exécutables par le processeur. Les données et les instructions sont chargées dans les registres du CPU, registre compteur ordinal, compteur instruction, le registre et l UAL exécute. Ici tout est représentation binaire 0 ou 1. 5 De l Analyse au Programme Une fois défini le problème, on commence par identifier et structurer les objets qui interviennent (les données), puis on détermine la méthode permettant de résoudre le problème (l algorithme), et enfin on combine le tout en un programme. Ce processus se décrit par Programme= Structure de Données + Algorithme (Loi de Wirth, d après Niklaus Wirth) Poser et analyser le problème. Cette étape sert à bien comprendre ce qui est à faire, permet de préciser certains points. Cela correspond à l analyse du cahier des charges. Ecrire un programme permettant de trouver le cout du trajet le plus court entre deux stations de métro Quels objets et quelles structures de données? Identifier la manière dont les objets intervenant dans le programme sont structurés et se représentent à l aide de données informatiques classiques : variables, chaines, listes, arbres, graphes,...qui correspondent à une représentation et des opérations sur ces représentations. Graphe des lignes de métro avec opération successeur, prédeceseur, cout d une arete,... Un station est un noeud, s il y a un ligne passant entre deux stations on ajoute une arête (non-orientée, c.a.d. qu on peut la prendre dans chaque sens). La SD donne pour chaque station la liste des stations accessibles. Elle donne également pour chaque arête le cout de cette arête 2. Quel Algorithme? Quel est le mécanisme de calcul qui va permettre de résoudre le problème (formule de calcul des solutions d une équation, exploration d un arbre de recherche,...). Il y a des techniques d analyse (descendante, ascendante, objet,...) qui permettent d affiner l analyse jusqu à obtenir une méthode n utilisant que des constructions élémentaires qui se transposent facilement en des instructions de programmation. graphe,...) à partir des objets représentés dans les SD choisies. Ici on cherche une fonction trajetmin(s,t) qui renvoie le cout minimal entre s et t. Idée de départ : Partir de s i et pour chaque successeur s calculer cout(s i,s)+trajetmin(s,s f ) et garder la valeur minimale. Cette idée doit être raffinée : 1. Cas d arrêt du calcul (cas terminal) : s = t 2. Transformer garder la valeur minimale en une itération calculant cette valeur. 3. Il ne faut pas tourner en rond : nécessité de marquer les sommets pour signaler qu on ne doit pas revenir sur un sommet déjà visité. 2. pour un graphe orienté, les arêtes ne sont pas symétriques, (s,t) peut exister mais pas (t,s) et le coût peut être différent entre (s,t) et (t,s) 7

8 4. Enlever le marquage une fois le calcul terminé. Cette première approche de l algorithme impose de modifier la structure de donnée en ajoutant pourchaquesommetunemarque(vrai,fauxou0,1ou..)poursavoirsilesommetpeut êtreutilisé. Une version plus précise de l algorithme est : trajetmin(s,t) : # calcul du plus court chemin entre s et t #le graphe est supposé connexe si s==t alors renvoyer le résultat 0 sinon fsi marquer s cout=+infini pour chaque successeur non marqué s de s faire cout=min(cout, coutarete(s,s )+trajetmin(s,t)) fait demarquer(s) renvoyer le résultat cout Validation de l algorithme Une fois un algorithme déterminé il faut répondre à plusieurs questions qui peuvent entrainer une remise en question de l algorithme. L algorithme est il correct : Donne-t-il la bonne réponse dans tous les cas? Répondre à cette question est difficile et on se limitera à des preuves informelles dans le cadre de ce cours. Voir comment il traite les cas limite, faire un raisonnement informel pour prouver la correction sont essentiels ici. Est-ce que l algorithme est suffisamment efficace : cela demande une analyse de complexité. On se limitera aux cas facile dans ce cours. Est-ce que l algorithme est facile à implémenter? Un algorithme simple est toujours préférable. Passage au programme En utilisant une implémentation des structures de données et l algorithme choisi, on peut passer aux instructions dans le langage de programmation choisi. Dans le cas précédent, l implémentation des structures de données choisies se fera avec des listes qui permettront de réaliser tous les opérations utilisées dans l algorithme. Validation du programme Une fois le programme écrit, on le valide par un jeu de tests qui permet de constater que son comportement est conforme à la spécification (l énoncé du problème). Eventuellement on corrige et on recommence. Les tests doivent aussi permettre de vérifier que la solution trouvée est acceptable en temps de calcul et place mémoire demandée. Par exemple, l algorithme décrit ci-dessus se revèlera rapidement inefficace pour des graphes de grande taille et il est nécessaire d en trouver de plus rapide (ce qu on fera plus tard en utilisant des algorithmes reposant sur le principe de programmation dynamique). Que retenir? Voici des questions auxquelles il faut savoir répondre sans hésiter et qui portent sur les points importants à comprendre et retenir. Une réponse syntaxiquement correcte ne suffit pas, il faut aussi comprendre la question et savoir expliquer sa réponse. Quel est le principe de fonctionnement d une machine Pourquoi doit-on apprendre un langage de programmation? Qu est-ce qu un algorithme? Qu est-ce qu un langage de programmation? Quelle est la différence entre langage de programmation et algorithme? 8

9 A quoi sert un compilateur? Quelle différence entre un compilateur et un éditeur de texte? Qu est-ce qu un programme source? Qu est-ce qu un exécutable? Qu est-ce qu une donnée? une structure de donnée? Quelles sont les instructions de bases d un langage impératif? Commment décrire un algorithme? 9

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

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

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

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

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

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)

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) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

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

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

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

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR Mickaël Bergem 25 juin 2014 Maillages et applications 1 Table des matières Introduction 3 1 La modélisation numérique de milieux urbains

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

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

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 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

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Représentation des Nombres

Représentation des Nombres Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Représentation d un entier en base b

Représentation d un entier en base b Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle. Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

La mémoire. Un ordinateur. L'octet. Le bit

La mémoire. Un ordinateur. L'octet. Le bit Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

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

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que CQP 112 Introduc/on à la programma/on Thème 2 : Architecture d un système informa/que Département d informa/que CQP 112 : Introduc/on à la programma/on Plan 1. Historique des ordinateurs 2. Composants

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. àl algorithmique et à la programmation. en C Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,

Plus en détail

Algorithmique, Structures de données et langage C

Algorithmique, Structures de données et langage C UNIVERSITE PAUL SABATIER TOULOUSE III Algorithmique, Structures de données et langage C L3 IUP AISEM/ICM Janvier 2005 J.M. ENJALBERT Chapitre 1 Rappels et compléments de C 1.1 Structures Une structure

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

Logiciel Libre Cours 2 Fondements: Programmation

Logiciel Libre Cours 2 Fondements: Programmation Logiciel Libre Cours 2 Fondements: Programmation Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Programmation en Caml pour Débutants

Programmation en Caml pour Débutants Programmation en Caml pour Débutants Arthur Charguéraud 6 Ju 2005 Ceci est une version léaire imprimable du cours, mais il est fortement conseillé d utiliser la version teractive, sur laquelle la plupart

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

1 Recherche en table par balayage

1 Recherche en table par balayage 1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément

Plus en détail

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

Plus en détail

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

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

2 Comment fonctionne un ordinateur, dans les grandes lignes

2 Comment fonctionne un ordinateur, dans les grandes lignes Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

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

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Chapitre 1 I:\ Soyez courageux!

Chapitre 1 I:\ Soyez courageux! Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel

Plus en détail

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Enseignement secondaire technique

Enseignement secondaire technique Enseignement secondaire technique Régime technique Division technique générale Cycle moyen Informatique 11TG Nombre de leçons: 2.0 Nombre minimal de devoirs: - Langue véhiculaire: / Remarque générale:

Plus en détail