This shows you the differences between two versions of the page.
alf:laboratoare:07 [2021/04/17 19:16] diana.ghindaoanu |
alf:laboratoare:07 [2021/04/17 19:29] (current) diana.ghindaoanu [Exercises] |
||
---|---|---|---|
Line 516: | Line 516: | ||
===== Exercises ===== | ===== Exercises ===== | ||
- | - Téléchargez [[https://github.com/UPB-FILS/alf/tree/master/TP/TP8|la structure]] du TP. En suivant les lignes marquées par TODO 1, ajoutez les variables et leur type au tableau des symboles. Testez avec le fichier ''ex1.txt'' (**2.5p**). | + | - Téléchargez [[https://github.com/UPB-FILS-ALF/TP/tree/main/TP7|la structure]] du TP. En suivant les lignes marquées par TODO 1, ajoutez les variables et leur type au tableau des symboles. Testez avec le fichier ''ex1.txt'' (**2.5p**). |
- Si une variable est définie plusieurs fois, retournez sur l'écran une erreur et arretez le programme. Suivez les lignes marquées par TODO 2 et puis testez avec le ficher ''ex3.txt'' (**2p**) | - Si une variable est définie plusieurs fois, retournez sur l'écran une erreur et arretez le programme. Suivez les lignes marquées par TODO 2 et puis testez avec le ficher ''ex3.txt'' (**2p**) | ||
- Pour chaque type d'expression, vérifiez le type de chaque élément (int, float ou string). Si l'opérateur est une variable, vérifiez son type en utilisant le tableau des symboles. Retournez une erreur et arretez l'exécution du programme si vous ne pouvez pas calculer la valeur de l'expression (par exemple, toute opération entre les string et les nombres, sauf la somme). (**Hint**: Vous pouvez définir une fonction supplémentaire qui fait toutes les validations et seulement l'appeler pour chaque regle). Suivez les lignes avec TODO 3 et testez avec ''ex3.txt''. A la fin, modifiez le contenu du fichier ''ex3.txt'' pour tester votre programme pour l'expression **123 - "alf";**. (**3p**). | - Pour chaque type d'expression, vérifiez le type de chaque élément (int, float ou string). Si l'opérateur est une variable, vérifiez son type en utilisant le tableau des symboles. Retournez une erreur et arretez l'exécution du programme si vous ne pouvez pas calculer la valeur de l'expression (par exemple, toute opération entre les string et les nombres, sauf la somme). (**Hint**: Vous pouvez définir une fonction supplémentaire qui fait toutes les validations et seulement l'appeler pour chaque regle). Suivez les lignes avec TODO 3 et testez avec ''ex3.txt''. A la fin, modifiez le contenu du fichier ''ex3.txt'' pour tester votre programme pour l'expression **123 - "alf";**. (**3p**). |