Differences

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

Link to this comparison view

alf:laboratoare:00 [2021/03/15 16:51]
diana.ghindaoanu [Excercices]
alf:laboratoare:00 [2022/02/27 17:59] (current)
diana.ghindaoanu
Line 12: Line 12:
 Pour créer un nouveau projet en Visual Studio Code, on va procéder de la manière suivante: Pour créer un nouveau projet en Visual Studio Code, on va procéder de la manière suivante:
   * Créez un dossier **TP0** sur votre Desktop. C'est ici que vous allez placer tous les fichiers où vous allez résoudre les exercices   * Créez un dossier **TP0** sur votre Desktop. C'est ici que vous allez placer tous les fichiers où vous allez résoudre les exercices
-  *  Entrez en VSCode, appuyez sur **File** -> **Open Folder...** et sélectionnez le dossier que vous venez de créer+  * Entrez en VSCode, appuyez sur **File** -> **Open Folder...** et sélectionnez le dossier que vous venez de créer
   * Pour créer un nouveau dossier, vous devez appuyer sur le bouton indiqué par la flèche rouge   * Pour créer un nouveau dossier, vous devez appuyer sur le bouton indiqué par la flèche rouge
   * Pour créer un nouveau fichier, vous devez appuyer sur le bouton indiqué par la flèche verte   * Pour créer un nouveau fichier, vous devez appuyer sur le bouton indiqué par la flèche verte
Line 47: Line 47:
 <​note>​Si vous utilisez Linux en tant que systeme d'​exploitation,​ vous devez ajouter ''​sudo''​ devant la commande précédente.</​note>​ <​note>​Si vous utilisez Linux en tant que systeme d'​exploitation,​ vous devez ajouter ''​sudo''​ devant la commande précédente.</​note>​
  
-===== Setup nouveau projet =====+===== Configuration ​nouveau projet =====
   - Créez un nouveau dossier   - Créez un nouveau dossier
-  - On doit créer un fichier nommé //​package.json//​. Pour ne pas le créer et saisir les données mannuellement,​ il est recommandé d'​utiliser le gestionnaire de paquets //npm//. Dans le terminalintroduisez ​la commande ''​npm init''​. L'​utilitaire va vous demander de fournir des informations sur le nouveau projet afin de remplir certains champs. Il faut tout simplement appuyer sur la touche //Enter// pour associer les valeurs par défaut.+  - On doit créer un fichier nommé //​package.json//, ​alors tapez la commande ''​npm init'' ​dans le terminal. L'​utilitaire va vous demander de fournir des informations sur le nouveau projet afin de remplir certains champs. Il faut tout simplement appuyer sur la touche //Enter// pour associer les valeurs par défaut.
   - On doit créer aussi un fichier de configuration pour TypeScript, //​tsconfig.json//​. La commande à exécuter dans le terminal est ''​tsc %%--%%init''​.   - On doit créer aussi un fichier de configuration pour TypeScript, //​tsconfig.json//​. La commande à exécuter dans le terminal est ''​tsc %%--%%init''​.
   - A l'aide de l'​interface graphique de Visual Studio Code, créez un nouveau fichier **index.ts**   - A l'aide de l'​interface graphique de Visual Studio Code, créez un nouveau fichier **index.ts**
-  - Dans le Terminal, exécutez la commande ''​tsc index.ts''​. Cela générera le fichier //.js// correspondant. Ce fichier ne doit pas etre modifié, il sera utilisé seulement pour la compilation,​ car en reste on va travailler seulement avec les fichiers TypeScript+  - Dans le Terminal, exécutez la commande ''​tsc index.ts''​. Cela générera le fichier //.js// correspondant. Ce fichier ​**ne doit pas entre modifié**, il sera utilisé seulement pour la compilation,​ car en reste on va travailler seulement avec les fichiers TypeScript
   - Pour exécuter le programme, saisissez la commande ''​node index.js''​.   - Pour exécuter le programme, saisissez la commande ''​node index.js''​.
  
Line 185: Line 185:
 </​code>​ </​code>​
  
-<​hidden>​ 
-Ar trebui sa mearga cu import nume from "​nume";​ Daca nu merge, atunci sa pune import * as nume from "​nume";​ 
- 
-Modulele mai vechi nu merg asa, cele noiu ar trebui sa mearga. 
-</​hidden>​ 
  
  
Line 378: Line 373:
 ===== Excercices ===== ===== Excercices =====
  
-  - Installez Node JS 14, Visual Studio Code et TypeScript. (**1p**) +  - Ecrivez un programme qui affiche sur l'​écran:​ 
-  - Faites un nouveau projet en Node JS qui s'appelle ​//first_typescript_project//. +     * Votre nom et prénom en utilisant l'​opération de concaténation ​**(0.2p)** 
-    - Faites un nouveau directoire //​first_typescript_project//​. (**0.3p**) +     * La date d'aujourd'​hui en format ISO 8601, en utilisant les objets ​//JavaScript Date//. **(0.4p)** 
-    - Dans le nouveau directoire, créez un fichier ​//index.ts// (**0.3p**) +     * La date et l'​heure en Paris, en utilisant ​le module ​//moment-timezone//**(0.4p)** 
-    Entrez dans le directoire ​et utilisez la commande ​//npm init//, ensuite la commande ​//tsc %%--%%init//. Qu'est-ce qui se passe? (**0.4p**) +  A l'aide du module ''​http'' ​et de l'API gratuit de [[https://alexwohlbruck.github.io/cat-facts/docs/|Cat Facts]]créez une requête de type //GET//. Vous devez afficher sur l'écran le message contenu dans le champ ''​text''​ pour l'​objet ayant l'id //"​58e008780aac31001185ed05"//​. ​**(1.5p)** 
-  - Ecrivez ​un programme qui affiche ​sur l'écran votre nom et prénom, en utilisant l'opération de concaténation(**0.5p**) +  - Soit la variable ''​const numbers = [1, 2, 3, 4];''​. Créez ​un programme qui affiche ​chaque élément de la liste //numbers// après une seconde. Indice: utilisez de module ''​timers''​. **(1p)** 
-  - Faites un nouveau projet qui s'​appelle //​systeminfo//​. Inspectez la documentation du module [[https://​nodejs.org/​api/​os.html|os]] et utilisez-le pour afficher les données suivantes (**Attention!** L'​installation du module n'est pas nécessaire,​ il suffit d'​importer le module dans le projet. N'​oubliez pas d'​installer les types de node avec ''​npm install ​ %%--%%save-dev @types/​node''​.):+  - Faites un nouveau projet qui s'​appelle //​systeminfo//​. Inspectez la documentation du module [[https://​nodejs.org/​api/​os.html|os]] et utilisez-le pour afficher les données suivantes (**Attention!** L'​installation du module n'est pas nécessaire,​ il suffit d'​importer le module dans le projet):
     - le repertoire de base pour l'​utilisateur actuel(home directory) (**0.3p**) ​     - le repertoire de base pour l'​utilisateur actuel(home directory) (**0.3p**) ​
-    - le le nom d'​hôte ​du système ​d'​exploitation ​ ​(**0.3p**) +    - la disponibilité ​du système ​(uptime) ​ ​(**0.3p**) 
-    - la mémoire disponible en kB (**0.4p**) +    - la mémoire disponible en MB (**0.4p**) 
-  - Déclarez une variable pour la mémoire en kB, une pour la mémoire en MB (nombres entièrs, 1KB = 1024B, 1MB = 1024KB), une pour le repertoire de base et une avec l'endianité du processeur. Ajoutez ces variables dans un string, avec des espaces entre eux. Affichez le string sur l'écran. (**1p**) +  - l'aide des modules ​''​fs''​ et ''​os'',​ écrivez ​dans le fichier //os.info// toutes les informations ​suivantes: ​(**1p**) 
-  - Ecrivez ​dans le fichier //os.info// toutes les informations ​de l'​exercice précédent. ​(**0.5p**) +    - la mémoire disponible en KB 
-  - Installez le module //chalk//, en utilisant //npm//. Le module ​doit être ajouté automatiquement en //​package.json//​. ​(**0.5p**) +    - le type du système d'​exploitation 
-  - Affichez toutes les variables de l'​exercice ​avec des couleurs différentes,​ en utilisant le module chalk. (**0.5p**) +    - la version du noyau 
-  - Copiez les suivants morceaux de code dans un nouveau fichier //.ts// et corrigez les erreurs: +    - les données sur chaque cœur de processeur logique 
-    - <code javascript>​const alf_const: string = "This is my first ALF lab!";​ +  - Installez le module //​chalk// ​(version 4.1.0), en utilisant //npm//, de sorte que le module ​soit ajouté automatiquement en //​package.json//​. Affichez toutes les variables de l'​exercice ​précédent ​avec des couleurs différentes,​ en utilisant le module chalk. (**1p**) 
-alf_const = "This is not correct";​ +  - Stockez un nombre quelconque dans une variable. Utilisez la boucle ​**while** pour compter //​seulement//​ ses diviseurs //pairs//. Affichez sur l’écran :  
- +    - "I chose the number x which has y even divisors",​ où x représente la valeur du numéro que vous avez choisi et y le numéro de ses diviseurs (**0.5p**)
-let alf_number: number; +
-alf_number = "​10";</​code>​ +
-    - <code javascript>​ let alf_bool: boolean = true; +
-if(alf_bool === "​true"​) { +
-    alf_bool = false; +
-    console.log("​I found the answer!"​);​ +
-}</​code>​ +
-    - <code javascript>​ let tuple_example:​ [string, number]; +
- +
-tuple_example = [1, "​ALF"​];​ +
-console.log(tuple_example[1].substring(1));​ +
-tuple_example[2] = "​TP1";</​code>​ +
-  - Faites un projet qui s'​appelle //​boucles//​. En utilisant la boucle //for//, affichez : +
-    - tous les nombres pairs dans l'​intervalle 1-200 (**0.4p**) +
-    - les mêmes nombres en ordre inverse (**0.4p**) +
-    - tous les nombres divisibles par 3 (**0.4p**) +
-    - tous les nombres divisibles par 5 et 7 (**0.4p**) +
-    - tous les nombres divisibles par 11 ou 6 (**0.4p**) +
-  - Stockez un nombre quelconque dans une variable. Utilisez la boucle ​//while// pour compter //​seulement//​ ses diviseurs //impairs//. Affichez sur l’écran :  +
-    - "I chose the number x which has y odd divisors",​ où x représente la valeur du numéro que vous avez choisi et y le numéro de ses diviseurs (**0.5p**)+
     - Si le nombre est premier. (**0.5p**)     - Si le nombre est premier. (**0.5p**)
-  - **Bonus:** Soit l'enumeration ci-dessous, où chaque couleur est mappée au numéro correspondant ​de l'intervalle 0-9Affichez sur l'écran ​la somme des 3 valeurs pour //brown//, //orange//, //​violet//​. ​(**1p**) +  - Faites un projet qui s'​appelle //​boucles//​. En utilisant les différents types de boucle //for// et tout autre module nécessaire,​ résolvez les demandes suivantes : 
-<​code ​javascript+    - lisez 10 numéros d'un fichier txt et affichez leur somme et leur moyenne (**0.4p**
-enum Colours { +    - affichez sur l'écran la table de multiplication du numéro 5 ''​(1x5=5,​ 2x5=10, 3x5=15 ​... 10x5=50)'' (**0.4p**) 
-    ​BLACK,​ +    - vérifiez si le numéro **56** est un parfait (la somme des diviseurs est égale a 56) (**0.4p**) 
-    ​BROWN,​ +    - vérifiez si un numéro est **Strong**. (Un nombre ​//Strong// est un nombre spécial dont la somme des factorielles de chiffres est égale au nombre d'​origine:​ ''​1! + 4! + 5! = 145'' ​(**0.4p**) 
-    RED , +    - une pyramide d'​étoiles avec 4 lignes (**0.4p**) ​<​code>​ 
-    ORANGE, +            ​* ​ 
-    YELLOW, +           * *  
-    GREEN, +          * * *  
-    BLUE, +         ​* * * *</code> 
-    VIOLET, +    - la pyramide suivante **(0.5p)** <​code>​ 
-    GREY, +     1234567654321 ​                                                                                           ​ 
-    WHITE +      ​12345654321 ​                                                                                             
-+       123454321 ​                                                                                              
- +        1234321 ​                                                                                               
-let sum: number = 0; +         ​12321 ​                                                                                                
- +          121                                                                                                  
-/Here goes your code */ +           1 </code>
- +
-console.log(sum); // 11 +
-</code> +
- +
- +
-[[https://​github.com/​UPB-FILS-ALF/​TP/​tree/​main/​TP0|Solutions]]+
alf/laboratoare/00.1615819907.txt.gz · Last modified: 2021/03/15 16:51 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