Programmer en Python (./)

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

Download "Programmer en Python (./)"

Transcription

1 Programmer en Python (./) Bienvenu dans ce cours sur l apprentissage de la programmation en Python. Ce cours se concentre sur un but : apprendre les bases de programmation. En fait, l accent est mis sur la programmation dite «impérative», où un programme décrit la suite d ordres que l ordinateur doit exécuter. Pour atteindre ce but, ce cours débute avec l interpréteur bash mais utilise principalement le langage Python 3. Il existe de nombreux (excellents) langages de programmation, et le choix du langage Python 3 est motivé par les points suivants : 1. la pratique est très importante pour apprendre à programmer, il faut donc forcément faire un choix de langage, 2. Python est gratuit, propose une très bonne documentation et fonctionne presque sur tous les ordinateurs, 3. Python a une très grande communauté (encore en pleine croissance) et est utilisé très largement, de la création de sites webs à de nombreux domaines scientifiques, 4. l expérience a montré qu il est plus facile pour les débutants d apprendre Python que la plupart des autres langages de programmation, 5. bien que les versions 2 et 3 de Python existent et soient actives, la version 3 de Python (par exemple, Python 3.5) est plus cohérente pour l apprentissage et plus durable que la version 2 (par exemple Python 2.7). Pourquoi Apprendre à Programmer Pour la plupart des gens, programmer n est pas une fin en soi. Apprendre les bases de programmation est cependant très utile dans quasiment tous les domaines. Savoir programmer permet : d automatiser des tâches répétitives, faisant gagner parfois plusieurs jours de travail par mois, de traiter des grands volumes de données et de les mettre en forme, d améliorer ses capacités de résolution de problème, de réaliser des créations interactives (animations, simulations, jeux, etc.), de mieux comprendre les technologies qui nous entourent, etc. Prérequis Pour profiter au maximum de ce cours, l apprenant doit préalablement : savoir utiliser un ordinateur, être familiers avec avec les notions de fichier et de répertoire (appelé aussi dossier), avoir accès à un ordinateur pour expérimenter avec les programmes qui seront écrits (voir la partie installation (./installation/) si vous voulez utilisez votre ordinateur). Plan du document 00:00 Introduction Qu est ce que la programmation impérative? Quel est la différence entre informatique et programmation? Pourquoi enseigner l informatique à tous? 00:00 Le Terminal et Bash Qu est ce que le terminal? Qu est ce que bash? 00:00 Arborescences de Fichier et Bash Qu est ce qui constitue le nom d un fichier? Comment désigner/référencer un fichier dans le répertoire courant? Comment désigner/référencer un fichier ailleurs? 00:00 Un Premier Programme Comment et où écrire un programme en Python? Comment lancer/exécuter ce programme Python? 00:00 Opérations sur des Nombres Quels sont les opérations possibles en Python? Comment contrôler plus finement ce qui est affiché avec print? 00:00 Variables et Types Comment rendre plus lisibles des expressions compliquées? Comment mémoriser des valeurs intermédiaire? Peux-on ajouter des choux et des carottes? 00:00 Apprendre par l'erreur Quel type d erreurs peuvent se manifester dans un programme? Comment lire les messages d erreurs? Comment chercher et résoudre un problème dans un programme? 00:00 Fonctions Prédéfinies et Aide D où viennent les fonctions print( ), min( ), len( ), etc? Y-a-t-il un manuel d utilisation pour ces fonctions?

2 00:00 Bibliothèques et Importation de Fonctions Comment faire des calculs mathématiques plus complexes comme de la trigonométrie? Où trouver d autres fonctions existantes? Comment référencer des fonctions existantes? 00:00 Bibliothèque Graphique qtido Comment aller au delà de print( ) pour interagir avec l utilisateur? Comment tracer des formes géométriques dans une fenêtre? Comment exporter un dessin dans un fichier jpeg ou png? 00:00 Entrées Utilisateur Comment recevoir des entrées textuelles de l utilisateur? Comment recevoir des entrées numériques de l utilisateur? 00:00 Instructions Conditionnelles Comment n exécuter certaines parties du programme que dans certains cas? 00:00 Instructions Conditionnelles (2) Comment exécuter une partie du programme ou l autre? Comment limiter le nombre d instructions conditionnelles? 00:00 Boucles while (tant que) Comment répeter des instructions à l infini? Comment répeter des instructions plusieurs fois? 00:00 Listes de Valeurs Comment grouper des valeurs dans une liste? Comment lire et modifier une liste? 00:00 Listes de Valeurs (2) Comment tester si une valeurs se trouve dans une liste? Comment extraire des statistiques d une liste? 00:00 Boucles for Comment appliquer un morceau de programme sur chaque élément d une liste? Comment éviter certains copier/coller dans un programme? 00:00 Finish (../02-terminal-et-bash/) Qu est ce que la programmation impérative? Quel est la différence entre informatique et programmation? Pourquoi enseigner l informatique à tous? Avoir une idée globale de ce qu est la programmation. Comprendre l intérêt d un cours d informatique. Introduction Programmation impérative Un ordinateur est composé de différentes parties et, d un point de vue matériel, est très compliqué. Il ne reste cependant qu un simple automate qui réalise les ordres qu on lui donne. Un ordinateur ne sait en fait réaliser que des ordres (ou instructions) très simples sur des nombres : addition, soustraction, multiplication, division, lecture en mémoire, écriture en mémoire. Tous les logiciels et les programmes que nous utilisons aujourd hui ont été créés à partir de ces instructions simples. ordinateur prog et langages prog imp Informatique et programmation La SIF (Société Informatique de France) définie l informatique de la façon suivante :

3 L informatique est la science et la technique de la représentation de l information d origine artificielle ou naturelle, ainsi que des processus algorithmiques de collecte, stockage, analyse, transformation, communication et exploitation de cette information, exprimés dans des langages formels ou des langues naturelles et effectués par des machines ou des êtres humains, seuls ou collectivement. L informatique est donc le large domaine qui concerne la représentation et le traitement d informations de toutes sortes. Dans ce cours, l objectif est de se concentrer sur l apprentissage de la programmation, qui est une sous partie de l informatique qui consiste à utiliser un langage formel (Python) pour décrire des traitements. Au delà de la programmation (écriture du programme), nous serons amenés à nous poser certaines questions fondamentales comme : Quelle information représenter? Comment stocker/représenter cette information? Quelle est la tâche, que veut on faire de ces informations? Quel algorithme permet de résoudre cette tâche? Pourquoi enseigner l informatique à tous Serge Abiteboul donne les motivations suivante pour enseigner/apprendre l informatique : Pour comprendre le monde dans lequel nous vivons. Pour maîtriser plutôt que de subir les nouveaux outils. Pour pouvoir créer, en s appuyant sur de nouvelles techniques. Pour avoir une chance de faire avancer la recherche (dans la plupart des sciences). Pour avoir une chance de participer à l innovation dans des pans entiers de l industrie. Les langages de programmation servent à exprimer ce que l on veut que l ordinateur fasse. La programmation est une sous partie de l informatique. L informatique est une compétence capitale pour l innovation dans toutes les disciplines. (../01-introduction/) (../03-bash-et-chemins/) Qu est ce que le terminal? Qu est ce que bash? Le Terminal et Bash Comprendre ce que l on appelle terminal et l interpréteur de commandes bash. Comprendre les interactions entre le terminal, l interpréteur de commande bash et l utilisateur humain. Savoir lancer un terminal et demander à bash d exécuter quelques commandes. Le terminal est un programme qui ouvre une fenêtre et y exécute un autre programme (par exemple un interpéteur de commande). Le terminal lit ce qui est tapé au clavier et l envoie au programme lancé. Le terminal affiche la sortie du programme lancé. Bash est un interpréteur de commandes (dont le nom est le premier mot tapé dans une commande). La plupart des commandes Bash sont d autres programmes (comme ls ). Bash a aussi des commandes internes (comme pwd et cd ). Bash à une notion de répertoire courant : il se «promène» dans l arborescence de répertoires. (../02-terminal-et-bash/)

4 (../04-python-intro/) Arborescences de Fichier et Bash Qu est ce qui constitue le nom d un fichier? Comment désigner/référencer un fichier dans le répertoire courant? Comment désigner/référencer un fichier ailleurs? Insister sur la notion de répertoire courant. Comprendre les chemins relatifs. Comprendre les chemins absolus. Connaitres les répertoires spéciaux. et... Un chemin qui commence par / est un chemin absolu. Tout autre chemin est un chemin relatif au repertoire courant. Les chemins se lisent de gauche à droite, avec / comme séparateur. Le répertoire spécial. représente toujours le répertoire courant. Le répertoire spécial.. représente le parent du répertoire concerné. (../03-bash-et-chemins/) (../05-operations-arith/) Comment et où écrire un programme en Python? Comment lancer/exécuter ce programme Python? Un Premier Programme Savoir écrire un programme dans un fichier texte brut. Savoir utilisez la commande python3 pour lancer/exécuter le programme. Savoir afficher un nombre et du texte en Python. Savoir écrire un commentaire en Python. Syntaxe : commentaires Toute ligne qui commence par # (dièse) est ignorée par Python. Tout ce qui suit un # est ignoré par l interpréteur Python (sauf dans une chaîne de caractères). # Toute cette ligne est un commentaire print("bonjour") # Ceci est un commentaire print("suivez #python! (et ce n'est pas un commentaire).")

5 Un programme Python est un fichier texte brut. L extension normale pour les programmes Python est.py, par exemple nomdufichier.py. Un programme Python s exécute avec python3 nomdufichier.py. En Python, print( ) permet de produire une sortie qui sera affichée dans le terminal. La plupart des espaces (caractère ` `) sont insignifiant, sauf en début de ligne. Du «texte» est aussi appelé une «chaîne de caractères» ou string (en anglais). En Python, len( ) permet d obtenir la longueur d une chaîne de caractères (le nombre de caractères qu elle contient). En Python, une chaîne de caractère doit être entre guillemets. On peut utiliser au choix les guillemets simples 'toto' ou les doubles "toto" pour les chaînes de caractères. (../04-python-intro/) (../06-variables-et-types/) Quels sont les opérations possibles en Python? Comment contrôler plus finement ce qui est affiché avec print? Opérations sur des Nombres Connaître les opérateurs usuels en Python. Savoir utiliser les «paramètres nommés» sep et end de la fonction print(...). Python permet d utiliser les opérateurs mathématiques usuels +, -, * (une étoile pour multiplication) et /. La priorité des opérateurs est la même qu en mathématiques. L opérateur ** est utilisé pour la puissance, et marche aussi avec des puissances non-entières. L opérateur // est utilisé pour la division entière. L opérateur % (appelé «modulo») est utilisé pour obtenir le reste de la division entière. Par défaut, print(,, ) affiche ses paramètres séparés par des espaces, et ensuite une fin de ligne. il est possible de changer le séparateur en utilisant print(,,, sep=' et ') (pour utiliser ` et ` comme séparateur). il est possible par expemple d enlever le retour à la ligne en utilisant print(,,, end='') (chaîne vide pour end ). (../05-operations-arith/) (../07-erreurs/) Variables et Types

6 Comment rendre plus lisibles des expressions compliquées? Comment mémoriser des valeurs intermédiaire? Peux-on ajouter des choux et des carottes? Comprendre la notion de variable. Comprendre la notion de programmation impérative. Un programme est exécuté de haut en bas. Chaque valeur en python a un type, par exemple int (entier) ou float (nombre à virgule flottante) ou str (string, chaîne de caractères). Il est possible d associer/d affecter une valeur à un nom, on appelle cela une variable. Une variable change de valeur uniquement quand lui réaffecte une nouvelle valeur. On peut connaître le type d une valeur avec type( ). Le nom d une variables n a pas d importance pour l ordinateur. Il est cependant primordial de choisir des noms de variables pertinents pour aider à la (re)lecture du programme. Un programme est écrit pour être compris à la fois par l ordinateur et par l humain. (../06-variables-et-types/) (../08-fonction-et-aide/) Quel type d erreurs peuvent se manifester dans un programme? Comment lire les messages d erreurs? Comment chercher et résoudre un problème dans un programme? Apprendre par l'erreur Comprendre les différentes sources d erreurs : erreur statique, erreur dynamique. Apprendre à lire les messages d erreurs. Apprendre à utiliser internet en cas de problème persistent. C est en faisant des erreurs que l on apprend. Un programme peut être erroné de part sa structure. Un programme peut générer des erreurs si certaines opérations sont utilisées avec des types ou des valeurs inadaptées. Même si les messages d erreurs sont en anglais et parfois compliqués, ils pointent relativement précisément l erreur dans le programme. Les erreurs sont souvent du même type et il devient de plus en plus facile de comprendre les messages d erreur. Quand un message d erreur est relativement original, il est possible de le copier coller dans un moteur de recherche pour trouver des pistes de solution. (../07-erreurs/) Fonctions Prédéfinies et Aide

7 (../09-import-biblio/) D où viennent les fonctions print( ), min( ), len( ), etc? Y-a-t-il un manuel d utilisation pour ces fonctions? Se familiariser avec le concept d appel de fonction fonction. Comprendre le concept de «valeur de retour» d une fonction. Savoir afficher le manuel d une fonction. la_doc = min. doc print(la_doc) Python fourni un ensemble de fonctions prédéfinies telles que print, abs, min, max, len, help. On «appelle» la fonction (on l exécute) quand on écrit son nom suivi de valeurs de paramètres entre parenthèses. Une fonction peut accepter un nombre arbitraire de paramètres (y compris aucun paramètre). Chaque fois que l on appelle une fonction, une valeur est retournée. La valeur spéciale None représente une valeur vide. La fonction prédéfinie help( ) permet d afficher «interactivement» le manuel d une fonction. (../08-fonction-et-aide/) (../10-biblio-qtido/) Bibliothèques et Importation de Fonctions Comment faire des calculs mathématiques plus complexes comme de la trigonométrie? Où trouver d autres fonctions existantes? Comment référencer des fonctions existantes? Comprendre le concept de «bibliothèque» (appelé aussi «module»). Découvrir les 3 façons possibles d utiliser une fonction d une bibliothèque. Syntaxe : utilisation de import pour utiliser une bibliothèque. importation du module import math print( math.sqrt(100) ) importation d une fonction en particulier from math import sqrt print( sqrt(100) ) importation de toutes les fonctions d un module from math import * print( sqrt(100) )

8 Une bibliothèque fourni un ensemble de fonctions et constantes utiles. La bibliothèque math fourni des fonctions ( sin, log, etc) et des constantes telles que pi et e. Il est nécessaire d installer une bibliothèque avant de pouvoir importer ses fonctions. Certaines bibliothèques sont installées par défaut. La notation truc.machin veut dire que l on accède à machin qui se trouve à l intérieur de truc, ici la fonction machin dans le module truc. Il est possible d importer un module, une fonction en particulier ou l ensemble des fonctions d un module. (../09-import-biblio/) (../11-input-conversion/) Comment aller au delà de print( ) pour interagir avec l utilisateur? Comment tracer des formes géométriques dans une fenêtre? Comment exporter un dessin dans un fichier jpeg ou png? Bibliothèque Graphique qtido Savoir installer et importer la bibliothèque qtido. Découvrir les fonctions proposées par qtido. Comprendre le système de coordonnées utilisées pour le tracer de dessins. La bibliothèque qtido permet de tracer des dessins dans une fenêtre graphique. Deux modes sont proposés : un mode «tortue» très simple avec seulement quelques instructions, et un mode «normal» proposant beaucoup plus de fonctionnalités. Une partie dédiée donne une liste des fonctions de qtido (../reference-qtido). Donner des ordres à une tortue pour tracer On imagine une tortue qui porte un stylo et se déplace en traçant un trait sur son chemin. Au départ la tortue est tournée vers la droite. La tortue accepte de recevoir différents ordres pour avancer (d un nombre de pixels), tourner (d un angle en degrés) ou lever/baisser le stylo. Voici un exemple, où la tortue trace un triangle équilatéral de coté 100 pixels. from qtido import * f = creer(800, 600) t = creer_tortue(f) t.tortue_avance(100) t.tortue_droite(120) t.tortue_avance(100) t.tortue_droite(120) t.tortue_avance(100) Et un triangle rectangle? Tracer des figures géométriques Les coordonnées pour toutes les opérations de tracé sont exprimées dans un repères en pixels. Contrairement aux repères en mathématiques : le point 0,0 est le premier pixel en haut à gauche de la fenêtre, les coordonnées Y augmente vers le bas. Ainsi le schéma suivant :

9 X 3 6 Y illustre ce que fait le programme : from qtido import * # créer une petite fenêtre de 32x13 pixels f = creer(32, 13) # changer la couleur de tracé en bleu couleur(f, 0, 0, 1) # quantités de rouge, vert et bleu # tracer un rectangle allant de 5,3 inclus à 15,6 exclus rectangle(f, 5, 3, 15, 6) # attendre 1 seconde pour voir le dessin avant que le programme ne se quitte attendre_pendant(f, 1000) Quel programme trace la figure suivante? La bibliothèque qtido vous est fourni par vos enseignants. La bibliothèque qtido permet entre autre de créer des fenêtres graphiques, d y tracer des figures et du texte, d y ajouter des boutons, et de gérer les événements clavier et souris. Pour pouvoir utiliser la bibliothèque qtido, il faut avoir le fichier qtido.py à coté du programme qui l utiliser. Les coordonnées pour le tracer sont données en pixels, avec le point 0,0 en haut à gauche de la fenêtre. La bibliothèque qtido a aussi un mode «tortue». (../10-biblio-qtido/) (../12-condition-if/) Comment recevoir des entrées textuelles de l utilisateur? Comment recevoir des entrées numériques de l utilisateur? Entrées Utilisateur Comprendre la notion de paramètres d un programme. Savoir comment, dans un programme, demander à l utilisateur de taper une chaîne de caractères. Savoir convertir des chaînes de caractères en entier ou réel, et vice-versa.

10 Multiplication de ce qui est tapé! Quand on lance un programme il est possible d y ajouter des paramètres, par exemple, python3 monprogramme.py toto 42. La variable argv contenue dans le module sys permet d accéder au paramètres du programme. On peut accéder au nom du fichier python avec sys.argv[0] (qui vaut monprogramme.py dans l exemple). On peut accéder au premier paramètre du programme avec sys.argv[1] (qui vaut toto dans l exemple). Avec len(sys.argv) on obtient un nombre entier contenant le nombre de paramètres + 1 (ce 1 vient du fait que l on a aussi accès au nom du fichier python). Dans un programme, la fonction input() attend que l utilisateur tape une ligne de texte au clavier et renvoie ce qui a été tapé. La fonction input( ) peut accepter un paramètre appelé le prompt, c est à dire qu il sera affiché pour inciter l utilisateur à taper. Il faut bien comprendre la distinction entre les paramètres d un programme (dans sys.argv ) et la fonction input. Les paramètres sont des chaînes de caractères. Dans tous les cas input( ) renvoie une chaîne de caractères. On peut convertir une valeur en entier avec int( ), en flottant avec float( ) ou en chaîne de caractères avec str( ) (pour string). (../11-input-conversion/) (../13-conditions-else/) Instructions Conditionnelles Comment n exécuter certaines parties du programme que dans certains cas? Comprendre l instruction if. Comprendre ce qu est l indentation et son importance en Python. Découvrir les opérateurs de comparaison disponibles en Python. De combien indenter un bloc? Bien qu il soit possible d utiliser le nombre d espace que l on veut pour indenter un bloc, il est fortement recommandé d utiliser 4 espaces (puis 8 pour les blocs imbriqués, et ainsi de suite). Les tabulations ne doivent pas être utilisées pour l indentation. Syntaxe : Instruction conditionnelles avec if Une insruction conditionnelle démarre par le mot clé if suivi d une condition (appelé aussi test), suivi de : puis d un bloc. Un bloc est constitué d une ou plusieurs lignes d un programme qui sont indentées (toute commençant par plus d espace que la ligne if et toute avec le même nombre d espace.) ; visuellement le bloc est décalé vers sur la droite. if «condition» : «instruction» «instruction» # suite du programme, au même niveau que le `if`

11 Python dispose des opérateurs de comparaison ==,!=, <, <=, >, >=. Une comparaison est soit vraie (valeur True ), soit fausse (valeur False ). L exécution conditionnelle s exprime grâce au mot clé if. L indentation (nombre d espaces en début de ligne) est capitale en Python car elle défini un bloc de code. Il est possible d imbriquer des if (mettre un if dans le bloc d un autre if ). (../12-condition-if/) (../14-boucle-while/) Comment exécuter une partie du programme ou l autre? Comment limiter le nombre d instructions conditionnelles? Comprendre les mots clés else et elif. Instructions Conditionnelles (2) Syntaxe : if avec else Le bloc de l instruction if peut être suivi de l instruction else: et d un bloc qui sera exécuté si la condition est fausse (a la valeur False). Ainsi, la condition : if «A» : else: «C» «D» # corps de la boucle # corps du else # après la boucle est équivalente à (sachant que not( ) permet de d inverser une valeur booléenne) : if «A» : if not(«a») : «C» «D»

12 Syntaxe : if avec elif Il est possible d utiliser après un if (et avant le potentiel else ) le mot clé elif (pour «else if», signifiant «sinon, si». La construction avec elif peut être ré-écrite à l aide d un second if imbriqué dans le else. Ainsi, par exemple, la condition : if «T1» : «P1» elif «T2» : «P2» elif «T3» : «P3» else: «E» «F» est équivalente à : # après la boucle if «T1» : «P1» else: if «T2» : «P2» else: if «T3» : «P3» else: «E» «F» Une conditionnelle if peut être suivie d un ou plusieurs elif et d un else. Les elif et d un else aident à écrire des programmes plus clairs. (../13-conditions-else/) (../15-listes-base/) Comment répeter des instructions à l infini? Comment répeter des instructions plusieurs fois? Savoir écrire une boucle while. Boucles while (tant que)

13 Syntaxe : Boucles avec while Une boucle «tant que» démarre par le mot clé while suivi d une condition, suivi de : puis d un bloc appelé aussi «corps de la boucle». Le corps de la boucle est exécuté répétitivement tant que la condition est vraie (valeur True ). while «condition» : «instruction» «instruction» # suite du programme, au même niveau que le `while` Une boucle while peut être virtuellement ré-écrite à l aide d une infinité de if imbriqués. Ainsi, la boucle : while «A» : «C» # corps de la boucle # après la boucle est équivalente à : if «A» : if «A» : if «A» : if «A» : # à l'infini «C» La boucle while (tant que) permet de répéter l exécution d un bloc de code. Le corps de la boucle while doit être indenté. (../14-boucle-while/) (../16-listes-plus/) Comment grouper des valeurs dans une liste? Comment lire et modifier une liste? Comprendre le concept de liste. Savoir comment créer, lire et modifier des listes. Listes de Valeurs

14 Syntaxe : création d une liste Pour créer une liste il faut mettre les valeurs voulues entre crochets et séparées par des virgules. On peut donc créer une liste (et l affecter à la variable «var») avec : «var» = [ «expression», «expression», ] Il peut y avoir un nombre quelconque d expressions. Il peut en particulier possible de ne mettre aucune expression, créant ainsi une liste, par exemple avec : «var» = [] Syntaxe : accès à un élément d une liste Il est possible d accéder à un élément d une liste avec : «liste»[«indice»] Cet accès peut servir à changer la valeur d un élément d une liste, avec : «liste»[«indice»] = «expression» Une liste (appelée aussi «tableau») est un conteneur d éléments, qui contient une suite de valeurs. Une liste a comme type list. Les éléments d une liste peuvent être de types quelconques (et potentiellement différents). Les indices commencent à 0. Le premier élément a pour indice 0, le second a pour indice 1, etc. (../15-listes-base/) (../17-boucle-for/) Comment tester si une valeurs se trouve dans une liste? Comment extraire des statistiques d une liste? Listes de Valeurs (2) Découvrir certains avantages pratique des listes. Savoir créer une liste progressivement, en ajoutant les éléments un par un (utiliser une liste comme accumulateur). Quelle différence entre list.append(l, e) ou l.append(e)? Si l est une liste et e un élément quelconque, il est possible d utiliser indifféremment list.append(l, e) ou l.append(e). La deuxième version est la plus utilisée par la communauté Python. Ces notation est à mettre en parallèle avec celle utilisée pour les bibliothèques, par exemple math.sin( ). La notation list.append veut dire que l on accède à append qui se trouve à l intérieur de list, ici la fonction append dans le type list. Pour le cas de l.append on accède à la fonction append de notre liste particulière l : la fonction sait donc déjà de quelle liste il s agit, et on ne passe donc que l élément à ajouter e. Syntaxe : test d appartenance à une liste Il est possible de regarder si un élément est dans une liste à l aide du mot clé in, par exemple ici dans un if : if «el» in «list» : «instruction»

15 Les listes peuvent être manipulés de manière comparable aux chaînes de caractères par exemple avec len( ), *, +. Certaines fonctions comme min( ), max( ), sum( ) fonctionnent aussi avec une liste en paramètre. La fonction list.append(l, e) permet d ajouter un élément à la fin d une liste (la liste est modifiée). (../16-listes-plus/) (../17-boucle-for/) Boucles for Comment appliquer un morceau de programme sur chaque élément d une liste? Comment éviter certains copier/coller dans un programme? Comprendre le principe de la boucle for. Comprendre comment écrire une boucle for. Syntaxe : Boucles avec for Une boucle «pour chaque» démarre par le mot clé for (pour) suivi d un nom de variable, du mot clé in (dans), d une liste d éléments, de : et finalement d un bloc appelé aussi «corps de la boucle». Pour chaque élément de la liste, la variable est affecté à la valeur de cet élément et le corps de la boucle est exécuté. Le corps de la boucle est donc exécuté autant de fois qu il y a d éléments dans la liste donnée. for «var» in «liste» : «instruction» «instruction» # suite du programme, au même niveau que le `for` Par exemple, si l on considère que la liste est [10, 20, 30], alors la boucle : for «var» in [10, 20, 30] : «A» est équivalente à : «var» = 10 «A» «var» = 20 «A» «var» = 30 «A» À l aide de for, il est aussi possible de parcourir les caractères d une chaîne de caractères. La boucle while permets aussi de réaliser un parcours à la manière de for. Copyright 2016 Contact (mailto:remi.emonet@inverse-fr.univ-st-etienne)

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

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

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

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

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

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

Découverte de Python

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

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

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

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

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

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

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

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

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 : 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

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

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

Cours 7 : Utilisation de modules sous python

Cours 7 : Utilisation de modules sous python Cours 7 : Utilisation de modules sous python 2013/2014 Utilisation d un module Importer un module Exemple : le module random Importer un module Exemple : le module random Importer un module Un module est

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

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

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

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

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations

Plus en détail

1. Structure d'un programme FORTRAN 95

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.)

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

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

I. Introduction aux fonctions : les fonctions standards

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

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

Bases de programmation. Cours 5. Structurer les données

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

Plus en détail

TP1 - Prise en main de l environnement Unix.

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

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

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2 Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont

Plus en détail

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume Studio HERITIER Emmanuelle PERSYN Elodie SCHMUTZ Amandine SCHWEITZER Guillaume Cours R Présentation projet 10/10/2013 Introduction RStudio est une interface créé par JJ Allaire Elle est sortie le 11 Février

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

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

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

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

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

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

Premiers pas avec Mathematica

Premiers pas avec Mathematica Premiers pas avec Mathematica LP206 : Mathématiques pour physiciens I Année 2010/2011 1 Introduction Mathematica est un logiciel de calcul formel qui permet de manipuler des expressions mathématiques symboliques.

Plus en détail

Python - introduction à la programmation et calcul scientifique

Python - introduction à la programmation et calcul scientifique Université de Strasbourg Environnements Informatique Python - introduction à la programmation et calcul scientifique Feuille de TP 1 Avant de commencer Le but de ce TP est de vous montrer les bases de

Plus en détail

Utilisation d objets : String et ArrayList

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

Plus en détail

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control HMI target Visu / PLC HMI Pour réaliser une interface homme machine avec PLC control VERSION : 1.4 / PH DATE : 5 Novembre 2014 Sommaire Ce manuel explique de manière pratique les étapes successives pour

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

TP1 : Initiation à l algorithmique (1 séance)

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

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

TP 1 Prise en main de l environnement Unix

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

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

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

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr 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

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

Chap III : Les tableaux

Chap III : Les tableaux Chap III : Les tableaux Dans cette partie, on va étudier quelques structures de données de base tels que : Les tableaux (vecteur et matrice) Les chaînes de caractères LA STRUCTURE DE TABLEAU Introduction

Plus en détail

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique DOMAINE P3.C3.D1. Pratiquer une démarche scientifique et technologique, résoudre des

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

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

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

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

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

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

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

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

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

Utilisez Toucan portable pour vos sauvegardes

Utilisez Toucan portable pour vos sauvegardes Utilisez Toucan portable pour vos sauvegardes Préambule Toucan est un logiciel libre et gratuit, permettant de réaliser des sauvegardes ou synchronisation de vos données. Il est possible d automatiser

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

TP1 : Initiation à Java et Eclipse

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

Plus en détail

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Compléments de documentation Scilab : affichage de texte et formatage de nombres Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de

Plus en détail

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI. www.irai.com

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI. www.irai.com L1 L2 L3 F1 M1 KM2 0V U1 V1 M3~ W1 EVC1 Manuel AUTOMSIM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 API 24V 0 1 2 C1MINI BP Dcy C1MAXI 1MAXI 1MINI EVC1 www.irai.com INTRODUCTION... 5 INSTALLATION... 6 PRISE EN

Plus en détail

1 Lecture de fichiers

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

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

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

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

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

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

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : 1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus : La procédure d installation démarre. La fenêtre suivante vous indique

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

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Factorisation Factoriser en utilisant un facteur commun Fiche méthode Factorisation Factoriser en utilisant un facteur commun Fiche méthode Rappel : Distributivité simple Soient les nombres, et. On a : Factoriser, c est transformer une somme ou une différence de termes en

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Modes Opératoires WinTrans Mai 13 ~ 1 ~ Modes Opératoires WinTrans Mai 13 ~ 1 ~ Table des matières Facturation... 2 Tri Filtre... 2 Procédures facturation... 3 Transfert Compta... 8 Création d un profil utilisateur... Erreur! Signet non défini.

Plus en détail

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12 Probabilités. I - Rappel : trois exemples. Exemple 1 : Dans une classe de 25 élèves, il y a 16 filles. Tous les élèves sont blonds ou bruns. Parmi les filles, 6 sont blondes. Parmi les garçons, 3 sont

Plus en détail

ACTIVITÉ DE PROGRAMMATION

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,

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

Dossier projet isn 2015 par Victor Gregoire

Dossier projet isn 2015 par Victor Gregoire Dossier projet isn 2015 par Victor Gregoire Plan: I) But du projet: créer un jeu de blackjack fonctionnel et le poster sur une page web mise en ligne. Le jeu sera developpé en C++ a l'aide de code blocks.

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

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique NicolasVandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 1.2 Où trouver des informations......................

Plus en détail

Indications pour une progression au CM1 et au CM2

Indications pour une progression au CM1 et au CM2 Indications pour une progression au CM1 et au CM2 Objectif 1 Construire et utiliser de nouveaux nombres, plus précis que les entiers naturels pour mesurer les grandeurs continues. Introduction : Découvrir

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

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

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

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ

COURS AUTOCAD. Création et utilisation des blocs. b leclerc. ERP Jean Moulin METZ COURS AUTOCAD Création et utilisation des blocs QU EST-CE QU UN BLOC? C est un élément de dessin, auquel peut être associé du texte (des attributs ). Un bloc constitue un élément de bibliothèque. Il peut

Plus en détail

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

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

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

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ésentation du PL/SQL

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

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

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. 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

Plus en détail