Initiation à l'utilisation du tableur grapheur Excel et à la programmation en VBA. 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 vers le bas jusqu'à obtenir les multiples de 17 désirés. (1) 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 : jfg – Lycée Paul Valéry Sète 1 Spécialité TS : Partie A - 2002 / 2003 Initiation à l'utilisation du tableur grapheur Excel et à la programmation en VBA. Les lignes suivantes apparaissent : Public Sub Multiples() End Compléter comme ci-contre : 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 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 Public Sub Réini Range("A6:C65536").Clear End Sub 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. jfg – Lycée Paul Valéry Sète 2 Spécialité TS : Partie A - 2002 / 2003 Initiation à l'utilisation du tableur grapheur Excel et à la programmation en VBA. 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 : 496 = 1 × 496, 496 = 2 × 248, 496 = 4 × 124 ....... 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 n . D Code : (rentrer dans l'éditeur de code et procéder comme ci-dessus. Voir éventuellement aide en annexe pages 7 et 8) 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 jfg – Lycée Paul Valéry Sète 3 Spécialité TS : Partie A - 2002 / 2003 Initiation à l'utilisation du tableur grapheur Excel et à la programmation en VBA. Public Sub Réinit() Range("A4:B65536").Clear End Sub 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. Public Function pgcd(n1, n2) Montrer que ce test est inutile et qu'il suffit d'écrire : a = n1 b = n2 r = n1 Mod 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 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. jfg – Lycée Paul Valéry Sète 4 Spécialité TS : Partie A - 2002 / 2003 Initiation à l'utilisation du tableur grapheur Excel et à la programmation en VBA. 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 ? π 1 Pour quelles valeurs de n a-t-on cos n = − ? 2 18 • Approche empirique avec le tableur : b) Trigonométrie : 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. 1 Observer les valeurs qui donnent – . 2 ‚ 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 : n ≤ x < n + 1 . Ce nombre n est appelé la partie entière de x. On note : E ( x ) = n et on lit "partie entière de x égale n". Exemples : E (5,169) = 5 et E (− 6, 423) = −7 Faire tracer la représentation graphique de cette fonction par la calculatrice ou par le logiciel DERIVE. Commenter et critiquer ce tracé. jfg – Lycée Paul Valéry Sète 5 Spécialité TS : Partie A - 2002 / 2003 Initiation à l'utilisation du tableur grapheur Excel et à la programmation en VBA. 4) Le raisonnement par récurrence : a) Principe : • Une idée simple : L'idée du raisonnement par récurrence est simple et peut être imagée ainsi : Si on peut d'abord se placer sur un barreau d'une échelle, et si l'on peut passer d'un barreau quelconque au suivant, alors on peut gravir tous les autres échelons de cette échelle. ‚ Mise en œuvre : Pour démontrer par récurrence qu'une proposition est vraie pour tout n, on procède en deux étapes : Première étape : on vérifie que P0 est vraie. Deuxième étape : on suppose que pour tout entier naturel n quelconque la proposition Pn est vraie, et sous cette hypothèse, on démontre que la proposition Pn+1 est vraie. Remarque : Pour démontrer qu'une proposition Pn est vraie à partir d'un certain rang m, la marche à suivre reste la même mais dans la première étape on vérifie Pm au lieu de P0 . b) Exercices(6) : • Démontrer que pour tout n, n ∈ Ð*, on a : 1 + 2 + 3 + ..... + n = n (n + 1) . 2 On vérifiera la propriété à l'aide du tableur jusqu'à n = 10. On fera une démonstration par récurrence. ‚ Démontrer que pour tout n, n ∈ Ð*, on a : 12 + 2 2 + 32 + ... + n 2 = n (n + 1) (2n + 1) . 6 On vérifiera la propriété à l'aide du tableur jusqu'à n = 10. On fera une démonstration par récurrence. ƒ Démontrer que pour tout n, n ∈ Ð, le nombre 4 n + 5 est multiple de 3. On vérifiera la propriété à l'aide du tableur jusqu'à n = 10. On fera une démonstration par récurrence. „ Démontrer que pour tout n, n ∈ Ð, le nombre 5 2 n − 4 n est divisible par 7. On vérifiera la propriété à l'aide du tableur jusqu'à n = 7. On fera une démonstration par récurrence jfg – Lycée Paul Valéry Sète 6 Spécialité TS : Partie A - 2002 / 2003