Leçons de niveau 12

Initiation à la programmation/Exercices/Visual Basic

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Visual Basic
Image logo représentative de la faculté
Exercices no2
Leçon : Initiation à la programmation

Exercices de niveau 12.

Exo préc. :L'algorigramme
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Exercice : Visual Basic
Initiation à la programmation/Exercices/Visual Basic
 », n'a pu être restituée correctement ci-dessus.




Établissons ensemble l'algorithme qui à partir de la largeur et de la longueur d'un rectangle nous donne le résultat de la surface et du périmètre.

De plus, affiche si le nombre obtenu pour le périmètre est inférieur ou supérieur au nombre obtenu pour la surface.

Rémarques :

  • la longueur et la largeur sont des entiers.
  • les valeurs sont directement saisies dans le programme.
Début { commentaire }
    déclaration des variables longueur, largeur, périmètre : entier { déclare deux variables au nom de longueur, largeur et périmètre type entier. }
    longueur = x { on affecte la variable longueur de la valeur x, idem pour la largeur }
    largeur = y
    surface = longueur * largeur { action 1 ; calcul la surface est affecte la variable surface a cette valeur }
    périmètre = 2 * longueur + 2 * largeur { action 2 ; calcul le périmètre est affecte la variable périmètre a cette valeur }
    afficher surface { permet d'afficher la variable surface }
    afficher périmètre { permet d'afficher la variable périmètre }
    Si
        Alors afficher périmètre inférieur à surface ;
        Sinon afficher périmètre supérieur à surface ;
    Fin Si
Fin

En blocs graphiques cela nous donne la représentation suivante.

Flowchart calculating and comparing perimeter and surface of rectangle - fr.jpg

On comprend aisément à travers cet exemple, que cette représentation est peu commode.

Lancer le tableur « Excel », puis dans « Outils », puis « Macro », choisir « Visual Basic Editor ».

Dans « Visual Basic Editor », dans la fenêtre « Projet – VBA Project », cliquer sur « Afficher le code », dans la fenêtre de droite l'espace vous est réservé pour saisir votre programme.

Les commentaires sont en vert et précédé d'un ', les mots système (réservé au langage informatique) sont en bleu. Sinon on retrouve les mêmes structures que celle exposé dans le cours.

Sub SurfaceCarré() ' Sub remplace début, et est suivi du nom du programme, ici SurfaceCarré
    Dim Largeur As Integer ' déclaration de la variable Largeur par l'instruction « Dim » (les majuscules ont leur importances aussi « largeur » est différent de « Largeur »). Le type est spécifié par l'instruction « As » et « Intéger ».
    Dim Longueur As Integer
    Largeur = x ' affecte la varuabke Largeur de la valeur x
    Longueur = y
    Cells(1,1).Value = « Surface » ' affiche dans la cellule située 1er ligne et 1er colonne la chaine de caractères « Surface »
    Cells(2,1).Value = « Périmètre »
    Cells(1,2).Value = Largeur * Longueur
    Cells(2,2).Value = 2 * Largeur + 2 * Longueur
    If (Cells(2,2).Value < Cells(1,2).Value) Then ' Test si la valeur de la 1er cellule est inférieur à la valeur de la 2nd cellule, si oui exécute la suite d'instruction après le « Then » sinon exécute les instructions après le « Else ».
        Cells(2,2).Value = « Périmètre inférieur à surface »
    Else 
        Cells(2,2).Value = « Périmètre supérieur à surface »
    End If
End Sub

Exercice no 1[modifier | modifier le wikicode]

Établir l'algorithme qui permet d'afficher la valeur d'un entier dans la cellule (1, A) d'une feuille Excel.

Exercice no 2[modifier | modifier le wikicode]

Établir l'algorithme qui permet de lire la valeur d'un entier dans la cellule (1, A) d'une feuille Excel, de sauvegarder cette valeur dans une variable et d'afficher cette valeur dans la cellule (3, B).

Exercice no 3[modifier | modifier le wikicode]

Établir l'algorithme qui permet d'intervertir la valeur d'un entier dans la cellule (1, A) d'une feuille Excel, et la valeur d'un entier dans la cellule (2, A).

Exercice no 4[modifier | modifier le wikicode]

Établir l’algorithme qui permet d'intervertir la valeur d'un entier dans la cellule (1, A) d'une feuille Excel, et la valeur d'un entier dans la cellule (2, A), si la cellule du haut est de valeur supérieure à la cellule du bas. Ne rien faire dans les autres cas.

Exercice no 5[modifier | modifier le wikicode]

Établir l'algorithme qui à partir du rayon donne le résultat de la surface et du périmètre d'un cercle.

De plus, affiche si le nombre obtenu pour le périmètre est inférieur ou supérieur au nombre obtenu pour la surface.

  • le rayon sera un entier.
  • les valeurs seront lu à partir de valeurs écrient dans la feuille Excel.

Exercice no 6[modifier | modifier le wikicode]

Dans un tableau de valeur (déjà rangé et croissant) sur la colonne A, valeur comprise entre 5 et 50 (de 5 en 5). Trouver la position d'une valeur (indice dans le tableau) et l'afficher.

Exercice no 7[modifier | modifier le wikicode]

Établir l'algorithme qui permet de remplir la feuille Excel sur les 10er lignes (1er colonne) par des nombres croissants. De 1 à …

On devra utiliser la structure de contrôle tant que.

Exercice no 8[modifier | modifier le wikicode]

Établir l'algorithme qui remplit la feuille Excel sur les 10er lignes (1er colonne) par des nombres aléatoire compris entre 1 et 100.

Tous les entiers sont déclarés comme des variables de type entier. On devra utiliser la structure de contrôle tant que.

La fonction en Visual Basic générant 1 entiers de façon aléatoire est la suivante :

Int(Rnd * 100 + 1) { Int() est une procédure qui retourne la partie entière du nombre dans la parenthèse ; Rnd génère une valeur aléatoire comprise entre 0 et 1 }

Exercice no 9[modifier | modifier le wikicode]

Établir l’algorithme qui remplit la feuille Excel sur les 8er lignes et les 2er colonnes des entiers de 1 à n.

Première version : on remplira d'abord la 1er colonne puis la 2nd, ce qui donnera :

A B
1 1 9
2 2 10
3 3 11
4 etc. etc.

Seconde version : on remplira d'abord la 1er colonne puis la 2nd, ce qui donnera :

A B
1 1 2
2 3 4
3 5 6
4 etc. etc.

Tous les entiers sont déclarés comme des variables de type entier.

On pourra utiliser la structure de contrôle tant que.

Exercice no 10[modifier | modifier le wikicode]

Établir l'algorithme qui fait la conversion décimale binaire d'un chiffre entier.

  • Tous les entiers sont déclarés comme des variables de type entier.
  • Les valeurs seront directement saisies dans le programme.

On dispose des variables : Quo pour le quotient ; Den pour le dénominateur ; Num pour le numérateur et Res pour le reste. Respecter ces dénominations pour que tout le monde ait les mêmes noms de variable.

L'instruction Int(…) retourne la valeur entière de ce qui se trouve dans la parenthèse (donc sans la partie après la virgule).

Exercice no 11[modifier | modifier le wikicode]

À partir de l'algorithme qui fait la conversion décimale — binaire d'un chiffre entier, réaliser celui qui fait la conversion décimale — hexadécimale.

Exercice no 12[modifier | modifier le wikicode]

Établir l'algorithme qui classe en ordre décroissant les n entier dans un tableau, les n entiers étant classé de façon aléatoire au départ.

Tous les entiers sont déclarés comme des variables de type entier.