Differences

This shows you the differences between two versions of the page.

Link to this comparison view

alf:teme:tema1 [2020/02/24 20:29]
diana.ghindaoanu [Erreurs]
alf:teme:tema1 [2023/03/16 18:24] (current)
alexandra.negoita02 [Mentions générales]
Line 4: Line 4:
 ===== Mentions générales ===== ===== Mentions générales =====
 <note important>​ <note important>​
-Date limite: **Mars, 23:55**\\+Date limite: **30 Mars, 23:55**\\
 Points: **1 point** de la note finale\\ Points: **1 point** de la note finale\\
-Le devoir est à rendre sur: [[https://​vmchecker.cs.pub.ro|vmchecker.cs.pub.ro]]\\ 
 Rendre en retard: **0.5 points / jour** (maximum 4 jours)\\ Rendre en retard: **0.5 points / jour** (maximum 4 jours)\\
 +Lien: [[https://​classroom.github.com/​a/​VCqp692Z|Devoir 1]]
 </​note>​ </​note>​
  
Line 13: Line 13:
  
 Le but du devoir est d'​écrire une calculatrice qui prend des paramètres de la ligne de commande. 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, ​display, maximum, minimum, modulo, multiply, power, reverse, sort, sqrt, subtraction,​ unique, sinus, cosinus.+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: Un exemple de calcul de 3 à la puissance 2 est:
Line 29: Line 29:
 ^ Op ^ Paramètres ^ Description ^ Exemple ^ ^ Op ^ Paramètres ^ Description ^ Exemple ^
 |  | aucun | Imprime sur l'​écran le logo et la liste des opérations disponibles | node main.js | |  | aucun | Imprime sur l'​écran le logo et la liste des opérations disponibles | node main.js |
-aide | aucun | Imprime sur l'​écran le logo et la liste des opérations disponibles | node main.js ​aide |+help| aucun | Imprime sur l'​écran le logo et la liste des opérations disponibles | node main.js ​help |
 | + | une liste de nombres (minimum 2) | Ajoute les numéros | node main.js 2 4 3 5 6 7 3 +| | + | une liste de nombres (minimum 2) | Ajoute les numéros | node main.js 2 4 3 5 6 7 3 +|
 | - | une liste de nombres (minimum 2) | Soustrait les nombres | node main.js 2 4 3 5 6 7 3 -| | - | une liste de nombres (minimum 2) | Soustrait les nombres | node main.js 2 4 3 5 6 7 3 -|
Line 39: Line 39:
 | pwr | deux nombres | Calcule a à la puissance b | node main.js 30 9 pwr| | pwr | deux nombres | Calcule a à la puissance b | node main.js 30 9 pwr|
 | sort | une liste de nombres (minimum 1) | Trie les nombres en ordre croissant | node main.js 2 4 3 5 6 7 3 sort| | sort | une liste de nombres (minimum 1) | Trie les nombres en ordre croissant | node main.js 2 4 3 5 6 7 3 sort|
-| rev | une liste de nombres (minimum 1) | Trie les nombres en ordre décroissant | node main.js ​ 2 4 3 5 6 7 3 | +| rev | une liste de nombres (minimum 1) | Trie les nombres en ordre décroissant | node main.js ​ 2 4 3 5 6 7 3 rev 
-| uniq | une liste de nombres (minimum 1) | Imprime tous les numéros une seule fois | node main.js ​unique ​2 4 3 5 6 7 3 | +| uniq | une liste de nombres (minimum 1) | Imprime tous les numéros une seule fois | node main.js 2 4 3 5 6 7 3 uniq 
-| max | une liste de nombres (minimum 1) | Trouve la plus grande valeur | node main.js ​maximum ​2 4 3 5 6 7 3 rev |+| max | une liste de nombres (minimum 1) | Trouve la plus grande valeur | node main.js 2 4 3 5 6 7 3 max|
 | min | une liste de nombres (minimum 1) | Trouve la plus petite valeur | node main.js 2 4 3 5 6 7 3 min| | min | une liste de nombres (minimum 1) | Trouve la plus petite valeur | node main.js 2 4 3 5 6 7 3 min|
 | cos | un nombre | Calcule le cosinus d'un angle avec une valeur donnee | node main.js 45 cos | | cos | un nombre | Calcule le cosinus d'un angle avec une valeur donnee | node main.js 45 cos |
Line 82: Line 82:
   sin   sin
 </​code>​ </​code>​
- 
-<​html>​ 
-   <​center>​ 
- <iframe src="​https://​shellrecorder.org/​player/?​filename=aHR0cHM6Ly9yYXdnaXQuY29tL2FsZXhhbmRydXJhZG92aWNpL2FsZjIwMTgvbWFzdGVyL0Rldm9pcnMvY2FsY3VsYXRvci9zaGVsbC9leGFtcGxlLnNoZWxscmVjb3JkZXI/​cmF3PXRydWU="​ frameborder="​0"​ width="​500"​ height="​350"></​iframe>​ 
-   </​center>​ 
-</​html>​ 
  
 ==== Erreurs ==== ==== Erreurs ====
Line 98: Line 92:
 node main.js list node main.js list
 # cela va imprimer (exactement) # cela va imprimer (exactement)
-ERROR: this command does not exist, use display ​to see available commands+ERROR: this command does not exist, use help to see available commands
  
 node main.js 10 mul node main.js 10 mul
 # cela va imprimer (exactement) # cela va imprimer (exactement)
-ERROR: ​multiply ​command uses at least 2 parameters+ERROR: ​mul command uses at least 2 parameters
  
 </​code>​ </​code>​
Line 110: Line 104:
  
  
-Pour ** 0,25p ** points supplémentaires,​ implémentez la calculatrice pour des opérations avec des nombres complexes pour addsub et mul. Le format d'​entrée sera:+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:
 <code bash> <code bash>
 #add a1+b1i with a2+b2i #add a1+b1i with a2+b2i
-node main.js ​addition ​a1 b1 a2 b2 complex+node main.js a1 b1 a2 b2 complex ​+
  
 #subtract a1+b1i with a2+b2i #subtract a1+b1i with a2+b2i
-node main.js ​subtraction  ​a1 b1 a2 b2 complex+node main.js a1 b1 a2 b2 complex ​-
  
 #multiply a1+b1i with a2+b2i #multiply a1+b1i with a2+b2i
-node main.js ​multiply ​a1 b1 a2 b2 complex+node main.js a1 b1 a2 b2 complex ​mul
 </​code>​ </​code>​
  
Line 129: Line 123:
  
   - Vous ne pouvez pas utiliser // RegEx // ou toute autre bibliothèque qui utiliserait des expressions régulières   - Vous ne pouvez pas utiliser // RegEx // ou toute autre bibliothèque qui utiliserait des expressions régulières
-  - Les fichiers doivent avoir "use strict"​ 
-  - Vos fichiers doivent passer jshint (avec node: true, esnext: true) 
   - Le code source doit être indenté (-0.1p)   - Le code source doit être indenté (-0.1p)
   - Vous devez écrire un fichier nommé Readme et expliquer comment vous avez écrit le devoir (-0.1p)   - Vous devez écrire un fichier nommé Readme et expliquer comment vous avez écrit le devoir (-0.1p)
Line 140: Line 132:
 ===== Questions ===== ===== Questions =====
  
-Si vous avez des questions concernant le devoir, posez-les en postant un //issue// sur le github [[https://​github.com/​upb-fils/​alf.git|repository]] avec le format // [calculatrice] <le titre de votre question>​ //. Vous aurez besoin d'un compte github pour cela.+Si vous avez des questions concernant le devoir, posez-les en postant un //issue// sur le github [[https://​github.com/​UPB-FILS-ALF|repository]] avec le format // [calculatrice] <le titre de votre question>​ //. Vous aurez besoin d'un compte github pour cela.
  
 <note warning> <note warning>
Line 146: Line 138:
 </​note>​ </​note>​
  
-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 [[https://​github.com/​upb-fils/alf.git|repository]] et cliquez //Watch//.+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 [[https://​github.com/​UPB-FILS-ALF/questions|repository]] et cliquez //Watch//.
   ​   ​
-===== Tests ===== 
  
-Les devoirs seront testés automatiquement en utilisant un ensemble de tests publics et privés. 
- 
-==== Tests publics ==== 
- 
-Vous pouvez télécharger les tests publics du GitHub [[https://​github.com/​upb-fils/​alf.git|repository]]. 
- 
-Pour exécuter les tests, téléchargez le contenu du repository dans le directoire avec les devoirs. Entrez dans le directoire // Devoirs/​calculator/​verify // et exécutez ./​run_all.sh .. . 
- 
-Copiez le contenu du devoir dans le dossier // Devoirs/​caclulator //. 
- 
-<code bash> 
-cd Devoirs/​calculator/​verify 
-rm -rf node_modules 
-./​run_all.sh .. 
-</​code>​ 
- 
-Vous aurez besoin de //bash// pour ça. Vous pouvez utiliser Linux ou [[https://​msdn.microsoft.com/​en-us/​commandline/​wsl/​install_guide|Windows Linux Subsystem]]. 
- 
-<​note>​ 
-Pour installer nodejs sous Linux ou Windows Linux Subsystem, procédez comme suit: 
- 
-<code bash> 
-wget https://​nodejs.org/​dist/​v10.15.1/​node-v10.15.1-linux-x64.tar.xz 
-tar xvfJ node-v10.15.1-linux-x64.tar.xz 
-cd node-v10.15.1-linux-x64 
-sudo cp -R -v * /usr 
-</​code>​ 
-  ​ 
-</​note>​ 
- 
-==== Tests privés ==== 
-Lors du téléchargement des devoirs, il est possible qu'il y a des tests privés à faire passer. //​vmchecker//​ les exécutera. 
- 
-<​note>​ 
-Vous pouvez toujours télécharger les devoirs autant de fois que vous le souhaitez jusqu'​à la date limite. Cela va exécuter tous les tests pour vous et va afficher le résultat. 
-</​note>​ 
- 
-===== Télécharger les devoirs ===== 
-Les devoirs doivent être téléchargés sur [[https://​vmchecker.cs.pub.ro|vmchecker]]. ​ 
-Connectez-vous avec votre nom d'​utilisateur moodle, sélectionnez le cours //Automates et Langages Formelles (FILS)// et téléchargez [[# homework-archive | homework archive]]. 
- 
-==== Readme ==== 
-Le fichier //readme// a le format suivant: 
- 
-<​code>​ 
-Nom complet 
-Groupe 
- 
-Une explication comment vous avez écrit le devoir, ce que vous avez utilisé, les idées principales. 
-</​code>​ 
- 
- 
-==== Archivage de devoir ==== 
-Pour télécharger votre devoir, suivez les instructions suivantes: 
- 
-  - Créez une archive zip (pas rar, ace, 7zip ou autre) contenant: 
-    * votre fichier main javascript (identique à celui spécifié dans package.json) 
-    * vos fichiers javascript (*.js) 
-    * le fichier package.json 
-    * le fichier Readme 
-  - Connectez-vous avec [[https://​vmchecker.cs.pub.ro|vmchecker]] 
-  - sélectionner le cours //Automates et Langages Formelles (FILS)// 
-  - sélectionnez //1. Calculator//​ 
-  - télécharger l'​archive 
- 
- 
-<​note>​ 
-L'​archive doit contenir les fichiers dans sa racine, pas dans un dossier. NE PAS archiver un dossier avec les fichiers, archiver DIRECTEMENT les fichiers. 
- 
-NE PAS inclure //​node_modules//​. 
-</​note>​ 
- 
-Lorsque l'​archive est téléchargée,​ //​vmchecker//​ va exécuter: 
- 
-<code bash> 
-unzip archive.zip homework 
-cd homework 
-npm install 
-echo '{ "​node":​true,​ "​esnext":​true }' > .jshintrc 
-jshint *.js 
-</​code>​ 
alf/teme/tema1.1582568985.txt.gz · Last modified: 2020/02/24 20:29 by diana.ghindaoanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0