GLO-190 Introduction à la programmation avec Python
|
|
- Pierre-Marie Langevin
- il y a 8 ans
- Total affichages :
Transcription
1 GLO-190 Introduction à la programmation avec Python Énoncés et syntaxe de base Marc Parizeau (automne 2011) Marc Parizeau, Département de génie électrique et de génie informatique
2 Plan Énoncés séquentiels expressions / affectations appels de fonction Énoncés conditionnels if / elif / else Énoncés répétitifs (boucles) for / else while / else break / continue Complexité algorithmique 2
3 Énoncés séquentiels Un énoncé se termine normalement par la fin d'une ligne on peut cependant séparer deux énoncés par un «;», mais il ne faut pas en abuser! >>> x = 1; y =2 on peut poursuivre un énoncé sur la ligne suivante lorsqu'on est à l'intérieur d'une paire de parenthèses («()»), de crochets («[]») ou d'accolades («{}») >>> x = [1, 2, 3,... 4, 5, 6,... 7, 8, 9] >>> print("une première chose,",... "une deuxième chose,",... "une troisième chose, etc.") Rappel: on veut limiter la longueur de nos lignes à 79 caractères ou moins! 3
4 Affectations Une affectation engendre toujours la création d'une référence sur un objet Python créé un nom de variable lors de sa première affectation la variable réfère toujours au dernier objet affecté Il faut toujours affecter une valeur à une variable avant d'utiliser celle-ci dans une expression quelconque >>> print(x) NameError: name 'x' is not defined 4
5 Les affectations peuvent prendre plusieurs formes plus ou moins complexes >>> spam = 'spam' >>> spam = ham = 'spam' >>> spam, ham = 'yum', 'YUM' >>> spam, ham ('yum', 'YUM') >>> [spam, ham] = 'yum', 'YUM' >>> spam, ham ('yum', 'YUM') >>> a, b, c, d = 'spam' >>> a, b, c, d ('s', 'p', 'a', 'm') >>> a, *b = 'spam' # le * désigne le reste >>> a, b ('s', ['p', 'a', 'm']) 5
6 Le principe est simple: on peut affecter un «itérable» dans un autre «itérable» chaque élément sera affecté à son correspondant dans la séquence >>> spam = 'spam' >>> a, b = spam[0], spam[1:] >>> a, b ('s', ['p', 'a', 'm']) >>> ((a, b), c) = ('sp', 'am') >>> a, b, c ('s', 'p', 'am') Cas de l'opérateur * >>> a, b = 'spam' ValueError: too many values to unpack >>> a, *b, c = 'spam' >>> a, b, c ('s', ['p', 'a'], 'm') >>> *a, b, c = 'spam' >>> a, b, c (['s', 'p'], 'a', 'm') >>> a, b, c, *d = 'spam' >>> a, b, c, d ('s', 'p', 'a', ['m']) 6
7 Affectations multiples: attention! >>> a = b = 0 >>> b = b + 1 >>> a, b (0, 1) >>> a = b = [] # a et b sont 2 références # sur le même objet >>> b.append(1) >>> a, b ([1], [1]) Opérateurs augmentés Au lieu d'écrire «b = b+1», on peut aussi écrire «b += 1» x += y x &= y x -= y x = y x *= y x ^= y x /= y x %= y x <<= y x >>= y x **= y x //= y 7
8 Noms de variable Le premier caractère est une lettre ou «_», les caractères suivants sont des lettres, des chiffres ou «_» «spam», «_spam» et «spam_1» sont légaux, mais pas «1_spam», «spam$», ni Les majuscules et les minuscules sont différentes «spam», «Spam», et «SPAM» sont trois variables différentes Les mots réservés suivants ne doivent jamais être utilisés: False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise 8
9 Conventions Les noms qui débutent et se terminent par, par exemple «name» ont une signification spéciale pour l'interpréteur Python; ne pas les utiliser De même, les noms qui débutent par un seul «_» ne sont pas traités de la même façon que les autres lors de l'importation de modules nous y reviendrons plus loin... 9
10 Expressions Les expressions sont formées de: constantes variables (expression) expression opérateur expression fonction(expression, expression,...) >>> 1 # constante 1 >>> a # variable a >>> a + 1 # exp op exp >>> (a + 1) # ( exp ) >>> fct(a, b) # appel de la fonction fct 10
11 Fonction print() Ce qui est entre crochet est optionnel: print([exp1, exp2,...][,sep=' '][,end='\n']) La fonction affiche la valeur des expressions exp1, exp2, etc., énumérées en argument L'argument sep spécifie ce qui doit être affiché entre les valeurs par défaut, c'est un espace L'argument end spécifie ce qui doit être affiché après le dernier objet par défaut, c'est un retour à la ligne 11
12 print([exp1, exp2,...][, sep=' '][,end='\n']) >>> a = 1; b = 'spam'; c = [3, '4', 'spam'] >>> print() >>> print(a, b, c) 1 spam [3, '4', 'spam'] >>> print(a, b, c, sep='---') 1---spam---[3, '4', 'spam'] >>> print(a, b, c, end='---\n') 1 spam [3, '4', 'spam']--- 12
13 Quiz Nommez trois façons différentes pour affecter une valeur unique à trois variables différentes? Quel est le résultat de l'affectation suivante? >>> a, b, c, d, *e = 'spam' Quel est le problème potentiel lorsqu'on affecte le même objet à trois variables différentes? Soit la variable x associée à une liste. Quel est le problème avec l'énoncé «x = x.sort()»? 13
14 Énoncés conditionnels Format général: if <test #1>: <bloc d'énoncés #1> elif <test #2>: <bloc d'énoncés #2>... elif <test #n>: <bloc d'énoncés #n-1> else: <bloc d'énoncés #n> # optionnel # optionnel # optionnel Si le test #1 est vrai, alors le bloc d'énoncés #1 est exécuté, sinon si le test #2 est vrai, alors le bloc d'énoncés #2 est exécuté, sinon si...; autrement, si aucun des tests n'est vrai, alors le block d'énoncés #n est exécuté le nombre de clauses sinon si («elif») n'est pas limité; la clause autrement («else») est unique; ces deux clauses sont optionnelles 14
15 Un test est une expression booléenne (dont la valeur est «True» ou «False») >>> if True:... print('vrai') >>> else:... print('faux') Un bloc d'énoncés doit être indenté vers la droite d'un nombre fixe de colonnes le nombre d'espaces doit être rigoureusement le même pour tous les énoncés d'un même bloc par convention nous utiliserons 4 espaces 15
16 Par exemple: >>> print("entrez le jour de la semaine") >>> jour = input() >>> if jour == 'lundi':... act = "dépannage de 16:30 à 17:30" >>> elif jour == 'mardi':... act = "cours de 15:30 à 17:30" >>> elif jour == 'mercredi':... act = "aucune activité" >>> elif jour == 'jeudi':... act = "cours de 10:30 à 12h30\n"... act += "dépannage de 12:30 à 13:30" >>> elif jour == 'vendredi':... act = "dépannage de 13:30 à 16:30" >>> else:... act = "jour inconnu ou invalide!" >>> print("activités du jour:") >>> print(act) 16
17 Exemples d'exécution >>> ============================= RESTART ============================= >>> Entrez le jour de la semaine lundi Activités du jour: dépannage de 16:30 à 17:30 >>> ============================= RESTART ============================= >>> Entrez le jour de la semaine mardi Activités du jour: cours de 15:30 à 17:30 >>> ============================= RESTART ============================= >>> Entrez le jour de la semaine jeudi Activités du jour: cours de 10:30 à 12h30 dépannage de 12:30 à 13:30 >>> ============================= RESTART ============================= >>> Entrez le jour de la semaine samedi Activités du jour: jour inconnu ou invalide! >>> 17
18 Usage d'une liste d'activités >>> print("entrez le jour de la semaine") >>> jour = input() >>> act = [] # liste vide >>> if jour == 'lundi':... act.append("dépannage de 16:30 à 17:30") >>> elif jour == 'mardi':... act.append("cours de 15:30 à 17:30") >>> elif jour == 'mercredi':... act.append("aucune activité") >>> elif jour == 'jeudi':... act.append("cours de 10:30 à 12h30")... act.append("dépannage de 12:30 à 13:30") >>> elif jour == 'vendredi':... act.append("dépannage de 13:30 à 16:30") >>> else:... act.append("jour inconnu ou invalide!") >>> print("activités du jour:") >>> print(act) 18
19 >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine lundi Activités du jour: ['dépannage de 16:30 à 17:30'] >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine mardi Activités du jour: ['cours de 15:30 à 17:30'] >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine mercredi Activités du jour: ['aucune activité'] >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine jeudi Activités du jour: ['cours de 10:30 à 12h30', 'dépannage de 12:30 à 13:30'] >>> 19
20 Usage d'un dictionnaire >>> print("entrez le jour de la semaine") >>> jour = input() >>> act = {'lundi': "dépannage de 16:30 à 17:30",... 'mardi': "dépannage de 16:30 à 17:30",... 'mercredi': "aucune activité",... 'jeudi': ("cours de 10:30 à 12h30",... "dépannage de 12:30 à 13:30"),... 'vendredi': "dépannage de 13:30 à 16:30"} >>> print("activités du jour:") >>> if act.get(jour):... print(act[jour]) >>> else:... print("jour inconnu ou invalide!") 20
21 >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine lundi Activités du jour: dépannage de 16:30 à 17:30 >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine mardi Activités du jour: dépannage de 16:30 à 17:30 >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine jeudi Activités du jour: ('cours de 10:30 à 12h30', 'dépannage de 12:30 à 13:30') >>> ============================ RESTART ============================ >>> Entrez le jour de la semaine dimanche Activités du jour: jour inconnu ou invalide! >>> 21
22 Synthèse Les énoncés s'exécutent normalement du premier au dernier jusqu'à ce que vous précisiez autrement les énoncés conditionnels et répétitifs permettent de modifier le flux d'exécution Les blocs d'énoncés sont détectés automatiquement, basé sur l'indentation Les énoncés composés ont une forme normalisée <en-tête> «:» <bloc d'énoncés indentés> Les lignes blanches, les espaces et les commentaires sont habituellement ignorés par contre, le nombre d'espace en début de ligne détermine l'indentation l'indentation définit les frontières des blocs d'énoncés 22
23 x = 1 if x: y = 2 if y: print("bloc #2") print("bloc #1") print("bloc #0") Toujours utiliser des espaces pour indenter; jamais des caractères de tabulation il faut configurer adéquatement notre éditeur pour qu'il fasse le travail à notre place on appui sur la touche <tab> et l'éditeur insère le bon nombre d'espaces dans le fichier 23
24 Expression booléenne Tout nombre non zéro possède une valeur True zéro est équivalent à False Tout contenant (liste, tuple, dictionnaire, fichier, etc.) non vide possède la valeur True un contenant vide est équivalent à False Les opérateurs de comparaison (<, >, <=, >=, ==,!=) retournent soit True, soit False, selon le résultat de la comparaison Les opérateurs logiques and, or et not retournent True ou False selon le résultat de l'opération 24
25 if / else ternaire Forme: (exp1 if exp2 else exp3) retourne exp1 si exp2 est vrai, autrement exp3 par exemple: a = y if x else z équivalent aux énoncés: if x: a = y else: a = z 25
26 Quiz Décrivez deux façons de traiter un ensemble de cas? Comment fait-on pour construire une expression qui incorpore une condition? Comment fait-on pour étendre un même énoncé sur plusieurs lignes À quoi correspondent les valeurs True et False? 26
27 Énoncés répétitifs Deux énoncés possibles: while for Format général du while: while <test>: <bloc d'énoncés #1> else: # optionnel <bloc d'énoncés #2> 27
28 Par exemple: >>> while True:... print("entrer CTL-C pour m'arrêter!")... Entrer CTL-C pour m'arrêter! Entrer CTL-C pour m'arrêter! Entrer CTL-C pour m'arrêter! etc. >>> x = 'spam' >>> while x:... print(x, end=' ')... x = x[1:]... spam pam am m >>> a = 0; b = 10 >>> while a < b:... print(a, end=' ')... a +=
29 break / continue On peut utiliser l'énoncé break pour sortir de la boucle avant sa terminaison normale On peut se servir de l'énoncé continue pour passer immédiatement à l'itération suivante de la boucle Format général: while <test1>: <bloc d'énoncés #1> if <test2>: break if <test3>: continue # retourner au test1 <bloc d'énoncés #2> else: <bloc d'énoncés #3> # sortir de la boucle maintenant # exécuté lorsque test1 est faux Lorsque présente, la clause else est toujours exécutée à la fin de la boucle, sauf lorsqu'un break vient interrompre le déroulement normal de celle-ci 29
30 Par exemple: >>> while True:... nom = input("entrez un nom: ")... if nom == 'stop': break... age = input("entrez votre age: ")... print("bonjour %s!" % nom)... print("votre age au carré est %d"... % age **2)... Entrez un nom: Marc Entrez votre age: 47 Bonjour Marc! Votre age au carré est 2209 Entrez un nom: stop >>> 30
31 else Test pour vérifier si un nombre est premier (algorithme non optimal) >>> from math import sqrt >>> p = int(sqrt(x)) >>> while p > 1:... if x % p == 0:... print(p, "est un facteur de", x)... break... p -= 1... else:... print(x, "est premier!") 31
32 Boucle for Forme générale: for <cible> in <itérable>: <bloc d'énoncés #1> if <test>: break # facultatif if <test>: continue # facultatif else: # facultatif <bloc d'énoncés #2> pour chaque objet <cible> contenu dans un <itérable>, exécuter <bloc d'énoncés #1»; à la fin, exécuter <bloc d'énoncés #2> à condition de ne pas être sorti de la boucle avec un «break» le continue met fin à l'itération courante de la boucle le break met fin à la boucle les énoncés continue et break peuvent se trouver n'importe où dans le corp de la boucle 32
33 Par exemple: >>> for x in ['spam', 'eggs', 'ham']:... print(x, end=' ')... spam eggs ham >>> somme = 0 >>> for x in [1, 2, 3, 4]:... somme = somme + x... >>> somme 10 >>> produit = 1 >>> for x in [1, 2, 3, 4]:... produit *= x... >>> produit 24 33
34 On peut itérer sur tout ce qu'on veut; par exemple sur des tuples: >>> t = [(1,2), (3,4), (5,6)] >>> for (a,b) in t:... print(a, b) On peut aussi itérer sur les clés d'un dictionnaire: >>> d = {'a': 1, 'b': 2, 'c'= 3} >>> for x in d:... print(x, '=>', d[x])... a => 1 b => 2 c => 3 34
35 Approche équivalente utilisant la fonction items: >>> d = {'a': 1, 'b': 2, 'c'= 3} >>> for (cle,valeur) in d.items():... print(cle, '=>', valeur)... a => 1 b => 2 c => 3 Cas de l'opérateur * >>> l = [(1,2,3,4), (5,6,7), (8,9)] >>> for (a,b,*c) in l:... print(a,b,c) [3, 4] 5 6 [7] 8 9 [] 35
36 Boucles imbriquées >>> items = ['aaa', 111, (4,5), 2.01] >>> cles = [(4,5), 3.14] >>> for cle in cles:... print('cle', cle, end=' ')... for item in items:... if(item == cle):... print('trouvée')... break... else:... print('non trouvée')... cle (4, 5) trouvée cle 3.14 non trouvée Solution alternative: >>> for cle in cles:... print('cle', cle, end=' ')... if cle in items:... print('trouvée')... else:... print('non trouvée')... cle (4, 5) trouvée! cle 3.14 non trouvée. 36
37 While vs for? Quand doit-on utiliser la boucle while et quand doit-on utiliser le for? en Python on utilise le plus souvent le for, car il est conceptuellement plus simple et plus direct, lorsqu'on doit itérer sur tous les éléments d'un objet «itérable» (liste, tuple, dictionnaire, etc.) le while sert moins souvent, on l'utilisera dans des cas particuliers, par exemple lorsqu'on doit répéter des traitements sur des objets pour lesquels il n'est pas aisé d'itérer d'une façon régulière (rarement le cas) 37
38 range([start,]stop[,step]) Fonction qui produit une séquence itérable d'entiers compris dans l'intervalle [start,stop[, en utilisant le pas step par défaut, start = 0 et step = 1 >>> list(range(5)) [0, 1, 2, 3, 4] >>> list(range(-1,5)) [-1, 0, 1, 2, 3, 4] >>> list(range(5, -1, -1)) [5, 4, 3, 2, 1, 0] >>> for i in range(5):... print(i, end=' ')
39 zip(*iterable) Reçoit un nombre quelconque d'objets «itérables» et retourne un autre «itérable» dont les éléments correspondent à l'agrégation des éléments des objets reçus >>> x = [1,2,3,4,5] >>> y = [6,7,8,9,0] >>> list(zip(x,y)) [(1, 6), (2, 7), (3, 8), (4, 9), (5, 0)] >>> for (i,j) in zip(x,y):... print(i,'+',j,'=',i+j) = = = = = 5 39
40 Quiz Quelle est la différence fondamentale entre une boucle while et une boucle for? Quelle est la différence entre les énoncés break et continue? Sous quelle condition la clause else d'une boucle est-elle exécutée? En supposant l'existence d'une liste de clés et d'une liste de valeurs, construisez un dictionnaire à l'aide d'une boucle for et de la fonction zip 40
41 Définition «en compréhension» d'une liste On peut aussi définir une liste en utilisant une expression similaire à l'énoncé for >>> a = [1,2,3,4,5] >>> b = [i+10 for i in a] >>> b [11, 12, 13, 14, 15] Sa forme simple est: [<exp> for <objet> in <itérable>] Nous verrons sa forme générale plus tard... 41
42 Documentation Les commentaires débutent par «#» tout ce qui suit est ignoré par l'interpréteur sert à documenter un ou plusieurs énoncés dont l'interprétation n'est pas évidente La fonction dir permet d'afficher l'ensemble des attributs associés à un objet: >>> dir([]) [' add ', ' class ', ' contains ', ' delattr ', ' delitem ', ' doc ', ' eq ', ' format ', ' ge ', ' getattribute ', ' getitem ', ' gt ', ' hash ', ' iadd ', ' imul ', ' init ', ' iter ', ' le ', ' len ', ' lt ', ' mul ', ' ne ', ' new ', ' reduce ', ' reduce_ex ', ' repr ', ' reversed ', ' rmul ', ' setattr ', ' setitem ', ' sizeof ', ' str ', ' subclasshook ', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] 42
43 L'attribut doc est une chaîne de caractères qui documente l'objet C'est ce qu'on appel la «docstring» >>> print([]. doc ) list() -> new empty list list(iterable) -> new list initialized from iterable's items La première string d'un fichier est sa «docstring» Documenter vos fichiers, vos classes et vos fonctions #!/usr/bin/env python # -*- coding: utf-8 -*- """ Description du module """ auteur = "Prénom Nom" date = "aaaa-mm-jj" coequipiers = "Coéquipier 1", "Coéquipier 2" class MaClasse(object): """Description de la classe """ def unefonction(): """Description de la fonction """ 43
44 Outil PyDoc3 Permet d'inspecter automatiquement tous les attributs d'un objet et d'afficher la documentation associée à ces attributs les classes les fonctions les données La fonction help permet d'afficher la documentation associée à un objet directement dans l'interpréteur Le programme Pydoc3 affiche une interface graphique et permet de consulter la documentation en HTML Si vous documentez adéquatement votre code, vous pourrez vous aussi produire automatiquement une documentation sous forme de pages web 44
45
46 Complexité algorithmique Un programme traite habituellement un nombre variable de données L'ordre de la complexité algorithmique indique la façon dont le temps d'exécution croît avec la quantité de données à traiter croissance linéaire O(n) croissance quadratique O(n 2 ) croissance cubique O(n 3 ) etc. 46
47 Dans le cas linéaire, lorsqu'on double la quantité de données, on double aussi le temps de traitement Dans le cas quadratique, cependant, lorsqu'on double la quantité de données, on quadruple le temps de traitement La notation O(f(n)) spécifie que l'ordre de la complexité se comporte au plus comme une fonction en f(n), où n est la taille du problème (la quantité de données) c'est une borne supérieure sur la complexité on appelle cette notation «Big-O» 47
48 x 2x 10x 100x O(n) O(n 2 ) O(n 3 ) O(n log n) ~2.3 ~15 ~200 Croissance du temps de calcul pour une algorithme hypothétique requérant 1 unité de temps pour résoudre un problème de taille x 48
49 temps O(n 3 ) O(n 2 ) O(n log n) O(n) n 49
50 Par exemple, un algorithme simple de tri sera O(n 2 ); p. ex. le «tri bulle» Un bon algorithme de tri (comme celui du Python) est O(n log n) dans le pire des cas Problème du «Maximum Subsequence Sum» (MSS) dans une séquence quelconque d'entiers (positifs et négatifs), on veut trouver la sous-séquence dont la somme des éléments est maximum a1 a2 a3 a4... an-3 an-2 i j 50
51 MSS - algorithme #1 Essayer toutes les sous-séquences: il y en a autant que le nombre de combinaisons de 2 objets choisis parmi n+1 (sans répétition) C(2,n+1) = (n+1) x n / 2 = O(n 2 ) Pour chaque sous-séquence, calculer la somme qui, en moyenne, contient un nombre de termes proportionnel à n Au total, O(n 3 ) opérations sont nécessaires 51
52 def MSS1(sequence): n = len(sequence) maxsum = 0 for i in range(n): for j in range(i, n): thissum = 0 for k in range(i,j): thissum += sequence[k] if thissum > maxsum: maxsum = thissum return maxsum a1 a2 a3 a4... an-3 an-2 i j 52
53 MSS - algorithme #2 Soit «Si,j» la somme des termes de la sous-séquence (i,j) Observation: Si,j+1 = Si,j + aj+1 Le calcul de la somme peut donc se faire en temps constant, à condition de mémoriser la somme précédente L algorithme devient quadratique! 53
54 def MSS2(sequence): n = len(sequence) maxsum = 0 for i in range(n): thissum = 0 for j in range(i, n): thissum += sequence[j] if thissum > maxsum: maxsum = thissum return maxsum a1 a2 a3 a4... an-3 an-2 i j 54
55 MSS - algorithme #3 Doit-on vraiment considérer toutes les sous-séquences? Observation: une sous-séquence négative ne peut pas précéder la MSS, sinon on l enlèverait!... S < 0 MSS?... i j 55
56 def MSS3(sequence): n = len(sequence) thissum = maxsum = 0 i = j = 0 while j < n: thissum += sequence[j] if thissum > maxsum: maxsum = thissum elif thissum < 0: i = j + 1 thissum = 0 j += 1 return maxsum a1 a2 a3 a4... an-3 an-2 i j 56
57 Conclusion L'indentation fait partie intégrante de la syntaxe du python utiliser les espaces pour indenter L'énoncé if / elif / else permet d'exécuter des blocs d'énoncés conditionnellement indenter le bloc d'énoncés ; ne pas oublier le «:» Les énoncés while / for / else permettent de boucler sur un bloc d'énoncés indenter le bloc d'énoncés ; ne pas oublier le «:» utiliser l'énoncé break permet terminer prématurément la boucle; utiliser l'énoncé continue pour passer immédiatement à l'itération suivante 57
58 Il faut documenter vos programmes chaque fichier chaque classe chaque fonction Le fait d'imbriquer des boucles augmente généralement la complexité algorithmique attention aux complexités quadratique et cubique qui, en pratique, limitent fortement la taille des problèmes pouvant être résolus dans un temps raisonnable 58
59 Quiz Comment pourrait-on modifier les solutions du problème MSS pour retourner à la fois la valeur de la sousséquence maximum et les indices qui la définissent? comment identifier ces indices? comment retourner trois valeurs au lieu d'une seule? 59
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étailChapitre 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étailSTAGE 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étailDé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étailRecherche 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étailPré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étailLES 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étailAlgorithmique 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étail1/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étailTP 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étailSHERLOCK 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étailLes 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étailINITIATION 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étail1 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étailTP 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étailLicence 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étailProgrammer 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étailIntroduction à 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étailINTRODUCTION 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étailLes classes en Python
CHAPITRE 1 Les classes en Python Le mécanisme de classe en Python permet d introduire les classes avec un minimum de syntaxe et sémantique nouvelles. Les caractéristiques les plus importantes des classes
Plus en détailCours 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étail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
Plus en détailIN 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étailI. 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étailInitiation à 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étail1 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étailCours 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étail1. 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étailCours 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étailL 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étailPython Les fondamentaux du langage
Editions ENI Python Les fondamentaux du langage (Nouvelle édition) Collection Ressources Informatiques Extrait 654 Python Les fondamentaux du langage 1.2 Objectifs du chapitre Dans ce chapitre sont présentés
Plus en détail1. 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étailCours 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étailCours 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étailAlgorithmique et structures de données I
Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence
Plus en détailRappel. 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étailComplexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation
Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul
Plus en détailPlan 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étailConventions 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étailINF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30
Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité
Plus en détailAlgorithmique 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étailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailLes bases du langage Python
Laboratoire de mathématiques d'orsay 6 décembre 2010 Plan 1 Présentation de Python 2 Les types et les opérations de base 3 Les structures de contrôle 4 Les fonctions 5 Les chiers 6 Les classes 7 Les exceptions
Plus en détailINF 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étailBernard HAMM, Évelyne LAVOISIER
92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec
Plus en détailAlgorithmique & programmation
Algorithmique & programmation Type structuré Article, Enregistrement, Structure Définition de nouveaux types!! On a vu les types simples "! entier, booléen, caractère, chaîne de caractères!! Comment gérer
Plus en détailUEO11 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étailLicence 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étailDM 1 : Montre Autoquartz ETA
Lycée Masséna DM 1 : Montre Autoquartz ETA 1 Présentation de la montre L essor de l électronique nomade s accompagne d un besoin accru de sources d énergies miniaturisées. Les contraintes imposées à ces
Plus en détailIntroduction à R. Florence Yerly. Dept. de mathématiques, Université de Fribourg (CH) SP 2011
Dept. de mathématiques, Université de Fribourg (CH) SP 2011 Qu est ce que R? Un logiciel de statistiques libre et gratuit ; Un logiciel multi-plateforme (UNIX, Windows MacOS X) R permet de faire des calculs
Plus en détailChapitre 4 : Édition de fichiers texte - Vi
Édition de fichiers texte - Vi ÉNONCÉSDUCHAPITRE4 33 Chapitre 4 : Édition de fichiers texte - Vi X Durée : 1heure30 X Mots-clés : Éditeur, texte, vi, vim. X Objectif À l'issue de ce chapitre, vous serez
Plus en détailExcel 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étail2 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étailCORRECTION EXERCICES ALGORITHME 1
CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré
Plus en détailACTIVITÉ 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étailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détail1. Introduction...2. 2. Création d'une requête...2
1. Introduction...2 2. Création d'une requête...2 3. Définition des critères de sélection...5 3.1 Opérateurs...5 3.2 Les Fonctions...6 3.3 Plusieurs critères portant sur des champs différents...7 3.4 Requête
Plus en détailUtilisation 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étail4 Exemples de problèmes MapReduce incrémentaux
4 Exemples de problèmes MapReduce incrémentaux 1 / 32 Calcul des plus courtes distances à un noeud d un graphe Calcul des plus courts chemins entre toutes les paires de noeuds d un graphe Algorithme PageRank
Plus en détailExercices 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étailLangage 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étailInitiation à 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étailLangage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Plus en détailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailModule Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP
Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec
Plus en détailLE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Plus en détailPerl Orienté Objet BioPerl There is more than one way to do it
Perl Orienté Objet BioPerl There is more than one way to do it Bérénice Batut, berenice.batut@udamail.fr DUT Génie Biologique Option Bioinformatique Année 2014-2015 Perl Orienté Objet - BioPerl Rappels
Plus en détailInfo0101 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étailUniversité Ibn Zohr Excel Résume de cours
Le logiciel Excel: Excel est un tableur qui permet de saisir des données, de les afficher et de faire des traitements sur ces données. Les originalités du tableur sont l'organisation des données et les
Plus en détailInstructions et spécifications pour la transmission en format XML de déclarations par lots. 30 mai 2015 MODULE 1
Instructions et spécifications pour la transmission en format XML de déclarations par lots 30 mai 2015 MODULE 1 Table des matières Modifications apportées dans la présente... 3 1 Renseignements généraux...
Plus en détailCours d Informatique
Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1
Plus en détailCRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailModule Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailArchitecture 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étailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en détailGuide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David
Guide de formation avec cas pratiques Excel 2007 Programmation Avancé VBA Guide de formation avec cas pratiques Philippe Moreau Patrick Morié Daniel-Jean David Tsoft et Groupe Eyrolles, 2009, ISBN : 978-2-212-12446-0
Plus en détailLe modèle de données
Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.
Plus en détailInitiation à 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étailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailCentre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :
Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de
Plus en détailClaude Delannoy. 3 e édition C++
Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.
Plus en détailTABLEAU CROISE DYNAMIQUE
EXCEL NIVEAU III Mireille DUCELLIER MARS 2003 BASE DE DONNEES RAPPEL Une base de données est une plage de cellules contiguës située sur une la feuille 1. Elle commence en A1. On parle alors de champs,
Plus en détailhttp://cermics.enpc.fr/scilab
scilab à l École des Ponts ParisTech http://cermics.enpc.fr/scilab Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données Jean-Philippe Chancelier & Michel De Lara cermics,
Plus en détailLANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Plus en détailCours 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étailSolutions 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étailTD3: 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étailLe langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
Plus en détailExamen Médian - 1 heure 30
NF01 - Automne 2014 Examen Médian - 1 heure 30 Polycopié papier autorisé, autres documents interdits Calculatrices, téléphones, traducteurs et ordinateurs interdits! Utilisez trois copies séparées, une
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
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>
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étailSOMMAIRE. 1. Préambule...2. 2. Le calendrier...2. 3. Trajectoire d un objet lancé...6. 4. Régression linéaire...9
SOMMAIRE 1. Préambule...2 2. Le calendrier...2 3. Trajectoire d un objet lancé...6 4. Régression linéaire...9 5. Calcul de commissions par tranches...12 6. Base de données...16 7. Valeur cible...19 ATTENTION
Plus en détailModule : Informatique Générale 1. Les commandes MS-DOS
1 Les commandes MS-DOS I. Introduction Le DOS est le système d'exploitation le plus connu, sa version la plus commercialisée est celle de Microsoft, baptisée MS-DOS (Microsoft Disk Operating Système).MS-DOS
Plus en détailCorrigé 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étail1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5
1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en
Plus en détail