PROGRAMMATION ET ENSEIGNEMENT

Slides:



Advertisements
Présentations similaires
Une nouvelle structure de données : les tableaux
Advertisements

Points importants de la semaine Les tableaux. Rappel : les tableaux Quest-ce quun tableau ? Réponse : Un tableau est une série déléments de même type.
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
SQL partie 5 1 LMD create – update – primary key secondary key.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
UE2 - M22 Licence acoustique
Tableaux en C Mardi 2/05.
Le Langage JavaScript pour le web
Initiation à la conception des systèmes d'informations
Synthèse TP 2 Codeblock 1 Les objectifs de ce tp sont :
Ajouter le code dans une page html
Les tableaux différencier les variables simples des variables indicées (ordonnées et numérotées) un identificateur unique désigne un ensemble, une collection.
Environnement de développement des BD
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Algorithmiques Abdelbasset KABOU
Eléments d’Informatique Cours11 – Allocation dynamique, listes chaînées Catherine Recanati.
Allocation dynamique de mémoire
Semaine #1 INF130 par Frédérick Henri.
Javadoc et débogueur Semaine 03 Version A17.
Résumé de l’objectif de l’A.C.P.
Collecte de données CAPI
AO (Architecture des ordinateurs)
Principes de programmation (suite)
Analyse en Composantes Principales A.C.P. M. Rehailia Laboratoire de Mathématiques de l’Université de Saint Etienne (LaMUSE).
Les fonctions.
Les fonctions.
Matrices, déclaration en CSharp
Initiation à la programmation impérative et algorithmique
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Semaine #7 INF130 par Frédérick Henri.
6. Les types utilisateurs et les structures de données
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Week 1 Lecture 1 Introduction à R L3PRO 2017.
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Notions de pointeurs en C
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
Cours 8 5. Appels de fonctions Le matériel Concepts de pile
Programmation en C++ C++ de base
Structure D’une Base De Données Relationnelle
Cours N°10: Algorithmiques Tableaux - Matrices
PROGRAMMATION ET ENSEIGNEMENT
Les structures en langage C
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
I Copyright © 2004, Oracle. Tous droits réservés. Introduction.
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
2 Copyright © 2004, Oracle. Tous droits réservés. Restreindre et trier les données.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Formation MATLAB PRÉSENTER PAR : BOUKHIRA NASREDDINE.
PROGRAMMATION ET ENSEIGNEMENT
Algorithmie - Programmation 2
PROGRAMMATION ET ENSEIGNEMENT
PROGRAMMATION ET ENSEIGNEMENT
Programmation Scratch
Chapitre 2 : Représentation de l’information dans la machine Introduction Représentation des nombres négatifs –Signe / valeur absolue –Complément à 1 –Complément.
Introduction à L’Informatique
Python Nicolas THIBAULT
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Type Tableau Partie 1 : Vecteurs
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

PROGRAMMATION ET ENSEIGNEMENT

Contenu du cours 6 Tableaux Notes de cours (site ftp UQTR) Introduction Tableaux fixes Utilisation des tableaux Déclaration d’un tableau Utilisation des éléments d’un tableau Tableaux multidimensionnels Tableaux dynamiques Étapes de création d’un tableau dynamique Notes de cours (site ftp UQTR) Microsoft Visual Basic . NET Étape par étape Chapitre 11

Introduction: Insuffisance de la notion de variable Supposons que dans un programme, nous avons besoin de conserver les notes de 30 étudiants. Solution : On peut utiliser une seule variable qui prend successivement la valeur des différentes notes. Si nous avons besoin de disposer des 30 notes simultanément alors : Solution : On utilise 30 variables différentes.

Introduction: Inconvénients des variables Il faut trouver un nom de variable par note. Que ce passe t-il quand on veut avoir cent, mille notes, … De plus, il n’existe aucun lien entre ces différentes valeurs (notes). Parce que dans certains cas, on est amené à appliquer un même traitement (somme, moyenne, variance,…) à l’ensemble ou à une partie de ces valeurs.

Introduction: La solution Le tableau Les tableaux sont certainement les variables structurées les plus populaires. Les tableaux sont disponibles dans tous les langages de programmation et servent à résoudre une multitude de problèmes. La notion de tableau consiste : À attribuer un seul nom à l’ensemble des 30 valeurs, par exemple NOTES À repérer chaque note par ce nom suivi entre parenthèses d’un numéro compris entre 0 et 29

Tableaux fixes: Description d’un tableau Notes (0) Notes(2) Notes (i) Notes (29) Notes(0) : la première note du tableau Notes(2) : la troisième note du tableau ….. Notes(i) : La ième note du tableau i est l’indice du tableau Un tableau à une dimension est une variable structurée formée d'un nombre entier N de variables simples de même type, qui sont appelées les composantes du tableau. Le nombre de composantes N est alors la dimension (taille) du tableau.

Tableaux fixes Le tableau permet de stocker de grandes quantités d’informations pendant l’exécution d’un programme. Il permet d’invoquer un groupe de valeurs en utilisant un seul nom et en traitant ces valeurs séparément ou collectivement.

Déclaration d’un tableau La syntaxe de base est d’un tableau est : Dim NomTableau(IndiceDimension) As Type NomTableau : est le nom de variable (identificateur) du Tableau qui sera utilisé dans le programme IndiceDimension : est la limite supérieure de la dimension du tableau, qui correspond au nombre total d’éléments de cette dimension -1 Type : est le type des données qui seront stockées dans le tableau

Exemples de déclarations Dim Etudiants(9) As String Tableau (vecteur) de chaînes de caractères nommé Etudiants qui peut contenir dix noms d’étudiants (numérotés de 0 à 9). Dim Notes(49) As Byte Tableau d’entiers positifs nommé Notes qui peut contenir 50 notes d’étudiants (numérotés de 0 à 49). Par défaut, le premier élément d’un tableau est identifié par l’indice 0. Quand on déclare un tableau, VB.NET lui réserve l’espace mémoire nécessaire.

Utilisation des éléments d’un tableau Pour accéder à un élément i du tableau, on utilise le nom du tableau suivi d’un indice placé entre parenthèses. Cet indice doit être un entier ou une expression dont le résultat est un nombre entier. Notes(0) = 15 Etudiants(5) = ``Véronique`` UBound(Notes)= 49 Notes(0) 15 Véronique LBound(Etudiants) = 0 Etudiants(5)

Affichage et affectation La structure for se prête particulièrement bien au travail avec les tableaux. La majorité des applications se laissent implémenter par simple modification des exemples-types de l'affichage et de l'affectation.

Exemple 1 : Saisie des données et stockage dans un tableau (Voir EX10) Dim Prompt, Title As String Dim Temperatures(6) As Single Dim i As Short Prompt = " Entrer la température maximale du jour." For i = 0 To UBound(Temperatures) Title = "Day " & (i + 1) Temperatures(i) = InputBox(Prompt, Title) Next

Consultation des éléments d’un tableau (Voir EX10) Dim Result As String Dim i As Short Dim Total As Single = 0 Result = "High temperatures for the week:" & vbCrLf & vbCrLf // Consultation du tableau For i = 0 To 6 Result = Result & "Day " & (i + 1) & vbTab & Temperatures(i) & vbCrLf Total = Total + Temperatures(i) Next Result = Result & vbCrLf & _ "Average temperature: " & _ format(Total / 7, "0.0") TextBox1.Text = Result High temperatures for the week: Day 1 20 Day 2 21 Day 3 22 Day 4 23 Day 5 24 Day 6 25 Day 7 26 Average temperature: 23,0

Tableaux multidimensionnels La syntaxe de base d’un tableau de taille fixe est : Dim NomTableau(IndiceDimension1, IndiceDimension2, …) As Type Les arguments sont importants : IndiceDimension1 : limite supérieure de la première dimension du tableau, qui correspond au nombre total d’éléments de cette dimension-1 IndiceDimension2 : limite supérieure de la deuxième dimension du tableau, qui correspond au nombre total d’éléments de cette dimension-1 Exemple Dim Matrice (1,4) As Short Déclaration d’un tableau bidimensionnel nommé Matrice qui permet de stocker 2 lignes et 5 colonnes de données entières de type Short.

Tableaux à 2 dimensions Colonnes 0 1 2 3 4 1 Lignes Si L est le nombre de lignes du tableau et C le nombre de colonnes du tableau. L et C sont alors les deux dimensions du tableau. Un tableau à deux dimensions contient donc L*C composantes. On dit qu'un tableau à 2 dimensions est carré, si L est égal à C. En faisant le rapprochement avec les mathématiques, on peut dire que le tableau à deux dimensions est une matrice.

Colonnes : Températures max de Exemple Colonnes : Températures max de chaque jour Soit un tableau TEMPS à une dimension pour mémoriser les 7 températures maximales de la semaine : Dim TEMPS(6) As Short Pour mémoriser les températures des 4 semaines d’un mois, nous pouvons rassembler plusieurs de ces tableaux à une dimension dans un tableau TEMPM à deux dimensions : Dim TEMPM(3,6) As Short Dans une ligne nous retrouvons les températures de la semaine. Dans une colonne, nous retrouvons toutes les températures d’une journée. Si la température de la 4ème journée de la 1ère semaine est 15 alors : TEMPM(0,3) = 15 0 1 2 3 4 5 6 1 2 3 20 23 19 15 17 18 16 21 22 24 25

Accès aux composants A(0,0) A(0,1) A(0,2) A(1,0) A(1,1) A(1,2) Colonnes j A(0,0) A(0,1) A(0,2) A(1,0) A(1,1) A(1,2) Lignes i Dim A(1,2) As Short L’élément (i,j) du tableau A est : A (<Ligne i>,<Colonne j>)

Exemple : Remplissage d’une matrice (Voir EX11) Dim Matrice(1, 1) As Short Dim I, J, Valeur As Short For I = 0 To 1 For J = 0 To 1 Valeur = InputBox("Entrer un nombre_ positif compris entre 0 et 255") Matrice(I, J) = Valeur Next

Exemple : Affichage du contenu d'une matrice (Voir EX11) Dim Matrice(1, 1) As Short Dim I, J, Valeur As Short For I = 0 To 1 For J = 0 To 1 MsgBox("L‘element de la ligne" & CStr(I) & " et la _ colonne " & CStr(J) & " est : " & CStr(Matrice(I, J))) Next

Tableaux dynamiques: Création d’un tableau dynamique Jusqu’à présent, nous avons vu des tableaux dont la taille a été fixée avant l’exécution (automatique). Comment faire si l’utilisateur détermine lui-même la taille de son tableau lors de l’exécution Le nombre de températures maximal entré par l’utilisateur lors de l’exécution Visual Basic gère ce problème avec un conteneur élastique spécial : Tableau dynamique.

Les étapes de création d’un tableau dynamique Spécifier le nom et le type du tableau pendant la conception sans donner le nombre d’éléments Dim Temperatures() As Single Ajouter du code pour déterminer le nombre d’éléments qui devront figurer dans le tableau lors de l’exécution. Dim Jours As Short Jours = InputBox (``Entrer le nombre de jours``) Utiliser cette variable dans une instruction ReDim pour dimensionner (définir la taille) le tableau ReDim Temperatures(Jours – 1) Utiliser la fonction UBound pour déterminer la limite supérieure dans une boucle FOR…Next For I = 0 To UBound(Temperatures) Temperatures(i) = InputBox(``Entrer la température``) Next

Exemple (Voir EX12) Dim Temperatures() As Single Dim Days As Integer Dim Prompt, Title, Result As String Dim i As Short Dim Total As Single = 0 Prompt = "Enter the day's high temperature." Days = InputBox("How many days?", "Create Array") If Days > 0 Then ReDim Temperatures(Days - 1) For i = 0 To UBound(Temperatures) Title = "Day " & CStr(i + 1) Temperatures(i) = InputBox(Prompt, Title) Next

Exemple suite (Voir EX12) Result = "High temperatures:" & vbCrLf & vbCrLf For i = 0 To UBound(Temperatures) Result = Result & "Day " & CStr(i + 1) & vbTab & _ CStr(Temperatures(i)) & vbCrLf Total = Total + Temperatures(i) Next Result = Result & vbCrLf & _ "Average temperature: " & _ CStr(Format(Total / Days, "0.0")) TextBox1.Text = Result

Re-dimensionnement d’une matrice (Voir EX13) Dim Matrice(,) As Short Dim i, J, Dim1, Dim2, Valeur As Short Dim1 = InputBox("Entrer le nombre de lignes") Dim2 = InputBox("Entrer le nombre de colonnes") ReDim Matrice(Dim1 - 1, Dim2 - 1) For i = 0 To UBound(Matrice, 1) For J = 0 To UBound(Matrice, 2) Valeur = InputBox("Entrer un nombre positif _ compris entre 0 et 255") Matrice(i, J) = Valeur Next

… (Voir EX13) For i = 0 To UBound(Matrice, 1) For J = 0 To UBound(Matrice, 2) MsgBox("L’element de la ligne" & CStr(i) & _ " et la colonne " & CStr(J) & " est : " & _ CStr(Matrice(i, J))) Next

Préservation du contenu d’un tableau avec ReDim Preserve Si on re-dimensionne un tableau qui contient déjà des données, ces informations seront irrémédiablement perdues. Après l’exécution de l’instruction ReDim, le contenu d’un tableau dynamique est défini à sa valeur par défaut. Le mot-clé Preserve, sauvegarde les données d’un tableau pendant son re-dimensionnement. ReDim Preserve NomTableau(dim1, dim2,…) Seule la dernière dimension d’un tableau peut être re-dimensionnée.

Exemple avec un tableau à une dimension Dim Philosophes() As String ReDim Philosophes(200) Philosophes(200) = ``Steve Harrison`` ReDim Preserve Philosophes(300)

Exemple avec un tableau tridimensionnel Dim monCube(,,) As Single //on re-dimensionne le tableau ReDim monCube(25,25,25) monCube(10,1,1) = 150 //on augmente la taille de la 3ème //dimension en préservant son contenu ReDim Preserve monCube(25,25,50)