Structures de contrle Structures simples Structures complexes Structures
- Slides: 30
Structures de contrôle • Structures simples • Structures complexes
Structures simples • Les tableaux • Les enregistrements
Les tableaux • Il arrive fréquemment que l’on doive manipuler une série de données de même nature : – des résultats financiers mensuels – des vecteurs d’indices – des matrices – des températures –… • Dans ce cas, on peut définir et manipuler des tableaux d’une ou plusieurs dimensions (jusqu’à 60 en VB)
Déclaration des tableaux Syntaxe des déclarations de tableaux : • Variable : Dim <nom> As Type • Constantes : Const <nom> As Type • Tableaux de variables : Dim <nom>(L 1 To U 1, …) As Type • Variante : Dim <nom>(N 1, …, Nn) As Type
Exemples Dim Mois(1 To 12) As String ‘déclaration Mois(1)= « janvier » ‘initialisation Mois(2)= « février » … Dim Jours(7) As String ‘déclaration Jours(0)= « lundi » ‘initialisation Jours(1)= « mardi » … txt. Jour. Text = Jours(1) ‘affiche mardi dans la zone de texte txt. Jour
Passage des tableaux en paramètre • Pour passer un tableau, il faut : – Call nomproc(nom. Tab()) – Nomproc nom. Tab(6) – Nomproc (nom. Tab(6))
Algorithmes sur les tableaux • • Saisie des éléments d’un tableau Comparaison de deux tableaux Recherche d’un élément dans un tableau Ajout d’un élément dans un tableau – Dans une position p – À la fin du tableau • Suppression d’un élément du tableau – La position dans le tableau est connue – L’élément à supprimer est connu • Tri des éléments d’un tableau
Structures de contrôle Les enregistrements
• Contrairement aux tableaux, ce type structuré permet de regrouper des données de types différents. • Exemple : on identifie un ouvrage par un code, un titre, un ou plusieurs auteurs, un éditeur et éventuellement la date de parution.
• Ouvrage est une variable de type enregistrement; chacune de ces cinq données est un champ pouvant être simple ou structuré.
• • Les enregistrements sont déclarés en VB avec le mot Type. Syntaxe : Type Nom. Enregistrement Champ 1 As type 1 Champ 2 As type 2 … End Type • Exemple : Type Date jour As Integer mois As Integer annee As Integer End Type • Pour accéder à un champ : Dim p As Personne … p. nom = "Durand“ … p. date. Naissance. annee = 1980 Type Personne nom As String*40 prenom As String*50 date. Naissance As Date End Type
Les enregistrements - Exemple Un étudiant est défini par son nom, son prénom, sa date de naissance et sa note : Private Type Etudiant nom As String * 40 prenom As String * 40 date. Naissance As Date note As Double End Type Une classe peut contenir au plus 30 étudiant : Const Nb. Max = 30 ‘pour le nombre limite d’étudiants Type classe(Nb. Max) As Etudiant ‘la classe est un tableau nbr As Integer ‘le nombre réel des étudiants End Type
Exercices • Écrire les procédures et fonctions nécessaires pour – – La saisie de la classe L’affichage de la classe (dans une feuille d’Excel) calculer la meilleur note Enfin, la procédure qui fait tout : Sub Tout() Saisie. Classe Call Afficher. Classe Msg. Box ("Meilleur note de la classe : " + CStr(Meilleur. Note())) End Sub
Structures complexes • Les piles • Les files
Une pile • Analogie de la pile d’assiettes – Last In First Out (LIFO) • Opérations possibles – Insérer un élément dans une pile – Supprimer un élément d’une pile – Élément du sommet de la pile – Création d’une pile vide – Tester si une pile est vide
Mise en œuvre d’une pile • Plusieurs façons de faire : – En particulier, à l’aide d’un tableau : • Le nombre max d’éléments dans la pile • Le contenu de la pile • Un indice pour pointer sur le sommet de la pile
• Type de données : Type TPile contenu(NMAX) as Integer sommet As Integer End Type
Function Pile. Vide(p As TPile) As Boolean If (p. sommet = -1) Then Pile. Vide = True Else Pile. Vide = False End If End Function
Function Pile. Pleine(p As TPile) As Boolean If (p. sommet = NMAX - 1) Then Pile. Pleine = True Else Pile. Pleine = False End If End Function
Sub Empiler(p As TPile, elt As Integer) If (Pile. Pleine(p) = False) Then p. sommet = p. sommet +1 p. contenu(p. sommet) = elt Else Msg. Box(’’La pile est pleine !’’) End If End Sub
Sub Depiler(p As TPile) If (Pile. Vide(p) = False) Then p. sommet = p. sommet - 1 Else Msg. Box(’’La pile est vide !’’) End If End Sub
Function Sommet(p As TPile) As Integer If (Pile. Vide(p) = False) Then Sommet = p. contenu(p. sommet) Else Msg. Box(’’La pile est vide !’’) End If End Function
Une File • Analogie de la file d’attente – First In First out (FIFO) • Opérations principales – Insertion d’un élément – Suppression d’un élément (le plus ancien de la file) – Quel est l’élément le plus ancien de la file ? – Création d’une file vide – Est-ce qu’une file est vide ?
Mise en œuvre d’une file • Plusieurs façons de faire : – En particulier, à l’aide d’un tableau : • Le nombre max d’éléments dans la file • Le contenu de la file • Un indice début qui pointe sur l’élément le plus ancien de la file • Un indice fin qui pointe sur le dernier élément inséré dans la file
• Type de données : Type TFile contenu(NMAX) as Integer debut As Integer fin As Integer End Type
Function File. Vide(f As TFile) As Boolean If (f. debut = f. fin) Then File. Vide = True Else File. Vide = False End If End Function
Function File. Pleine(f As TFile) As Boolean If (f. debut=(f. fin + 1) mod NMAX) Then File. Pleine = True Else File. Pleine = False End If End Function
Sub Enfiler(f As TFile, elt As Integer) If (File. Pleine(p) = False) Then f. contenu(f. fin) = elt f. fin = (f. fin +1) mod NMAX Else Msg. Box(’’La file est pleine !’’) End If End Sub
Sub Defiler(f As TFile) If (File. Vide(f) = False) Then f. debut = (f. debut+1) mod NMAX Else Msg. Box(’’La file est vide !’’) End If End Sub
Function Tete(f As TFile) As Integer If (File. Vide(f) = False) Then Tete = f. contenu(f. debut) Else Msg. Box(’’La file est vide !’’) End If End Function
- Linhas abertas e fechadas simples e não simples
- Contrle parental software
- Contrle
- Contrle parental
- Contrle parental
- Contrle parental program
- Contrle technique
- Inertness of a complex depends on
- Limitations of orgel energy level diagram
- Lanthanides have poor tendency to form complexes
- Inert and labile complexes
- Monds process
- Optical isomerism in octahedral complexes
- Chion lion
- What are activated complexes
- Ligand spectrochemical series
- K complexes eeg
- Spherical complexes of emulsified fats are known as
- Uncouplers of oxidative phosphorylation
- Man camps in texas
- Maquines complexes
- Freud complexes
- What is nephelauxetic effect
- Splitting in octahedral complexes
- A ________ is formed from beadlike histone-dna complexes.
- Phrase simple phrase complexe
- Homologous structure
- Difusao simples
- Tipos de sutura
- Triglicérido
- Difusão simples e facilitada