Aide sur l'algorithme

Fermé
chiachua - 27 févr. 2016 à 19:08
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 - 28 févr. 2016 à 12:19
Bonjour,

j'apprends l'algorithme et j'aimerai savoir si j'ai bien écrit mon algorithme, merci pour votre aide>

Ecrire une fonction qui prend en paramètre une température en degré Fahrenheit et la convertit en degrés Celsius. La valeur doit être renvoyée par la fonction. La formule de conversion est :
C= (F-32)*5/9
Exemple :
Ordinateur : donner le degré en Fahrenheit : 45 Ordinateur : il correspond à 7,2 degré Celsius


Fonction convertDegrees
Variables :
F, C : entier ;
Début fonction
Ordinateur :
Écrire : “Entrer la temperature en Farhenheit”;
Pour C faire:
C = (F - 32) X 5/9
Fin de pour
Ordinateur :
Retourne : “La temperature correspond à (C) Celsius”;
Fin function

Début
Lire (F) ;
Fin


1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
27 févr. 2016 à 19:52
Bonjour,

Début 
Lire (F) ;
Fin
Le point d'entrée de ton programme ne fait pas grand chose.
Il faudrait que tu utilises ta fonction Ordinateur...

Après, chacun peut écrire un algorithme comme il veut, c'est du langage humain sans formalisme particulier, cependant des formulations comme ceci me paraissent un peu maladroites :
Pour C faire: 
C = (F - 32) X 5/9
Fin de pour
En algorithmie "Pour" est plutôt utiliser pour le fonctionnement d'une boucle (ex: "Pour x de 1 à 10").
Ici tu pourrais simplement dire "C = (F - 32) X 5/9", parfois écrit "C ← (F - 32) X 5/9" ou plus verbeusement "attribuer à C la valeur (F - 32) X 5/9"
Remarque : j'éviterais l'utilisation de "X" pour marquer le produit, le symbole généralement utilisé est "*" donc "(F - 32) * 5/9"

Ordinateur :
Écrire : “Entrer la temperature en Farhenheit”;
Je pense que cette ligne n'est pas au bon endroit.
Tu lis F dans ton point d'entrée, mais l'affichage de ce qu'il faut lire est dans la fonction (donc après !)
Il faudrait que ces opérations se suivent dans le bon ordre.
De plus ton énoncé indique une autre phrase que celle que tu as utilisé, il faut savoir respecter ce qui t'es imposé, ou alors on pourrait considérer que le programme ne fait pas ce que l'on te demande...

Ordinateur : 
Retourne : “La temperature correspond à (C) Celsius”;
Il n'est pas très clair, que (C) représente ici la valeur de C. Tu pourrais par exemple faire une concaténation : "correspond à " + C + " Celsius"
De plus le rappel de "Ordinateur :" ici me paraît inutile.
Et enfin, je ne vois pas l'intérêt de retourner toute la phrase. Soit tu l'affiches, soit tu ne retournes que la valeur de C (ce qui correspond à l'énoncé de ton exercice). Mais dans tout les cas il faudrait que le résultat de la fonction soit affiché quelque part, sinon ça ne sert à rien...

Variables : 
F, C : entier ;
Autre point : mais plus technique, il faut éviter les variables globales comme tu le fais avec C et F. Il vaut mieux privilégier le passage de paramètres dans les fonctions.
0
Merci KX

Est-ce que c'est mieux la ?

Algorithme degré (F, C : entier) ;
Début
Ordinateur :
Écrire : “Entrer la temperature en Farhenheit”;
Farhenheit ← F ;
Attribuer à C la valeur (F - 32) * 5/9 ;
Afficher C ;

Fin


Merci pour ton aide
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
28 févr. 2016 à 12:19
Non, ce n'est pas mieux...

Je ne vais pas refaire une liste complète de toutes les erreurs, mais d'une part tu n'as pas de point d'entrée d'autres part si tu "exécutes" mentalement cet algorithme sur l'exemple de ton énoncé, tu n'auras pas ce que l'on te demande.

Tu dois avoir ceci :
Ordinateur : donner le degré en Fahrenheit : 45
Ordinateur : il correspond à 7,2 degré Celsius
0