Initiation à l'utilisation du tableur grapheur Excel
et à la programmation en VBA.
jfg Lycée Paul Valéry Sète 1 Spécialité TS : Partie A - 2002 / 2003
ARITHMETIQUE
I Activités préparatoires :
1) Multiples et diviseurs au tableur :
Si vos connaissances actuelles vous le permettent, résoudre les quatre questions ci-dessous
sans lire, dans un premier temps, les indications données (vous comparerez ensuite votre
solution au schéma proposé), sinon il vous suffit de suivre les activités (aides pages 7 et 8).
Trouver grâce au tableur : a) les multiples positifs de 17 inférieurs à 1000.
b) les diviseurs positifs de 496.
c) le pgcd de 240 et 144.
d) le ppcm de 240 et 144.
a) Multiples positifs d'un nombre :
Le plus simplement : Avec une feuille de calcul Excel
Présentation : Ligne 1 : Dans la cellule A1 écrire : Nombre n =
Dans la cellule B1 écrire : 17
Ligne 3 : Dans la cellule A3 écrire : Limite
Dans la cellule B3 écrire : 1000
Ligne 5 : Dans la cellule A5 écrire : k
Dans la cellule C5 écrire : Multiples k . n
Centrer les écritures dans leur cellule, mettre en gras et ajuster les colonnes.
Calculs : Ligne 6 : Dans la cellule A6 écrire : 0
Dans la cellule C6 écrire la formule: = A6*$B$1.
- Sélectionner la plage de cellules A6 : C6 puis faire une copie incrémentée (1)
vers le bas jusqu'à obtenir les multiples de 17 désirés.
Recommencer en tapant un autre nombre dans la cellule B1. Observer … Critiquer …
Avec un petit programme :
On garde la présentation précédente :
On crée un programme qui à chaque
modification du nombre ou de la
limite relit les données et recalcule les multiples désirés.
Algorithme : Lire le nombre n et la limite L fixés
Pour k entier naturel variant à partir de 0 calculer kn et s'arrêter lorsque kn > L
Ecriture du code (2) : Entrer dans l'éditeur de code en tapant : touche ALT + touche F11
Créer un module : cliquer sur Insertion puis Module
Créer une procédure : cliquer sur Insertion puis Procédure, donner un
nom (Multiples par exemple), choisir Type Sub puis Portée Public :
Initiation à l'utilisation du tableur grapheur Excel
et à la programmation en VBA.
jfg Lycée Paul Valéry Sète 2 Spécialité TS : Partie A - 2002 / 2003
Les lignes suivantes apparaissent : Public Sub Multiples()
End
Compléter comme ci-contre :
Sortir de l'éditeur en cliquant sur l'icône d'Excel :
Exécuter le code : Pour exécuter le code à partir d'une feuille Excel le plus simple est de
créer un bouton. Pour cela il suffit de "cliquer à droite" sur la barre d'outils de la feuille de
calcul puis sur Formulaire du menu contextuel qui apparaît, ensuite choisir le bouton et
enfin cliquer à l'emplacement désiré sur la feuille de calcul. On associe alors la macro réalisée
précédemment et on valide. On modifie le nom du bouton à l'aide du clavier.
En cliquant sur le bouton ainsi réalisé le code s'exécute.
Public Sub Multiples()
'Déclaration des variables(non obligatoire)
Dim n As Integer
Dim L As Integer
Dim k As Integer
Dim X As Integer
'Affectation d'une valeur aux variables
n = Cells(1, 2).Value
L = Cells(3, 2).Value
k = 0
'Effacement des calculs antérieurs
Call Réini
'Boucle pour le calcul des multiples successifs de n
'avec test d'arrêt
Do Until k * n > L
X = 6 + k
Cells(X, 1).Value = k
Cells(X, 3).Value = k * n
k = k + 1
Loop
End Sub
Public Sub Réini
Range("A6:C65536").Clear
End Sub
Définir une deuxième
procédure (
Insertion
Procédure
) qui sert à
réinitialiser les affichages et
qui est appelée par la
procédure précédente
Initiation à l'utilisation du tableur grapheur Excel
et à la programmation en VBA.
jfg Lycée Paul Valéry Sète 3 Spécialité TS : Partie A - 2002 / 2003
b) Les diviseurs positifs d'un nombre :
Le plus simplement : Avec une feuille de calcul Excel (3)
Présentation : Ligne 1 : Dans la cellule A1 écrire : Nombre n =
Dans la cellule B1 écrire : 496 (centrer toute la colonne B)
Ligne 3 : Dans la cellule A3 écrire : Diviseurs de
Dans la cellule B3 écrire : =$B$1
Calculs : Ligne 5 : Dans la cellule A5 écrire : 1
Dans la cellule B5 écrire : est-il diviseur de (ajuster la largeur)
Dans la cellule C5 écrire : =$B$1 (aligner à gauche)
Dans la cellule D5 écrire : =SI(MOD($B$1;A5)=0;"OUI";"non")
- Sélectionner la plage de cellules A5 : D5 puis faire une copie incrémentée vers le
bas jusqu'à n (ici 496) pour obtenir tous les diviseurs.
Recommencer en tapant un autre nombre dans la cellule B1. Observer … Critiquer …
Avec un petit programme :
Lorsque l'on cherche les diviseurs "à la main" ceux-ci sont
obtenus par paire :
.......
124
4
496
,
248
2
496
,
496
1
496
L'idée est donc d'écrire un programme qui lit le nombre et affiche ces paires de diviseurs.
Algorithme : Lire le nombre n.
Pour D variant de 1 à n tester si D divise n si oui afficher D et
D
n.
Code :
Public Sub DIVISEURS()
Dim n As Integer
Dim I As Integer
Dim L As Integer
Dim R As Integer
Dim J As Integer
n = Range("B1").Value
L = Int(Sqr(n))
Call Réinit
For I = 1 To L
R = n Mod I
If R = 0 Then
J = J + 1
Cells(5 + J, 1).Value = I
Cells(5 + J, 2).Value = n / I
End If
Next I
End Sub
(rentrer dans l'éditeur
de code et
procéder
comme ci-
dessus. Voir
éventuellement aide en
annexe pages 7 et 8)
Initiation à l'utilisation du tableur grapheur Excel
et à la programmation en VBA.
jfg Lycée Paul Valéry Sète 4 Spécialité TS : Partie A - 2002 / 2003
c) Le pgcd de deux nombres :
Le plus simplement : L'algorithme d'Euclide sur une feuille de calcul Excel
Rassemblez vos souvenirs de 3
ème-2nde pour trouver le pgcd de 240 et 144 en utilisant
la feuille de calcul.(4)
Avec un petit programme : On va définir dans une nouvelle feuille de calcul une
fonction qui va permettre d'obtenir le pgcd de deux nombres.
Algorithme : on utilisera celui d'Euclide.
Code : entrer dans l'éditeur de code et procéder comme ci-dessus mais définir une procédure
Fonction à la place d'une procédure Sub.
Utiliser cette fonction pour retrouver le pgcd de 240 et 144.
ƒ Exercice d'application : Utiliser les programmes déjà écrits pour comparer les
diviseurs communs de 2160 et 5534 à ceux de leur pgcd.
d) Le ppcm de deux nombres : Ecrire une fonction qui calcule le plus petit multiple
commun (ppcm) de deux nombres puis la tester avec les nombres 240 et 144.
Public Sub Réinit()
Range("A4:B65536").Clear
End Sub
Public Function pgcd(n1, n2)
If n1 > n2 Then a = n1
b = n2
r = n1 Mod n2
If n1 < n2 Then a = n2
b = n1
r = n2 Mod n1
Do Until r = 0
a = b
b = r
r = a Mod b
Loop
pgcd = b
End Function
Montrer que ce test est inutile et
qu'il suffit d'écrire :
a = n1
b = n2
r = n1 Mod n2
Initiation à l'utilisation du tableur grapheur Excel
et à la programmation en VBA.
jfg Lycée Paul Valéry Sète 5 Spécialité TS : Partie A - 2002 / 2003
2) Division euclidienne : (avec quotient et reste)
a) Le jeu de fort Boyard : Une épreuve de ce jeu télévisé oppose un candidat au "Maître des
jeux". Vingt trois bâtonnets sont alignés sur une table et chacun des deux adversaires doit
retirer à tour de rôle un, deux ou trois bâtonnets au choix. Celui qui retire le dernier bâtonnet a
perdu.
Le candidat commence. Peut-il choisir une stratégie gagnante ?
b) Trigonométrie : Pour quelles valeurs de n a-t-on 2
1
18
cos =
π
n ?
Approche empirique avec le tableur :
Ligne 1 : Dans A1 taper n. Dans B1 taper f (n)
Sélectionner la colonne A puis définir cette colonne comme contenant la variable n
Pour cela cliquer dans la barre du menu sur Insertion Nom Définir puis dans la fenêtre
qui s'ouvre n doit être proposé; il suffit alors de valider (ou taper n si n n'est pas proposé).
Ligne 2 : Dans A2 entrer 0 Dans B2 taper =cos(n*pi()/18)
Faire une recopie incrémentée de la plage A2:B2 jusqu'à n = 100.
Observer les valeurs qui donnent
2
1 .
Résoudre cette équation par le calcul.
3) Fonction "Partie entière" :
x
–3 –2 –1 0 1 2 3 4
Sur une droite graduée, lorsque l'on place un point, il est soit sur un point d'abscisse
entière soit entre deux points d'abscisses entières. Son abscisse x est donc soit un nombre
entier soit comprise entre deux entiers consécutifs.
Pour tout x, il existe un entier n tel que : 1
+
nxn. Ce nombre n est appelé la
partie entière de x. On note :
n
x
E
=
)(
et on lit "partie entière de x égale n".
Exemples :
5
)
169,5(
=
E
et
7
)
423
,6
(
=
E
Faire tracer la représentation graphique de cette fonction par la calculatrice ou par le
logiciel DERIVE. Commenter et critiquer ce tracé.
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !