Calculs sous Scratch
On peut démarrer par des itérations simples amenant aux opérations telles que la multiplication ou l'élévation à la puissance...en revenant donc aux fondamentaux !
Opérations "de base"
Retour sur des multiplications à partir d'additions en boucle, en demandant cette fois les deux facteurs de la multiplication souhaitée.
Avec cette demande, on peut très vite tomber sur des calculs très importants. Il peut alors être souhaitable de limiter la valeur maximale de l'exposant.
Entier...ou pas ?
Programmes de calculs
1er programme
On va s'intéresser ici au programme de calculs :
- multiplier par 3
- ajouter 2
3a+2 et 3(a+2)
mais cette "nuance" peut être difficile à voir sur Scratch !
Ceci est rapidement montré dans cette vidéo :
2ème programme
Il y a de plus la nécessité de garder en mémoire le nombre de départ.
Cela peut pratique dans un usage en classe.
Programme de Calculs : conversion de températures
Conjecture de Syracuse (3n+1)
La conjecture de Syracuse offre des possibilités de travaux tant sur tableur que sur logiciel d'algorithmique.
Le procédé :
On a un nombre de départ.
S'il est pair, on le divise par deux.
S'il est impair, on le multiplie par 3 et on ajoute 1.
On applique à nouveau le procédé au nombre obtenu.
la conjecture dit qu'on arrivera toujours à 1. Les calculs s'arrête alors.
L'altitude maximale est la plus haute valeur obtenue dans les calculs.
Calcul de PGCD
Un grand classique !
Ci-dessous, 3 programmes : un programme avec la méthode par soustractions successives et deux programmes avec les divisions.
...DES TRIS...
Tri bulle
Il va donc deux fois plus vite !
Tri par insertion
- s'il est plus petit que le 1er, on le met en premier
- s'il est compris entre le ième et le (i+1)ème, on le met en (i+1)ème
-s'il est plus grand que le dernier, on le met en dernier
Tri par sélection
Dans la liste de départ, on recommence avec les éléments qui restent autant de fois que nécessaire.
Tri par fusion
Pour trier 50 valeurs : 4 secondes.
Pour trier 500 valeurs : 35 secondes.
Somme des cubes des chiffres d'un nombre...
Petit problème : déterminer les nombres à trois chiffres égaux à la somme des cubes de leurs chiffres.
On peut montrer qu'il y en a 4 : 153 ; 370 ; 371 et 407.
Voici 2 programmations de ce petit problème.
Suite de Fibonacci
Diviseurs, facteurs premiers
Il est intéressant alors de chercher comment améliorer les performances : il reste une marge de manoeuvre importante !