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