Cinquième étapeOn peut traduire ce dernier algorithme avec un logiciel d'initiation à l'algorithme comme Algobox. Télécharger le fichier complété Algobox (le signe = = est le test d'égalité dans une condition). On peut également très facilement traduire cet algorithme avec le langage (Visual Basic) intégré à Excel ou avec le langage (OppenOffice Basic) intégré à Calc (voir plus bas). Dans une feuille de calcul d'Excel, il faut réserver une cellule (par exemple C10) pour la saisie de n (nombre dont on veut la racine), une autre pour l'affichage du résultat (par exemple C12) comme ci-dessous. Puis il faut créer un bouton de commande (avec la barre Visual Basic), nommé par défaut CommandButton1 (voir les documents ressources ci-dessous). On implémente le code suivant dans la fenêtre de code (accès par Alt+ F11) dans la procédure évènementielle Click du bouton. Un clic sur le bouton affiche le résultat. Private Sub CommandButton1_Click() 'Variables Dim n As Double Dim b As Double Dim p As Byte 'Entrée : le nombre dont on veut la racine est tapé dans la cellule C10 n = Cells(10, 3).Value 'Traitement If n = 0 Then Else End If 'Sortie : on affiche le résultat (la valeur approchée de la racine carrée) dans la cellule C12 Cells(12, 3).Value = b End Sub Remarques : - il faut valider la cellule où on tape le nombre avant d'exécuter le programme ou réaliser la saisie par une boîte de dialogue : n = val(inputbox("Taper un nombret","Saisie","5")). La fonction Val convertit le texte en nombre. Il faut ensuite écrire le nombre dans la cellule C10 : Cells(10, 3).Value = n
- la variable p ne sert qu'au compteur de la boucle
- la variable n pourrait être déclarée comme étant de type entier (Dim n as Integer) mais pourquoi se limiter aux entiers ? L'algorithme marche aussi pour les nombres décimaux.
- La boucle Pour p variant ... faire … peut être remplacée par une boucle Tant que...faire... (une variable de type numérique non initialisée a pour valeur 0) :
Pour p variant de 1 à 10 faire p suivant Tant que p<10 faire Fin Tant Que | Ce qui se traduit avec le langage (Visual Basic) intégré à Excel par : |
For p = 1 to 10 Next p Do While p<10 Loop Ressources
- Dessiner l'interface
- Environnement de développement
- Compléments pour Office 2007
- Régler le niveau de sécurité
- Télécharger le fichier complété de cet exemple
Pour Calc, la présentation de la feuille de calcul est identique à celle d'Excel et le programme semblable en dehors de l'accès aux objets de la feuille de calcul (déclaration des variables objets) et des références de cellule (numéro de colonne, numéro de ligne) avec les index commençant à 0 (voir les documents ressources) :
REM ***** BASIC *****
Sub RacineCarree
'Variables objets
Dim LesFeuilles as Object
Dim PremiereFeuille as Object
Dim Cellule as Object
'Autres variables
Dim n as double
Dim b as double
Dim p as integer
'Initialisation
LesFeuilles = ThisComponent.Sheets
PremiereFeuille = LesFeuilles.GetbyName("Feuil1")
'Entrée : le nombre dont on veut la racine est tapé dans la cellule C10
Cellule = PremiereFeuille.GetCellByPosition(2,9)
n = Cellule.Value
'Traitement
If n = 0 Then
b = 0
Else
b = n
For p = 1 To 10
b = (n / b + b) / 2
Next p
End If
'Sortie : on affiche le résultat (la valeur approchée de la racine carrée) dans la cellule C12
Cellule = PremiereFeuille.GetCellByPosition(2,11)
Cellule.Value = b
End Sub
Mêmes remarques que pour Excel.
Ressources
Préparer le code
Dessiner l'interface et lier le code à un événement
Régler le niveau de sécurité
Télécharger le fichier complété de cet exemple