OPTIMISATION EN VISUAL BASIC APPLICATION

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

Download "OPTIMISATION EN VISUAL BASIC APPLICATION"

Transcription

1 OPTIMISATION EN VISUAL BASIC APPLICATION Avant propos Voici un petit recueil d'idées pour réaliser une optimisation des programmes en VBA. IL résulte de mes propres expériences et lectures. D'une manière générale, il n'est pas évident de savoir si telle ou telle forme optimise un codage. Il convient par conséquent de tester soi-même, différente forme pour en garder que les meilleurs. Ce tutoriel hiérarchise un peu ces différentes formes qu on peut imaginer. J'indique les performances approximatives des formes non optimisées par rapport à la forme optimisée testée à "vide". La mesure du temps étant réalisée simplement par la fonction "Timer" car seul le classement importe. Il est certain, que cela peut varier beaucoup selon le contexte (appel en cache) ou selon le mode d'exécution. Mais, le classement lui varie assez peu. La notation (+5*) signifie une exécution 5 fois plus lente. Vous trouverez aussi un petit listing, permettant à chacun d avoir une base pour élaborer ses propres procédures de test. Dans une certaine mesure, ces optimisations sont applicables pour un programme VB compilé. Généralités Par optimisation, je considère la vitesse d'exécution uniquement. Néanmoins, il me semble assez logique, qu'on puisse interpréter l'optimisation de différentes façons. Par exemple, on peut considérer l'optimisation comme l'algorithme le plus court, le plus simple, le plus clair afin d'en faciliter la relecture ultérieure ou encore le moins gourmand en ressource matérielle, etc... Ces aspects sont tout aussi louables que l'optimisation de la vitesse, et se cumulent souvent. En réalité, le programmeur doit souvent faire des compromis entre ces différents aspects. Pour optimiser une programmation existante, il est assez évident qu on peut opérer des priorités, dont la première consiste à optimiser les boucles les plus sollicitées, puis en allant vers les répétitions de codes les moins courantes. Un autre principe évident, c est de réutiliser au maximum une expression calculée stockée dans une variable, et d utiliser un nombre restreint de variables. Mais, la meilleure optimisation reste d un autre ordre non évoqué ici, consistant à trouver le meilleur algorithme, qui dépend que de votre réflexion! Optimisation des variables Déclarations des variables La déclaration du type de variable est une première optimisation extrêmement classique et indispensable. Afin de n'oublier aucune déclaration, utiliser en tête de module ou de Form etc... la fonction : Option Explicit Succinctement, à retenir pour choisir le type : Pour des nb entier utiliser de préférence le type Long. Pour des nb décimaux utiliser nécessairement le type Double. Pour des variables de chaînes utiliser le type String. Bien sur, les déclarations dépendent aussi des besoins.

2 Mais d une manière générale, l emploi du type Variant (autre que dans les appels de fonctions) n'est jamais indispensable, et est à proscrire pour l optimisation. Ce type est surtout intéressant pour faciliter la programmation aux débutants. Mais cette facilité se paye par une baisse importante des performances. Une remarque de syntaxe. A tord, certains pensent que : " Dim a, b, c As Long" déclare les 3 variables en Long. Seul "c" est ici en Long, "a" et "b" sont déclarées en Variant, par défaut. La syntaxe correcte est : " Dim a As Long, b As Long, c As Long" Utilisation des tableaux (Dim) Quelques évidences. L optimisation avec les tableaux, consiste d abord à déclarer son type. Puis, autant que possible, il faut trouver une " structure " et/ou déterminer le nombre d éléments, quitte à définir un nombre en excès, afin de ne jamais manipuler une nouvelle fois la déclaration d un tableau ; par exemple, éviter de réutiliser Redim (Preserve). L utilisation d une variable tableau est toujours moins rapide qu une variable simple de type équivalent. Cette caractéristique est générale. La durée est au moins doublée. Donc, n utilisez pas une variable tableau dans des instructions spécifiques, comme par exemple dans une boucle FOR avec FOR M(0)= etc. Optimisation sur les nombres Longueur d'un nombre entier positif ou nul. Pour connaître le nombre de chiffre. Fix(Log(nb ) / Log(10)) + 1 Ici 0.11 est utile dans le cas ou nb=0, ainsi la formule renvoi 1. Si nb ne peut pas être nul, retirer cette constante. Forme équivalente : (+3.9*) Len(Str$(nb)) - 1 Forme équivalente : (+5*) Len(Trim$(Str$(nb))) Dim nb As Long, lg As Long For nb = 1 To lg = Fix(Log(nb ) / Log(10)) + 1 ' par formule math 'lg = Len(Str$(nb)) - 1 ' chaîne 'lg = Len(Trim$(Str$(nb))) 'par fonction de chaîne Pour un nombre entier négatif A partir de la forme précédente, il faut adapter la programmation et on rajoutera +1 pour tenir compte du signe négatif ou +1 pour la virgule. Fix(Log(Abs(nb) ) / Log(10)) + 2

3 Forme équivalente : Len(Str$(nb)) etc... Parité d un nombre Pour tester si un nombre est pair : If (nb And 1) = 0 Then... Forme équivalente : (+1.2*) If nb Mod 2 = 0 Then... Forme équivalente : (+1.3*) If nb = 2 * (nb \ 2) Then... Forme équivalente : (+2.1*) If nb = 2 * Int(nb / 2) Then... Forme équivalente : (+2.7*) If nb / 2 = Int(nb / 2) Then... Dim nb As Long, lg As Long For nb = 0 To If (nb And 1) = 0 Then lg = lg + 1 'If nb Mod 2 = 0 Then lg = lg + 1 'If nb = 2 * (nb \ 2) Then lg = lg + 1 'If nb = 2 * Int(nb / 2) Then lg = lg + 1 'If nb / 2 = Int(b / 2) Then lg = lg + 1 Pour tester si un nombre est impair : If (nb And 1) Then... Remarque : Entre les deux formes optimisées, cette dernière est plus rapide car il n y a pas de test d égalité (=0) prenant du temps dans le traitement. (pair : +1.1*) Calculs des puissances entières Curieuse fonction que " ^ " qui s effectue en un temps quasi-constant quelle que soit la puissance, mais reste moins rapide que la multiplication successive jusqu à puissance 9 environ. nb = lg * lg *... * lg Forme équivalente : nb = lg ^ 2 (+7.5*) nb = lg ^ 3 (+5.0*)

4 nb = lg ^ 4 (+4.6*) nb = lg ^ 5 (+3.9*) Dim nb As Long, lg As Long, A As Long lg = 100 For A = 0 To nb = lg * lg 'nb = 100 * 100 'nb = lg ^ 2 Calcul de la racine carré lg = Sqr(nb) Forme équivalente : (+3.5*) lg = nb ^ 0.5 Dim nb As Long, lg As Double For nb = 1 To lg = Sqr(nb) 'lg = nb ^ 0.5 Remarque : comme pour les puissances, on peut cumuler les racines carrés optimisées jusqu à 4. Ainsi lg = Sqr(Sqr(Sqr(Sqr(nb)))) est la dernière expression plus rapide que lg = nb ^ Division entière Dans le cas où les nombres peuvent être déclarés en type Long sans dépassement de capacité. nb = nb1 \ nb2 Forme équivalente : (+2.3*) Nb = Int(nb1 / nb2) Dim nb As Long, lg As Long For nb = 1 To lg = \ nb 'lg = Int( / nb) La multiplication plus rapide que la division

5 Dans une expression mathématique, il est légèrement plus rapide d'effectuer une multiplication par l'inverse d'un nombre que de diviser par ce même nombre. Ainsi, par exemple, pour diviser par 4, au lieu de faire (expression)/4, faire 0.25*(expression). nb = nb1 * [inverse nb2] Forme équivalente : (+1.1*) Nb = nb1 / nb2 Dim nb As Double, lg As Double For nb = 1 To lg = nb * 0.25 'lg = nb / 4 Le Pré-calcul Dans une boucle, il faut sortir tous les calculs d expression constante. Dim nb As Long, lg As Double, z As Double z = Sqr(2) lg = nb * z Forme équivalente : (+2.7*) lg = nb * sqr(2) Dim nb As Long, lg As Double, z As Double z = Sqr(2) For nb = 1 To lg = nb * z 'lg = nb * Sqr(2) Maximum et Minimum de 2 nombres If a < b Then max = b Else max = a Forme équivalente : (+1.5*) max = (a+b+abs(a-b))/2 min = (a+b-abs(a-b))/2 Forme équivalente : (+4.3*) max = IIf(a < b, b, a) min = IIf(a < b, a, b)

6 Dim a As Long, b As Long, max As Long, c As Long a = 3: b = 5 For t = 1 To If a < b Then max = b Else max = a 'max = (a + b + Abs(a - b)) / 2 'max = IIf(a < b, b, a) c = a: b = a: a = c Next t MsgBox Timer temps Ce principe est encore valable pour une liste de nombre. Par exemple : Attribution de 2 valeurs alternatives On rencontre assez souvent en programmation des variables utilisées comme indicateurs flags pouvant prendre que deux valeurs. On peut évidemment utiliser le type Booléan dans ce cas, avec TRUE et FALSE. Mais est-ce le meilleur? La réponse est positive. Or, ce n est pas toujours ce choix qui est fait. a = True b = False Forme équivalente : (+1.2*) a = -1 b = 0 Dim t As Long, maxi As Long maxi = ReDim b(maxi) As Boolean 'ReDim b(maxi) As Byte For t = 0 To maxi b(t) = False 'b(t) = 0 Next t On observe également sur ce test qu il est aussi préférable d utiliser le type Boolean au lieu de Byte même si ces deux types sont codés sur 8 bits chacun. Optimisation des tests Vérification d une condition avec renvoi Booléan a=(condition) Ici condition pourrait être constituer par une expression comme b=c, soit a=(b=c). L interprétation est facile, si b=c alors VB remplace en interne cette condition par la valeur vraie (True), puis l affecte à "a", soit a=true. Même chose dans le cas contraire, avec False. Cette optimisation est valable que pour le renvoi d une valeur Booléan. Forme équivalente : (+1.5*) If condition Then a = True Else a = False

7 Dim nb As Long, a As Boolean For nb = 1 To a = (nb And 1) 'If (nb And 1) Then a = True Else a = False Les fonctions conditionnelles Au vu des très nombreuses formes qu'on peut imaginer pour utiliser les fonctions conditionnelles, je les présente au fur et à mesure, sans être exhaustif. Dans une série de tests conditionnels et quel que soit le nombre de condition et la complexité des conditions, " If... Then... ElseIf... " est le plus performant. Mais il faut savoir aussi regarder le côté pratique du codage, ce qui privilégie sans doute Select Case. De plus, on s efforcera de mettre la condition qui a le plus de chance d être vérifiée en premier pour sortir du test le plus tôt possible. If (condition1) Then (instructions1) ElseIf (condition2) Then (instructions2) ElseIf... Forme équivalente : (+1.1*) If (condition1) Then (instructions1) If (condition2) Then (instructions2) Forme équivalente : (+1.2*) Select Case (variable) Case (condition1) (instructions1) Case (condition2) (instructions2)... End Select Forme équivalente : (+1.25*) If (condition1) Then (instructions1) Else If (condition2) Then (instructions2) Else... Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5

8 If t = 1 Then a = a + 1 ElseIf t = 2 Then a = a + 2 ElseIf t = 3 Then a = a + 3 ElseIf t = 4 Then a = a + 4 ElseIf t = 5 Then a = a + 5 Next t, j Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 If t = 1 Then a = a + 1 If t = 2 Then a = a + 2 If t = 3 Then a = a + 3 If t = 4 Then a = a + 4 If t = 5 Then a = a + 5 Next t, j Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 Select Case t Case 1 a = a + 1 Case 2 a = a + 2 Case 3 a = a + 3 Case 4 a = a + 4 Case 5 a = a + 5 End Select Next t, j Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 If t = 1 Then a = a + 1 Else If t = 2 Then

9 a = a + 2 Else If t = 3 Then a = a + 3 Else If t = 4 Then a = a + 4 Else If t = 5 Then a = a + 5 Next t, j On pourrait encore se poser la question dans le cas d une série de conditions rassemblées avec un opérateur logique, par exemple avec OR. La structure " If... Then... ElseIf... " pourrait toujours être utilisée et resterait la plus rapide, mais serait très lourde à écrire, puisqu'il faudrait répéter de très nombreuses fois les mêmes instructions... Voir ci-dessus. (+1.25*) Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 Select Case t Case 1, 2, 5 a = a + 1 Case 3, 4 a = a + 3 End Select Next t Next j (+1.25*) Dim t As Long, j As Long, a As Long For j = 1 To For t = 1 To 5 If t = 1 Or t = 2 Or t = 5 Then a = a + 1 ElseIf t = 3 Or t = 4 Then a = a + 3 Next t Next j Les différentes écritures de If

10 En VBA, les différentes formes d'écriture de l'instruction "IF" ont une influence sur la vitesse d'exécution. (Cette différence n'existe pas après compilation avec VB.) If (condition) Then (instructions1) Else (instructions2) Forme équivalente : (+1.1*) If (condition) Then (instructions1) Else: (instructions2) Forme équivalente : (+1.3*) If (condition) Then (instructions1) Else (instructions2) Dim a As Long, b As Long, max As Long, c As Long a = 3: b = 5 For t = 1 To If a < b Then max = b Else max = a 'If a < b Then max = b Else: max = a 'If a < b Then ' max = b 'Else ' max = a ' c = a: b = a: a = c Next t Optimisation sur les références Lorsque des objets sont appelés plusieurs fois, il est avantageux d utiliser "With". Voici un exemple tiré de l aide de VBA sur le sujet : "L'instruction With permet de spécifier un objet ou un type défini par l'utilisateur pour une série d'instructions. Les instructions With accélèrent l'exécution des procédures et permettent d'éviter des saisies répétitives. Vous pouvez imbriquer des instructions With pour en améliorer l'efficacité. L'exemple suivant insère une formule dans la cellule A1, puis formate la police." Exemple : Sub MyInput() With ActiveSheet.Cells(1, 1).Formula = "=SQRT(50)" With.Font.Name = "Arial".Bold = True.Size = 8 End With End With End Sub Optimisation sur les chaînes Les fonctions de chaînes

11 Certaines fonctions sur les chaînes existent en deux versions, correspondant soit à un type de données en Variant, soit en String déclaré par le signe dollar ($). Cette dernière version est la plus rapide. Par exemple, String deviendra String$. Les fonctions concernées sont : Chr$, ChrB$, CurDir$, Date$, Dir$, Error$, Format$, Hex$, Input$, InputB$, LCase$, Left$, LeftB$, LTrim$, Mid$, MidB$, Oct$, Right$, RightB$, RTrim$, Space$, Str$, String$, Time$, Trim$, UCase$. String$ L appel à certaines de ces fonctions peuvent être encore plus optimisée, en déclarant les paramètres de l instruction dans une variable adaptée. Utile seulement dans une boucle. Dim z As String, lg As String z = "0" lg = String$(1000, z) Forme équivalente : (+1.1*) String(1000, z) Forme équivalente : (+1.1*) String$(1000, 48) Forme équivalente : (+1.3*) String$(1000, "0") Dim nb As Long, z As String, lg As String z = "0" For nb = 1 To lg = String$(1000, z) 'lg = String(1000, z) 'lg = String$(1000, 48) 'lg = String$(1000, "0") 'lg = String(1000, "0") Chaîne statistique ou dynamique La déclaration de chaîne peut être fait de deux manière, soit statistique (au maximum 63ko) en définissant une longueur fixe grâce à String * (longueur), soit dynamique (jusqu à 2 milliards de caractère). Curieusement la déclaration dynamique est nettement plus rapide pour la concaténation de chaîne. Dim a As String Forme équivalente : (+3*) Dim a As String * (nombre)

12 'Dim a As String * 7, b As String * 7, c As String * 14 Dim a As String, b As String, c As String Dim t As Long a = "bonjour" b = " à toi!" For t = 1 To c = a & b Next t La concaténation de chaîne La concaténation est identique avec «&» ou «+». Préférer «&» pour éviter toute confusion. Néanmoins, on peut faire une concaténation plus rapide, utile dans une boucle. Cela consiste à déclarer la variable de réception avec une taille valant (ou par excès), la taille des chaînes à concaténer, puis d utiliser Mid$. Cette astuce semble également beaucoup plus performante sous les dernières versions de VBA (version 6 ou plus). c = Space$(14) Mid$(c, 1, 7) = a: Mid$(c, 8, 7) = b (+1,04*) Dim l1 As Long, l2 As Long, l3 As Long l1 = Len(a): l2 = Len(b): l3 = l1 + 1 c = Space$(la + lb) Mid$(c, 1, l1) = a: Mid$(c, l3, l2) = b Forme équivalente : (+1,5*) c = a & b Forme équivalente : (+1,5*) c = a + b Dim a As String, b As String, c As String, t As Long a = "bonjour" b = " à toi!" c = Space$(14) 'Dim l1 As Long, l2 As Long, l3 As Long 'l1 = Len(a): l2 = Len(b): l3 = l1 + 1 'c = Space$(l1 + l2) For t = 1 To Mid$(c, 1, 7) = a: Mid$(c, 8, 7) = b 'Mid$(c, 1, l1) = a: Mid$(c, l3, l2) = b 'c = a & b 'c = a + b Next t La chaîne nulle Pour attribuer une chaîne nulle à une variable utiliser la constante vbnullstring.

13 mot = vbnullstring Forme équivalente : (+4*) mot = "" Forme équivalente : (+5.5*) mot = Chr$(0) Dim nb As Long, mot As String For nb = 1 To mot = vbnullstring 'mot = "" 'mot = Chr$(0) Optimisation des boucles La variable d une boucle doit être déclarée pour être optimale. Option Explicit est donc très pratique ici... Parmi toutes les syntaxes et conditions d utilisation on peut faire un classement des boucles en fonction de leur rapidité d exécution, pour réaliser exactement le même nombre de passage. IL est à noter qu on peut retenir uniquement deux formes de boucles optimales : FOR TO NEXT, dans le cas où l'on connaît exactement les bornes, où DO.. LOOP (UNTIL/WHILE) sinon. For... To... (Step)... Next La vitesse est la plus rapide pour le type Integer. A défaut, si la borne > alors prendre le type Long (presque équivalent). Dim Variable As Long, borne_fin As Long borne_fin = (un nb ou une expression) FOR Variable = (un nb ou une expression) TO borne_fin STEP (un nb ou une expression) NEXT Dim nb As Integer, nb2 As Integer 'Dim nb As Long, nb2 As Long 'Dim nb As Double, nb2 As Double For nb = 1 To 1000 For nb2 = 1 To Do.. Loop (While/Until) Do (While/Until)... Loop Do.. Exit Do... Loop

14 While... Wend étiquette... Goto étiquette... Goto suite Formes optimales et test : Dim A As Long Do Loop Until A = Forme équivalente et test : (+1.1*) Dim A As Long Do Loop While A < Forme équivalente et test : (+1.3*) Dim A As Long Do Until A = Loop Forme équivalente et test : (+1.4*) Dim A As Long boucle: If A < Then GoTo boucle Forme équivalente et test : (+1.4*) Dim A As Long Do While A < Loop Forme équivalente et test : (1.5*) Dim A As Long Do If A = Then Exit Do Loop Forme équivalente et test : (+1.5*) Dim A As Long While A < Wend Forme équivalente et test : (+1.9*) Dim A As Long, nb As Integer For nb = 0 To 1 nb = 0 If A = Then Exit For Next Forme équivalente et test : (+2.7*) ReDim A(0) As Long Do

15 A(0) = A(0) + 1 Loop Until A(0) = Exécuter une instruction une fois sur x passages Dim Saut As Long, A As Long, nb As Long Saut = 90 For nb = 0 To If nb = Saut Then Saut = Saut + 90: 'instructions Forme équivalente : (+1.9*) Dim A As Long, nb As Long For nb = 0 To If nb mod 90 Then 'instructions Dim Saut As Long, A As Long, nb As Long Saut = 90 For nb = 0 To If nb = Saut Then Saut = Saut + 90: 'If nb Mod 90 Then 'instructions Optimisation pour Excel Pour un gain global, il peut être intéressant de désactiver certains processus intrinsèque à Excel. Ainsi, la désactivation temporaire de la mise à jour de l'affichage, en début du code permet un gain d'exécution important. Dans la même idée, si votre projet le permet, la désactivation temporaire du recalcule des références des formules peut être désactiver. Bien sur, il faut faire attention, à ne pas faire dépendre la suite de votre code, à un résultat d'une formule dans une cellule. Le gain global dépendra essentiellement de la façon dont votre code est construit. Il peut s'élever jusqu'à 50%. 'Désactive la mise à jour de l'affichage Application.ScreenUpdating = False 'Désactive la mise à jour des recalculs Application.Calculation = xlcalculationmanual 'code modifiant les cellules For x = 1 To 4000 ActiveSheet.Cells(x, 1) = x Next x 'Ré-activations Application.Calculation = xlcalculationautomatic Application.ScreenUpdating = True Source :

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

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

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

Sub CalculAnnuite() Const TITRE As String = Calcul d'annuité de remboursement d'un emprunt TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION

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

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

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

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

1 TD 2 : Construction d'une chier Acrobat et envoi par email

1 TD 2 : Construction d'une chier Acrobat et envoi par email 1 TD 2 : Construction d'une chier Acrobat et envoi par email (correction page??) Un professeur de maths a instauré une coutume lors de la dernière séance de la semaine. Le vendredi est consacré à la correction

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

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES TRAVAUX PRATIQUES Le présent travail vise à développer une interface visuelle de programmation des entrées- sorties du port LPT d un PC à l aide du logiciel VISUAL BASIC. I- EDITION ET TEST DU PROGRAMME

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

Visual Basic for Applications

Visual Basic for Applications Visual Basic for Applications (sous Excel) Frédéric Cadier ENST Bretagne - Département LUSSI frederic.cadier@enst-bretagne.fr Cadier F. (ENST Bretagne) VBA 1 / 62 Plan de la présentation 1 Excel et VBA

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

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

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

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

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

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0 UNIVERSITE DES SCIENCES SOCIALES DE TOULOUSE Licence Professionnelles LSi Master FC IGSI Programmation Visual Basic Visite guidée d'un programme Visual Basic 6.0 1. un exemple d'application a) créer dans

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

Formation VBA 3 Interagir

Formation VBA 3 Interagir Formation VBA 3 Interagir 1 Utilisation des UserForms Les UserForms sont des interfaces largement configurables, il convient de ne pas les limiter à tel ou tel usage qui pourrait être présenté à titre

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

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

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

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

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

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

Plus en détail

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

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

Examen Médian - 1 heure 30

Examen 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étail

.NET - Classe de Log

.NET - Classe de Log .NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de

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

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

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

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

Guide 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étail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

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

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

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

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

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

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

Cours d Informatique

Cours 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é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

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

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

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

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

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Utilitaires méconnus de StrataFrame

Utilitaires méconnus de StrataFrame Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements

Plus en détail

PROGRAMMATION EVENEMENTIELLE sur EXCEL

PROGRAMMATION EVENEMENTIELLE sur EXCEL MASTERs SMaRT & GSI PROGRAMMATION EVENEMENTIELLE sur EXCEL Pierre BONNET Programmation évènementielle La programmation évènementielle permet un appel de procédure depuis l'interface HMI d'excel (ou d'un

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

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE ARDUINO DOSSIER RESSOURCE POUR LA CLASSE Sommaire 1. Présentation 2. Exemple d apprentissage 3. Lexique de termes anglais 4. Reconnaître les composants 5. Rendre Arduino autonome 6. Les signaux d entrée

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

# 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

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

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

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

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

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

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 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étail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Bernard HAMM, Évelyne LAVOISIER

Bernard 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é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

Puissances d un nombre relatif

Puissances d un nombre relatif Puissances d un nombre relatif Activités 1. Puissances d un entier relatif 1. Diffusion d information (Activité avec un tableur) Stéphane vient d apprendre à 10h, la sortie d une nouvelle console de jeu.

Plus en détail

FORMATION au VBA Pour EXCEL. Version 2007 & +

FORMATION au VBA Pour EXCEL. Version 2007 & + FORMATION au VBA Pour EXCEL Version 2007 & + Philippe Puig Formateur Informatique http://wwwphilippepuigcom contact@philippepuigcom wwwphilippepuigcom Page 1 sur 87 VBA : introduction Le VBA (Visual Basic

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

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

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

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

Plus en détail

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

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. 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étail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

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

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

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

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro. Chapitre : Les nombres rationnels Programme officiel BO du 8/08/08 Connaissances : Diviseurs communs à deux entiers, PGCD. Fractions irréductibles. Opérations sur les nombres relatifs en écriture fractionnaire.

Plus en détail

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3 Mathématiques COURS ALGORITHMIE Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer Julien Bordas T.S 3 La Nativité Mathématiques A qui s adresse ce cours? COURS ALGORITHMIE Ce cours

Plus en détail

Paginer les données côté serveur, mettre en cache côté client

Paginer les données côté serveur, mettre en cache côté client Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule

Plus en détail

Formations 2015 Bureautique

Formations 2015 Bureautique Formations 2015 Bureautique Excel PowerPoint Utiliser Excel au quotidien 1 jour lundi 30/03/2015 Créer des graphiques 0.5 jour mercredi 08/04/2015 (après midi) Faire des calculs 1 jour lundi 04/05/2015

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après

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

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

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

Listes de validation dans OpenOffice Calc

Listes de validation dans OpenOffice Calc Listes de validation dans OpenOffice Calc Révision [n 0.2] 05/08/04 Réalisé avec : OOo 1.1.1 Plate-forme / Os : Toutes Distribué par le projet Fr.OpenOffice.org Table des Matières 1 But de ce how-to...3

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

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

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique. Semestre S3

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique. Semestre S3 Licence de Physique Année Universitaire : 2010-2011 Licence Chimie, parcours Physique Semestre S3 Cours MÉTHODES NUMERIQUES Chargé du Cours : M. GAGOU Yaovi E-mail :.gagou@u-picardie.fr URL : http://www.u-picardie.fr/gagou

Plus en détail

Arbres binaires de recherche

Arbres binaires de recherche 1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Excel et les bases de données

Excel et les bases de données Excel et les bases de données Pourquoi travailler avec des bases de données Si l'on se place du point de vue informatique, le travail des comptables nationaux présente deux caractéristiques essentielles

Plus en détail

Rapport de Mini-Projet en ArcGIS Engine

Rapport de Mini-Projet en ArcGIS Engine Rapport de Mini-Projet en ArcGIS Engine Réalisée par : Asmae BENMESSAOUD 3ème Année Cycle d Ingénieur Géoinformation Année Universitaire 2010- Sommaire 1 Introduction L analyse géographique et la visualisation

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

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail