Réduction d'une racine carrée. Avec saisie d'un Entier Naturel . J'avais déjà déposé cette source réécrite plus siimple, en VB Basic 6.0 et en Vb Net 2003 dans le même Zip, pour économiser la place !
Le code ne demande que quelques lignes. Très très simple ! Mérite d'être mis vu... C'est bien la seule chose que j'ai vraiment inventée en VB!
Simple, mais encore fallait y penser, d'autres l'ont fait? Ainsi ou autrement, Oui! Si on me dit "mais si tous le savent! Et ça sert à rien ! ", je demande un sondage LOL! Là je parie que non! :)
Donc niveau 3e ou seconde, mais rien de plus, il décompose sous la forme scolaire: Racine = aVx
Conclusion :
L'algo est simple: 4 lignes seulement?
Imaginez V72. Divid = 72. On pose d=2 . On divise successivement par le carré de d, soit d2 = d², donc par 2², 3², 4², 5², etc.
Divid/d2 = q
Sortie de la boucle pour cet exemple, quand le PC atteint d = 8 la racine par défaut,(d2 = 64), ou quand le dividende Divid devient inférieur au diviseur. (Le PC choisira...)
Quand le quotient de Divid par un carré d2 est entier, il est mis en mémoire dans la variable qm = q .
Dans ce cas divid prend la valeur du quotient (Divid = q) et on refait la division par le même diviseur.
Sinon, on avance, on divise Divid par (d+1)², etc...
Le dernier qm mis en mémoire correpond ainsi au plus grand carré diviseur! Pour 72, qm est finalement qm = 2.
72/qm = 72/2 = 36 et V36 = 6. On a donc racine : 6Vqm = 6V2.
Si qm = 0, c'est que la racine est irréductible: aucun quotient entier trouvé par un carré.
La racine entière et celle de 0 et 1 sont traités avant, à part! Avec des exit sub.
Le côté rébarbatif est de rendre les label visibles et invisibles selon les cas!
A noter qu'en VB 6 il est facile de dessiner une racine sur la feuille, je n'ai pas trouvé avec VB Net (Je débute juste!) ! Plus simple est bien VB6, VB Net 2003, bof ! Et lourd ! Passez à Vb 2005 Express, gratuit...
26 nov. 2005 à 14:00
Dans mon 2e degré, je saisis aussi les fractions.
Mais ici, on peut allonger le code pour au moins saisir les décimaux.
Par exemple à l'ordi, faire écrire 4.5 => 450/100 et obtenir:
V450/V100; on réduit V450 et V100 et on a :
=> 15V2/10.....ou 1.5V2....etc...
simplifier quand il y a lieu!
Il y a un plus de travail, mais très faisable ! Et encore autre chose...
23 nov. 2005 à 18:33
On m'a posé la question: pourquoi Max= racine par défaut de Delta.
(Nombre entier)
d2= max² < Delta, on a aussi: (max+1)² > Delta.
Il faut arrêter la recherche ici.
C'es tout!
Merci.
Lisa
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.