Présentation du langage et premières fonctions



Documents pareils
TP 1. Prise en main du langage Python

STAGE IREM 0- Premiers pas en Python

L informatique en BCPST

Initiation à la programmation en Python

Maple: premiers calculs et premières applications

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

Découverte de Python

Cours d algorithmique pour la classe de 2nde

2 Comment fonctionne un ordinateur, dans les grandes lignes

Algorithmique et Programmation, IMA

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

Algorithmique et programmation : les bases (VBA) Corrigé

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Licence Sciences et Technologies Examen janvier 2010

TP, première séquence d exercices.

Le langage C. Séance n 4

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

Cours d initiation à la programmation en C++ Johann Cuenin

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

Introduction à l informatique en BCPST

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Introduction à MATLAB R

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

Chapitre 2 Devine mon nombre!

TD3 - Facturation avec archivage automatisé

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

Représentation d un entier en base b

ALGORITHMIQUE ET PROGRAMMATION En C

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

Poker. A rendre pour le 25 avril

Les chaînes de caractères

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

Introduction au langage C

EXCEL TUTORIEL 2012/2013

Initiation à LabView : Les exemples d applications :

Feuille TD n 1 Exercices d algorithmique éléments de correction

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

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

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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

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

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

Programmer en JAVA. par Tama

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

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

Excel 2007 Niveau 3 Page 1

COURS DE MS EXCEL 2010

Programmation Web. Madalina Croitoru IUT Montpellier

V- Manipulations de nombres en binaire

Corrigé des TD 1 à 5

ACTIVITÉ DE PROGRAMMATION

I. Programmation I. 1 Ecrire un programme en Scilab traduisant l organigramme montré ci-après (on pourra utiliser les annexes):

1 Introduction - Qu est-ce que le logiciel R?

Python - introduction à la programmation et calcul scientifique

Solutions du chapitre 4

TP1 : Initiation à Java et Eclipse

Logiciel de Base. I. Représentation des nombres

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

Calcul Formel et Numérique, Partie I

Notions fondamentales du langage C# Version 1.0

Rappels sur les suites - Algorithme

Programmation avec Xcas ou Python

Cours 7 : Utilisation de modules sous python

Conventions d écriture et outils de mise au point

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Dérivation CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES

Utilisation d objets : String et ArrayList

Cours Informatique Master STEP

I. Introduction aux fonctions : les fonctions standards

Premiers pas avec Mathematica

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr

Initiation à l algorithmique

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

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

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

Préparation à l examen EFA en Macro

Complément d information concernant la fiche de concordance

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

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Algorithme. Table des matières


Initiation à la Programmation en Logique avec SISCtus Prolog

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Continuité et dérivabilité d une fonction

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

INF 321 : mémento de la syntaxe de Java

TP1 - Prise en main de l environnement Unix.

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

I00 Éléments d architecture

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

Correction de l examen de la première session

Optimisation, traitement d image et éclipse de Soleil

Transcription:

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 raison de sa simplicité et son efficacité. Généralement, on pourra procéder de deux façons, que ce soit directement en tapant des lignes de commandes dans une console dédiée (à la manière d une calculatrice) ou alors en construisant des modules de fonctions dans un fichier texte qu on pourra appeler par la suite. Les logiciels permettant ce travail sont nombreux et on fera ici le choix d utiliser les logiciels Spyder ou Pyzo qui autorisent l affichage de différentes fenêtres très pratiques: Dans les deux cas, on pourra trouver: uneconsole interactive: elle permetàl utilisateur d entrerdes lignes decommande quiserontdirectement exécutées. un éditeur de scripts: il permet de programmer des modules de fonctions qui devront être compilés, afin d être appelés dans l interface interactive pour être utilisés. 2 Utilisation de la console en mode interactif 2.1 Calcul numérique Dans la console interactive, les différentes instructions devront être entrées après le prompt principal >>> avant d être interprétées. Comme une calculatrice, les opérations usuelles et leurs priorités sont aisément reconnues: >>> -5+11*6 61 >>> (7+11)*4 72 Bien entendu, on peut entrer plusieurs instructions à la suite à condition de les séparer à l aide du symbole ;, les résultats sont alors présentés sur des lignes séparées: >>> 10/3; 10//3; 10%3 3.3333333333333335 3 1 On notera la différence entre la division sur les nombres réels et la division sur les nombres entiers pour laquelle le symbole // renvoie le quotient dans la division euclidienne, alors que le reste est obtenu avec le symbole %. De la même façon, on fera attention au calcul de la puissance d un nombre réel:

>>> 9**2 Par ailleurs, on retiendra que les flèches du clavier et nous permettent de reprendre les instructions précédentes en parcourant la feuille de travail et que le symbole nous renvoie le dernier résultat affiché... mais celui-ci ne fonctionne que dans le mode interactif: >>> 9**2; 2.2 Gestion des variables et affectation Dans de nombreux problèmes, on sera amené à définir des objets ou à mémoriser des valeurs. Pour plus de clarté, on pourra définir des variables en utilisant le symbole d affectation = de la façon suivante: nom de la variable = valeur et qu on distinguera de l évaluation booléenne == qui teste une condition logique: >>> resultat = 11 # on affecte la valeur 11 au résultat >>> resultat == 10 # on vérifie si l égalité est vraie ou fausse False On remarque quelques habitudes de programmation: le nom des variables est souvent simple, écrit en minuscule et on respectera l insertion d espace autour du signe = pour l affectation. De plus, on pourra prendre l habitude de commenter les lignes de code grâce au symbole #. On peut alors utiliser les variables définies pour d autres instructions même si on fera attention à l ordre dans lequel on a défini nos variables: >>> resultat*a NameError: name a is not defined >>> a = 128; resultat*a 1408 Comme de nombreux langages, Python autorise la réaffectation, c est à dire qu on peut modifier la valeur donnée à l identificateur: >>> a = a+1; a 129 Par contre, pour libérer le nom d une variable, on utilise la fonction del: >>> del(a); a NameError: name a is not defined Enfin, on pourra aussi retenir que l affichage de la valeur de la variable se fait ici par un simple appel, mais on sera obligé d utiliser la fonction print pour forcer l affichage dans un programme: >>> a = 12; b = a**2; print(b) 144 2.3 Typage dynamique Quand on définit une variable en Python, il n est pas utile d en préciser son type. En effet, pour chaque objet manipulé, le langage lui associe automatiquement une classe qu on obtient avec la fonction type: >>> a = 144/12; a; type(a) 12.0 <class float > 2

>>> b = bonjour ; b; type(b) bonjour <class str > Parmi les plus courantes, on peut distinguer: la classe des nombres entiers définie comme class int pour integer la classe des nombres réels, dits à virgule flottante définie comme class float pour floating number la classe des chaînes de caractères définie comme class str pour string la classe des listes, qui regroupe des objets structurés et définie comme class list pour list On fera donc très attention à la classe des objets manipulés car ils n auront pas les mêmes attributs: pour un objet donné, et donc une classe donnée, on pourra faire appel à certaines fonctions particulières plutôt que d autres: on parle parfois des fonctions ou méthodes associées. 2.4 Un avantage de Python: l affectation multiple Dans la plupart des langages, une variable désigne une boîte dans laquelle on stocke une valeur et il faut éviter d en écraser le contenu... En Python, une variable n est rien d autre qu un identificateur ou une étiquette attachée à un objet. Cette différence nous autorise alors à faire des affectations multiples. Par exemple, il est tout à faite possible de faire des affectations simultanées: >>> a = b = 7; a,b; a+b (7,7) 14 De la même façon, on peut mener des affectations en parallèle: >>> c,d,e = bonjour, les, mpsi ; c,d,e; c+d+e ( bonjour, les, mpsi ) bonjourlesmpsi On remarque justement que l opérateur + agit différemment pour la classe des chaînes de caractère: il permet ici de les concaténer. Exemple 1 - Echange des contenus de deux variables 1. Déterminer le résultat obtenu pour ces lignes d instructions: >>> x = 8; x = x+2; y = x**2 >>> x,y >>> x = 8; x,y = x+2,x**2 >>> x,y 2. On attache deux variables x et y à des valeurs données. En utilisant une variable auxiliaire aux, écrire une ou plusieurs lignes d instructions qui échange les contenus de x et y. 3. Même question sans utiliser de variable auxiliaire. 3 Utilisation de l éditeur de scripts 3.1 Mise en place d un programme et exécution Pour construire un programme dans le langage Python, il suffira de rédiger les séquences d instruction comme on le ferait dans l interface, et cela tout en essayant de garder nos habitudes: on n hésitera pas à rédiger des commentaires avec le symbole # tout au long du programme pour en faciliter sa compréhension, mais aussi sa construction, on respectera la syntaxe du langage Python: saut de ligne, utilisation des symboles : et ;, indentation... c est cette structure physique qui sera interprétée par l interface. Par exemple, pour construire une fonction module qui pour des composantes données (a, b) calcule le module du nombre complexe a + ib associé, on entre la séquence suivante en commençant par la commande def et en respectant l indentation: def module(a,b): # calcul du module On prendra alors soin d enregistrer le fichier sous un nom explicite module.py avant de le lancer depuis l éditeur grâce au raccourci clavier F5 ou Execution. S il n y a pas d erreur de syntaxe, il suffit alors d appeler le programme dans la console en donnant des valeurs effectives aux arguments formels a et b: 3

>>> runfile( C:/WinPython-32bit-3.3.2.3 >>> module(3,4) 5.0 3.2 Gestion des entrées et sorties La plupart du temps, on cherchera donc à construire des programmes fonctionnels, c est à dire des programmes qui, à partir d arguments formels, renvoient un ou plusieurs résultats. Ainsi, les paramètres du programme seront évalués à l appel de la fonction. Cependant, il existe une autre commande très intéressante: input permettant de dialoguer avec l utilisateur pour obtenir une valeur au cours du programme, et dont l affectation par défaut est du type str. Par exemple, on peut construire un programme qui affiche une subdivision de l intervalle [a, b], mais en demandant à l utilisateur de renseigner le nombre de points souhaité: def module(): # ici la fonction n attend aucun argument a,b = float(input( partie réelle? )),float(input( partie imaginaire? )) On remarquera l utilisation de la commande float qui convertit la chaîne de caractère entrée par l utilisateur en un nombre réel. Ainsi, si on lance le programme, on obtient: >>> module() partie réelle? 3 partie imaginaire? 4 5.0 De la même façon, nous avons vu que la commande return interrompt l exécution du programme pour renvoyer le résultat donné. Et bien, il est aussi tout à fait possible d afficher des valeurs au cours du programme, et ceci avec la fonction intégrée print: def module(): # ici la fonction n attend aucun argument a,b = float(input( partie réelle? )),float(input( partie imaginaire? )) print( le module de,a, +i,b, est ) 3.3 Définition d une programme simple: la fonction mathématique Comme sur une calculatrice, on pourra utiliser l éditeur pour définir des fonctions mathématiques simples avant de les évaluer. Par exemple, on peut construire la fonction suivante: def f(x): # on définit f dont l argument formel est x return 1/(x**2+x) # et qui à x associe 1/(x 2 + x) Encore une fois, on fera attention à la syntaxe associée à cette commande. Sous Python, le saut de ligne après le symbole : et l indentation, correspondant à 4 espaces, sont fondamentaux. L évaluation de la fonction f s effectue encore par un simple appel de celle-ci en donnant aux arguments des valeurs effectives: >>> f(1), f(2) (0.5, 0.16666666666666666) Par contre, on devra veiller aux valeurs interdites; à défaut, l interface renverra une erreur à l exécution: >>> f(0) ZeroDivisionError: division by zero On pourra corriger la définition de f à l aide d un test rapide en début de programme: def f(x): if x == 1 or x == 0: print("c est une valeur interdite!") else: return 1/(x**2+x) # il s agit d un test booléen 4

Exemple 2 - Racines d un polynôme du second degré à coefficients réels On considère un polynôme du second degré à coefficients réels p(x) = ax 2 +bx+c. 1. Construire un programme trinome qui, pour les valeurs a, b, c données, renvoie les racines réelles du polynôme p. 2. Modifier le programme précédent afin d obtenir les racines éventuellement complexes de p. Exemple 3 - Valeurs approchées du zéro d une fonction On cherche ici à déterminer une valeur approchée de α, unique zéro de la fonction définie par f(x) = xln(x) 1 sur [1,2]. 1. Justifier que l équation f(x) = 0 possède une unique solution sur [1, 2]. 2. Expliquer cette séquence d instructions: >>> L = [1+k/10 for k in range(0,11)]; [f(x) for x in L] 3. Définir la fonction f donnée dans l éditeur, puis utiliser celle-ci pour déterminer les valeurs approchées à 10 3 près par défaut et par excès du réel α. Exemple 4 - Tableau de valeurs d une fonction Construire un programme table qui, pour un intervalle [a, b] donné, renvoie le tableau de valeurs de la fonction carrée, mais en demandant le nombre de points souhaité. 5