Agrégation de Mathématiques option Informatique TP1
|
|
|
- Sophie Carrière
- il y a 9 ans
- Total affichages :
Transcription
1 Agrégation de Mathématiques option Informatique TP1 Loïg Jezequel Mardi 13 Septembre 2011 Ce TP largement inspiré des premiers chapitres du livre Le Langage Caml de Pierre Weis et Xavier Leroy présente les bases du langage Caml : définitions, déclarations de fonctions, filtrage, listes, déclarations de types... Question 1. Dans un premier temps nous allons utiliser un interpréteur Caml depuis un terminal. Pour cela ouvrez un terminal puis utilisez la commande ocaml. Essayez de faire évaluer quelques expressions (par exemple ou 3 2). Chaque expression à évaluer doit être suivie de pour signifier à l interpréteur où elle termine. 1 Définitions globales et locales En Caml on donne un nom à une valeur en utilisant le mot clé let, par exemple : let x = 3 let y = Il est alors possible d accéder a ces valeurs par leur nom, par exemple : x + y Ces valeurs ont été définies globalement. Il est aussi possible de définir des valeurs localement grace au mot clé in, par exemple : let tmp = 3 in tmp + 1 Il n est alors pas possible d accéder a ces valeurs par leur nom en dehors de l expression qui suit le in. On peut aussi réaliser des définitions simultanées par le mot clé and, par exemple : let u = 1 and v = 2 in u + v C est toujours la dernière définition d une valeur qui est prise en compte. 1
2 Question 2. Donnez les résultats de l évaluation des expressions suivantes puis vérifiez vos réponses en utilisant l interpréteur Caml : let x = 1 in x + 1 let y = 2 in let x = y in x + y let x = 1 in let x = x + 1 in x + 1 let x = 1 and y = 2 in let x = x + y in x + y 2 Fonctions En Caml un programme est une suite de définitions de fonctions, suivie d un appel a une fonction, déclanchant le calcul voulu. Il existe deux manières de définir des fonctions : let f = function x -> x + 1 ou : let f x = x + 1 Pour appliquer une fonction on donne simplement son nom et son argument : f (1) f (2 * 2) let x = 1 in f (x) Lorsqu on applique une fonction a une constante ou une variable il est possible de ne pas écrire les parenthèses : f 1 let x = 1 in f x par contre l appel suivant ne calcule pas f(2 2) mais f(2) 2 : f 2 * 2 Il est aussi possible de définir des fonctions à plusieurs arguments : let g = function x -> function y -> x + y ou : let g x y = x + y 2
3 on comprend alors vraiment l intérêt de la deuxième notation. Cependant il ne faut pas oublier, ce qui est clair avec la première notation, que g est une fonction qui associe a x une fonction qui associe a y la somme de x et y. En d autres termes, pour calculer g(1, 2) il faut en toute rigueur écrire : (g 1) 2 Cependant, en Caml l application est associative «à gauche». C est à dire que f x y est équivalent à (f x) y. Donc, pour calculer g(1, 2) on peut écrire : g 1 2 Question 3. À partir de maintenant nous allons écrire nos programmes dans un éditeur de texte (emacs) pour éviter de devoir tout retaper à chaque erreur. Pour ne pas avoir à copier tous les programmes dans l interpréteur, ce qui peut vite s avérer laborieux, nous utiliserons un mode d emacs (tuareg) proposant un interpréteur intégré. Pour lancer le mode tuareg il suffit normalement d ouvrir un fichier.ml dans emacs. Si cela ne fonctionne pas on pourra utiliser la commande alt+x tuareg-mode. Une fois le mode tuareg en route on peut lancer l interpréteur par la commande ctrl-c ctrl-e. Chaque fonction est ensuite interprétée en positionnant le curseur sur celle-ci et en tapant ctrl-c ctrl-e. Pour en savoir plus sur l utilisation d emacs vous pouvez consulter la page suivante : http :// ou bien le guide en anglais intégré à emacs (commande ctrl-h t). Rentrez quelques fonctions (successeur, carré...) dans emacs puis testez les. 3 Filtrage Le filtrage en Caml est en fait une analyse de cas, il se présente de la manière suivante : let f = function cas1 -> x cas2 -> y ce qui correspond à : si l argument de f est cas1 retourner x, si c est cas2 retourner y. Par exemple, la fonction egal_un, qui teste si son argument vaut 1 ou non, peut s écrire : let egal_un = function 1 -> true Le signe _ signifiant «dans tous les autres cas». Il est important de noter que l évaluation des cas se fait de haut en bas : si deux cas sont acceptables c est le premier qui sera pris en compte. Par exemple, la fonction suivante n est pas équivalente a egal_un, elle retourne toujours false : 3
4 let bidon = function 1 -> true Il est aussi possible d écrire le filtrage de manière explicite par le mot clé match with : let egal_un x = match x with 1 -> true On peut aussi utiliser le mot clé when pour réaliser des tests plus compliqués. Par exemple, au lieu de la fonction suivante (fonctionnant uniquement sur les entiers positifs) : let sup_2 = function 1 -> false 2 -> false _ -> true on peut écrire : let sup_2 = function x when x>2 -> true qui est plus courte et fonctionne sur tous les entiers. Le filtrage est un élément très important de Caml. Il sera utilisé dans bon nombre de fonctions que vous écrirez. Question 4. Écrivez une fonction qui retourne la valeur absolue d un entier. 4 Fonctions récursives Une fonction récursive est une fonction qui s appelle elle même. En raison de la portée des noms en Caml il n est pas possible d écrire : let somme = function 0 -> 0 n -> n + somme (n - 1) il est nécessaire de spécifier que la fonction s appelle elle même. Pour cela on utilise le mot clé let rec : 4
5 let rec somme = function 0 -> 0 n -> n + somme (n - 1) Il faut être très prudent lorsque l on écrit des fonctions récursives, par exemple, la fonction somme ne doit surtout pas être appelée avec un argument négatif. Question 5. Écrivez une fonction factorielle, qui calcule la factorielle d un nombre n. Question 6. Écrivez une fonction decompte qui affiche les nombres de n à 1 et une fonction compte qui affiche les nombres de 1 à n. Ces fonctions prennent en argument l entier n. Pour cela vous pouvez utiliser les fonctions print_int et print_newline de Caml, qui affichent respectivement à l écran un entier et une nouvelle ligne. Question 7. Écrivez une fonction hanoi qui résoud le problème des tours de hanoi pour un nombre n de disques. Cette fonction prendra en arguments trois chaînes de caractères (les noms des plateaux) et un entier (le nombre de disques). Elle affichera à l écran les mouvements à effectuer pour résoudre le problème. En Caml les chaînes de caractères se représentent entre guillemets : "a" représente la chaîne «a». On peut les afficher par la fonction print_string. 5 Listes En Caml les listes sont une structure de données très utilisée. Elles sont faciles à manipuler. Dans cette partie du TP nous allons implémenter plusieurs opérations de base sur les listes. Ces opérations sont disponibles dans le langage mais il est utile de les avoir vues au moins une fois. On ne pourra donc utiliser dans un premier temps que [] (la liste vide) et :: (l opérateur ajoutant un élément en tête de liste). Question 8. false sinon. Question 9. Écrivez une fonction est_vide qui retourne true si une liste est vide est Écrivez une fonction tete qui retourne le premier élément d une liste. Question 10. Écrivez une fonction queue qui retourne la queue d une liste, c est à dire la liste à laquelle le premier élément a été retiré. Question 11. Question 12. liste. Écrivez une fonction concat qui concatène deux listes. Écrivez une fonction longueur qui compte le nombre d éléments dans une 5
6 Question 13. Ècrivez une fonction applique qui étant donnée une liste e 1, e 2, e 3,... et une fonction f retourne la liste f(e 1 ), f(e 2 ), f(e 3 ),.... La fonction f doit être un argument de applique. Question 14. Écrivez une fonction retourne qui retourne une liste. Toutes ces fonctions (et bien d autres) sont disponibles dans le module list de la bibliothèque standard de Caml. 6 Programmation impérative en Caml Il est possible de programmer de manière impérative en Caml. Si beaucoup de choses s écrivent beaucoup plus élégamment et de manière plus concise à l aide du filtrage et des fonctions récursives il est tout de même plus simple d écrire certaines fonctions de manière purement impérative. Les mêmes structures de contrôle sont disponibles en Caml que dans la plupart des langages impératifs : if x >= 0 then... else... for i=0 to 5 do... done for i=5 downto 0 do... done while i<5 do... done Il est possible aussi, grace au mot clé ref, d utiliser des références (assimilables aux pointeurs en C). On peut déréférencer par le signe! et modifier la valeur associée à une référence par := : let i = ref 0 in while!i < 5 do... i :=!i + 1;... done On peut bien sur construire des tableaux, soit directement : let tab = [ 0; 0; 0 ] soit en utilisant la fonction make_vect : let tab = make_vect 3 0 6
7 On accède aux cases d un tableau de la manière suivante : tab.(i) et on peut affecter des valeurs aux cases d un tableau : tab.(i) <- 5 De nombreuses autres fonctions sur les tableaux sont disponibles dans le module array de la bibliothèque standard de Caml. Question 15. Écrivez de manière impérative les fonctions factorielle, compte et decompte vues précédemment. Attention : de manière général il vaut mieux essayer d éviter au maximum la programmation impérative. 7 Déclaration de nouveaux types Il est possible en Caml de définir de nouveaux types. Pour cela on utilise le mot clé type. Il existe deux sortes de types définissables : les types somme et les types produit. Un type somme se construit de la manière suivante : type couleur = Blanc Noir On peut alors donner un nom à des valeurs de ce nouveau type : let c = Blanc On peut aussi filtrer ce type : let est_blanc = function Blanc -> true On peut aussi avoir des constructeurs ayant un argument, par exemple : type couleur = Blanc Noir Autre of int 7
8 On construit et filtre alors ainsi : let c = Autre(3) let val_autre = function Autre(x) -> x _ -> -1 Enfin on peut définir des types récursifs : type couleur = Blanc Noir Melange of couleur * couleur Un type produit (ou enregistrement) se définit ainsi : type monome = { coefficient : int; degre : int } Pour construire une valeur d un tel type on énumère ses caractéristiques : let m = { coefficient = 1; degre = 0 } On peut accéder de manière indépendante aux différentes caractéristiques d une valeur ayant un tel type : m.coefficient m.degre On peut bien sur filtrer : let degre_zero = function { coefficient = _; degre = 0 } -> true Enfin il est possible de définir des caractéristiques «modifiables»dans un type produit, on utilise pour cela le mot clé mutable : type monome = { mutable coefficient : int; degre : int } On peut alors modifier ces caractéristiques pour une valeur donnée : let m = { coefficient = 1; degre = 0 } m.coefficient <- 2 8
9 Question 16. Définissez un type complexe, représentation rectangulaire d un nombre complexe. Écrivez les fonctions mon_module et mon_argument permettant d obtenir le module et l argument d un complexe. 8 Exercices complémentaires On peut aussi définir des types polymorphes : type a couple = a * a Question 17. Définissez un type a pile ainsi que les fonctions permettant d agir sur des valeurs de ce type (pile_vide, sommet, empiler, depiler, est_vide). Question 18. Écrivez une fonction qui réalise un tri par insertion d une pile. Le type de cette fonction devra être ( a -> a -> bool) -> a pile -> a pile. Question 19. Définissez les types correspondant aux autres structures de données (prochainement) vues en cours (files, arbres...) et les opérations correspondantes. 9
Cours de Programmation 2
Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes
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.
# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
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
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
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
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
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
TP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Rappel sur les bases de données
Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant
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
Comment créer et utiliser une fonction
Comment créer et utiliser une fonction Henry P. AUBERT Jacques GOUPY Si, dans une cellule d'une feuille Excel, l on utilise souvent la même formule mathématique, il est possible d en faire une fonction
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 -
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
Génie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
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
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
RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.
S Vous n aimez pas la souris Les raccourcis clavier sont là pour vous faciliter la vie! INTRODUCTION : Vous avez du mal à vous habituer à la manipulation de la souris Des solutions existent : les raccourcis
length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2
1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
Programme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
OCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon [email protected] Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Vérification de programmes et de preuves Première partie. décrire des algorithmes
Vérification de programmes et de preuves Première partie. décrire des algorithmes Yves Bertot September 2012 1 Motivating introduction A partir des années 1940, il a été compris que l on pouvait utiliser
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
introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives
introduction Chapitre 5 Images récursives http ://univ-tln.fr/~papini/sources/flocon.htm Récursivité http://www.poulain.org/fractales/index.html Image qui se contient elle-même 1 Exemples mathématiques
Logiciel Libre Cours 2 Fondements: Programmation
Logiciel Libre Cours 2 Fondements: Programmation Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
modules & compilation
Programmation fonctionnelle avec OCaml 3ème séance, 19 mars 2015 modules & compilation [email protected] http ://www.loria.fr/ shornus/ocaml/ Modules Un module regroupe un ensemble de définitions
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
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
Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
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
Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)
Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être
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
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
EXCEL TUTORIEL 2012/2013
EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi
Conventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert [email protected] Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
La Clé informatique. Formation Excel XP Aide-mémoire
La Clé informatique Formation Excel XP Aide-mémoire Septembre 2005 Table des matières Qu est-ce que le logiciel Microsoft Excel?... 3 Classeur... 4 Cellule... 5 Barre d outil dans Excel...6 Fonctions habituelles
Initiation à Excel. Frédéric Gava (MCF) [email protected]
Initiation à Excel Frédéric Gava (MCF) [email protected] LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année
TP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.
Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires. Il est important de savoir les identifier, de connaître
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
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
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 [email protected] 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
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
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
Outils pour la pratique
Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.
1 Lecture de fichiers
Programmation 1 Cours n 6 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot 1 Lecture de fichiers Un fichier est une suite de caractères mémorisés sur le disque dur de la machine dans un endroit
http://cermics.enpc.fr/scilab
scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,
1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
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
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
1. Structure d'un programme FORTRAN 95
FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)
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
Bases de programmation. Cours 5. Structurer les données
Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et
Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
TP 1 Prise en main de l environnement Unix
Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session
TP1 : Initiation à l algorithmique (1 séance)
Université de Versailles Vanessa Vitse IUT de Vélizy - Algorithmique 2006/2007 TP1 : Initiation à l algorithmique (1 séance) 1 Prise en main de l environnement Unix : rappels et compléments Le but de la
Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)
Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" let appliquer = List.map (* affichage d'un noeud *) let (noeud_vers_ch : int -> string) = function n -> "fib(" ^ (string_of_int
as Architecture des Systèmes d Information
Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes
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.
Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
TP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Découverte de Python
Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en
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
É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
AWS avancé. Surveiller votre utilisation d EC2
10 AWS avancé Dans ce chapitre, nous bâtirons sur les bases que nous avons apprises jusqu ici. Nous étudierons des sujets plus avancés tels que la surveillance de votre utilisation d AWS, l utilisation
Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
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
MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par
Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Architecture des ordinateurs
Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur
Manuel d'installation de GESLAB Client Lourd
Manuel d'installation GESLAB Client Lourd Référence Date de la dernière mise à jour Rédigé par Objet GESLAB_MINS_TECH_Manuel d'installation GESLAB Client 15/04/2013 Steria Manuel d'installation de GESLAB
Initiation à LabView : Les exemples d applications :
Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple
Utilitaires méconnus de StrataFrame
Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements
Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Maple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
Algorithmes récursifs
Licence 1 MASS - Algorithmique et Calcul Formel S. Verel, M.-E. Voge www.i3s.unice.fr/ verel 23 mars 2007 Objectifs de la séance 3 écrire des algorithmes récursifs avec un seul test rechercher un élément
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.
ACTIVITÉ DE PROGRAMMATION
ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,
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,
CREATION D UNE EVALUATION AVEC JADE par Patrick RUER (www.mathenvideo.comuv.com)
TABLE DES MATIERES I) Le logiciel JADE 2 II) Etablissements 3 1) Configuation de l établissement 3 2) Importation des classes avec SCONET 4 3) Les groupes d élèves 6 4) Les variables supplémentaires 6
IRL : Simulation distribuée pour les systèmes embarqués
IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation
Présentation du PL/SQL
I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur
Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. [email protected]
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 [email protected] LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Projet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
KL5121. Pour activer des sorties en fonction de la position d'un codeur
KL5121 Pour activer des sorties en fonction de la position d'un codeur VERSION : 1.0 / PH DATE : 07 Février 2006 Sommaire Ce manuel explique de manière pratique les étapes successives pour mettre en œuvre
I. Introduction aux fonctions : les fonctions standards
Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons
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
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
Cours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
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
Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
La programmation orientée objet et le langage C++
Cours précédents La programmation orientée objet et le langage C++ Pablo Rauzy rauzy @ enst fr pablo.rauzy.name/teaching.html#epu-cpp EISE4 @ Polytech UPMC 22 octobre 2014 Cours 5 Nouveautés du C++ par
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
GUIDE Excel (version débutante) Version 2013
Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte
