Algorithme et calculatrice

Fermé
lalita - 2 déc. 2008 à 02:05
mamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 - 6 déc. 2008 à 01:38
Bonjour,
est ce que quelqu'un a deja résolu l'algorithme qui permet d'avoir une addition, soustraction, division et multiplication?
A voir également:

2 réponses

mamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 7 809
2 déc. 2008 à 02:20
La question n'est pas très claire. Un algorithme n'est pas un problème en soit, au contraire c'est une manière d'en résoudre un . Actuellement la plupart des logiciels de programmation permettent de faire les opérations arithmétiques de base donc en soit il n'y a pas vraiment d'algorithme à écrire.

Ceci dit si tu veux coder une calculatrice (c'est-à-dire convertir une chaîne de caractère puis évaluer le résultat) c'est moins évident. Si c'est ce que tu veux faire, le "plus simple" consiste à construire un arbre ou chaque noeud correspond à une opération et possède deux fils (les opérandes). Ensuite il faut partir des feuilles pour remonter le résultat de noeud en noeud jusqu'à atteindre la racine (ce fait facilement avec un appel récursif). Exemple

(3+5)*(8/2)
  
     |--(3)
 |--(+)
 |   |--(5)
 |
(*)
 |
 |   |--(8)
 |--(/)
     |--(2)


     |--(3)
 |--(+,8)
 |   |--(5)
 |
(*,32)
 |
 |   |--(8)
 |--(/,4)
     |--(2)

Et si en plus tu veux faire un automate pour faire le calcul c'est encore plus compliqué (cf cours de théorie des langages, chapitre analyseur syntaxique).

En espérant t'avoir aidée
Bonne chance
2
merci beaucoup, c'est gentil ! mais je voulais en fait un code en langage algorithmique, avec des structures conditionelles ,qui permet d'avoir une calculatrice( les quatres opérations et la fonction égal) au final. ce code pourra par exemple,plus tard, etre utilisé en vb avec une interface présentant la calculatrice, elle même.
0
mamiemando Messages postés 33432 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 16 décembre 2024 7 809
6 déc. 2008 à 01:38
Oui sauf que je ne me vois pas le coder à ta place parce que je n'ai pas le temps et je ne sais pas faire de VB :-) Donc ça c'est ton job, maintenant tu connais la méthode :p
1