Pourquoi faire de l informatique?

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Pourquoi faire de l informatique?"

Transcription

1 Pourquoi faire de l informatique? Science : discipline scientifique à part entière champ d étude, méthode, principes, objets étudiés Technique : outil scientifique dans toutes les disciplines simulation, recueil et analyse de données, modèles Métiers : cursus professionalisants Pédagogie : vision nouvelle de concepts récurrents dans les sciences fonction, ensemble, modèle, calcul, etc.

2 Cours sur deux ans MIAS 1 : notions de base Que contient un langage de programmation? Que permet-il de faire? MIAS 2 : notion de langage Comment est fabriqué un langage de programmation? 12 cycles : Cours, ED, ED-machine Structure : cadre : notion, notation, typage, évaluation exemples concrets mise en application systématique sur machine

3 Chaque année : examen écrit (3/4) exament de TP (1/4, pondéré par contrôle continu) La note de MIAS 1 est intégrée au calcul pour la validation de modules par compensation La note de module tient compte de la note de MIAS 2 et de MIAS 1

4 Utilisez le matériel et le logiciel Libre-service Documentation électronique Discutez avec vos enseignants Soyez actifs Nous faisons des erreurs, repérez-les Participez aux ED et TP Expérimentez Ne croyez que ce que dit la machine Analysez tout ce que dit la machine, surtout lorsque c est inattendu!

5 Définition 1 : description symbolique d une relation fonctionnelle entre deux ensembles (l ensemble des données et l ensemble des résultats)» un programme est l expression d un modèle» analogue à une équation physique (mais qui serait orientée) Définition 2 : mécanisme qui calcule la valeur du résultat à partir de la valuation des données» un programme est la résolution d un modèle» analogue à l application numérique en physique

6 Que peut-on faire avec un programme? le construire» algorithmique, génie logiciel le valider» s assurer qu il est correct le transformer» pour le rendre plus efficace» pour le rendre exécutable l exécuter» quelquefois...

7 valeur : objet informatique qui ne peut plus être transformé par le mécanisme de calcul courant. Définition relative, en particulier à la notion de calcul calcul : application automatique de règles de transformation qui produisent une valeur finale (le résultat) à partir des données (valeurs initiales) réduction de * réduction de + 2* valeur finale Calcul

8 Nom : symbole, défini par le programmeur, qui dénote une valeur. Pi, vitesse, g, f, position_du_mobile, v90 sont des noms Pi-deux, vitesse du mobile, 14v ne sont pas des noms. Les noms permettent d écrire des expressions lisibles x = 1/2 * g * t * t + v0 * t 2 * Pi * rayon

9 Liaison : association entre un nom et une valeur Notation Caml let nom = valeur ;; let nom1 = valeur1 and nom2 = valeur2 ;; Règle des noms Un nom doit être lié avant d être utilisé let a = b * 2;; incorrect let b = 4;; let a = b * 2;; correct

10 Un seul mécanisme en Caml : la réécriture Tout ce qui est remplaçable est remplacé par sa valeur Les remplacements s arrêtent lorsque plus rien ne peut être remplacé (on obtient le résultat) Chaque construction Caml possède sa règle d évaluation qui explique comment s effectue la réécriture Nom : _ + _ : let n = v : remplacement par la valeur liée évaluation des arguments si les deux sont des valeurs, remplacement par la somme évaluation de partie droite liaison avec le nom L évaluation commence lorsque le symbole ;; est rencontré.

11 Type = Un ensemble de valeurs Un ensemble d opérations sur les valeurs Une expression de type Exemples : type des nombres entiers valeurs: -1, 0, 1,... opérateurs : +, -, *, / <, <=, >, >=, = expression int type des nombres décimaux valeurs: -1.0, 0.0, 0.1,... opérateurs : +., -., *., /. <., <=., >., >=., = expression : float type des valeurs logiques valeurs: true, false opérateurs : &, or, not, = expression : bool

12 CAML : langage fortement typé toute expression possède un type type d un nom : type de la valeur qui lui est liée permet le contrôle des programmes» assure qu on n additionne jamais des chèvres avec des choux!» un programme incorrectement typé est un programme faux!» mais l inverse n est pas vrai : un programme correctement typé a de bonnes chances d être correct Avant toute évaluation, CAML s assure que le typage est correct

13 Inférence de type : Ensemble des règles permettant de calculer le type d une expression Mécanisme qui porte sur le texte des programmes et expressions raisonnement sur les programmes aide à la programmation (et à la conception d algorithmes) Assistance tout résultat Caml s affiche comme un type et une valeur un type inattendu = très probablement une erreur!

14 Concept les nombres entiers relatifs, limités en taille Notation Notation usuelle pour les nombres et les opérations le type est noté int Typage Une expression de la forme a + b est de type int si a et b sont de type int Une expression de la forme a = b est de type bool si a et b sont de type int Evaluation Règles de calcul usuelles pour les opérations usuelles

15 Concept les nombres décimaux, limités en taille Notation Notation usuelle pour les nombres, les opérations ont un point le type est noté float Typage a +. b est de type float si a et b sont de type float a >. b est de type bool si a et b sont de type float sqrt a est de type float si a est de type float Evaluation Règles de calcul usuelles pour les opérations usuelles

16 Concept valeurs logiques Notation valeur : true et false type : bool opérations : et ou non Typage similaire aux types numériques Evaluation règles usuelles (tables de vérité) & or not

17 Concept expression de calculs dépendants de conditions Notation if <expression_booléenne> Typage then <expression 1> else <expression 2> l expression est bien typée si l expression derrière if est de type bool, et les expressions derrière then et else sont de même type. le type de l expression est celui des expressions suivant then et else

18 Evaluation (if b then v1 else v2) = v1 si b est évalué à (if b then v1 else v2) = v2 Exemples symbole de Kroneker : (if i = j then 1 else 0) valeur absolue (if a > 0 then a else -a) + 2 true false

19 Caml offre une notation très proche des mathématiques f : D R x expression (x) carre : ℵ ℵ x x 2 carre(3) carre(2+2) let f = function x -> expr (x);; let carre = function x -> x * x;; carre 3;; carre (2+2);; La théorie complète au prochain cours!

Algorithmique - Programmation 1. Cours 2

Algorithmique - Programmation 1. Cours 2 Algorithmique - Programmation 1 Cours 2 Université Henri Poincaré CESS Epinal Automne 2008 1/ 21 Plan Rappel: Caml en mode interactif Rappel: Caml en mode interactif Rappel: les types de base 2/ 21 Rappel:

Plus en détail

Algorithmique - Programmation 1. Cours 1

Algorithmique - Programmation 1. Cours 1 Algorithmique - Programmation 1 Cours 1 Université Henri Poincaré CESS Epinal Automne 2008 1/ 24 Plan Introduction Introduction A propos d AP1 Quelques concepts de base Premiers pas avec Caml Le branchement

Plus en détail

II. - Les Fondamentaux de Java

II. - Les Fondamentaux de Java II. - Les Fondamentaux de Java Gérald Monard Chimie et Physique informatiques L3 Physique et Chimie Concepts fondamentaux Un programme Java se compose d éléments de base comme : les expressions les instructions

Plus en détail

Algorithmique - Programmation 1. Cours 3

Algorithmique - Programmation 1. Cours 3 Algorithmique - Programmation 1 Cours 3 Université Henri Poincaré CESS Epinal Automne 2008 1/ 25 Plan Typage de fonctions Typage de fonctions Le type caractère Le type chaîne de caractères Fonctions récursives

Plus en détail

Identificateurs La notion d identificateur

Identificateurs La notion d identificateur Identificateurs La notion d identificateur Concept fondamental dans les langages de programmation = INF201/INF231: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et

Plus en détail

Examen d évaluation final Durée : 2 heures Appel le jeudi 29 janvier 2004 à 8 :30h

Examen d évaluation final Durée : 2 heures Appel le jeudi 29 janvier 2004 à 8 :30h Quatrième partie Examens de l année précédente 113 115 ULP DEUG STU/SM 2 ieme année : Automne 2003 Programmation Scientifique Resp. : Christian Boily Examen d évaluation final Durée : 2 heures Appel le

Plus en détail

IFT159 Analyse et programmation

IFT159 Analyse et programmation IFT159 Analyse et programmation Chapitre 2 Gabriel Girard Département d informatique 2 septembre 2008 1 Qu est-ce qu un programme C++ 2 Commentaires (1) Directives au compilateur (2) Fonctions (4) 3 float

Plus en détail

TP n o 4 : Réalisation d'un interpréteur du langage minicaml. 1 Déclaration de types. Expression Logique et Fonctionnelle...

TP n o 4 : Réalisation d'un interpréteur du langage minicaml. 1 Déclaration de types. Expression Logique et Fonctionnelle... Univ. Lille1 - Licence info 3ème année 2012-2013 Expression Logique et Fonctionnelle... Évidemment TP n o 4 : Réalisation d'un interpréteur du langage minicaml Objectifs du TP Déclarations de types. Types

Plus en détail

Programmation Fonctionnelle Définitions (et construction) des fonctions

Programmation Fonctionnelle Définitions (et construction) des fonctions Programmation Fonctionnelle Définitions (et construction) des fonctions Luigi Santocanale LIF, Aix-Marseille Université Marseille, FRANCE 27 septembre 2016 Plan Conditionnels, conditions de garde, filtrage

Plus en détail

Portée statique vs dynamique

Portée statique vs dynamique Portée statique vs dynamique La portée d un identificateur dans un programme désigne l endroit dans lequel il est possible de l utiliser. 38 / 210 Portée statique vs dynamique La portée d un identificateur

Plus en détail

A propos de types en langage C

A propos de types en langage C A propos de types en langage C L. Mounier UJF - M2 CCI - PL1 15 septembre 2017 1 / 16 Les types dans les langages de programmation Plan 1 Les types dans les langages de programmation 2 Les types de base

Plus en détail

NFP119 : feuille d exercices 4

NFP119 : feuille d exercices 4 NFP119 : feuille d exercices 4 María-Virginia Aponte 26 mars 2010 Exercice 1 Fonctionnelles Expliquez les réponses données par Ocaml. # let double_du_succ(f,y) = 2*f(y+1);; val double_du_succ : (int ->

Plus en détail

Programmation fonctionnelle : correction feuille d exercices 1

Programmation fonctionnelle : correction feuille d exercices 1 Programmation fonctionnelle : correction feuille d exercices 1 María-Virginia Aponte 28 février 2011 Exercice 1 Expressions Chacune des phrases Ocaml dans cet exercice est une expression. Rappel : Cela

Plus en détail

Typage et conversions

Typage et conversions Typage et conversions Rappels sur les types Il existe 2 sortes de types en Java: Les types primitifs (boolean, int, etc.); Les types référence qui comprennent deux sous-catégories: Le type tableau qui

Plus en détail

Agrégation de Mathématiques option Informatique TP1

Agrégation de Mathématiques option Informatique TP1 Agrégation de Mathématiques option Informatique TP1 Loïg Jezequel loig.jezequel@irisa.fr Mardi 13 Septembre 2011 Ce TP largement inspiré des premiers chapitres du livre Le Langage Caml de Pierre Weis et

Plus en détail

le cœur d un langage de programmation fonctionnelle

le cœur d un langage de programmation fonctionnelle Un peu de λ-calcul Qu est-ce? le cœur d un langage de programmation fonctionnelle étudier une extension nouvelle pour un langage de programmation passe volontiers par l étude d un λ-calcul étendu par quelques

Plus en détail

Algorithmique-Programmation

Algorithmique-Programmation Algorithmique-Programmation IAP1 Catherine Dubois Catherine Dubois () Algorithmique-Programmation 1 / 32 Bloc Algorithmique-Programmation (IAP) Fondements de la programmation (IAP1) Programmation impérative

Plus en détail

TD n 4. Rappel. Filtrage. 1/ Remplace une alternative : if expression = valeur then expression1 else expression2;;

TD n 4. Rappel. Filtrage. 1/ Remplace une alternative : if expression = valeur then expression1 else expression2;; TD n 4 Rappel Filtrage 1/ Remplace une alternative : if expression = valeur then expression1 else expression2;; match expression = valeur with true -> expression1 false -> expression2;; ici le filtre est

Plus en détail

TP 7 : Vendredi 6 Décembre Type de donnée : booléen. Compétence :

TP 7 : Vendredi 6 Décembre Type de donnée : booléen. Compétence : TP 7 : Vendredi 6 Décembre 2013 1. Type de donnée : booléen 2. Caractère et chaîne de caractères : comment sont-ils représentés dans la machine? Représentation binaire : Un ordinateur est une machine qui

Plus en détail

LA PROGRAMMATION EN TURBO PASCAL

LA PROGRAMMATION EN TURBO PASCAL LA PROGRAMMATION EN TURBO PASCAL I INTRODUCTION Le PASCAL est un langage de programmation évolué car sa définition ne dépend pas de l ordinateur sur lequel le programme est écrit Il a été conçu par N WIRTH

Plus en détail

Le langage Scilab. 2) Les types structurés Les listes Les tableaux (ou matrices)

Le langage Scilab. 2) Les types structurés Les listes Les tableaux (ou matrices) Le langage Scilab I. Les objets du langage( constantes ou variables) 1) Les types élémentaires Les nombres entiers (signés ou non, codés sur 1 octet, 2 octets ou 4 octets). Par exemple, un entier codé

Plus en détail

Du langage à l action: compilation et typage

Du langage à l action: compilation et typage Du langage à l action: compilation et typage Xavier Leroy INRIA Paris-Rocquencourt Collège de France, 8/2/2008 X. Leroy (INRIA) Compilation et typage Collège de France, 8/2/2008 1 / 51 Du langage à l action

Plus en détail

Préparation à l Agregegation épreuve de modelisation TP 1 programmation: introduction à OCaml

Préparation à l Agregegation épreuve de modelisation TP 1 programmation: introduction à OCaml Préparation à l Agregegation épreuve de modelisation TP 1 programmation: introduction à OCaml César Rodríguez 25 Septembre 2012 L objectif général de cet exercice est de familiariser l étudiant avec le

Plus en détail

Introduction à l outil Spin et au langage Promela

Introduction à l outil Spin et au langage Promela Introduction à l outil Spin et au langage Promela Module SDSC Institut Galilée Master 2 PLS Page web : Enseignant : Transparents : http://lipn.fr/~rodriguez/teach/sdsc/2015-16/ César Rodríguez préparés

Plus en détail

Introduction à Scilab - Manipulation vectorielles - Analyse des données

Introduction à Scilab - Manipulation vectorielles - Analyse des données SGM 2ème année, 2008-2009 Contents Introduction à Scilab - Manipulation vectorielles - Analyse des données 1 Scalaires, vecteurs, matrices 3 1.1 Scalaires.............................. 3 1.2 Complexes.............................

Plus en détail

B) Outils d'analyse et composants du langage. deux points de vues complémentaires : outils d'analyse ; composants du langage

B) Outils d'analyse et composants du langage. deux points de vues complémentaires : outils d'analyse ; composants du langage 1 deux points de vues complémentaires : outils d'analyse ; composants du langage B.I) Briques de base ; les expressions bien typées B.II) Simplification de l'analyse ; nommer une expression B.III) Analyse

Plus en détail

Projet de compilation. Compilation avec LEX et YACC [IF204] Rapport de projet 21/12/2007. David JANIN. Julien LAVERGNE. Mohamed Amine EL AFRIT

Projet de compilation. Compilation avec LEX et YACC [IF204] Rapport de projet 21/12/2007. David JANIN. Julien LAVERGNE. Mohamed Amine EL AFRIT Projet de compilation [IF204] Rapport de projet 21/12/2007 Compilation avec LEX et YACC Encadrant : David JANIN Binômes Julien LAVERGNE Mohamed Amine EL AFRIT ENSEIRB i2 2007/2008 Semestre n 3 IF204 Table

Plus en détail

Le langage Lustre. Pascal Raymond, Verimag-CNRS

Le langage Lustre. Pascal Raymond, Verimag-CNRS Pascal Raymond, Verimag-CNRS Approche flot de données 2 Classique en automatique et en conception de circuits Y X + 2 / M node Moyenne(X, Y : int) returns (M : int); let M = (X + Y) / 2; tel Interprétation

Plus en détail

Codage des nombres entiers relatifs

Codage des nombres entiers relatifs TP 2 : Vendredi 13 Septembre 2013 Codage des nombres entiers relatifs Continuons à coder notre monde Partie du programme : Représentation de l information Représentation binaire : Un ordinateur est une

Plus en détail

Typage explicite vs implicite

Typage explicite vs implicite Typage explicite vs implicite La plupart des langages de programmation manipulent des variables et des valeurs qui possèdent un type (ou même plusieurs). 50 / 263 Typage explicite vs implicite La plupart

Plus en détail

Introduction au langage OCaml

Introduction au langage OCaml Introduction au langage OCaml IAP1 Catherine Dubois Catherine Dubois () Introduction au langage OCaml 1 / 58 OCaml : un langage de la famille ML un langage fonctionnel concepts essentiels : la définition

Plus en détail

Les fonctions en Coq Yves Bertot

Les fonctions en Coq Yves Bertot Les fonctions en Coq Yves Bertot Les fonctions: outil principal en Coq I Les fonctions sont les unités de base de la programmation en Coq I Les fonctions décrivent les opérations à effectuer dans un langage

Plus en détail

Module: Informatique 2

Module: Informatique 2 . Définition: Module: Informatique Le langage Pascal a été créé en 969 à l'école polytechnique de ZURICH par N. WIRTH. Il a été conçu pour permettre d'enseigner la programmation comme une science. Ce langage

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE

EPREUVE OPTIONNELLE d INFORMATIQUE EPREUVE OPTIONNELLE d INFORMATIQUE A) QCM Question 1 : Lequel n est pas un système d exploitation? A Windows XP B Unix C Linux D Winsocks Question 2 : Un octet est codé sur : A 7bits B 8 bits C 16 bits

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Objectif: acquérir les bases d un langage de programmation évolué Les éléments abordés seront: - Organisation d un programme - Les variables - Les opérations sur les variables

Plus en détail

Notes de cours. Introduction

Notes de cours. Introduction Notes de cours GEI 442 : STRUCTURES DE DONNÉES ET ALGORITHMES Partie 1 : introduction à JAVA Hiver 2000 Ahmed KHOUMSI 1 Introduction - JAVA permet écriture APPLETs APPLET = programme JAVA : - exécuté par

Plus en détail

Java & Algorithme Test final

Java & Algorithme Test final Java & Algorithme Test final Nom & Prénom : Vous avez 90 minutes pour répondre à toutes les questions. Prenez votre temps, lisez attentivement l énoncé et tentez de bien le comprendre avant d écrire des

Plus en détail

Principes des langages de Programmation

Principes des langages de Programmation Principes des langages de Programmation Amphi 1-7 avril 2015 Benjamin Werner Bienvenue Poly : celui d Eric Goubault + compléments à venir Groupes de TDs : attention, les noms des responsables ne sont pas

Plus en détail

Premiers pas avec Java

Premiers pas avec Java avec Java Algorithmique et langage de programmation Gaël Thomas Plan du cours 1. Mon premier programme Java 2. Exécution d un programme Java 3. Variables et types de données 4. Les opérateurs du langage

Plus en détail

Algorithmique et Programmation Fonctionnelle (APF)

Algorithmique et Programmation Fonctionnelle (APF) Algorithmique et Programmation Fonctionnelle (APF) RICM3 Cours 1 : Introduction à OCaml Jean-François Monin, Benjamin Wack 2016-2017 1 / 31 Présentation du cours Qui? Où? Quand? Enseignants Cours : Jean-François

Plus en détail

TP 3 : Fonctions et π-treries

TP 3 : Fonctions et π-treries Informatique CPGE 1 re année Clemenceau TP 3 : Fonctions et π-treries Tous les programmes dont ce TP fait référence sont sauvegardés dans le répertoire suivant : Ressources pedagogiques\ informatique \

Plus en détail

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

Introduction à la programmation Travaux pratiques: séance 1 INFO0201-1 Introduction à la programmation Travaux pratiques: séance 1 INFO0201-1 B. Baert, X. Baumans & F. Ludewig Bruno.Baert@ulg.ac.be - Xavier.Baumans@ulg.ac.be Implication des TP info et Pourquoi programmer?

Plus en détail

Principes de la représentation des nombres en mémoire

Principes de la représentation des nombres en mémoire Chapitre 8 Principes de la représentation des nombres en mémoire On déduit de ce résultat, le principe de la représentation d un entier naturel à l aide d une base. La base est un entier > 1. Théorème

Plus en détail

Lambda-calcul. e ::= c x λx e e 1 e 2. (λx e 1 ) e 2 e 1 [e 2 /x] β-réduction. Inventé en 1941 par Alonzo Church

Lambda-calcul. e ::= c x λx e e 1 e 2. (λx e 1 ) e 2 e 1 [e 2 /x] β-réduction. Inventé en 1941 par Alonzo Church Lambda-calcul Inventé en 1941 par Alonzo Church La base de la théorie des langages de programmation Inspiration de Lisp, Scheme, ML, Haskell,... e ::= c x λx e e 1 e 2 Sémantique: (λx e 1 ) e 2 e 1 [e

Plus en détail

Langages avec des objets : JAVA

Langages avec des objets : JAVA 1 Langages avec des objets : JAVA Robert Cori Buts de ce cours: 1. Comprendre les principes de la programmation 2. Connaître les développements modernes de logiciels et avoir une idée de leur fonctionnement

Plus en détail

Support MOOC. Concepts centraux. Approfondissements. Jamila Sam & Jean-Cédric Chappelier. Support MOOC

Support MOOC. Concepts centraux. Approfondissements. Jamila Sam & Jean-Cédric Chappelier. Support MOOC Vidéos, Quiz et transparents Programmation I : Cours de () Variables et opérateurs Laboratoire d Intelligence Artificielle Faculté I&C https://www.coursera.org/learn/init-prog-cpp/home/week/1 Semaine 1

Plus en détail

Les types dépendants Yves Bertot

Les types dépendants Yves Bertot Les types dépendants Yves Bertot Familles de types I Représenter des collections de types A 1, A 2,... I Exemple : tableaux de longueur 1, 2,... I Aussi : nombres inférieurs à 1, 2,... I Utiliser des fonctions

Plus en détail

Exercice I : fonctions sur les listes

Exercice I : fonctions sur les listes Université Pierre et Marie Curie DEUG MIAS première année Informatique-1 Année 2002-2003 Examen septembre 1 septembre 2003 2 heures Remarques : Aucun document ni machine électronique n est permis à l exception

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 3: Compléments sur les Types Année 2015-2016 Rappel des épisodes précédents Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 4: Fonctions récursives Année 2013-2014 Les précédents épisodes de INF 121 Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

UNIFICATION : ALGORITHMES ET APPLICATIONS

UNIFICATION : ALGORITHMES ET APPLICATIONS UNIFICATION : ALGORITHMES ET APPLICATIONS 1. L unification 1.1. Termes, substitutions, unification. On se donne un ensemble L de symboles de fonctions d arité donnée et un ensemble infini de variables

Plus en détail

TP5 : Programmation. CF2 "Calcul formel" Maple. 1. Les booléens

TP5 : Programmation. CF2 Calcul formel Maple. 1. Les booléens eric.lucon@etu.upmc.fr www.proba.jussieu.fr/pageperso/eric TPs rédigés d'après C. Armana armana@math.jussieu.fr CF2 "Calcul formel" Maple TP5 : Programmation But du TP5 Maple est un langage de calcul formel,

Plus en détail

Programmation I : Cours de programmation (C++) Variables et opérateurs

Programmation I : Cours de programmation (C++) Variables et opérateurs Programmation I : Cours de () Variables et opérateurs Laboratoire d Intelligence Artificielle Faculté I&C Programmation I Cours 2 : Variables et opérateurs 1 / 25 Vidéos, Quiz et transparents https://www.coursera.org/learn/init-prog-cpp/home/week/1

Plus en détail

LISTE D EXERCICES N 1 : CORRECTION PARTIELLE (2/2)

LISTE D EXERCICES N 1 : CORRECTION PARTIELLE (2/2) Lycée Thiers mpsi 123 LISTE D EXERCICES N 1 : CORRECTION PARTIELLE (2/2) EX. 11 En adaptant l exercice précédent, écrire une fonction qui calcule la somme des diviseurs d un entier n N. En déduire la liste

Plus en détail

Informatique L1 (Sciences Exactes) CODAGE BINAIRE. L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant :

Informatique L1 (Sciences Exactes) CODAGE BINAIRE. L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : Informatique L1 (Sciences Exactes) CODAGE BINAIRE 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

Plus en détail

. Construire des vecteurs (ici des vitesses) et leur somme vectorielle.

. Construire des vecteurs (ici des vitesses) et leur somme vectorielle. Luc PONSONNET - Académie de Nice - TraAM 2013-2014 " TRAVERSER UNE RIVIERE" Niveau de la classe : première scientifique Testée avec une classe de première scientifique sur deux séances de 55 min Compétences

Plus en détail

1/21. Compléments de Caml: filtrage, types somme et produit, exceptions

1/21. Compléments de Caml: filtrage, types somme et produit, exceptions 1/21 Compléments de Caml: filtrage, types somme et produit, exceptions 2/21 Filtrage Filtrage Alternative aux if/then/else... En réalité beaucoup plus que ça! 2/21 Filtrage Filtrage Alternative aux if/then/else...

Plus en détail

Paradigmes et Interprétation. Types

Paradigmes et Interprétation. Types Types Julien Provillard http://www.i3s.unice.fr/~provilla/paradigmes/ julien.provillard@unice.fr TYPES 2 Validité des expressions Question : Quelle est la valeur de l expression suivante? Réponse : 3 {+

Plus en détail

LIVRET DE LIAISON PEDAGOGIQUE Atelier relais

LIVRET DE LIAISON PEDAGOGIQUE Atelier relais LIVRET DE LIAISON PEDAGOGIQUE Nom de l élève : Prénom : Classe : d origine : Tuteur : Professeur principal : Ce livret est destiné à établir un diagnostic partagé des compétences de l élève entre le collège

Plus en détail

Programmation fonctionnelle : feuille d exercices 3

Programmation fonctionnelle : feuille d exercices 3 Programmation fonctionnelle : feuille d exercices 3 María-Virginia Aponte 19 mars 2011 Exercice 1 Filtrage et premières listes Complétez le tableau suivant : Motif Valeur comparée Réussite Liaisons 3 1

Plus en détail

exponentielle logarithme népérien cosinus sinus racine carrée valeur absolue partie entière exp log cos sin sqrt abs floor

exponentielle logarithme népérien cosinus sinus racine carrée valeur absolue partie entière exp log cos sin sqrt abs floor TP d informatique n o 0 Aide mémoire pour Scilab ECS1 En classe ECS, le logiciel utilisé pour la programmation est Scilab. Scilab (Scientific Laboratory) est un logiciel de calcul numérique développé par

Plus en détail

TP n o 7 : Types récursifs et arbres

TP n o 7 : Types récursifs et arbres TP n o 7 : Types récursifs et arbres Pour sauver un arbre, mangez un castor Henri Prades 1 Types sommes en CAML Nous avons rencontré les types de base en CAML (unit, bool, int, float, char, string) ainsi

Plus en détail

Structure conditionnelle

Structure conditionnelle USTL - Licence ST-A 1ère année 2008-2009 1 Le problème Initiation à la programmation Structure conditionnelle État initial : Tas 1 un trèe ou un pique les autres tas vides. État nal : tas 1 et 4 vides

Plus en détail

Marche aléatoire - Corrigé

Marche aléatoire - Corrigé Marche aléatoire - Corrigé Modèle mathématique d'un système possédant une dynamique discrète composée d'une succession de pas aléatoires, ou effectués «au hasard» On les utilise en particulier en mathématiques,

Plus en détail

La chaîne de production de programmes : compilation, éditions des liens et chargement

La chaîne de production de programmes : compilation, éditions des liens et chargement FONCTION D EXECUTION Du programme exécutable au processus La chaîne de production de programmes : compilation, éditions des liens et chargement NFA003-2012-2013 1 La chaîne de production de programmes

Plus en détail

CALCUL LITTERAL Calculer la valeur d une expression littérale en donnant aux variables des valeurs numériques.

CALCUL LITTERAL Calculer la valeur d une expression littérale en donnant aux variables des valeurs numériques. 1 PROGRESSION 4 EME 1) OPERATIONS AVEC LES NOMBRES RELATIFS CALCUL NUMERIQUE Opérations (+,,, ) sur les nombres relatifs en écriture décimale. Enchainement d opérations. Calculer le produit de nombres

Plus en détail

Aménagement du programme de Mathématiques de seconde 2017 Algorithme et Programmation

Aménagement du programme de Mathématiques de seconde 2017 Algorithme et Programmation Aménagement du programme de Mathématiques de seconde 2017 Algorithme et Programmation Guide de démarrage au langage Python Document rédigé sous la direction des IA-IPR de l académie de Nice, par D. Lacroix

Plus en détail

LISTE D EXERCICES N 3 - CORRECTION. Ecrire une fonction récursive calcule la somme des termes d un vecteur d entiers.

LISTE D EXERCICES N 3 - CORRECTION. Ecrire une fonction récursive calcule la somme des termes d un vecteur d entiers. Lycée Thiers mpsi 123 LISTE D EXERCICES N 3 - CORRECTION EX. 1 Ecrire une fonction récursive qui calcule la somme des carrés des entiers de 1 à n. Si l on note S n = n k 2, en convenant que S 0 = 0, il

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 3: Compléments sur les Types Année 2013-2014 Rappel des épisodes précédents Types de base : Type Opérations Constantes bool not, &&, true, false

Plus en détail

Chapitre 1. À quoi ça sert?

Chapitre 1. À quoi ça sert? Chapitre 1 À quoi ça sert? 1.1 Qu est ce que c est?............................... 13 1.2 Les applications de la compilation....................... 14 1.3 Les deux étapes de la phase d analyse.....................

Plus en détail

Chapitre 5. Opérateurs, expressions et conversions

Chapitre 5. Opérateurs, expressions et conversions Chapitre 5 : Opérateurs, expressions et conversion 41 Chapitre 5 Opérateurs, expressions et conversions Chapitre 5 : Opérateurs, expressions et conversion 42 1. Expressions - Une expression est la composition

Plus en détail

Comparaison entre ancien et nouveau programmes de 1 ère STI2D/STL

Comparaison entre ancien et nouveau programmes de 1 ère STI2D/STL Comparaison entre ancien et nouveau programmes de 1 ère STI2D/STL Introduction Le programme est commun aux deux séries STI2D et STL. Comme en 1èreS, en plus des trois domaines «Analyse, Géométrie, Statistiques

Plus en détail

CI 1 : ARCHITECTURE MATÉRIELLE ET LOGICIELLE

CI 1 : ARCHITECTURE MATÉRIELLE ET LOGICIELLE CI 1 : ARCHITECTURE MATÉRIELLE ET LOGICIELLE CHAPITRE 3 PRINCIPE DE LA REPRÉSENTATION DES NOMBRES ENTIERS EN MÉMOIRE Savoir Savoirs Capacité Dec - C3 : Initier un sens critique au sujet de la qualité et

Plus en détail

Calcul numérique en mathématiques Le logiciel Scilab

Calcul numérique en mathématiques Le logiciel Scilab Calcul numérique en mathématiques Le logiciel Scilab 11 avril 2011 Claude Gomez Directeur général de SCILAB ENTERPRISES Comment calculer? Plan Le calcul numérique Le logiciel de calcul numérique Scilab

Plus en détail

1 Introduction. 2 Délimitation du langage utilisé. Expression Logique et Fonctionnelle... Évidemment. 2.1 Données de base du langage

1 Introduction. 2 Délimitation du langage utilisé. Expression Logique et Fonctionnelle... Évidemment. 2.1 Données de base du langage 1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 3 : Sémantique Ces notes de cours sont très largement inspirées du chapitre 3 du livre Approche

Plus en détail

Notions d algorithme

Notions d algorithme DERNIÈRE IMPRESSION LE 6 septembre 2014 à 8:53 Notions d algorithme Table des matières 1 Introduction 2 1.1 Algorithme................................. 2 1.2 Conventions pour écrire un algorithme................

Plus en détail

Algorithmique Programmation FIP

Algorithmique Programmation FIP Algorithmique Programmation FIP Techniques de Programmation en Java ING39 Septembre 2016 Cours 1 : Introduction 1. Objectifs & organisation Objectifs Capacité à écrire des programmes Java de taille conséquente

Plus en détail

Corrigé du QCM de programmation, 15 avril 2003

Corrigé du QCM de programmation, 15 avril 2003 IENAC S02 Examen Programmation 1 IENAC S02 Corrigé du QCM de programmation, 15 avril 2003 1. Le style impératif consiste essentiellement à faire des appels de fonctions (c est possible mais ce n est pas

Plus en détail

Programmation par Objets (1) Programmation par Objets. Programmation par Objets(2) Programmation par Objets(3)

Programmation par Objets (1) Programmation par Objets. Programmation par Objets(2) Programmation par Objets(3) Programmation par Objets Nabil Hameurlain LIN2 Programmation par Objets (1) Caractérisée par la programmation avec des objets, messages, et hiérarchies des objets. La PO est une abstraction, généralisation

Plus en détail

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire par une

Plus en détail

Travail pratique #3 IFT December 3, 2007

Travail pratique #3 IFT December 3, 2007 Travail pratique #3 IFT-2030 December 3, 2007 Dû le 21 décembre à minuit!! 1 Survol Ce TP a pour but de vous familiariser avec le langage Prolog tout en découvrant les langages à base de pile. Comme pour

Plus en détail

Algorithmique du traitement des données

Algorithmique du traitement des données Algorithmique du traitement des données USID07 Master MEDAS Cours 2 Auteur : Raphaël Fournier-S niehotta (fournier@cnam.fr) Département d informatique Conservatoire National des Arts & Métiers, Paris,

Plus en détail

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

Introduction à la programmation Travaux pratiques: séance introductive INFO0201-1 Introduction à la programmation Travaux pratiques: séance introductive INFO0201-1 X. Baumans (xavier.baumans@ulg.ac.be) [Copyright F. Ludewig & B. Baert, ULg] Notes de TP Slides de TP accessibles à l adresse

Plus en détail

TP n 5 (1.5 séances)

TP n 5 (1.5 séances) Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2007/2008 TP n 5 (1.5 séances) Pour vous éviter d avoir à recopier les programmes, tous les listings se trouvent dans l archive listingstp5.zip

Plus en détail

INTRODUCTION GENERALE (Rappel)

INTRODUCTION GENERALE (Rappel) Chapitre 1 INTRODUCTION GENERALE (Rappel) Objectifs: Rappeler l'étudiant les notions de base concernant l'informatique et l'algorithmiques déjà connues au niveau précèdent. Mettre la programmation dans

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative ENSIIE Semestre 1 2016 17 ENSIIE: Programmation impérative, 1 Organisation du cours Cours magistral : présentation des concepts, des structures de données et leurs outils TP :

Plus en détail

X O X X O O. Une partie de morpion est donc représentée par une chaîne de caractères. Par exemple, la partie ci-dessus est codée par "c1b3a1b1b2c3a3".

X O X X O O. Une partie de morpion est donc représentée par une chaîne de caractères. Par exemple, la partie ci-dessus est codée par c1b3a1b1b2c3a3. LFG - Ocaml - Exercices ATTENTION: En Ocaml, pour pouvoir utiliser le type stream, il faut charger le module approprié: #load "camlp4o.cma" ;; La fonction de conversion: Stream.of string : string -> char

Plus en détail

FSAB1402: Informatique 2. Sémantique Formelle

FSAB1402: Informatique 2. Sémantique Formelle FSAB1402: Informatique 2 Sémantique Formelle Peter Van Roy Département d Ingénierie Informatique, UCL pvr@info.ucl.ac.be 2007 P. Van Roy. All rights reserved. 1 Lecture pour ce cours Chapitre 1 (section

Plus en détail

Introduction à l algorithmique dans le cas général et dans le cadre de la réforme du collège. Exercices et applications.

Introduction à l algorithmique dans le cas général et dans le cadre de la réforme du collège. Exercices et applications. Mercredi 25 novembre 2015 Journée régionale de l'apmep Introduction à l algorithmique dans le cas général et dans le cadre de la réforme du collège. Exercices et applications. François PETIT Enseignant

Plus en détail

Structures de contrôle

Structures de contrôle Structures de contrôle Introduction à la Programmation Sylvain Tisserant Structures de contrôle Contrôle de l exécution du programme Le traitement peut dépendre de conditions Les nombre et nature des racines

Plus en détail

D) LES VARIABLES EN PYTHON

D) LES VARIABLES EN PYTHON D) LES VARIABLES EN PYTHON Les variables rencontrées jusqu'ici sont d'une seule catégorie, celle des entiers ( Integer en anglais) Principaux types de variables D1 : Types de variables. Tester directement

Plus en détail

INF121: Algorithmique et Programmation Fonctionnelle

INF121: Algorithmique et Programmation Fonctionnelle INF121: Algorithmique et Programmation Fonctionnelle Cours 1: Identificateurs, types de base et fonctions Année 2013-2014 Identificateurs La notion d identificateur Un concept fondamental dans les langages

Plus en détail

Expressions logiques (booléennes)

Expressions logiques (booléennes) Expressions logiques (booléennes) a==4 a égal 4 > a=4; > a==4 ans = 1 > a==8 ans = 0 vrai faux a==3 b a=4; b=-2; > a==3 b

Plus en détail

Introduction à l algorithmique et à la programmation

Introduction à l algorithmique et à la programmation Introduction à l algorithmique et à la programmation DUT Informatique 1ère année, 2017 2018 Anthony Labarre Anthony.Labarre@u-pem.fr Cours 1 / 10 Aspects pratiques Organisation : 10 séances de 2h de cours

Plus en détail

NFP119 : corrigé de la feuille d exercices 3

NFP119 : corrigé de la feuille d exercices 3 NFP119 : corrigé de la feuille d exercices 3 María-Virginia Aponte 20 mars 2010 Exercice 1 Tapez ces phrases en TP et expliquez les réponses données par Ocaml. # [1;2;3];; - : int list = [1; 2; 3] # [];;

Plus en détail

Cours de programmation (C++) Fonctions (2)) https://www.coursera.org/learn/init-prog-cpp/home/week/4

Cours de programmation (C++) Fonctions (2)) https://www.coursera.org/learn/init-prog-cpp/home/week/4 Vidéos, Quiz et transparents Programmation I : Cours de programmation (C++) (2)) https://www.coursera.org/learn/init-prog-cpp/home/week/4 Semaine 4 Laboratoire d Intelligence Artificielle Faculté I&C Programmation

Plus en détail

Conception descendante

Conception descendante Conception descendante IAP1 - cf extrait livre Dubois Ménissier Catherine Dubois Catherine Dubois () Conception descendante 1 / 10 Dans le contexte : spécification, analyse et conception, programmation,

Plus en détail

ALGORITHMIQUE EN STI2D-STL. Le programme Exercice : autour de e TP : Trapèzes contre Monte-Carlo

ALGORITHMIQUE EN STI2D-STL. Le programme Exercice : autour de e TP : Trapèzes contre Monte-Carlo ALGORITHMIQUE EN STI2D-STL Le programme Exercice : autour de e TP : Trapèzes contre Monte-Carlo Le programme BO n 18 du 6 mai 2010 : «Dans tous les programmes de mathématiques des classes de [ ] terminale

Plus en détail

Le langage Pascal(1) Nour-Eddine Oussous. 21 septembre Listing

Le langage Pascal(1) Nour-Eddine Oussous. 21 septembre Listing Nour-Eddine Oussous 21 septembre 2009 Structure d un programme Les constantes Les variables L affectation Afficher des données Saisir des données Premier programme Pascal Les structures de contrôle Les

Plus en détail

NFP119 : corrigé feuille d exercices 2

NFP119 : corrigé feuille d exercices 2 NFP119 : corrigé feuille d exercices 2 María-Virginia Aponte 10 octobre 2013 Exercice 1 1. Testez cette fonction en Ocaml pour les appels suivants : sommen(0), sommen(-1), sommen(1), sommen(3). L appel

Plus en détail