TP de Tableur, 25.10.2012


Exercices

(Les solutions/commentaires seront là (peut-être).)

Je recommande faire les exercices dans l'ordre, mais ceci n'est aucune obligation. Faites ce que vous voulez, seulement je veux voir vos résultats.

1. Newton

Algorithme de Newton pour la racine carrée. Supposons que $y$ soit un nombre réel positif, par ex. 2. Nous voulons calculer $x=\sqrt{y}$, mais prétendons ne pas avoir la fonction SQRT (ou RACINE) à notre disposition, seulement les 4 opérations arithmétiques de base. (C'était le cas avec les calculatrices et les premiers ordinateurs avant l'invention des algorithmes spécifiques implémentés sur le silicium, comme CORDIC). L'algorithme de Newton (mais connu avant) est basé sur des itérations : $x_0, x_1, \ldots , x_n, \ldots$, cette suite doit converger à $x$, dans la pratique il suffit quelques itérations si on commence de manière raisonnable. Acceptons $x_0=1$ quel que soit $y$.

Les itérations sont basées sur la formule suivante :

$\displaystyle{x_{n+1} = \frac{1}{2}\left(x_n + \frac{y}{x_n}\right)}$
Codez cet algorithme. Mettez $y$ quelque part, dans une cellule nommée, par ex., "arg", (ou simplement "y") afin de pouvoir la référencer sans effort, si vous changez sa valeur. Placez $x_0=1$ (le nombre 1 tout court) dans une cellule, et remplissez quelques (une douzaine suffit) cellules en dessous, dans la même colonne, par la formule itérative, où la "valeur précédente" est simplement la cellule précédente.

Si $y=2$, vous devez obtenir la suite :
1
1,5
1,4166666667
1,4142156863
1,4142135624
1,4142135624
1,4142135624
1,4142135624
1,4142135624
1,4142135624
...
Si $y=100$, 8 itérations doivent suffire. Et si $y=0.0000001$?


Conditionnelles, conditionnelles...

La différence entre une calculette et un ordinateur programmable (même de manière rudimentaire) est la possibilité de gérer les processus décisionnels : la possibilité de faire des choses différentes, selon les valeurs des données. La conditionnelle de base est SI(...;...;...), qui choisit la seconde ou la troisième valeur, en fonction de la première, qui est une condition logique.

Calc dispose de plusieurs "fonctions conditionnelles", par ex. NB.SI(plage,condition) est le nombre d'éléments qui respectent la condition. Exemple : =NB.SI(a2:h9;">0"). On a aussi SOMME.SI(...) avec le paramétrage similaire, par ex. ajouter seulement les nombres négatifs.

Exercice.


Choix

Comment engendrer une séquence, disons "lundi", "mardi", "mercredi",... etc.?

La fonction =choisir(indx;val1;val2;val3;...) retourne val1 si la valeur de indx vaut 1; val2 si 2, etc. Alors, choisissez une cellule, peu importe, disons D5, et mettons dedans :
=CHOISIR(COLONNE(D5)-COLONNE(\$D\$5)+1;"Lundi"; "Mardi"; "Mercredi"; "Jeudi"; "Vendredi"; "Samedi"; "Dimanche"). Ensuite, vous sélectionnez cette cellule, et tirez la "poignée" (le petit rectangle noir) vers la droite. Vous engendrez ainsi les jours de la semaine.

Exercice. Comment faire la même chose par une simple incrémentation, en utilisant les dates? Si on incrémente la date d'un jour, on passe au jour suivant, non? Mais : y a-t-il un moyen de trouver lundi sans tricher, sans connaître le calendrier? Qui sait, et comment, que la date "0" correspond à samedi?...

Exercice. L'instruction ci-dessus utilise l'adresse de la cellule, où vous mettez la formule (l'adresse absolue et l'adresse relative). Réflechissez comment pouvoir avoir une formule, que l'on peut placer n'importe où... Est-ce faisable?

Une chose EST faisable, le test vérifiant "où on est". Vérifiez, SVP, le résultat du placement de la formule =ADRESSE(LIGNE();COLONNE()) n'importe où dans la feuille.


Formatage conditionnel

Parfois il est utile de souligner visuellement des cellules qui satisfont quelques critères, par exemple donner une couleur/police différentes aux cellules du calendrier, qui correspondent à une fête, ou à la Lune pleine (très utile pour ceux parmi vous qui sont des loups-garous), etc.

Exercice.

Lancez le formatage conditionnel du tableau contenant les nombres aléatoires (avec l'option "formule"). Que les cellules de tous les nombres pairs aient le fond verte claire.


Exercices de Sophie


Retour