Cours Algorithme : Les variables de type tableau - Les tables de bases de données

Ce complément porte sur l’utilisation des variables tableaux et la manipulation de tables dans un algorithme

I/ Les variables de type tableau
  

A/ Principe
 
Dans un programme, on souhaite saisir les noms d’élèves d’une classe et mémoriser leurs notes à un devoir. Une solution algorithmique consisterait à créer autant de variables qu’il y a de notes :

Eleve1, Eleve2, …Eleve10
Note1, note2,…, note10

Mais il faudrait alors prévoir n lignes identiques dans l’algorithme :

SAISIR ELEVE1, NOTE1
SAISIR Eleve2, Note2

SAISIR Eleve10, Note10

Ce qui rend impossible l’écriture d’un algorithme ou d’un programme lorsque le nombre de variables est élevé.
Pour éviter cet inconvénient, on peut utiliser en programmation des variables de type tableau.

Une variable de type tableau se présente de la manière suivante :
NomVariable(Indice)

Exemple :


On peut ainsi avoir un accès direct à un nom et à une note d’élève si on connaît la valeur de l’indice.

Exemple :

AFFICHER Eleve(6), Note(6)
Donne l’affichage suivant :
VIGOR 14

B/ Utilisation des variables de types tableau dans un algorithme

Une variable de type tableau doit être déclarée :
--------------------------------------------------------------------------------------------
VARIABLES
    NomVariable[1..n] : TABLEAU DE typededonnées

--------------------------------------------------------------------------------------------

Entre crochet on indique l’étendue de l’indice (n représente une limite finie)
Les variables tableaux s’utilisent à merveille avec des structures itératives (notamment POUR..FIN POUR)

Exemple1

L’algorithme ci-dessous effectue une saisie en boucle des noms et des notes des élèves (20 élèves maxi)

--------------------------------------------------------------------------------------------
VARIABLES
    I : Entier
    Eleve[1..20] : TABLEAU DE CHAINE
    Note[1..20] : TABLEAU DE REEL
DEBUT
    POUR I :=1 JUSQU'A 20
        SAISIR(« Nom de l’élève »&CVCHAINE(I) »,Eleve(I))
        SAISIR(« Note de l’élève »&CVCHAINE(I) »,Note(I))
    FIN POUR
FIN
--------------------------------------------------------------------------------------------

On peut utiliser la boucle POUR … FIN POUR pour additionner les notes et calculer la moyenne du devoir.

Exemple2

Même exemple que ci-dessus mais le nombre d’élèves est inconnu (au maximum 40), on peut utiliser dans ce cas une boucle REPETER et prévoir un code d’arrêt (on va utiliser une valeur booléenne qui prendra la valeur .OUI. pour continuer et .NON. pour arrêter

--------------------------------------------------------------------------------------------
VARIABLES
    I : Entier
    Eleve[1..40] : TABLEAU DE CHAINE
    Note[1..40] : TABLEAU DE REEL
    Encore : Booléen
DEBUT
    Encore <- .VRAI.
    REPETER
        SAISIR(« Nom de l’élève »&CVCHAINE(I) »,Eleve(I))
        SAISIR(« Note de l’élève »&CVCHAINE(I) »,Note(I))
        SAISIR(« Autre saisie OUI/NON ? »,Encore)
    JUSQU'A Encore := .NON.
FIN
--------------------------------------------------------------------------------------------

II/ Manipuler des tables de bases de données

L’algorithme comporte un certain nombre d’instructions pouvant permettre d’exploiter une table de base de données. Cette possibilité trouve tout son sens dans Access lorsqu’on veut automatiser certaines tâches sur des tables : l’appui sur un bouton dans un formulaire peut alors provoquer des insertions de données dans des tables ou une recherche.

Exemple :

Soit la table CLIENT

On veut réaliser un programme qui permette :
   
-    de rechercher un client à partir de son numéro
-    de saisir un nouveau client

Le programme propose un menu chaque choix de menu est associé à une procédure

Algo Gestion_client


             

Article plus récent Article plus ancien

Leave a Reply