This shows you the differences between two versions of the page.
alf:teme:tema_1 [2021/03/06 22:04] diana.ghindaoanu [Information] |
alf:teme:tema_1 [2021/03/17 16:33] (current) alexandru.radovici [Conseils d'implémentation] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Information ===== | ===== Information ===== | ||
<note important> | <note important> | ||
- | Deadline: ** le 21 Mars, 23:55** | + | Deadline: ** le 21 Mars, 23:55**\\ |
- | + | Points: **1 point** de la note finale\\ | |
- | Points: **1 point** de la note finale | + | Link: [[https://classroom.github.com/a/olSpOMPY|Devoir 1]]\\ |
- | + | ||
- | Link: | + | |
Téléchargement tardif: **1p/jour** (maximum 2 jours) | Téléchargement tardif: **1p/jour** (maximum 2 jours) | ||
</note> | </note> | ||
Line 202: | Line 199: | ||
| 50% | pile et instructions mathématiques | | | 50% | pile et instructions mathématiques | | ||
| 20% | instructions jump | | | 20% | instructions jump | | ||
- | | 20% | étiquettes | | + | | 10% | étiquettes | |
| 10% | instructions du registre | | | 10% | instructions du registre | | ||
| 10% | erreurs | | | 10% | erreurs | | ||
+ | |||
+ | ===== Conseils d'implémentation ===== | ||
+ | Le devoir comprend beaucoup de fonctionnalités a implémenter, donc on vous suggere de suivre les étapes: | ||
+ | - Lire le contenu du fichier dans le string s et implémenter l'erreur ''no file'' | ||
+ | - Séparer l'entrée lue par ''\n'' (''\r\n'' pour Windows, assurez-vous de l'avoir changé avant de transférer sur git), en utilisant la fonction ''split'' | ||
+ | - Séparer chaque ligne par ' ' (espace) et extraire l'instruction et ses parametres | ||
+ | - Implémenter l'erreur ''unknown instruction'' | ||
+ | - Implémenter les instructions ''push'' et ''pop'' en utilisant un array de numéros pour la pile | ||
+ | - Implémenter les fonctions mathématiques | ||
+ | - Implémenter toutes les instructions | ||
+ | |||
===== Bonus ===== | ===== Bonus ===== | ||
Line 213: | Line 221: | ||
^ Instruction ^ Paramètre ^ Détails ^ | ^ Instruction ^ Paramètre ^ Détails ^ | ||
- | | write | number | Extrait un numéro de la pile et l'écrit a l'emplacement de la mémoire défini par le paramètre | | + | | write | - | Extrait 2 numéros de la pile et écrit le premier a l'emplacement de la mémoire défini par le deuxième | |
- | | read | number | Lit un nombre à partir de l'emplacement de mémoire et l'ajoute a la pile | | + | | read | - | Extrait un numéro de la pile et lit un numéro de l'emplacement de la mémoire défini par le premier numéro, en ajoutant le deuxieme a la pile | |
<note> | <note> | ||
Line 223: | Line 231: | ||
===== Règles ===== | ===== Règles ===== | ||
- | - 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 (outre \n\r? pour séparer les lignes d'entrée de la source) |
- Le code source doit être indenté (-0.1p) | - Le code source doit être indenté (-0.1p) | ||
- Vous devez expliquer en détail dans le Readme.md comment vous avez rédigé les devoirs (-1p) | - Vous devez expliquer en détail dans le Readme.md comment vous avez rédigé les devoirs (-1p) | ||
Line 233: | Line 241: | ||
===== Questions ===== | ===== Questions ===== | ||
- | Si vous avez des questions concernant les devoirs, posez-les en publiant un problème sur le github [[https://github.com/UPB-FILS-ALF/questions| repository pour les questions]] avec le format du titre //[simulateur] <titre de votre question>//. Vous aurez besoin d'un compte github pour cela. | + | Si vous avez des questions concernant les devoirs, posez-les en publiant un problème sur le github [[https://github.com/UPB-FILS-ALF/questions| repository pour les questions]] avec le format du titre //[simulator] <titre de votre question>//. Vous aurez besoin d'un compte github pour cela. |
<note warning> | <note warning> |