Differences

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

Link to this comparison view

alf:laboratoare:02_fr_java [2023/03/12 18:06]
alexandra.negoita02 [Règles]
alf:laboratoare:02_fr_java [2023/03/14 04:06] (current)
alexandra.negoita02 [Assignment]
Line 1: Line 1:
 ====== TP 2 - Strings et Regex ====== ====== TP 2 - Strings et Regex ======
 +
 +====== Assignment ======
 +<note important>​
 +Vous devez **accepter** l'​assignment d'ici est travailler avec ce **repository**:​ [[https://​classroom.github.com/​a/​NwkWZNIY|Lab 2]]
 +</​note>​
  
 ===== Strings ===== ===== Strings =====
Line 69: Line 74:
  
 </​code>​ </​code>​
 +
 +Voir aussi la documentation des classes: [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​regex/​Pattern.html|Pattern]],​ et [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​regex/​Matcher.html|Matcher]].
  
 ==== Fonctions supplémentaires ==== ==== Fonctions supplémentaires ====
  
-=== String ​=== +=== Fonctions pour les chaînes de caractères avec Regex === 
-  * //​[[https://​developer.mozilla.org/en/docs/Web/JavaScript/Reference/​Global_Objects/String/split|str.split(separatorRegex,​ limit)]]// - divise le string dans un array avec des éléments séparés //separatorRegex// +  * //​[[https://​docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String)|str.split(regex)]]// - divise le string dans un array avec des éléments séparés ​par le separateur//regex// 
-  * //​[[https://​developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/match|str.match(regex)]]// - Recherche dans le string une sous-string qui suit l'​expression régulière +  * //​[[https://​docs.oracle.com/javase/7/docs/api/java/lang/String.html#​matches(java.lang.String)|str.matches(regex)]]// - Indique si le chaîne de caracteres ​correspond ​ou non à l'​expression régulière ​donnée.
-  * //​[[https://​developer.mozilla.org/​en/​docs/​Web/​JavaScript/​Reference/​Global_Objects/​String/search|str.search(regex)]]// - Recherche une sous-string qui correspond à l'​expression régulière ​et renvoie l'​index de celle-ci ou -1 si elle ne la trouve pas. +
- +
-=== Fonctions pour les RegEx === +
- +
-  * //​[[https://​developer.mozilla.org/​en-US/​docs/​Web/​JavaScript/​Reference/​Global_Objects/​RegExp/​exec|regex.exec(str)]]//​ - Recherche dans un string une sous-string qui suit l'​expression régulière +
-<code javascript>​ +
-let regex: RegExp = /​([0-9]+);​([A-Za-z-\. ]+);​([0-9]{3,​4}[A-Za-z]+)/;​ +
- +
-let match: RegExpExecArray|null = regex.exec ('​1;​ANDRONIE S. Manuela - Bianca;​1220F extra text'​);​ +
- +
-/* +
-match: +
-[ '​1;​ANDRONIE S. Manuela - Bianca;​1220F',​ // the full match +
-  '​1',​ // the first group +
-  '​ANDRONIE S. Manuela - Bianca',​ // the second group +
-  '​1220F',​ // the third group +
-  index: 0, // the position +
-  input: '​1;​ANDRONIE S. Manuela - Bianca;​1220F extra text' ] // the full string +
-*/ +
- +
-</​code>​ +
-  * //​[[https://​developer.mozilla.org/​en-US/​docs/​Web/​JavaScript/​Reference/​Global_Objects/​RegExp/​test|regex.test(str)]]//​ - Recherche dans une chaîne une sous-chaîne qui suit l'​expression régulière et renvoie true de celle-ci trouve un ou false sinon+
  
-Pour plus de fonctions, lisez la [[https://​developer.mozilla.org/​en-US/​docs/​Web/​JavaScript/​Reference/​Global_Objects/​RegExp|documentation RegEx complète]]. 
  
  
Line 105: Line 89:
 Fichiers de groups: Fichiers de groups:
  
-  - Téléchargez depuis le github le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​BusinessFinancialData.csv|BusinessFinancialData.csv]] qui contient des données financières d'​entreprise. Dans ce document on a stocké le code de l'​entreprise,​ la période de temps, la valeur totale, le sujet, la catégorie et le domaine d'​activité (dans cette ordre précisément). Créez un projet ​nodejs ​et copiez dans une chaîne seulement la ligne numéro 3. Sans utiliser des expressions régulières,​ résolvez les demandes suivantes (seulement a l'aide des **fonctions pour les strings**):+  - Téléchargez depuis le github le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​BusinessFinancialData.csv|BusinessFinancialData.csv]] qui contient des données financières d'​entreprise. Dans ce document on a stocké le code de l'​entreprise,​ la période de temps, la valeur totale, le sujet, la catégorie et le domaine d'​activité (dans cette ordre précisément). Créez un projet ​Java et copiez dans une chaîne seulement la ligne numéro 3. Sans utiliser des expressions régulières,​ résolvez les demandes suivantes (seulement a l'aide des **fonctions pour les strings**):
     - Affichez la position (index) du sujet dans le string. (**0.2p**)     - Affichez la position (index) du sujet dans le string. (**0.2p**)
     - Affichez la dernière position de " " (\s) dans la chaîne. (**0.4p**)     - Affichez la dernière position de " " (\s) dans la chaîne. (**0.4p**)
Line 112: Line 96:
     - Divisez la chaîne dans un tableau en utilisant le caractère de nouvelle ligne (\n) comme séparateur (//\r\n// pour Windows). (**0.4p**)     - Divisez la chaîne dans un tableau en utilisant le caractère de nouvelle ligne (\n) comme séparateur (//\r\n// pour Windows). (**0.4p**)
     - Traitez chaque string du tableau et affichez sur des lignes différentes le code, la valeur totale et la catégorie de chaque entreprise qui est dans le fichier. (**0.6p**)     - Traitez chaque string du tableau et affichez sur des lignes différentes le code, la valeur totale et la catégorie de chaque entreprise qui est dans le fichier. (**0.6p**)
-  - Pour chaque ligne de l'​exercice 2, créez ​un objet de type Entreprise avec les détails de celle-ci. La méthode reste a votre choix. Ajoutez les objects dans un tableau. (**1p**) +  - Pour chaque ligne de l'​exercice 2, créez ​une classe ​Entreprise avec les détails de celle-ci. La méthode ​de creer les objets ​reste a votre choix. Ajoutez les objects dans un tableau. (**1p**) 
-  - Téléchargez le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​passwd|passwd]] et lisez-le dans un string. Créez un tableau avec des objets contenant les informations comprises dans le fichier, pour chaque ligne. Vous pouvez trouver des détails sur le format du fichier [[https://github.com/UPB-FILS-ALF/TP/blob/main/​TP2/​passwd|passwd]] ici. (**1p**)+  - Téléchargez le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​passwd|passwd]] et lisez-le dans un string. Créez un tableau avec des objets contenant les informations comprises dans le fichier, pour chaque ligne. Vous pouvez trouver des détails sur le format du fichier [[https://www.ibm.com/docs/en/aix/7.2?​topic=passwords-using-etcpasswd-file|passwd]] ici. (**1p**)
   - Utilisez des expressions régulières pour résoudre l'​exercice 2. Vous pouvez utiliser [[https://​regex101.com|RegEx101]] pour écrire l'​expression régulière et tester sa validité. (**1p**)   - Utilisez des expressions régulières pour résoudre l'​exercice 2. Vous pouvez utiliser [[https://​regex101.com|RegEx101]] pour écrire l'​expression régulière et tester sa validité. (**1p**)
   - Utilisez des expressions régulières pour résoudre l'​exercice 3. (**1.5p**)   - Utilisez des expressions régulières pour résoudre l'​exercice 3. (**1.5p**)
   - Utilisez des expressions régulières pour résoudre l'​exercice 4. (**1.5p**)   - Utilisez des expressions régulières pour résoudre l'​exercice 4. (**1.5p**)
-  - Lisez le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​typescript_errors.txt|typescript_errors]] et affichez: +  - **Bonus**: Ecrivez un programme qui reçoit comme paramètre le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​typescript_class.ts|typescript_class.ts]]. Lisez le fichier et résolvez les demandes suivantes:
-    - combien d'​erreurs y a-t-il (**0.5p**) +
-    - le liste de codes d'​erreur (**0.5p**) +
-    - Stockez les informations dans un tableau ayant le format suivant: (**0.5p**)<​code json> +
-+
-   { +
-      "​type":"​error",​ +
-      "​code":<​erorr_code if it exists>,​ +
-      "​type_error":<​true/​false>,​ //s'il s'agit d'une erreur de type +
-      "​description":<​the error description>​ +
-   }, +
-   ... +
-+
-</​code>​ +
-     - Ecrivez le tableau dans un fichier (indice: utilisez JSON.stringify) (**0.5p**) +
-   - **Bonus**: Ecrivez un programme qui reçoit comme paramètre le fichier [[https://​github.com/​UPB-FILS-ALF/​TP/​blob/​main/​TP2/​typescript_class.ts|typescript_class.ts]]. Lisez le fichier et résolvez les demandes suivantes:+
      - affichez les bibliothèques importées (**0.3p**)      - affichez les bibliothèques importées (**0.3p**)
      - affichez toutes les classes déclarées (**0.3p**)      - affichez toutes les classes déclarées (**0.3p**)
alf/laboratoare/02_fr_java.1678637219.txt.gz · Last modified: 2023/03/12 18:06 by alexandra.negoita02
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