INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

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

Download "INF130 - Ordinateurs et programmation. Semaine 08. Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG"

Transcription

1 INF130 - Ordinateurs et programmation Semaine 08 Document présenté par Frédérick Henri et conçu par les enseignants en informatique du SEG

2 Retour sur l'examen intra Objectifs Tableaux à deux dimensions - Déclaration -Accès à un élément Algorithmes sur tableaux - Fouilles - Fouille séquentielle - Fouille dichotomique Algorithmes sur tableaux - Tris - Tri par sélection - Tri par insertion -Tri bulle Objectifs

3 Tableaux (p. 129) Un tableauest une séried'éléments de même nature regroupés sous un seul identificateur. Chaque élément possède un indice permettant d'accéder à son contenu. Illustration d'un tableau Le tableau ci-dessouscontient 5 éléments de type entier. L'indice de chacun des éléments apparaît au-dessus de de dernier La création de ce tableau pourrait se faire ainsi : ' On déclare un tableau de 5 entiers. Dim tableau(1 To 5) As Integer ' On assigne une valeur à chacun des éléments du tableau. tableau(1) = 12 tableau(2) = 45 tableau(3) = 1 tableau(4) = 56 tableau(5) = 9 Rappel

4 Déclaration d'un tableau statique à deux dimensions (p. 136) Les tableaux à taille fixe se déclarent comme suit : Dim nom_du_tableau(taille, [taille],...) As type_de_données où nom_du_tableau: correspond au nom du tableau taille: le nombre d'éléments pour une dimension (où les indices des élémentssi le mot To est utilisé). type_de_données: Le type de donnée de chacun des éléments. EXEMPLES DE TABLEAUX À PLUSIEURS DIMENSIONS ' Tableau à deux dimensions d'entiers. ' L'indiçage dépend de l'instruction Option Base. Dim un_tableau(5, 10) As Integer ' Tableau à deux dimensions d'entiers (5 lignes et 10 colonnes), respectivement ' indicées de 1 à 5 et de 1 à 10. Dim un_tableau(1 To 5, 1 To 10) As Integer ' Tableau à 4 dimensions, 10 x 10 x 10 x 10 pu encore 11 x 11 x 11 x 11 selon ' la présence de l'instruction Option Base. Dim un_tableau(10, 10, 10, 10) As Integer EXEMPLE Pour créer le tableau ci-dessous, nous pourrions écrire le code qui suit Dim un_tableau(1 To 3, 1 To 4) As Integer ' On assigne la valeur 1 à l'élément situé à l'intersection de la ligne 2 et ' de la colonne 1. un_tableau(2, 1) = 1 ' On assigne la valeur 2 à l'élément situé à l'intersection de la ligne 3 et ' de la colonne 4. un_tableau(3, 4) = 2 ' On assigne la valeur 3 à l'élément situé à l'intersection de la ligne 1 et ' de la colonne 2. un_tableau(1, 2) = 3 Déclaration

5 Fonctions LBound et UBound Les fonctions LBound et UBound servent à identifier les indices des bornes d'un tableau : LBound Signifie Lower Bound et retourne l'indice du premier élément d'un tableau. UBound Signifie Upper Bound et retourne l'indice du dernier élément d'un tableau. SYNTAXE - UBound et LBound borne_inférieure = LBound(nom_du_tableau, [dimension à consulter]) borne_supérieure = UBound(nom_du_tableau, [dimension à consulter]) EXEMPLES Option Base 1 ' Indiçage à partir de 1 (dans le haut du module). Public Sub test_bounds() ' Déclaration des variables. Dim tableau_deux(8, 33 To 99) As String Dim tableau_dynamique() As Boolean ' Quelques tests. Call MsgBox(LBound(tableau_deux, 1)) ' Affiche 1. Call MsgBox(UBound(tableau_deux, 1)) ' Affiche 8. Call MsgBox(LBound(tableau_deux, 2)) ' Affiche 33. Call MsgBox(UBound(tableau_deux, 2)) ' Affiche 99. ' Redimension de tableau_dynamique. ReDim tableau_dynamique(1 To 100, 0 To 9) Call MsgBox(LBound(tableau_dynamique, 1)) ' Affiche 1. Call MsgBox(UBound(tableau_dynamique, 1)) ' Affiche 100. Call MsgBox(LBound(tableau_dynamique, 2)) ' Affiche 0. Call MsgBox(UBound(tableau_dynamique, 2)) ' Affiche 9. End Sub Accès

6 Nombre de dimensions d'un tableau Malheureusement, aucune fonctionnalité du langage ne permet d'identifierle nombre de dimensions d'un tableau (Aide et support Microsoft - Article ). La fonction qui suit permet de déterminer le nombre de dimensions d'un tableau. Elle profite du fait que la consultation de la borne inférieure d'une dimension inexistante génère une erreur. Nombre de dimensions d'un tableau ' ' NOMBRE_DE_DIMENSIONS ' ' Cette fonction retourne le nombre de dimensions d'un tableau. ' ' PARAMÈTRES : ' - tableau : (ENTRÉE) Le tableau dont on cherche le nombre de dimensions. ' ' VALEUR DE RETOUR : Le nombre de dimensions du tableau reçu. ' Public Function nombre_de_dimensions(byref tableau() As Integer) As Long Const NB_DIMENSIONS_MAXIMAL As Long = Dim indice_dimension As Long ' Pour itérer sur chacune des dimensions. Dim resultat_lbound As Long ' Reçoit le retour du Lbound. ' En cas d'erreur, on saute à l'étiquette DERNIÈRE_DIMENSION. On Error GoTo DERNIÈRE_DIMENSION ' On consulte la borne inférieure de chaque dimension potentielle. For indice_dimension = 1 To NB_DIMENSIONS_MAXIMAL ' Si la dimension n'existe pas, alors on saute à l'étiquette ' DERNIÈRE_DIMENSION. resultat_lbound = LBound(tableau, indice_dimension) Next indice_dimension DERNIÈRE_DIMENSION: nombre_de_dimensions = indice_dimension - 1 Nombre de dimensions

7 Exercices (p. 155) Écrivez une procédurequi reçoit un tableau à deux dimensions d'entiers ainsi qu'un entier. Elle assigne l'entier reçu à chacun des éléments du tableau. Exemple d'utilisation Dim tableau(1 To 3, 1 To 8) As Integer Call remplir_tableau(tableau, 2) Suite à l'exécution du code ci-dessus, la variable tableau contiendra les valeurs suivantes Écrivez une procédurequi reçoit un tableau à deux dimensions d'entiers et le remplit de la façon suivante (avec des 1 dans la première et la dernière ligne et des 2 partout ailleurs) Exercices 1a

8 Solutions Public Sub remplir_tableau(byref tableau() As Integer, _ ByVal valeur As Integer) Dim ligne As Integer Dim colonne As Integer For ligne = LBound(tableau, 1) To UBound(tableau, 1) For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(ligne, colonne) = valeur Next colonne Next ligne End Sub Public Sub remplir_tableau(byref tableau() As Integer) Dim ligne As Integer Dim colonne As Integer For ligne = LBound(tableau, 1) To UBound(tableau, 1) For colonne = LBound(tableau, 2) To UBound(tableau, 2) If (ligne = LBound(tableau, 1) Or _ ligne = UBound(tableau, 1)) Then tableau(ligne, colonne) = 1 Else tableau(ligne, colonne) = 2 End If Next colonne Next ligne End Sub Voici une autrefaçon de réaliser la même tâche. Public Sub remplir_tableau(byref tableau() As Integer) Dim ligne As Integer Dim colonne As Integer ' On remplit la première et la dernière ligne. For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(lbound(tableau, 1), colonne) = 1 tableau(ubound(tableau, 1), colonne) = 1 Next colonne ' On remplit toutes les autres lignes. For ligne = LBound(tableau, 1) + 1 To UBound(tableau, 1) - 1 For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(ligne, colonne) = 2 Next colonne Next ligne End Sub Solutions 1a

9 Exercices (p. 155) Écrivez une procédurequi reçoit un tableau à deux dimensions d'entiers et le remplit de lafaçon suivante (avec des 0 dans la première ligne, des 1 dans la deuxième, etc.) Écrivez une procédurequi reçoit un tableau à deux dimensions d'entiers et le remplit de la façon suivante Afin de simplifier l'exercice, supposez que l'indice du premier élément de chaque dimension vaut 1. Exercices 1b

10 Solutions ' PREMIÈRE FAÇON : Utiliser une formule utilisant l'indice de la ligne ' et/ou de la colonne. Public Sub remplir_tableau_version1(byref tableau() As Integer) Dim ligne As Integer Dim colonne As Integer For ligne = LBound(tableau, 1) To UBound(tableau, 1) For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(ligne, colonne) = ligne - Lbound(tableau, 1) Next colonne Next ligne End Sub ' DEUXIÈME FAÇON : Utiliser une variable conservant la prochaine valeur à ' assigner à un élément. Public Sub remplir_tableau_version2(byref tableau() As Integer) Dim ligne As Integer Dim colonne As Integer Dim valeur_a_assigner As Integer valeur_a_assigner = 0 For ligne = LBound(tableau, 1) To UBound(tableau, 1) For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(ligne, colonne) = valeur_a_assigner Next colonne valeur_a_assigner = valeur_a_assigner + 1 Next ligne End Sub ' TROISIÈME FAÇON : Remplir la première ligne et remplir ensuite les ' lignes suivantes en utilisant les lignes précédentes. Public Sub remplir_tableau_version3(byref tableau() As Integer) Dim ligne As Integer Dim colonne As Integer For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(lbound(tableau, 1), colonne) = 0 Next colonne For ligne = LBound(tableau, 1) + 1 To UBound(tableau, 1) For colonne = LBound(tableau, 2) To UBound(tableau, 2) tableau(ligne, colonne) = tableau(ligne - 1, colonne) + 1 Next colonne Next ligne Public Sub remplir_tableau(byref tableau() As Integer) Dim ligne As Integer Dim colonne As Integer For ligne = 1 To UBound(tableau, 1) For colonne = 1 To UBound(tableau, 2) If (ligne < colonne) Then tableau(ligne, colonne) = ligne Else tableau(ligne, colonne) = colonne End If Next colonne Next ligne End Sub Solutions 1b

11 Les fouilles L'intérêt de conserver des données est biensûr de pouvoir les consulter ultérieurement. L'action de rechercher une donnée parmi un ensemble de données se nomme une fouille. Comme toujours, Excel nous offre des fonctions nous permettant d'effectuerunefouilledans une plage Excel (la méthodefinddans un objet de la classe Range, la fonction Recherchev, etc.). Malheureusement, ceci n'est pas possible en mémoire (par exemple, lorsque nous travaillons avec des tableaux). Il arrive donc fréquemment que nous ayons à écrire nos propres sous-programmes réalisant une fouille. Il existe deux types de fouilles simples que nous présenterons dans ce classeur : la fouille Fouilles

12 La fouille séquentielle Fonctionnement de la fouille séquentielle Tant que (la valeur n'est pas trouvée Et que le tableau n'a pas été parcouru au complet) avancer au prochain élément Fin pour Il est à noter que... - La fouille séquentielle n'exige pas que les valeurs du tableau soient ordonnées. -S'il y a plusieurs occurrences de la valeur recherchée dans le tableau, la fouille séquentielle retourne la position de la première occurence. -Dans le pire des cas (si la valeur recherchée n'est pas dans le tableau), le nombre d'éléments consultés sera égal au nombre d'éléments dans le tableau. Fouille séquentielle

13 La fouille dichotomique Voici ce à quoi ressemble l'algorithme de la fouille dichotomiquelorsque l'on recherche la valeur valeur_recherchée dans le tableau tableau de n éléments ordonnés : gauche = 1 droite = n Boucle Tant Que (gauche < droite) // On trouve le milieu de la plage de recherche // (notons ici que la division est entière). milieu = (gauche + droite) \ 2 si (tableau(milieu) < valeur_recherchée) Alors gauche = milieu + 1 Sinon droite = milieu Fin Si Fin Boucle Pourtrouver le milieu d'une plage, évitez d'écrire gauche + (droite -gauche) \2. En effet, l'expression (gauche + droite) \ 2, est équivalenteet plus rapide (c'est une moyenne). Si (tableau(gauche) = valeur_recherchée) Alors // L'indice de la valeur cherchée est conservé dans la // variable milieu. Sinon // La valeur recherchée n'est pas dans le tableau. Quelques petites choses à noter : - La fouille dichotomique exige que les valeurs du tableau soient en ordre croissant. -La fouille dichotomique consulte toujours log 2 (n) éléments, où ncorrespond au nombre d'éléments dans le tableau. Ainsi, la fouille dichotomique est BEAUCOUP plus rapide que la fouille séquentielle, mais ne peut être utilisée que sur des données triées! Fouille dichotomique

14 Exercices Écrivez une fonction qui reçoit deux paramètres : un tableau à une dimension d'entiers et unentier. Elle fouille le tableau et retourne l'indice de la première occurrence du nombre dans le tableau. Si le nombre n'est pas dans le tableau, elle retourne l'indice du premier élément du tableau moins 1. Exercices 2

15 Solutions Commençons par une version très simple qui parcourt toujours le tableau au complet. Public Function fouiller_tableau(byref tableau() As Integer, _ ByVal valeur_cherchée As Integer) _ As Integer Dim i As Integer ' Pour parcourir le tableau. ' Au départ, on suppose que la valeur est absente. fouiller_tableau = LBound(tableau) - 1 ' On cherche la première occurence de la valeur. For i = LBound(tableau) To UBound(tableau) If (tableau(i) = valeur_cherchée) Then fouiller_tableau = i End If Next i End Function Pourquoi cette versionne répond-elle pas à nos attentes? Tout d'abord, parce qu'elle ne retourne pas l'indice de la première occurrence de la valeur recherchée, mais celle de la dernière. Une façon simple de corriger le problème consiste à terminer la boucle lorsque la valeur est trouvée. Voici donc une version plus efficace qui répond aux exigences du problème. Public Function fouiller_tableau(byref tableau() As Integer, _ ByVal valeur_cherchée As Integer) _ As Integer Dim i As Integer ' Pour parcourir le tableau. ' Au départ, on suppose que la valeur est absente. fouiller_tableau = LBound(tableau) - 1 ' On cherche la première occurence de la valeur. For i = LBound(tableau) To UBound(tableau) If (tableau(i) = valeur_cherchée) Then fouiller_tableau = i Exit Function End If Next i End Function Il est généralementrecommandé de n'avoir qu'un unique point de sortie dans une fonction. En ajoutant Exit Function, cela en ajoute un second (quand on rentre dans l'instruction conditionnelle et quand on sort de la boucle). L'utilisation d'une boucle Whilepermet de corriger le problème. Public Function fouiller_tableau(byref tableau() As Integer, _ ByVal valeur_cherchée As Integer) _ As Integer Dim i As Integer ' Pour parcourir le tableau. ' Au départ, la valeur n'a pas encore été trouvée. fouiller_tableau = LBound(tableau) - 1 ' On parcourt le tableau tant que l'on est toujours dans le tableau ' et que la valeur recherchée n'est pas trouvée. i = LBound(tableau) While (i <= UBound(tableau) And _ fouiller_tableau = LBound(tableau) - 1) If (tableau(i) = valeur_cherchée) Then fouille_tableau = i Else i = i + 1 End If Wend Solutions 2

16 Les tris Il est impossible de parler de gestion de données sans parler de tris. Imaginez un bottin téléphonique dont les données ne seraient pas triées! En fait, à chaque fois qu'on présente des données, peu importe leur type, on doit les présenter d'une façon ordonnée, à moins de n'avoir que quelques informations à montrer. Pour trier une base de données présentée dans une feuille de calcul Excel avec VBA, on utilise la méthode Sortd'un objet de type Range(voir l'exemplede code qui suit qui n'est offert qu'à titre indicatif). Procédure triant une plage de données ' ' TRIER_PLAGE ' ' Cette procédure trie les données de la plage reçue en ordre croissant. ' Elle suppose que la plage de données ne possède pas d'en-tête. ' ' PARAMÈTRES : ' - plage : La plage de données a trier. ' - feuille : La feuille contenant la plage à trier. ' ' VALEUR DE RETOUR : Aucune. ' ' Exemple d'appel : ' Call trier_plage(range("a1:a10"), ActiveSheet) ' Public Sub trier_plage(byval plage As Range, ByVal feuille As Worksheet) ' On efface l'état du tri. feuille.sort.sortfields.clear ' On ajoute un champs de tri (la clé étant la première colonne). feuille.sort.sortfields.add Key:= plage.cells(1, 1), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ' On trie la plage. With feuille.sort.setrange plage.header = xlno.matchcase = False.Orientation = xltoptobottom.sortmethod = xlpinyin.apply End With Malheureusement, ceci n'est pas possible en mémoire (par exemple, lorsque nous travaillonsavec des tableaux). Il faut donc écrire du code pour trier des tableaux. Il existe une foule d'algorithmes de tri dans la littérature. Dans ce cours, nous en étudierons trois : o Le tri par sélection; o Le tri bulle; o Le tri par insertion. Tris

17 Le tri par sélection Le fonctionnement du tri par sélection est le suivant : Première passe On cherche l'élément contenant la plus petite valeur du tableau à partir du premier élément. On échange lavaleur de cet élément avec celle du premierélément du tableau. Deuxième passe On cherche l'élément contenant la plus petite valeur du tableau à partir du deuxième élément. On échange lavaleur de cet élément avec celle du deuxièmeélément du tableau.... et ainsi de suite pour chaque élément du tableau jusqu'à l'avant-dernier. Fonctionnement du tri par sélection Pour i = 1 À n - 1 indice_du_minimum = indice du plus petit élément se trouvant entre T(i) et T(n) inclusivement permuter T(i) et T(indice_du_minimum) Fin Boucle Tri par sélection

18 Exercices Écrivez une procédure nommée permuterqui reçoitdeux entiers par référence et qui échange leurs contenus. À l'aide de la fonctionpermuter(ci-dessus) et de la fonction indice_minimum(ci-dessous), écrivez une procédure nommée tri_par_selectionqui reçoit un tableau à une dimension d'entiers et trie les valeurs qui s'y trouvent en ordre croissant à l'aide d'un tri par sélection. Private Function indice_minimum(byref tableau() As Integer, _ ByVal debut As Integer, _ ByVal fin As Integer) As Integer Dim i As Integer ' Pour parcourir le tableau. ' Au départ, on suppose que le premier élément est le plus ' petit. indice_minimum = debut ' On consulte tous les autres éléments du tableau. For i = debut + 1 To fin ' Si cet élément est plus petit que le minimum, il ' devient le nouveau minimum. If (tableau(i) < tableau(indice_minimum)) Then indice_minimum = i End If Next i End Function Exercices 3

19 Solutions Public Sub permuter(byref nb1 As Integer, ByRef nb2 As Integer) Dim tampon As Double ' Une variable servant à conserver ' temporairement la valeur de nb1. tampon = nb1 nb1 = nb2 nb2 = tampon End Sub Public Sub tri_par_selection(byref tableau() As Integer) Dim i As Integer ' Pour trier chacun des éléments. ' On place au bon endroit chacun des éléments du tableau. For i = LBound(tableau) To UBound(tableau) - 1 ' On s'assure que le ième plus petit élément se trouve à ' l'ième position. Call permuter(tableau(i), _ tableau(indice_minimum(tableau, i, _ UBound(tableau)))) Next i End Sub Solutions 3

20 Le tri par insertion Le fonctionnement du tri par insertion est le suivant : Première passe On reculela valeur du deuxièmeélément dans le tableau jusqu'à ce que les valeurs des deux premiers éléments soient ordonnés. Deuxième passe On recule la valeur du troisièmeélément dans le tableau jusqu'à ce que les valeurs destrois premiers éléments soient ordonnés.... et ainsi de suite pour tous les autres éléments du tableau. Fonctionnement du tri par insertion Pour i = 2 À n insérer l'élément T(i) au bon endroit parmi les i-1 éléments déjà triés Fin Pour Public Sub tri_par_insertion(byref tableau() As Integer) Dim element_a_inserer As Integer ' L'indice de l'élément à reculer. ' On insère chaque élément au bon endroit dans le tableau. For element_a_inserer = LBound(tableau) + 1 To UBound(tableau) Call reculer_element(tableau, element_a_inserer) Next element_a_inserer End Sub Private Sub reculer_element(byref tableau() As Integer, _ ByVal indice As Integer) Dim copie As Integer ' Pour copier l'élément à reculer. Dim element_a_copier As Integer ' Indice de l'élément à copier. Dim fin_copie_a_droite As Boolean ' True lorsqu'il n'y a plus de ' valeurs à décaler. ' On fait une copie de la valeur à reculer. copie = tableau(indice) ' Tant qu'il reste une valeur qui doit être copiée, on la copie ' dans l'élément à droite et on passe au prochain élément à gauche. element_a_copier = indice - 1 While (Not fin_copie_a_droite) ' Si l'on ne se trouve plus dans le tableau, alors les copies ' sont terminées. If (element_a_copier < LBound(tableau)) Then fin_copie_a_droite = True ' Si la valeur de l'élément courant est plus petite que la ' valeur à reculer, alors les copies sont terminées. ElseIf (tableau(element_a_copier) <= copie) Then fin_copie_a_droite = True ' Sinon, on copie la valeur de l'élément courant et on passe au ' prochain élément à gauche. Else ' On copie la valeur courante d'un élément vers la droite. tableau(element_a_copier + 1) = tableau(element_a_copier) element_a_copier = element_a_copier - 1 End If Wend ' On écrit l'élément à reculer au bon endroit. tableau(element_a_copier + 1) = copie End Sub Tri par insertion

21 L'algorithme du tri bulleest le suivant : Le tri bulle Première passe On part du dernierélément du tableau jusqu'au deuxièmeet on compare la valeur de chaque élément avec celle de l'élément précédent. Si la valeur de l'élément de droite est plus petite que celle de celuide gauche, on échange les deux valeurs. Deuxième passe On part du dernier élément du tableau jusqu'au troisième et on compare la valeur de chaque élément avec celle de l'élément précédent. Si la valeur de l'élément de droite est plus petite que celle de celuide gauche, on échange les deux valeurs.... et ainsi de suite jusqu'à ce qu'on parte du dernier élément jusqu'à l'avant-dernier. Notons que le tri bulle est extrêmement lent et ne devrait jamais être utilisé! Fonctionnement du tri bulle Pour i = 1 À n-1 Pour j = n À i + 1 Si (T(j) < T(j - 1)) Alors permuter T(j) et T(j - 1) Fin Si Fin Boucle Fin Boucle Tri bulle

22 Exercices On retrouve ci-dessous l'étatd'un tableau suite aux trois premières passes de trois tris différents. Identifiez le tri utilisé dans chacun des cas. Premier tri Départ : Passe 1 : Passe 2 : Passe 3 : Deuxième tri Départ : Passe 1 : Passe 2 : Passe 3 : Troisième tri Départ : Passe 1 : Passe 2 : Passe 3 : Exercices 4

23 Solutions 1) Tri par sélection. 2) Tri bulles. 3) Tri par insertion. Solutions 4

24 Conclusion Nous savons maintenant comment conserverdes données d'un même type se rapportant généralement à des entités distinctes (par exemple, les notes de différents étudiants). Mais comment ferait-on pour conserver des données de types différents décrivant une seule entité (par exemple, les informations sur un étudiant)? C'est ce que nous verrons au cours des prochaines semaines. -Lire le chapitre 8 du livre. - Avancer le travail pratique numéro II. À faire cette semaine - Tableaux à deux dimensions; - Fouilles séquentielle et dichotomique; -Tris : par sélection, par insertion et bulles. Notions importantes vues cette semaine Conclusion

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

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

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

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

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

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

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

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

Plus en détail

.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

EXCEL PERFECTIONNEMENT CALCULS AVANCES

EXCEL PERFECTIONNEMENT CALCULS AVANCES TABLE DES MATIÈRES FORMATS... 2 Formats personnalisés... 2 ADRESSAGE DE CELLULES... 3 relatif & absolu Rappel... 3 Adressage par nom... 4 Valider avec la touche Entrée... 4 FONCTIONS SI-ET-OU... 6 LA FONCTION

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

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

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

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

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

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

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 1 de 46 Algorithmique Trouver et Trier Florent Hivert Mél : Florent.Hivert@lri.fr Page personnelle : http://www.lri.fr/ hivert 2 de 46 Algorithmes et structures de données La plupart des bons algorithmes

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

1. Introduction...2. 2. Création d'une requête...2

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

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

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

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

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

TD3 - Facturation avec archivage automatisé

TD3 - Facturation avec archivage automatisé TD3 - Facturation avec archivage automatisé Objectifs Insérer les formules nécessaires aux calculs d une facture. Créer une macro- commande avec l enregistreur de macros et l affecter à un bouton. Utiliser

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

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

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

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

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

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters TUTORIAL REUTERS Connexion à Reuters Allez sur https://portal.hpd.global.reuters.com/auth/login.aspx Le login est reut@ensimag.imag.fr, =1 à 5, le et le mot de passe étant ceux qui vous ont été

Plus en détail

Navigation dans Windows

Navigation dans Windows Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce

Plus en détail

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

IMPORTATION, CRÉATION, MANIPULATION, EXPORTATION DE DONNÉES STATISTIQUES IMPRTATIN, CRÉATIN, MANIPULATIN, EXPRTATIN DE DNNÉES STATISTIQUES Bernard Dupont Bernard.Dupont@univ-lille1.fr ahm.bahah@yahoo.fr Bien que l'analyse et le traitement des données ne soient pas sa vocation

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

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

Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014

Plan du cours 2014-2015. Cours théoriques. 29 septembre 2014 numériques et Institut d Astrophysique et de Géophysique (Bât. B5c) Bureau 0/13 email:.@ulg.ac.be Tél.: 04-3669771 29 septembre 2014 Plan du cours 2014-2015 Cours théoriques 16-09-2014 numériques pour

Plus en détail

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

CRÉ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é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

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

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

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

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

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

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

http://cermics.enpc.fr/scilab

http://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é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

Stockez et organisez vos données sous Excel. Une approche systématique, structurée et simplifiée

Stockez et organisez vos données sous Excel. Une approche systématique, structurée et simplifiée Stockez et organisez vos données sous Excel Une approche systématique, structurée et simplifiée Publié par PolyKromy Consulting Inc., Vancouver, BC, Canada PolyKromy Consulting Inc. a apporté la plus grande

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

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

Chapitre 2 Devine mon nombre!

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

Plus en détail

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

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

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur Excel Avancé Plan Outils de résolution La valeur cible Le solveur Interactivité dans les feuilles Fonctions de recherche (ex: RechercheV) Utilisation de la barre d outils «Formulaires» Outils de simulation

Plus en détail

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5

1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5 1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

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

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Livret Cours Microsoft office 2007 Tableur Excel Perfectionnement

Livret Cours Microsoft office 2007 Tableur Excel Perfectionnement GRETA Vienne Assemblé le 20/09/2011 RENAUD Jean-Pierre Livret Cours Microsoft office 2007 Tableur Excel Perfectionnement 14ExcMi03 15ExcPr02 15ExcVD01 16ExcRM01 17ExcNo01 18ExcCo02 19ExcFo02 20ExcRe02

Plus en détail

Utiliser une base de données

Utiliser une base de données Access Utiliser une base de données SOMMAIRE Généralités sur les SGBD... 3 Démarrage d'access 2002... 4 Ouverture d'un fichier Access... 4 Les objets dans Access... 5 Les tables... 6 A) Ouvrir une table

Plus en détail

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris

Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris Comment Définir une Plage de données Pour Utiliser Fonctions de Filtres et de Tris Diffusé par Le Projet Documentation OpenOffice.org Table des matières 1. Définir les plages...3 2. Sélectionner une plage...4

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

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

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

Plan de cours. Chiffriers et bases de données en gestion commerciale

Plan de cours. Chiffriers et bases de données en gestion commerciale Collège Lionel-Groulx 100, rue Duquet Sainte-Thérèse, (Québec) J7E 3G6 Téléphone : (450) 430-3120 Télécopieur : (450) 430-2783 Site Internet : http://www.clg.qc.ca Session : Hiver 2009 No de cours : 420-CJ0-LG

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

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

NOS FORMATIONS EN BUREAUTIQUE

NOS FORMATIONS EN BUREAUTIQUE NOS FORMATIONS EN BUREAUTIQUE Par Vivien Romaric DOVI EREBYA SENEGAL «Villa N 1, cité BOURGI - Route de l'aéroport - Dakar, Sénégal» +221 77 475 74 59 info@erebya.com 1 FORMATION N 002 : Initiation à l

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version 1.0 30/11/05 EXCEL PERFECTIONNEMENT Version 1.0 30/11/05 SERVICE INFORMATIQUE TABLE DES MATIERES 1RAPPELS...3 1.1RACCOURCIS CLAVIER & SOURIS... 3 1.2NAVIGUER DANS UNE FEUILLE ET UN CLASSEUR... 3 1.3PERSONNALISER LA

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

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

Traitement des données avec Microsoft EXCEL 2010

Traitement des données avec Microsoft EXCEL 2010 Traitement des données avec Microsoft EXCEL 2010 Vincent Jalby Septembre 2012 1 Saisie des données Les données collectées sont saisies dans une feuille Excel. Chaque ligne correspond à une observation

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

CPLN 20/08/2009 MBO Service ICT et Pédagogie

CPLN 20/08/2009 MBO Service ICT et Pédagogie La clé USB Présentation De première vue, une clé USB est un simple "morceau de plastique". Hors, elle est très utile et de plus en plus utilisée. Elle permet de stocker des fichiers (et dossiers) tout

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

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons Guide d'utilisation OpenOffice Calc AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons 1 Table des matières Fiche 1 : Présentation de l'interface...3 Fiche 2 : Créer un nouveau classeur...4

Plus en détail

Adama MBODJI MBODJ.SYSTEM

Adama MBODJI MBODJ.SYSTEM MBODJ.SYSTEM Tableaux & vecteurs Algorithmes de tris Chaînes de caractères Listes linéaires Piles & Files Arbres Fichiers Je dédie cet ouvrage à mon père Souleymane MBODJI 2 Dédicace... 2 Sommaire... 3

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

FORMATION EXCEL NIVEAU 2

FORMATION EXCEL NIVEAU 2 NOM DU STAGIAIRE : CARON PRENOM DU STAGIAIRE : Yvon FORMATION EXCEL NIVEAU 2 JOUR 1 : JEUDI 1 ER SEPTEMBRE 2011 JOUR 2 : VENDREDI 2 SEPTEMBRE 2011 ANALYSE PERSONNALISEE Stage : Excel Niveau 2 Société :

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

1/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

Trier les ventes (sales order) avec Vtiger CRM

Trier les ventes (sales order) avec Vtiger CRM Trier les ventes (sales order) avec Vtiger CRM Dans l'activité d'une entreprise, on peut avoir besoin d'un outil pour trier les ventes, ce afin de réaliser un certain nombre de statistiques sur ces ventes,

Plus en détail

La Clé informatique. Formation Excel XP Aide-mémoire

La Clé informatique. Formation Excel XP Aide-mémoire La Clé informatique Formation Excel XP Aide-mémoire Septembre 2005 Table des matières Qu est-ce que le logiciel Microsoft Excel?... 3 Classeur... 4 Cellule... 5 Barre d outil dans Excel...6 Fonctions habituelles

Plus en détail

1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4

1. Création d'un état... 2. 2. Création d'un état Instantané Colonnes... 3. 3. Création d'un état Instantané Tableau... 4 1. Création d'un état... 2 2. Création d'un état Instantané Colonnes... 3 3. Création d'un état Instantané Tableau... 4 4. Création d'un état avec plusieurs tables... 9 5. Modifier la structure d'un état...11

Plus en détail

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

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

Semestre3 (Licence Economie et Gestion) EXCEL : interface. Une fois lancé, Excel crée par défaut un "classeur" nommé «classeur1.xls».

Semestre3 (Licence Economie et Gestion) EXCEL : interface. Une fois lancé, Excel crée par défaut un classeur nommé «classeur1.xls». EXCEL : interface Une fois lancé, Excel crée par défaut un "classeur" nommé «classeur1.xls». Rappelez vous que les fichiers créés sous Excel sont identifiés par l'extension ".xls" et sont reconnaissables

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

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

POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR. Version EXCEL

POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR. Version EXCEL POUR ALLER UN PEU PLUS LOIN SUR UN TABLEUR Version EXCEL Document réalisé par Francis Petit, IA-IPR de Mathématiques à Grenoble, à partir d un document de Jean-Raymond Delahaye, professeur au lycée Alain

Plus en détail

Compression de Données - Algorithme de Huffman Document de Conception

Compression de Données - Algorithme de Huffman Document de Conception ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

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

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

1 Recherche en table par balayage

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

Plus en détail

Module 5 : Lier des classeurs

Module 5 : Lier des classeurs Module 5 : Lier des classeurs 5.0 Introduction Les feuilles de calcul contiennent des millions de cellules. Ces cellules peuvent être liées (ou connectées dans la terminologie Excel 2007) au sein d un

Plus en détail