Découverte de Python

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

Download "Découverte de Python"

Transcription

1 Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en première année. 1. Téléchargement et installation de Python Python est un langage libre, et il existe de nombreux environnements de développement. JE vous propose d utiliser Pyzo, que vous pouvez télécharger à l adresse Une fois installé, quand vous lancez Pyzo, vous avez une fenêtre qui ressemble à : La fenêtre du haut est la console, dans laquelle on tape les instructions et s éxécutent les programmes. On peut redémarrer la console (shell-restart) ce qui efface de la mémoire tout ce qui a été exécuté. Dans les onglets se tapent les programmes. A droite il y a un explorateur du disque et un résumé des variables et des fonctions. Quelques liens qui peuvent être utiles pour ce travail Le site officiel de Python avec la documentation (en anglais) : Le site du zero : Sur mon site perso, Mon adresse électronique pour ceux qui ont des difficultés ou voudraient une validation des exercices : jean.galtier@ac-aix-marseille.fr

2 Pour ceux qui n ont jamais fait de programmation 1. Variables numériques. Tapez dans la console les instructions suivantes, et observez : a = 2 b = 5 print(a + b) print(a-b) c = 2*a + 3*b print(c) b = 7 print(b) print(b**2) a = a+1 print(a) print( a+b =,a+b) Variables : Quand vous écrivez l instruction a = 2, vous créez une variable, la nommez a (si elle n existe pas encore) et mettez dedans la valeur 2. Il faut imaginer une variable comme une ardoise sur laquelle on peut écrire des choses. Évidemment, chaque fois qu on veut écrire une nouvelle chose, il faut effacer l ancienne. Dans l instruction c = 2*a + 3*b, l ordinateur crée la variable c, effectue le calcul 2*a + 3*b (si c est possible) et met le résultat dans la variable c. Le nom d une variable n est pas limité à une seule lettre, on peut utiliser des lettres et des chiffres, ainsi que le caractère _. Il doit toujours commencer par une lettre. Que représente l opération **? Dans l instruction print( a+b =,a+b), il y a d abord l affichage d un texte (entre apostrophes, on peut aussi le mettre entre guillemets), puis l affichage de la valeur du calcul de a + b. 2. Chaines de caractères. Tapez les instructions mot = Bonjour nom = Monsieur print(mot+nom) print(2*mot) print(mot [0]) print(len(mot)) Comment faire pour qu il y ait un espace entre Bonjour et Monsieur? Que se serait-il passé si on avait tapé print( mot + nom )? Que signifie l instruction + dans le cas des chaines de caractère? Et le produit par un entier? Comment avoir la troisième lettre de la variable nom? Que signifie l instruction len?

3 Mettez votre nom dans la variable nom, puis faites dire bonjour à l ordinateur. 3. Types de variables Tapez maintenant les instructions suivantes : type(24) type(a) type(2.3254) type( a ) type( 24 ) type( Bonjour ) type(mot) print(a>b) type(a>b) a= Au revoir type(a) Le type d une variable, c est la nature de ce qu elle contient. Il y a les types simples : entier (int), réel(float), booléen (bool), et les types complexes. Les chaines de caractères sont de type str (pour string), il y a aussi les listes (on met les éléments entre crochets a=[1,2,3, soleil ] est une liste à 4 éléments), les tuples (on met les éléments entre parenthèses, a=(1,2,3,4) est un tuple. La différence est qu on ne peut pas modifier les éléments d un tuple. 4. Un premier programme Écrire un programme, c est écrire à l avance plusieurs instructions, qui seront exécutées plus tard par l ordinateur. Pour écrire un programme, on commence par ouvrir une un onglet. On écrit le programme dans cette nouvelle fenêtre, puis on fait un clic droit sur le haut de l onglet pour l éxecuter dans la console Le programme demande à l utilisateur son nom, puis dit bonjour : nom=input( Quel est votre nom? ) print( Bonjour +nom) La deuxième ligne est déjà vue. La première crée la variable nom, fait afficher la question Quel est votre nom?, attend qu une réponse soit saisie au clavier pour l entrer dans la variable nom. Imaginons que nous voulions en plus calculer et afficher l âge de l utilisateur en lui demandant son année de naissance. Il faudrait alors écrire les lignes suivantes : nom=input( Quel est votre nom? ) annee=input( En quelle année êtes-vous né?) print( Bonjour +nom) age=2014-annee print( Vous avez,age, ans ) Malheureusement, ce programme ne fonctionne pas, car annee est une chaine de caractères, ce que vous pouvez vérifier en tapant type(annee). Il faut la transformer en nombre, ce qu on peut faire avec la fonction int ou la fonction eval. Et remplacer la ligne age=2014-annee par age=2014-int(annee) ou age=2014-eval(annee)

4 Les types de variables de Python Chaque fois, je ferai une comparaison avec les règles employées par Mapple. Les instructions Mapple se terminent par un point-virgule, les instructions Python par un passage à la ligne. Il est fondamental en Python d écrire les lignes les unes en dessous des autres. En règle générale, l affectation d une valeur à une variable se fait en Mapple par := et en Python par =. a) Variables numériques La déclaration Mapple est mavariable := 2 ; La déclaration Python est mavariable = 2 (sans le ; mais il faut aller à la ligne) On peut déclarer plusieurs variables d un coup x,y,z = 3,4,5 Opérations et fonctions : L exposant se note **, la division entière // et le reste dans la division entière % La plupart des fonctions réelles ne font pas partie du module de base, pour y avoir accès il faut taper from math import *, ce qui importe le module math. Dans ce module, vous aurez les constantes pi et e, ainsi que les fonctions usuelles (sqrt pour la racine carrée) b) Chaînes de caractères Mapple les écrit entre guillemets, Python laisse le choix, apostrophes ou guillements ou apostrophes triples. Les trois écritures sont correctes, si la chaîne contient des apostrophes on l écrira entre guilemets, si elle comporte des guillemets on l écrira entre apostrophes, et si elle comporte les deux on l écrira entre guillemets triples (toujours avec = et sans le point virgule final. Le type d une chaîne de caractères est str (pour string) Ainsi sont correctes les trois lignes suivantes : ma_chaine = Il fait beau ce soir ma_chaine = Il fait beau ce soir ma_chaine = Il fait beau ce soir Opérations et fonctions : Len donne la longueur, on accède aux caractères individuels de la chaîne a par a[n] où n est l indice, attention la numérotation commence à 0. a[-1] donne le dernier élément, a[-2] l avant dernier, etc. La concaténation est notée + Le produit d une chaîne par un entier répète la chaîne autant de fois que l entier (l ordre est indifférent, on peut aussi bien faire 2*a que a*2) c) Booléens True et False en Python (attention à la majuscule) Opérations : not, and (abréviation &), or (abréviation ^), et pour le ou exclusif d) Listes Python connait deux sortes de listes : le type tuple, noté entre parenthèses, avec ses éléments séparés par des virgules, et le type list, noté entre crochets, avec ses éléments séparés par des virgules aussi. La numérotation dans une liste commence à l indice 0, que ce soit un tuple ou une liste. Dans les deux cas, on

5 accède au terme d indice en tapant a[k]. La différence fondamentale entre les deux types est que les tuples ne sont pas mutables ainsi : A=[0, 1, 2, 3] (les espaces sont facultatifs mais aèrent) A[0]=5 A devient [5, 1, 2, 3] Tandis que B=(0, 1, 2, 3) B[0]=5 produit un message d erreur On peut transformer une liste en tuple et réciproquement : Si A est une liste, tuple(a) forme le tuple composé des mêmes éléments que A, et de même si b est un tuple, list(b) forme la liste Opérations : la concaténation (de deux listes ou de deux tuples) est notée +, le produit par un entier fait comme pour les chaines de caractères. On peut ajouter un élément à la fin d une liste avec la méthode append : si A est la liste A=[5, 4, 3, 2], A.append(1) transforme A en [5, 4, 3, 2, 1] Comme pour les chaines de caractères, len donne la longueur d une liste ou d un tuple. e) Supprimer une variable L instruction del x détruit la variable x (en fait, supprime le nom x de l espace de noms, et l association entre x et son contenu, mais elle ne supprime pas le contenu de la mémoire. Il existe dans Python un algorithme ramasse miettes, qui supprime de la mémoire les contenus vers lesquels plus aucun nom ne pointe.

6 Les outils de base de la programmation 1. Entrées, sorties Quand on veut que l utilisateur saisisse une valeur au clavier, on emploie l instruction a = input( texte au choix ) où a est la variable où sera enregistrée la saisie. Attention, le type est toujours une chaine de caractères. Si on veut une variable numérique, il faut taper a = eval(input( texte )), où la fonction eval demande à Python de donner s il en est capable une valeur numérique au texte entré, par exemple eval( 3+7 ) donnera 10. Les sorties se font en général par print(mavariable). C est ici que je parle aussi des commentaires : il est extrêmement important de comenter ce que l on fait, parce que, quand on revient plus tard sur son travail, on a parfois oublié pourquoi on avait fait ceci ou cela. Les commentaires se font en commençant par #, ce qui suit le # jusqu à la fin de la ligne n est pas interprété par le langage. 2. Tests En Mapple la syntaxe est If condition then instructions (else instructions ) fi ; En Python, pas de then ni de fi ni de point virgule, tout se fait avec l indentation if condition : Instruction 1 Instruction 2 else : Instruction 1 Instruction 2. Suite du programme Tant qu on est dans le if (ou dans le else), on est à gauche (d une tabulation ou de 4 espaces, tout dépend du paramétrage) La fin du if est repérée par le retour en dessous du if. Attention : if sans majuscule, et les : sont obligatoires Remarque : l égalité conditionnelle est notée ==, et la différence est notée!= 3. Boucles while C est la même chose En Mapple on écrit while condition do instructions od ; En Python c est l indentation qui fait le travail while condition : Instruction 1 Instruction 2 Instruction 3 Retour au programme De nouveau, while avec un w minuscule 4. Boucles for L instruction for en Python est for k in a : où a est une structure itérable (soit une chaîne de caractères, une liste ou un tuple). Mais alors, comment faire pour écrire la bête instruction Mapple for k from 1 to 100 do?

7 La réponse est dans la fonction range, qui produit une suite d entiers : range(100) est la suite 0,1,2 99 (il y a 100 termes commençant à 0) range(1,101) est la suite 1,2,3,100 (donc de 1 inclus à 101 exclu) range(1,23,4) est la lsuite 1,5,9,13,17,21 (on va de 4 en 4 sans dépasser 23) Ainsi, on peut écrire for k in bonjour : print(k) Qui va afficher les lettres du mot bonjour de haut en bas ou for k in range(10) : print(7*k) qui va afficher la table de multiplication par 7 5. Fonctions, procédures La syntaxe Python def mafonction(x, y, z) : instruction 1 instruction 2 return a, b, c De nouveau il faut faire attention à l indentation x, y, z sont les paramètres de la fonction, ils peuvent avoir n importe quel type, et a, b, c sont les images, ils peuvent avoir n importe quel type, mais (a, b, c) est un tuple. Il y a des fonctions sans paramètres, comme par exemple random() qui retourne un réel pseudo aléatoire entre 0 et 1 Python ne fait pas de différence entre fonction et procédure, une procédure est simplement une fonction qui ne retourne rien (elle se contente de faire quelque chose, mais on ne peut pas accéder au résultat) comme par exemple print(). 6. Bibliothèques Il existe des quantités de bibliothèques dans Python, certaines sont livrées en standard, d autres sont livrées avec Pyzo, d autres encore doivent être téléchargées et installées. Les principales bibliothèques sont math pour les fonctions mathématiques, random pour tout ce qui est tirages aléatoires, numpy est la principale bibliothèque de calcul scientifique, matplotlib servira pour les graphiques scientifiques, Tkinter est une interface graphique de base et pygame une autre plus complète. Pour importer une bibliothèque, il y a plusieurs manières : import math importe toutes la bibliothèque math. Pour avoir une idée de son contenu, on peut, après l avoir importée, taper help(math). Pour utiliser un élément de la bibliothèque, on doit préciser math. avant son nom, par exemple la racine carrée sera math.sqrt, et le nombre pi sera math.pi Si on ne veut pas avoir à taper math à chaque fois, on doit importer la biblithèque en écrivant from math import *. Dans ce cas, les noms seront directement sqrt, pi LE danger est que si on importe plusieurs bibliothèques, on pourra avoir des conflits de nom. Une dernière manière d importer est (par exemple) import random as rnd. Dans ce cas, au lieu de taper à chaque fois random, on tape rnd, ce qui est plus court.

8 Enfin, on peut décider d importer seulement la fonction dont on a besoin, par exemple from math import exp n importera que l exponentielle (et on n aura pas besoin de taper le préfixe math, on tapera exp(a).

9 Chaines de caratères, listes, tuples 1. Comment les déclarer a) En extension : Ma_chaine = Bonjour Mon_tuple = (2,5, a, Bonjour,2.758E-4,[5,7]) Ma_liste = [3,5,(1,2),[2,5,8]] Un tuple ou une liste peuvent contenir des éléments de type différents, et même des variables, mais l affectation est définitive. X=5 Ma_liste2 = [1,2,X] print (Ma_liste2) [1,2,5] X=8 print(ma_liste2) [1,2,5] b) Par concaténation Ma_chaine = Ma_chaine+ Madame Print (Ma_chaine) Bonjour Madame Mon_tuple = Mon_tuple+(13,) #on met la virgule pour faire comprendre au programme que (13,) est un tuple d un élément c) Par une boucle, en partant d un objet vide que l on remplit Ma_liste3=[] For k in range(100) : Ma_liste3=Ma_liste3+[2*k+1] print(ma_liste3) 2. Ce qui est commun aux trois types L instruction pour avoir la longueur : len(x) où x est de type str, tuple ou list. L accès à un terme : x[k] est le terme de rang k (la numérotation commence à 0) L instruction a in x qui dit si a est un élément de x : x = Bonjour mademoiselle len(x) 20 x[2] n x[2:] ] njour Mademoiselle x[2:5] nj #de 2 inclus à 56 exclu x[-1] #en partant de la fin e x[-2] l o in x True b in x

10 False Il y a aussi la méthode index, qui donne le rang du terme correspondant x.index( o ) 1 x.index( o,2) 4 x.index( o,5) 13 La methode count qui compte les termes x.count( o ) 3 3. Listes Les listes sont un outil fondamental de Python. Leur utilisation est très souple, on peut mettre n importe quoi dans une liste. On peut faire des listes de listes A=[[1,2],[3,4],[5,6]] len (A) 3 A[0] [1,2] A[0][0] 1 Les listes sont mutables A[0][0]=5 A [[5,2],[3,4],[5,6]] Ici, j ai fait des listes de même taille, mais ce n est en aucun cas une obligation. On peut définir une liste en compréhension Impairs = [2*k+1 for k in range(100)] len(impairs) 100 Impairs[5] 9 Pour ajouter un terme à la fin d une liste, on utilise la méthode append Impairs.append(201) len(impairs) 101 On peut aussi insérer un terme A.insert(2,[4,8]) A [[5,2],[3,4],[4,8],[5,6]] On peut supprimer un terme (la première occurrence de ce terme)

11 A.remove([3,4]) A [[5,2],[4,8],[5,6]] La méthode pop supprime le terme d indice donné, et le retourne B=A.pop(2) B [5,6] A [[5,2],[4,8]] La méthode reverse renverse la liste a = [1,2,3,4] a.reverse() a [4,3,2,1] Exercices : a) Coder en compréhension une liste qui contient les 20 premiers carrés entiers. b) Écrire un programme qui supprime de la liste précédente les carrés pairs c) Écrire un programme qui donne la liste [0!,1!,2!...20!] en commençant la liste avec [1] et en utilisant append 4. Tuples À la différence des listes, les tuples ne sont pas mutables, on ne peut pas en changer les termes. Pour modifier un tuple, il faut le réaffecter A=(1,2) A[0] 1 A[0]=3 TypeError: 'tuple' object does not support item assignment A=(5,2) A[0] 5 Les tuples sont typiquement les objets utilisés quand nous définirons des fonctions de plusieurs variables. On peut transformer une liste en tuple A=[1,2,3,4] B=tuple(A) B (1,2,3,4) Et réciproquement C=list(2*B) C [1,2,3,4,1,2,3,4] On peut même écrire A=tuple(A)

12 5. Chaines de caractères Un caractère individuel est une chaine de longueur 1. Chaque caractère est codé par un nombre (Python utilise le codage UTF-8 par défaut). La fonction donnant le caractère en fonction du nombre est chr(x), la fonction donnant le nombre en fonction du caractère est ord(x). Ainsi chr(65)= A et ord(? )=63 Comme les tuples, les chaines de caractère ne sont pas mutables. On a cependant des possibilités plus nombreuses : On peut comparer des chaines, la comparaison se fait de gauche à droite, caractère par caractère (en fonction des nombres associés). Abc > ABC True # car ord( B )=66 et ord( b )=98, donc B < b 12 > 5 #ici ce sont les nombres True 12 > 5 False # car 1 < 5 Transformation en liste Ma_chaine= Bonne nuit les petits list(ma_chaine) ['B','o','n','n','e','','n','u', 'i','t', '','l','e','s','','p', 'e','t', 'i','t', 's'] Ma_chaine.split() ['Bonne','nuit','les', 'petits'] Ma_chaine.split( e ) ['Bonn',' nuit l', 's p', 'tits'] #on peut choisir le séparateur Remplacer : on utilise la méthode replace() Ma_chaine.replace(, _ ) Bonne_nuit_les_petits Exercices a) Les chaines de caractères n ont pas la méthode reverse. Écrire un programme qui demande un texte à l utilisateur, et écrit ce texte à l envers (ce programme commence par texte = input( Entrez votre texte ), instruction qui attend un texte, et qui le range dans la variable texte). b) Copiez dans votre presse papier le texte La cigale ayant chanté tout l été se trouva fort dépourvue quand la bise fut venue. Créez une variable, copiez-y le texte, et écrivez un programme qui écrit ce texte en changeant toutes les minuscules non accentuées en majuscules. Rappel : les majuscules vont de A(65) à Z(90), les minuscules de a(97) à z(122). c) Reprenez la cigale, et écrivez u programme qui donne la première lettre de chaque mot

13 Fonctions 1. Création d une fonction C est assez simple def factorielle(n) : P=1 For k in range(1,n+1) # de 1 inclus à n+1 exclu P=p*k return P factorielle(5) On peut créer des fonctions de plusieurs variables from math import sqrt def hypotenuse(a,b) : return sqrt(a*a+b*b) Les variables peuvent être des listes, des chaines de caractère, et même des fonctions def somme (liste): n = len(liste) S=0 For k in range(n) : S=S+liste[k] Return S A=[1,3,5,8,12] somme(a) Une function sans argument def bravo() : # il faut les parenthèses return Bon travail!!! N oubliez pas de rappelez cette fonction de temps en temps 4. Les fonctions lambda C est une autre manière de définir une fonction f = lambda x : x**3-5*x**2+2*x+1 f(2) -7 delta = lambda a, b, c : b**2-4*a*c delta(1,2,1) 0 5. Exercices a) On peut considérer qu on polynôme = est codée par la liste =[,,, ]. Programmer la fonction evalue_poly(p,x) qui à un polynôme considéré comme une liste et un réel associe le calcul de (). b) De même, programmer la fonction derive_poly(p) qui à un polynôme associe le calcul de sa dérivée c) Que fait la fonction suivante?

14 Mystere = lambda n : [k for k in range(1,n+1) if n%k==0] Codez la même fonction avec def. d) Codez la fonctions liste_isssues = lambda L,x :??? qui donne tous les indices de L dont le terme est égal à x.

15 Algorithmes de base 1. Écrire une fonction resolution(a,b,c) qui retourne la (ou les) solutions réelles de l équation ++ =0, et None si elle n a pas de solution. La tester sur divers exemples. (None signifie pas de sortie). 2. À l aide d une boucle for, calculer où la suite est définie par = 5, =ln (1+2 )(le logarithme népérien est dans la bibliothèque math, sous le nom de log) 3. Écrire un programme qui reçoit comme donnée un entier et qui calcule!. Exécutez ce programme pour n = 10 7, n=10 8 (vous pouvez interrompre l exécution en cliquant sur shell, redémarrer mais tout ce qui a été fait dans la console sera perdu. 4. Écrire une fonction max(a) qui retourne la plus grande valeur de a (évidemment, a doit être de type list, tuple ou str). La tester. 5. Écrire la fonction rang_max(a) qui retourne le premier indice où apparait la plus grande valeur de a 6. Écrire une fonction moy(a) qui calule la moyenne de a (à condition que a soit une liste de nombres. Raffinement possible : Compléter cette fonction en testant si le type de chaque terme est float ou int afin de faire return None plutôt qu un message d erreur. Aide : les principes de chaque algorithme 1. Calcul du discriminant, puis deux tests. On peut utiliser elif qui est la contraction de else if. N oubliez pas d importer la racine carrée. 2. Une variable U contient les termes successifs de la suite 3. Une variable S contient les valeurs successives de la somme, l instruction de base est "="+ (regardez la factorielle dans le chapitre précédent) 4. Une variable M contient le maximum des k premiers termes tant qu on n est pas au bout de la liste. 5. C est pareil, sauf qu il faut retenir l indice du maximum.

16 Des algorithmes au programme de 1 ère année 1. Recherche par dichotomie dans un tableau trié Énoncé du problème : étant donnée une liste triée de nombres, rechercher si un élément x est un terme de la liste et répondre son indice. Il y a de nombreuses manières d écrire ce programme Dans tous les cas, il y aura certainement def dicho(a,x) : n=len(a) Une borne gauche et une borne droite qui sont égales au début à 0 et n-1 L indice que l on traite est la moyenne entre gauche et droite (attention, utiliser // pour la division entière) : on compare a[indice] et x S ils sont égaux, on a gagné et on retourne l indice Sinon, on change suivant le cas la borne gauche ou la borne droite Et ce tant que l écart entre les deux bornes dépasse 1 Il faut être vigilant au cas où le nombre recherché est une des extrémités de la liste. Utilisation de ce programme : Nous allons créer une liste triée de 100 termes, en partant d un nombre au hasard, et chaque terme suivant sera obtenu en ajoutant un nombre aléatoire(mais positif) au terme précédent from random import randint # randint donne des entiers au hasard entre deux bornes a=[randint(0,20)] #un premier terme au hasarddans une liste de 1 élément for k in range(99) : a.append(a[k]+randint(1,20)) #la methode append ajoute un terme à la fin de la liste x=input( Quel nombre recherchez vous?) dicho(a,eval(x)) #eval car x est une chaine de caractères 2. Recherche du zéro d une fonction par dichotomie Si f est une fonction continue monotone sur [a; b], et que f(a) et f(b) sont de signes contraires, alors f s annule une unique fois sur [a; b]. L algorithme de dichotomie est le suivant : c = (a+b)/2 Si f(a) et f(c) sont de même signe (et donc la solution est entre c et b), remplacer a par c, sinon remplacer b par c Continuer tant que l écart b-a est plus grand qu une valeur préalablement fixée. Rappel : pour savoir si deux nombres sont de même signe, le plus simple est de tester le signe de leur produit 3. Calcul approché d une intégrale par la méthode des rectangles. f est une fonction, a, b les bornes et n le nombre de divisions La largeur de chaque rectangle est # = $%&. On divise l intervalle [,] en [ =,,, =], les forment une suite arithmétique de raison # donc =+#. % La somme de Riemann de gauche est donc " =#!'( ), celle de droite ( =# '( ). Reste à compléter le programme!

17 def rectangles (f,a,b,n) : l = (b-a)/n S,T =0,0 For k in range(n) : S = S+ T=T+ Return Si la fonction f est croissante, les deux valeurs S et T encadrent l intégrale de f. Dans tous les cas, la moyenne de S et T est la valeur approchée de l intégrale de f par la méthode des trapèzes. Utilisez cette méthode pour obtenir en valeur approchée de ) *+ -. (en faisant, varier n de 10 à Avant de faire le calcul, il faudra définir la fonction f. 4. Recherche d un mot dans un texte. Le problème : étant donné un texte, rechercher si un mot est présent dans ce texte, combien de fois et à quels emplacements. C est un problème crucial par exemple en analyse ADN, où on recherche des séquences particulières, et que les chaînes sont vraiment très longues. Algorithme naïf : on parcourt le texte, lettre par lettre. Si la lettre considérée est la même que la première lettre du mot, on regarde la lettre suivante, et ainsi de suite. Si tout est bon, on conserve l indice. Dès qu une lettre n est pas bonne, on passe à l indice suivant Il y aura deux boucles for imbriquées, le plus simple est de sortir de la seconde dès qu une comparaison échoue. Compléter le programme def mot_en_texte(texte,mot) : n = len(texte) m = len(mot) indices=[] # on prépare la liste où seront conservés les indices for k in range(n-m+1) :#On ne doit pas tester s il ne reste plus de place for j in range (m): if texte[ ]!=mot[ ]: break # sortie dès qu il n y a pas coïncidence if # À quelle condition a-t-on une solution? indices.append( return *

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

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

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

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

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

1 Recherche en table par balayage

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

Plus en détail

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

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

Corrigé des TD 1 à 5

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

Plus en détail

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

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

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

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

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

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

LES TYPES DE DONNÉES DU LANGAGE PASCAL

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

Plus en détail

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

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

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

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

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

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

Maple: premiers calculs et premières applications

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

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

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

# 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

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

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

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

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

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

TD3: tableaux avancées, première classe et chaînes

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

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

Algorithmes récursifs

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

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

EXCEL TUTORIEL 2012/2013

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

Plus en détail

Algorithme. Table des matières

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

Plus en détail

Représentation d un entier en base b

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

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

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

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

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

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

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

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

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

Plus en détail

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

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

Plus en détail

Initiation à LabView : Les exemples d applications :

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

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

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

Architecture des Systèmes d Information Architecture des Systèmes d Information

Architecture des Systèmes d Information Architecture des Systèmes d Information Plan... Tableaux et tris I3 - Algorithmique et programmation 1 Rappels Nicol Delestre 2 Tableaux à n dimensions 3 Initiation aux tris Tableaux - v2.0.1 1 / 27 Tableaux - v2.0.1 2 / 27 Rappels : tableau

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

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

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

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

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

MO-Call pour les Ordinateurs. Guide de l utilisateur

MO-Call pour les Ordinateurs. Guide de l utilisateur MO-Call pour les Ordinateurs Guide de l utilisateur Sommaire MO-CALL POUR ORDINATEURS...1 GUIDE DE L UTILISATEUR...1 SOMMAIRE...2 BIENVENUE CHEZ MO-CALL...4 MISE EN ROUTE...5 CONNEXION...5 APPELS...7 COMPOSITION

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

Sélection du contrôleur

Sélection du contrôleur Démo CoDeSys - 1 - 1. Configuration de l environnement de travail : Lancer le logiciel CoDeSys Fichier Nouveau Lors de la première utilisation, une boîte de dialogue apparaît permettant la sélection du

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

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

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB Ce document, écrit par des animateurs de l IREM de Besançon, a pour objectif de présenter quelques unes des fonctions du logiciel Scilab, celles qui sont spécifiques

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

Image d un intervalle par une fonction continue

Image d un intervalle par une fonction continue DOCUMENT 27 Image d un intervalle par une fonction continue La continuité d une fonction en un point est une propriété locale : une fonction est continue en un point x 0 si et seulement si sa restriction

Plus en détail

Continuité et dérivabilité d une fonction

Continuité et dérivabilité d une fonction DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité

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

Rappels sur les suites - Algorithme

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

Manuel de mise en page de l intérieur de votre ouvrage

Manuel de mise en page de l intérieur de votre ouvrage Manuel de mise en page de l intérieur de votre ouvrage Merci de suivre strictement les recommandations de ce manuel qui a pour but de vous aider à préparer un livre dont la qualité de mise en page est

Plus en détail

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

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

Plus en détail

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

Chapitre 4 Pierre, papier, ciseaux

Chapitre 4 Pierre, papier, ciseaux Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements

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

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

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

Les structures de données. Rajae El Ouazzani

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

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

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

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ Auteur : S.& S. Etienne F7n COUP DE BOURSE, NOMBRE DÉRIVÉ TI-Nspire CAS Mots-clés : représentation graphique, fonction dérivée, nombre dérivé, pente, tableau de valeurs, maximum, minimum. Fichiers associés

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

Programmation en Caml pour Débutants

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

Plus en détail

Débuter avec Excel. Excel 2007-2010

Débuter avec Excel. Excel 2007-2010 Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER

Plus en détail

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

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

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

Mon aide mémoire traitement de texte (Microsoft Word)

Mon aide mémoire traitement de texte (Microsoft Word) . Philippe Ratat Mon aide mémoire traitement de texte (Microsoft Word) Département Ressources, Technologies et Communication Décembre 2006. Sommaire PRÉSENTATION DU DOCUMENT 1 Objectif principal 1 Deux

Plus en détail

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad

Vous allez le voir au cours de ce premier chapitre, 1. Découvrir l ipad 1. Découvrir l ipad Vous allez le voir au cours de ce premier chapitre, l utilisation de l ipad est très intuitive et, surtout, votre tablette obéit au doigt et à l œil. Vous ne pourrez bientôt plus vous

Plus en détail

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi - 78160

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi - 78160 Sommaire Choisir son image... 2 Enregistrer son travail... 3 Créer les détails... 4 Supprimer une zone ou un détail... 6 Les commentaires... 6 Créer un lien hypertexte... 8 Appliquer un modèle... 8 Personnaliser

Plus en détail

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information TP Numéro 2 CRÉER ET MANIPULER DES TABLEAUX (Mise en forme, insertion, suppression, tri...) 1 CRÉER UN TABLEAU 1.1 Présentation Pour organiser et présenter des données sous forme d un tableau, Word propose

Plus en détail

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B Excel : Réalisation d un classeur Compta Saisir les étiquettes Renommer la première feuille Compta Laisser la première ligne vide et sur la deuxième ligne saisir les étiquettes Se placer sur A2 et saisir

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

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

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

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

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