This is an old revision of the document!


Devoir - Variante Simplifiée

Informations générales

Date limite: Le 15 mai, 23h59
Note: 2 points de la note
Lien: Devoir 3
Télécharger en retard: 1 point / jour (maximum 4 jours)

Connaissances évaluées

  • Parcourir le système de fichiers
  • Interagir avec des fichiers sur la ligne de commande
  • Interaction avec les éditeurs de texte
  • Redirections

Règles

  1. Le devoir doit contenir un fichier Readme expliquant comment vous avez créé le devoir (-0.1p)
  2. Vous pouvez utiliser seulement les fonctions de lea biblioteques std.
  3. Un devoir qui passe tous les tests automatisés obtiendra 10 sur 10 si vouz ne trichez pas en utilisant un API interdit.

Copier

Le thème est résolu individuellement. Toute tentative de copie entraînera 0p pour ce devoir. Nous utiliserons également des systèmes de détection de copie automatique. Si nous avons des doutes, nous vous poserons des questions supplémentaires sur le sujet.

Questions

Si vous avez des questions sur le sujet, veuillez écrire un problème dans le référentiel github repository avec le titre du formulaire [scheduler] < le titre de votre question> . Vous avez besoin d'un compte github pour écrire des questions.

NE PAS PUBLIER LA SOURCE DU CODE . Ce sera considéré comme une copie et sera pénalisé avec 0p sur le devoir pour vous.

Si vous souhaitez recevoir un courrier électronique lorsque de nouvelles questions sont posées ou que des réponses sont fournies, accédez à github repository et cliquez sur Regarder .

Tester et finaliser le devoir

Le compte de la machine virtuelle est student avec le mot de passe student et dispose des autorisations sudo.

Le test du thème se fera uniquement sur la machine virtuelle authentifiée en tant qu'utilisateur student, à l'aide de l'utilitaire uso. Il peut être exécuté à tout moment pour vérifier si les tâches ont été résolues correctement. Ne travaillez pas connecté en tant qu'utilisateur root sur le système, sur n'importe quel sujet. Pour cette raison, il est possible que vous ne réussissiez pas les tests. D'un autre côté, ce n'est pas une méthode sûre de travailler en tant qu'utilisateur root pour des raisons de sécurité et/ou d'autorisation.

L'utilitaire uso implémente des tests uniquement pour les tâches du thème courant. A chaque nouveau thème, pour utiliser l'utilitaire uso, la première étape consiste à démarrer le devoir à l'aide de la commande sudo uso start <theme_number>. Sinon, vous n'aurez pas mis à jour le vérificateur pour le devoir actuel.

Vérifiez le vérificateur de version, affiché lors de l'exécution de la commande sudo uso version. Assurez-vous d'avoir la dernière version avant de continuer à travailler sur le devoir. La version actuelle est spécifiée dans la section Informations générales présente dans la déclaration de devoir. Dans les situations où vous ne disposez pas de la dernière version du vérificateur, exécutez sudo uso update.

Finalisation du devoir se fait en exécutant la commande sudo uso submit.

Tâches

I

Tâche 1 (0p)

La machine virtuelle USO La première étape consiste à exécuter la machine virtuelle.

La machine à devoirs virtuelle se trouve sur le lien: Machine virtuelle Le nom et le mot de passe pour accéder au lien ci-dessus sont ceux du Moodle.

Vérifiez votre connexion Internet en envoyant un ping à un site et en vérifiant que le site répond (Indice : man ping)

Pour résoudre les devoirs, vous avez toujours besoin d'une connexion Internet à l'intérieur de la machine virtuelle, mais résoudre les devoirs ne nécessite pas une connexion Internet permanente. Ne continuez pas tant que vous n'êtes pas sûr de pouvoir accéder à Internet depuis l'intérieur de la machine virtuelle !

Tâche 2 (0p)

À ce moment, la machine virtuelle a accès à Internet et la machine physique (hôte) peut communiquer avec la machine virtuelle (invité). La machine virtuelle peut démarrer assez longtemps, jusqu'à 120 secondes. La machine virtuelle a une règle de transfert de port qui permet une connexion facile entre la machine physique et la machine virtuelle.

Tâche 3 (100p)

Le devoir est vérifié automatiquement à l'aide d'un vérificateur, installé sur la machine virtuelle USO, sous la forme de l'exécutable uso. Le vérificateur doit être exécuté dans un terminal et nécessite des droits privilégiés (sudo). Lisez comment vous pouvez utiliser l'utilitaire uso conformément aux instructions d'utilisation.

Pour pouvoir travailler sur un sujet et envoyer la solution, vous devez vous connecter avec le nom d'utilisateur et le mot de passe de http://curs.upb.ro à l'adresse https://temeuso.cs.pub.ro.

Ne continuez pas tant que vous ne vous êtes pas connecté sur https://temeuso.cs.pub.ro.

Après cela, nous devrons utiliser l'utilitaire uso et les instructions fournies par cette commande dans le terminal pour associer la machine virtuelle à votre compte.

Pour commencer, nous allons exécuter depuis le terminal :

student@vm-uso ~ $ sudo uso

ATTENTION!!! Toutes les touches saisies à partir du clavier dans la machine virtuelle sont enregistrées. Évitez d'y saisir tout type de mots de passe ou de données sensibles/personnelles.

Après l'enregistrement (suivez les étapes dans la machine virtuelle), commencez à travailler sur Tema 0.

student@vm-uso ~ $ sudo uso start 0

Pour vérifier si le thème s'exécute correctement, exécutez le checker.

student@vm-uso ~ $ sudo uso check

Tâche 4 (0p)

Finissez la tâche.

student@usohomework ~ $ sudo uso submit

II

Tâche 1 (26p)

Vous devez créer la structure suivante dans ~ :

Facultatea de Automatica si Calculatoare/
|----- Anul 1/
|       |----- Utilizarea sistemelor de operare/
|       |      |-----Sisteme de fisiere
|       |      |-----Instalarea si utilizarea aplicatiilor
|       |      |-----Investigare > securitatea sistemului  
|       |----- Programarea calculatoarelor/
|       |      |-----Instructiunile limbajului C/
|       |      |-----Alocarea dinamica a memoriei.c/
|       |      |      |----- Vectori.c
|       |      |      |----- Matrice.c
|       |      |-----Parametrii liniei de comanda`/
|       |      |      |----- Preprocesorul
|       |      |      |----- Vectori.cpp
|       |      |      |----- Blocuri.c
|       |----- Proiectare logica/
|              |-----Logica combinationala/
|              |-----$Logica secventiala$/
|----- Anul 2/
|        |----- Programare orientata pe obiecte/
|        |       |----- | Constructori | si referinte
|        |       |----- Mostenire\/
|        |----- IOCLA/
|        |----- Teoria sistemelor/
|----- Anul 3/
|----- Anul 4/

Les répertoires ont après leur nom le caractere /.

La notation est fournie des dossiers racine aux feuilles. Cela signifie que vous pouvez faire en sorte que certains dossiers ou fichiers soient dans la structure et que le vérificateur ne les marque pas à moins que vous ne fassiez la structure dans un certain ordre. Il n'y a pas de problème. Tant que toute la structure sera créée, vous pouvez créer les fichiers ou les dossiers dans l'ordre de votre choix et vous obtiendrez un score maximum.

Tâche 2 (12p)

Etant dans le répertoire de la Facultatea de Automatica si Calculatoare, utilisez une seule commande pour chacune des exigences de cette tâche :

2p Faites une copie du répertoire Programarea Calculatoarelor (avec tout ce qu'il contient) nommé Copie PC et placez-le en tant que descendant direct du dossier Facultatea de Automatica si Calculatoare.

10p Les exigences suivantes se réfèrent au répertoire Copie PC (ne changez pas le répertoire dans lequel vous vous trouvez) :

  1. Copiez les fichiers Vectori.c et Matrice.c du répertoire Alocarea dinamica a memoriei.c et placez ces copies dans le dossier Instructiunile limbajului C ;
  2. Renommez le fichier Vectori.c dans le dossier Instructiunile limbajului C en Arrays.c ;
  3. Supprimez le dossier Parametrii liniei de comanda ;
  4. Ajouter le fichier | Segmentation Fault dans le répertoire Alocarea dinamica a memoriei.c ;
  5. Supprimez le fichier Matrice.c du répertoire Alocarea dinamica a memoriei.c ;

Les exigences ci-dessus doivent être résolues dans l'ordre.

<noye warning> Après avoir résolu les exigences de cette tâche, ne supprimez ni ne modifiez le contenu du répertoire ~/Facultatea de Automatică și Calculatoare/Copie PC/. Il doit rester sous cette forme pour les contrôles ultérieurs par le vérificateur. Vous perdrez les points gagnés pour cette tâche si vous apportez des modifications et la tâche devra être refaite. </note>

Tâche 3 (10p)

Les sous-éléments suivants doivent être remplis afin de recevoir le score pour cette tâche.

5p Créez dans le répertoire /home/student le répertoire caché - Teme USO. Dans ce répertoire, créez trois fichiers cachés intitulés : prima parte, a doua parte et a treia parte. Dans chacun des fichiers mentionnés précédemment, écrivez le texte Aceasta este X din tema curenta., où X représente le nom du fichier où se trouve le texte.

5p Dans le répertoire /home/student, créez le fichier task_3.txt dans lequel vous joignez sur une ligne distincte le contenu des 3 fichiers créés dans la sous-section précédente (dans l'ordre dans lequel ils sont mentionnés précédemment).

Hint: Hint: append to file (»)

Tâche 4 (10p)

Un lien est un raccourci vers un fichier ou un répertoire. Ceux-ci sont nécessaires lorsque nous ne voulons pas parcourir toute la hiérarchie des fichiers.

Pour obtenir des points, vous devez suivre les tâches dans l'ordre!

5p Créez dans le répertoire /home/student deux liens symboliques avec les noms part1 et part2 qui mènent au fichier caché prima partee et a doua parte, respectivement, correspondant à la tâche précédente.

5p Pour vérifier le bon fonctionnement des liens symboliques précédemment créés, dans le fichier task_4.txt (fait par vous dans /home/student) joignez le contenu des deux fichiers un par un via les deux liens créés.

sde2/teme/tema_fr_uso.1684066502.txt.gz · Last modified: 2023/05/14 15:15 by cristiana.andrei
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