This is an old revision of the document!
Le but du devoir est d'écrire une calculatrice qui prend des paramètres de la ligne de commande. La calculatrice supportera les opérations suivantes: absolute, addition, division, help, maximum, minimum, modulo, multiply, power, reverse, sort, sqrt, subtraction, unique, sinus, cosinus.
Un exemple de calcul de 3 à la puissance 2 est:
java Main.java 3 2 pwr # cela écrira sur l'écran 9
# pour compiler le programme javac org/example/*.java # pour executer le programme java java org/example/Main.java # les arguments ici
Op | Paramètres | Description | Exemple |
---|---|---|---|
aucun | Imprime sur l'écran le logo et la liste des opérations disponibles | java Main.java | |
help | aucun | Imprime sur l'écran le logo et la liste des opérations disponibles | java Main.java help |
+ | une liste de nombres (minimum 2) | Ajoute les numéros | java Main.java 2 4 3 5 6 7 3 + |
- | une liste de nombres (minimum 2) | Soustrait les nombres | java Main.java 2 4 3 5 6 7 3 - |
mul | une liste de nombres (minimum 2) | Multiplie les nombres | java Main.java 2 4 3 5 6 7 3 mul |
div | une liste de nombres (minimum 2) | Divise les nombres | java Main.java 2 4 3 5 6 7 3 div |
mod | deux nombres | Calcule le modulo de a / b | java Main.java 500 45 mod |
sq | un nombre | Calcule la racine carrée du nombre | java Main.java 600 sq |
abs | un nombre | Calcule la valeur absolue du nombre | java Main.java -700 abs |
pwr | deux nombres | Calcule a à la puissance b | java Main.java 30 9 pwr |
sort | une liste de nombres (minimum 1) | Trie les nombres en ordre croissant | java Main.java 2 4 3 5 6 7 3 sort |
rev | une liste de nombres (minimum 1) | Trie les nombres en ordre décroissant | java Main.java 2 4 3 5 6 7 3 rev |
uniq | une liste de nombres (minimum 1) | Imprime tous les numéros une seule fois | java Main.java 2 4 3 5 6 7 3 uniq |
max | une liste de nombres (minimum 1) | Trouve la plus grande valeur | java Main.java 2 4 3 5 6 7 3 max |
min | une liste de nombres (minimum 1) | Trouve la plus petite valeur | java Main.java 2 4 3 5 6 7 3 min |
cos | un nombre | Calcule le cosinus d'un angle avec une valeur donnee | java Main.java 45 cos |
sin | un nombre | Calcule le sinus d'un angle avec une valeur donnee | java Main.java 120 sin |
L'opération aide (cela signifie que vous exécutez votre programme avec le paramètre aide ou sans aucun paramètre) affiche la chaîne 'Calculator, Author: <votre nom ici>'.
Utilisez la classe Cow donnee dans le projet. Pour imprimer le logo, utilisez la methode say(String message) , ou message est le texte pour afficher.
Un exemple:
java Main.java # cela va imprimer: ------------------------------- < Calculator, Author: ALF > ------------------------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || help + - div mul mod sq abs pwr sort rev max min uniq cos sin
La calculatrice a deux erreurs possibles:
Si vous exécutez
java Main.java list # cela va imprimer (exactement) ERROR: this command does not exist, use help to see available commands java Main.java 10 mul # cela va imprimer (exactement) ERROR: mul command uses at least 2 parameters
Pour 0,25p points supplémentaires, implémentez la calculatrice pour des opérations avec des nombres complexes pour +, - et mul. Le format d'entrée sera:
#add a1 + b1 * i with a2 + b2 * i node main.js a1 b1 a2 b2 complex + #subtract a1 + b1 * i with a2 + b2 * i node main.js a1 b1 a2 b2 complex - #multiply a1 + b1 * i with a2 + b2 * i node main.js a1 b1 a2 b2 complex mul
Le devoir est individuel. Toute tentative de copie entraînera 0p pour les devoirs. Système anti-copie automatisé sera utilisé.
Si vous avez des questions concernant le devoir, posez-les en postant un issue sur le github repository avec le format [calculatrice] <le titre de votre question> . Vous aurez besoin d'un compte github pour cela.
Si vous souhaitez recevoir un e-mail lorsque des problèmes sont signalés ou lorsqu'il y a de nouveaux messages, accédez au site github repository et cliquez Watch.