INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation...

31
INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en informatiquedu SEG

Transcript of INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation...

Page 1: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

INF130 - Ordinateurs et programmation

Semaine 01

Document présenté par Frédérick Henriet conçu par les enseignants en informatique du SEG

Page 2: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Fonctionnement d'un ordinateur- Présenter les différentes composantes d'un ordinateur.

Notions de bases en programmation- Les modules ;- Les commentaires ;- Les entrées/sorties ;- Les variables et les types ;- Les constantes ;

Objectifs du cours

INF130 - Cours 01 Objectifs

Page 3: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Un ordinateur est une machine programmable de traitement de l'information, commandée par des programmes stockés en mémoire, qui accepte des données structurées, les traite selon des règles définies et produit automatiquement un résultat en sortie (cf. OQLF).

Un ordinateur est constitué d'une unité centrale (pour exécuter les programmes), d'une mémoire centrale (pour stocker les données et les logiciels) et de périphériques, comme le clavier, la souris, l'écran et les hauts-parleurs (pour communiquer avec l'utilisateur).

L'ordinateur

INF130 - Cours 01 Ordinateur

Page 4: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Bloc d'alimentation ("Power supply")

Il fournit du courant à l'ensemble des composants de l'ordinateur.

Composantes internes de l'ordinateur

Il est également possible d'ajouter différentes cartes dans l'ordinateur :- carte réseau (pour accéder à l'internet);- carte vidéo (pour pouvoir connecter un écran);- carte de son (pour connecter des haut-parleurs);- etc.

INF130 - Cours 01 Ordinateur 2

Page 5: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Afin de vous initier à ce qu'est la programmation, supposez que vousdisposez d'un robinet et de deux contenants non gradués :

- un contenant de 3 litres;- un contenant de 5 litres.

Décrivez comment il est possible de mesurer un volume de 4 litres.

Exercice

La programmation correspond à l'ensemble des activités techniques reliées à l'élaboration d'un programme informatique. Elle comprend donc les activités de conception, d'écriture, de test et de maintenance de programmes (cf. OQLF).

Un programmeur doit être en mesure de :- trouver une solution à un problème;- exprimer cette solution de façon structurée;- traduire cette solution en un langage compréhensible par la machine;- tester le programme.

Page 6: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Solution

Première solution

Remplissez le contenant de 5 litres.Versez le contenu du contenant de 5 litres dans le contenant de 3 litres.Videz le contenant de 3 litres.Versez le contenu du contenant de 5 litres (2 litres) dans le contenant de 3 litres.Remplissez le contenant de 5 litres.Versez le contenu du contenant de 5 litres dans le contenant de 3 litres jusqu'à ce que ce dernier soit plein (1 litre).Il reste alors 4 litres dans le contenant de 5 litres.

La même solution exprimée différemment

1) 2) 3)

4) 6)

2

0

5

02

5)

5

3

4

3

Page 7: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Félicitation, vous venez d'écrire votre premier algorithme! Un algorithme est une séquence d’instructions permettant de réaliser une tâche en un nombre fini d’étapes.

Exemples d’algorithmes :- une recette de cuisine;- les directives pour se rendre à une certaine destination;- les instructions à suivre pour assembler un meuble;- les actions à effectuer pour faire la lessive.

Les algorithmes (p. 12)

Bien que les cartes de pirates soient très jolies, il existe deux outils un peu plus moderne pour décrire un algorithme : l’ordinogramme et le pseudocode.

Page 8: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Un ordinogramme (aussi nommé organigramme et schéma fonctionnel) est un diagramme composé de symboles (boîtes, flèches, etc.) qui permet d’illustrer la séquence des instructions à réaliser dans un algorithme.

L’ordinogramme qui suit détermine les chiffres à composer pour effectuer un appel téléphonique.

Une façon de décrire un algorithme : l'ordinogramme (p. 13)

DÉBUT

FIN

Composer le numérode téléphone

Composer le 1Composer le code

régional

L'appel estinterurbain

Composer le 011

L'appel estoutre-mer

Composer l'indicatifdu pays

Composer l'indicatifde la ville

VRAI

FAUX FAUX

VRAI

Page 9: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Voici un exemple d'ordinogramme aperçu dans un CLSC de la Rive-Sud de Montréal.

Page 10: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Le pseudocode est un langage qui combine des éléments de langage de programmation et de langage naturel et qui sert à décrire un algorithme.

Voici de nouveau l'algorithme qui détermine les chiffres à composer pour effectuer un appel téléphonique, mais cette fois décrit à l'aide de pseudocode.

Une façon de décrire un algorithme : le pseudocode (p. 14)

DÉBUT

si (l’appel est interurbain) alorssi (l’appel est outre-mer) alors

composer le 011composer l’indicatif du payscomposer l’indicatif de la ville

sinon

composer le 1composer le code régional

fin si

sinon

composer le code régionalfin si

composer le numéro de téléphoneFIN

Page 11: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Première étape : création d'un module (p. 27)

L'environnement de programmation utilisé dans ce cours sera VBA d'Excel. VBA veut dire Visual

Basic for Applications et, ici, l'application concernée est Microsoft Excel.

Tout programme en Visual Basic for Applications d'Excel nécessite la création d'un module.

Un module est un sous-ensemble d’un programme destiné à remplir des tâches bien définies. L’utilisation de modules permet de découper un programme en parties indépendantes.

Pour créer un module, il suffit de :- appuyer sur ALT-F11 pour atteindre l'éditeur de VBA;- cliquer dans la barre de menu sur l'option Insertion → Module.

Nous verrons plus tard dans la session l'importance des modules.

Page 12: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Nous prendrons l'habitude de placer un commentaire :- au début d'un module;- à côté d'une déclaration de variable;- au-dessus d'une définition de procédure ou de fonction;- avant tout groupe d'instructions complexes;- au-dessus de la définition d'un type ou d'une constante.

Deuxième étape : commenter (p. 39)

En en-tête d'un module

'--------------------------------------------------------------' Module : NOM_DU_MODULE' Par : Frédérick Henri' Date : 22/04/2010'' Ce module permet de ...'' Il connaît ...'--------------------------------------------------------------

À côté de la déclaration d'une variable

Dim rayon As Double ' Le rayon du cercle (en cm).

Au-dessus de la définition d'une fonction

'' CARRÉ'' Cette fonction calcule le carré d'une valeur.'' PARAMÈTRES :' - x : La valeur à mettre au carré (type : Double).'' VALEUR DE RETOUR : Lavaleur de x au carré (type : Double).'' EXEMPLE D'APPEL : carré(1.5) retourne 2.25.'

Un commentaire est une information ajoutée au code qui sert à en clarifier le fonctionnement et qui n'a aucun effet sur l'exécution.

Syntaxe des commentaires en VBA d'Excel

Le symbole ' indique que le reste de la ligne est un commentaire.' Ceci est un commentaire!

Page 13: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Un programme se compose toujours d'une ou plusieurs procédures. Une procédure est une portion d'un programme informatique qui porte un nom et se compose d'une séquence d'instructions permettant de réaliser une tâche. La procédure qui régit le fonctionnement d'un programme se nomme programme principal.

Syntaxe minimale de la définition d'une procédure en VBA

Sub nom()

End Sub

où nom correspond au nom de la procédure. Celui doit respecter les règles suivantes :- le premier caractère doit être une lettre ;- l’utilisation des caractères «.», «!», «@», «&», «$», «#» ainsi que de l'espace n'est pas

permis.- le nom ne peut compter plus de 255 caractères ;- le nom ne doit pas être visible au même niveau de portée.

Nous aborderons plus en profondeur les procédures dès le prochain cours.

Troisième étape : le programme principal (p. 31)

Page 14: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Les sorties (p. 50 et 164)

Une sortie est une opération par laquelle un programme fournit une donnée à l’utilisateur (écriture sur disque, affichage à l'écran, son dans les haut-parleurs, etc.).

Pour l'instant, contentons-nous d'afficher un message à l'écran dans une boîte de message.

Syntaxe d'un MsgBox en VBA

Call MsgBox(message à afficher, boutons, titre)

message à afficher est une chaîne de caractères.

boutons est une somme de constantes déterminant les boutons et icônes à afficher. Ce paramètre est facultatif.

titre est une chaîne de caractères. Ce paramètre est facultatif.

Pour obtenir la description complète de cette fonction, surlignez le mot MsgBox dans l'éditeur

Page 15: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Exemple avec 1 seul paramètre

Call MsgBox("Bienvenue en INF130.")

Exemple avec 2 paramètres

Call MsgBox("Êtes-vous prêt ?", vbQuestion)

Call MsgBox("Je suis prêt.", vbExclamation)

Exemple avec 3 paramètres

Call MsgBox("Division par 0.", vbCritical, _"Erreur")

Page 16: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Comme premier exercice, vous devez :1) vous rendre dans l'éditeur VBA;2) créer un nouveau module;3) ajouter une nouvelle procédure nommée exercice1;4) ajouter le code nécessaire afin de faire afficher la fenêtre ci-dessous.

Lorsque vous aurez terminé, lisez la solution et prenez le temps de bien observer les commentaires

Exercice

Page 17: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

'' EXERCICE1'' Cette procédure affiche le message "Déjà un succès" à l'écran' dans une boîte de dialogue.'' PARAMÈTRES : Aucun.'' VALEUR DE RETOUR : Aucune.'Public Sub exercice1()

' On utilise la fonction MsgBox pour afficher à l'écran.' On remarque que le message à afficher et le titre sont des' chaînes de caractères puisqu'ils sont entourés de guillemets.Call MsgBox("Déjà un succès!", vbExclamation, "Exercice 1")

End Sub

Solution

Page 18: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Une variable est un identificateur, par exemple x ou prénom, utilisé pour représenter une valeur, par exemple le nombre 5 ou la chaîne de caractères "Frédérick". La valeur représentée par une variable peut être modifiée durant l’exécution d’un programme.

Une variable est donc une sorte d’aide-mémoire qui ne peut conserver qu’une seule information. Suite à la déclaration d’une variable, il est permis de consulter la valeur qu’elle contient ou encore de modifier celle-ci à l’aide d’une assignation.

Syntaxe de déclaration d'une variable en VBA

visibilité nom As type

visibilité peut être : Dim, Static, Public ou Private.

nom correspond au nom de la variable qui doit respecter les mêmes règles que le nom d'une procédure.

type qui peut être un type standard de VBA (Integer, String, Double, etc.), d'Excel (Worksheet, Range, ...) ou un type créé par le programmeur. Le type détermine les valeurs que la variable peut représenter ainsi que le fonctionnement des opérations (+, -, *, /, etc.) que l’on peut appliquer sur cette variable.

Les variables (p. 41 et 163)

Page 19: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

À noter...

Nous donnerons toujours un nom significatif à nos variables. Évitez les noms devariables ne possédant qu'une seule lettre (comme f ou n).

Nous ferons toujours suivre une déclaration de variable d'uncommentaire expliquant l'utilité de cette variable.

Nous ferons débuter tous nos modules par l'instructionOption Explicit (p. 40). Cela nous forcera à déclarernos variables explicitement et évitera plusieurs erreurs.

Exemple de déclaration et d'utilisation de variables'

' EFFECTUER_ACHAT'' Cette procédure calcule le coût d'un achat, ajoute la taxe et ' affiche le montant total à l'écran.'' PARAMÈTRES : Aucun.'' VALEUR DE RETOUR : Aucune.'Public Sub effectuer_achat()

Dim nombre_articles As Integer ' Nombre d'articles achetés.Dim prix_article As Double ' Prix d'un article.Dim total As Double ' Coût total de l'achat (avec taxes).

' On initialise les variables.nombre_articles = 10prix_article = 1.25

' On calcule le coût total en incluant la taxe.total = nombre_articles * prix_article * (1 + 0.13)

' On affiche le coût total de l'achat.Call MsgBox("Le coût total de l'achat est " & total & " $.")

End Sub

Page 20: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Exercice

Dim x As IntegerDim y As Integer

x = 3y = x + 2x = 6

Que contiennent les variables x et y suite à l'exécution du code ci-dessous ? Êtes-vous capable d'écrire un programme pour tester votre réponse ?

Pour faire le suivi du contenu d'une variable, on peut employer un espion. Il suffit de :- surligner le nom de la variable;- cliquer dans la barre de menu sur Débogage → ajouter un espion...- appuyer sur le bouton Ok;- suivre l'exécution de la procédure à l'aide de la touche F8.

Page 21: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Principaux types en VBA (p. 162)

Le type identifie la nature d'une donnée. Le type d'une variable détermine sa taille, les données qu'elle peut contenir et les opérations permises sur cette variable.

On retrouve ci-dessous la liste des principaux type de données en VBA d'Excel.

Nom anglais Nom français Taille Plage de valeurs

Byte Octet 1 octet 0 à 255

Boolean Booléen 2 octets Vrai (true) ou Faux (false)

Integer Entier 2 octets -32 768 à 32 767

Long Entier long 4 octets -2 147 483 648 à 2 147 483 647

Single Nombre à virgule 4 octets -3.402823 E38 à -1.401298 E-45 (valeurs négatives)flottante, simple 1.401298 E-45 à 3.402823 E38 (valeurs positives)précision » Environ 7 chiffres significatifs

Double Nombre à virgule 8 octets -1.79769313486231 E308 à -4.94065645841247 E-324

flottante, double 4.94065645841247 E-324 à 1.79769313486232 E308précision » Environ 15 chiffres significatifs

Date Date 8 octets 1er janvier 100 au 31 décembre 9999

String Chaîne de caractères 10 octets + longueur de la chaine 0 à 2 milliards de caractères

Variant Divers 16 octets Variée…

Page 22: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Les entrées (p. 46 et 166)

Saisie d'une chaîne de caractères

Dim nom As String

nom = InputBox("Quel est votre nom?")

Call MsgBox("Bonjour " & nom & "!", vbInformation)

Une entrée est une opération par laquelle un programme acquiert une donnée de l’utilisateur (lecture sur disque, lecture au clavier, saisie d'un clic de souris, etc.).

Pour l'instant, contentons-nous de saisir une entrée au clavier à l'aide d'une boîte de dialogue.

Syntaxe d'un InputBox en VBA

variable = InputBox(message, titre, valeur par défaut)

message est une chaîne de caractères.

titre est une chaîne de caractères. Ce paramètre est facultatif.

valeur par défaut est une chaîne de caractères. Ce paramètre est facultatif.

Page 23: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Les entrées (p. 46 et 166)

Saisie d'une valeur entière

Dim valeur_lue As Integer ' Reçoit une valeur lue au clavier.Dim double_valeur_lue As Integer ' Reçoit le double de la valeur lue.

' On saisit la valeur au clavier.valeur_lue = Val(InputBox("Quelle est la valeur désirée?"))

' On calcule le double de la valeur lue.double_valeur_lue = valeur_lue * 2

' On affiche le double de la valeur.Call MsgBox("Son double est : " & double_valeur_lue, vbInformation)

La fonction InputBox retourne une chaîne de caractères (type de données String).

Pour saisir un nombre, il est conseillé d'utiliser la fonction Val. Celle-ci convertit une chaine de caractères en valeur numérique. Si la chaîne de caractères ne contient pas une valeur numérique valide, alors la fonction retourne zéro.

Sans la fonction Val pour réaliser la conversion, VBA essaiera de la faire automatiquement. Toutefois, lorsque l'utilisateur entrera une valeur incorrecte, une erreur d'incompatibilité de type se produira.

Page 24: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

a) Écrivez une procédure qui saisit une valeur entière au clavier et affichele carré de cette valeur à l'écran.

Exercices

b) Écrivez une procédure qui :- saisit le salaire horaire d'un employé;- saisit le nombre d'heures travaillées par l'employé;- calcule le salaire qui doit être versé à l'employé;- affiche le salaire à l'écran.

Par exemple, si l'utilisateur entre 23.50 et 40, la procédure affiche la boîte ci-dessous.

Page 25: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

'' EXERCICE2'' Cette procédure saisit un nombre entier au clavier et affiche le' carré de ce nombre à l'écran.'' PARAMÈTRES : Aucun.'' VALEUR DE RETOUR : Aucune.'Public Sub exercice2()

Dim valeur_lue As Integer ' Pour saisir une valeur au clavier.

' On saisit la valeur.valeur_lue = Val(InputBox("Veuillez entrer un nombre :"))

' On affiche le carré de ce nombre à l'écran.Call MsgBox(valeur_lue * valeur_lue)

End Sub

Solutions

'' EXERCICE3'' Cette procédure saisit le salaire horaire d'un employé et le' nombre d'heures travaillées durant une semaine. Elle calcule le' salaire à verser et l'affiche à l'écran.'' PARAMÈTRES : Aucun.'' VALEUR DE RETOUR : Aucune.'Public Sub exercice3()

Dim salaire_horaire As Double ' Le salaire horaire (en $).Dim nb_heures As Double ' Nombre d'heures travaillées.Dim salaire_à_verser As Double ' Salaire à verser (en $).

' On saisit le salaire horaire.salaire_horaire = Val(InputBox("Entrez le salaire horaire :"))

' On saisit le nombre d'heures travaillées.nb_heures = Val(InputBox("Entrez le nombre " & _

"d'heures travaillées :"))

' On calcule le salaire à verser à l'employé.salaire_à_verser = nb_heures * salaire_horaire

' On affiche le salaire à verser à l'employé.Call MsgBox("Salaire à verser : " & salaire_à_verser & " $.")

End Sub

Page 26: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Une instruction conditionnelle (ou sélection) est une instruction permettant de choisir la ou les instructions à réaliser en fonction de l’évaluation d’une expression booléenne.

L'instruction conditionnelle permet de modifier le flot d'exécution naturel des instructions.

Syntaxe d'une instruction conditionnelle en VBA

If expression booléenne ThenInstruction(s) à réaliser quand l'expression est vraie

ElseInstruction(s) à réaliser quand l'expression est fausse

End If

expression booléenne est une expression booléenne (p. ex. : x < 10).

À noter : la présence du Else n'est pas obligatoire dans une instruction conditionnelle.

L'instruction conditionnelle (p. 58)

Calcul du salaire d'un individu (en tenant compte du temps supplémentaire)

Dim salaire_horaire As Double ' Le salaire horaire (en dollars).Dim nb_heures As Double ' Le nombre d'heures travaillées.Dim salaire_à_verser As Double ' Le salaire à verser à l'employé.

' On saisit le salaire horaire.salaire_horaire = Val(InputBox("Entrez le salaire horaire :"))

' On saisit le nombre d'heures travaillées.nb_heures = Val(InputBox("Entrez le nombre d'heures travaillées :"))

' On calcule le salaire à verser à l'employé.If (nb_heures <= 40) Then

salaire_à_verser = nb_heures * salaire_horaireElse

salaire_à_verser = 40 * salaire_horaire + _(nb_heures - 40) * salaire_horaire * 1.5

End If

' On affiche le salaire à verser à l'employé.Call MsgBox("L'employé doit recevoir " & salaire_à_verser & " $.")

À noter...

Le code à l'intérieur d'une instruction conditionnelle est décaléd'une tabulation vers la droite. On dit de ces lignes qu'ellessont indentées (p. 28).

Nous prendrons l'habitude d'indenter le code à l'intérieurd'une procédure, d'une instruction conditionnelle.

Page 27: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Les constantes (p. 49 et 163)

Une constante est un identificateur, par exemple G ou PI, utilisé pour conserver une valeur, par exemple 6.67428 × 10−11. L’assignation d’une valeur à une constante n’est permise que lors de sa déclaration.

Syntaxe de définition d'une constante en VBA

visibilité Const nom As type = valeur

visibilité peut être : Public ou Private.

nom doit respecter les contraintes suivantes :- il débute par une lettre;- il contient au maximum 255 caractères;- il ne contient pas de blanc, de point ou de caractères spéciaux tels que : !, @, &, $ et #

(notons que le trait de soulignement est permis);- il doit être unique à l'intérieur de sa portée;

type peut être un type standard de VBA (Integer, String, Variant, etc.).

valeur est une valeur qui sera associée à la constante pour la durée de l'exécution du programme.

À noter...

Bien qu'une déclaration de constante puisse apparaître à l'intérieur d'unsous-programme, nous prendrons l'habitude de les placer au début d'unmodule (juste sous l'instruction Option Explicit).

Par convention, le nom d'une constante sera toujours en lettres majuscules.

Exemple de définition de constante

' Le nombre d'heure maximal avant que les heures en surplus ne' soient considérées comme étant du temps supplémentaire.Private Const NB_MAX_HEURES As Double = 40

' La majoration du salaire lors du temps supplémentaire.Private Const MAJORATION_SALAIRE As Double = 1.5

Page 28: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Les instructions conditionnelles imbriquées (p. 70)

Syntaxe de plusieurs instructions conditionnelles imbriquées en VBA

If expression booléenne ThenInstruction(s)

ElseIf expression booléenne ThenInstruction(s)...

ElseInstruction(s)

End If

expression booléenne est une expression booléenne.

À noter : de nouveau, le Else est facultatif.

Exemple d'instructions imbriquées

Dim valeur_lue As Integer ' La valeur lue au clavier.

' On saisit le nombre.valeur_lue = Val(InputBox("Veuillez entrer un nombre :"))

' On affiche à l'écran si le nombre est positif, négatif ou nul.If (valeur_lue > 0) Then

Call MsgBox("Ce nombre est positif.")ElseIf (valeur_lue < 0) Then

Call MsgBox("Ce nombre est négatif.")Else

Call MsgBox("Ce nombre est nul.")End If

Page 29: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Exercices

Les deux bouts de code suivants reviennent-ils au même ?

If (x <= 1) ThenCall MsgBox(1)

ElseIf (x <= 2) ThenCall MsgBox(2)

ElseIf (x <= 3) ThenCall MsgBox(3)

End If

If (x <= 1) ThenCall MsgBox(1)

End ifIf (x <= 2) Then

Call MsgBox(2)End ifIf (x <= 3) Then

Call MsgBox(3)End if

a) Écrivez une procédure qui saisit l'âge d'un invidivu au clavier et affiche à l'écran si lapersonne est majeure ou non.

b) Écrivez une procédure qui lit deux valeurs et affiche à l'écran la plus grande des deuxvaleurs saisies.

Page 30: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

' L'âge de la majorité légale.Private Const AGE_MAJORITÉ As Integer = 18

'' EXERCICE4'' Cette procédure saisit l'âge d'un individu et affiche si celui-ci ' est majeur ou non.'' PARAMÈTRES : Aucun.'' VALEUR DE RETOUR : Aucune.'Public Sub exercice4()

Dim age As Integer ' L'âge de l'individu en année.

' On saisit l'âge de l'individu.age = Val(InputBox("Veuillez entrer votre age :"))

' On affiche à l'écran si la personne est majeure ou non.If (age >= AGE_MAJORITÉ) Then

Call MsgBox("Vous êtes une personne majeure.")Else

Call MsgBox("Vous êtes un mineur.")End If

End Sub

Solutions

'' EXERCICE5'' Cette procédure saisit deux nombres au clavier et affiche le plus ' grand des nombres lus.'' PARAMÈTRES : Aucun.'' VALEUR DE RETOUR : Aucune.'Public Sub exercice5()

Dim premier_nombre As Double ' Première valeur lue au clavier.Dim second_nombre As Double ' Deuxième valeur lue au clavier.

' On saisit le premier nombre.premier_nombre = Val(InputBox("Veuillez entrer un nombre :"))

' On saisit le second nombre.second_nombre = Val(InputBox("Veuillez entrer un nombre :"))

' On affiche à l'écran lep lus grand des deux nombres.If (premier_nombre >= second_nombre) Then

Call MsgBox(premier_nombre & " >= " & second_nombre)Else

Call MsgBox(second_nombre & " >= " & premier_nombre)End If

End Sub

Page 31: INF130 -Ordinateurs et programmation · 2014. 8. 22. · INF130 -Ordinateurs et programmation Semaine 01 Document présenté par Frédérick Henri et conçu par les enseignants en

Conclusion

En programmation, il existe plusieurs façons de se rendre au même résultat. Dans ce cours, plutôt que de nous attarder sur l'évaluation de la façon choisie, nous nous concentrerons sur la découverted'une solution et sur l'expression de cette solution d'une façon claire et propre.

À faire cette semaine

- Lire les chapitres 3 et 4 du livre.- Lire l'énoncé du travail pratique numéro 1.

Notions importantes vues cette semaine

- Les commentaires (');- Les sorties (MsgBox);- Les variables et les types (Dim, Integer, Double et String);- Les entrées (InputBox et Val);- Les instructions conditionnelles (If et Else);- Les constantes (Const).