Bonsoir,
J'ai un DM pour la rentrée et un exercice d'algorithme en fait parti. Vu que je n'ai jamais réellement eu de cours sur les algorithmes, je post sur le forum. Tout de même j'ai réussi à le réaliser sur Algobox et "il marche".
L'algorithme doit exécuter le calcul d'une racine carrée d'un quotient de deux nombres relatifs (a/b), voilà ce que j'ai fait :
Variables
a est du type nombre
b "
Q "
R "
Debut algorithme
Lire a
Lire b
Si b==0 alors
debut si
afficher "le dénominateur doit être différent de 0"
fin si
Q prend la valeur a/b
R prend la valeur 0
Si Q>=O alors
debut si
afficher "la racine de a/b existe"
afficher "R est égale à"
R prend la valeur
Q
affichercalcul
Q
fin si
Sinon
début sinon
afficher "la racine de a/b n'existe pas"
fin sinon
Fin algorithme
Je n'aurais pas programmé tout à fait ainsi
Le début serait inchangé
Lire a
Lire b
Si b==0 alors
début si
afficher "le dénominateur doit être différent de 0"
fin si
Sinon
début sinon
Q prend la valeur a/b
Si Q >= 0
Q prend la valeur
Afficher : "la racine de a/b existe et est égale à"
Afficher Q
fin si
sinon
Afficher : "la racine de a/b n'existe pas"
Fin sinon
Fin sinon
Merci, je vais le tester sur Algobox. L'avantage c'est qu'il est plus court.
Si quelqu'un a une autre idée je suis preneur.
Je viens de réaliser votre algorithme sur Algobox et il fonctionne avec seulement 3 variables.
Merci de votre aide je vais faire quelques changements.
Bonjour,
il faut bien comprendre ce que sont les variables et comment elles sont utilisées
ce sont des boites
quand on fait un calcul on utilise (et on réutilise autant de fois qu'on veut ) le contenu de la boite (la valeur de la variable à cet instant) et on obtient un résultat.
ensuite on prend ce résultat et on le met dans une boite (dans une variable) qui peut être la même :
le résultat du calcul est terminé, ce n'est pas parce que maintenant on va détruire le contenu de la variable qu'on va changer le résultat du calcul.
des opérations comme "n prend la valeur de n+1" sont monnaie courante
ici on peut tout aussi bien calculer
Q prend la valeur de sqrt(Q) sans avoir besoin de re-calculer a/b
ou même ne pas utiliser de variables supplémentaire du tout :
si (a/b >= 0)
q = sqrt(a/b)
afficher q
voire même (si sur algobox, on a la commande "affichercalcul", dans d'autres langages il suffit de mettre le calcul lui même sans se poser de question) :
si (a/b >=0)
affichercalcul sqrt(a/b)
résultat : 2 variables seulement et impossible de faire moins : a et b elles mêmes et c'est tout.
mébon...
il n'est pas toujours de bon ton de chercher à réduire à tout prix le nombre de variables au détriment de la lisibilité de l'algorithme !
ainsi mettre dans la même variable Q de temps en temps a/b et de temps en temps sqrt(a/b) n'est pas un bon plan :
on ne sait plus trop ce qu'il y a dans cette variable là, elle perd sa "signification", et du coup l'algorithme est moins lisible.
de nos jours la taille mémoire = le nombre de variables n'est pas un problème !!
(sauf cas particuliers de programmation pointue dans des microchips et autres trucs de spécialistes)
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :