This shows you the differences between two versions of the page.
|
uso:teme:tema-2 [2025/11/12 23:29] andrei.nicola [Task 08 - ZAR (20p)] |
uso:teme:tema-2 [2025/12/11 08:38] (current) ionut.mihalache1506 [Testarea temei. Finalizarea temei. Mașină virtuală.] |
||
|---|---|---|---|
| Line 26: | Line 26: | ||
| Deadline: <color red>**28 noiembrie 2025 - ora 23:59**</color>\\ | Deadline: <color red>**28 noiembrie 2025 - ora 23:59**</color>\\ | ||
| Timp de lucru: **17 zile **\\ | Timp de lucru: **17 zile **\\ | ||
| - | Punctaj: **0.5 puncte** din nota temelor (se pot acoperi punctaje pierdute de la alte teme)\\ | + | Punctaj: **0.4 puncte** din nota temelor (se pot acoperi punctaje pierdute de la alte teme)\\ |
| </note> | </note> | ||
| <hidden> | <hidden> | ||
| Line 75: | Line 75: | ||
| - | <note warning>Este interzisă publicarea pe forum a comenzilor sau pozelor care fac parte din rezolvarea parțială sau integrală a | + | <note warning>Este interzisă publicarea pe forum a comenzilor sau pozelor care fac parte din rezolvarea parțială sau integrală a temei ori a unui task. Dacă se întâmplă acest lucru punctajul pe toate temele (trecute sau viitoare) este anulat.. Dacă e necesar acest lucru vă rog să contactaţi în privat responsabilii de temă, la specificarea explicită a acestora pe forum! |
| - | temei ori a unui task. Dacă e necesar acest lucru vă rog să contactaţi în privat responsabilii de temă, la specificarea explicită a acestora pe forum! | + | |
| - | **Aveţi voie, însă, să sugerați diferite abordări pe care mergeţi sau să dați idei generale (dar nu comenzi sau fişiere shell script) celorlalți chiar direct pe forum. Încurajăm clarificarea lucrurilor între studenţi atât timp cât nu sunt rezolvate cerinţele în mod direct. ** | + | **Aveţi voie, însă, să sugerați diferite abordări pe care mergeţi sau să dați idei generale (dar nu comenzi sau fişiere shell script) celorlalți chiar direct pe forum. Încurajăm clarificarea lucrurilor între studenţi atât timp cât nu sunt rezolvate cerinţele în mod direct. **</note> |
| - | + | ||
| - | Urmăriți [[uso:regulament#realizarea_temelor|indicațiile legate de realizarea temelor]]. La prima abatere studentul primește un avertisment, iar punctajul obținut pe temă îi este redus cu valoarea punctajului pe task-ul respectiv. Începând cu a doua abatere, se va anula întregul punctaj pe tema curentă. Temele anterioare sau cele viitoare nu vor fi afectate. Abaterile se păstrează pe parcursul semestrului. Ori de câte ori se încalcă această regulă, se va ține cont de istoricul abaterilor. Abaterile vor fi actualizate în catalog.</note> | + | |
| ==== Task obligatoriu pentru toate temele la final ==== | ==== Task obligatoriu pentru toate temele la final ==== | ||
| Line 198: | Line 195: | ||
| === a) Filtre basic (6p) === | === a) Filtre basic (6p) === | ||
| - | Dupa ce descarcati wordlist-ul, veti scrie in fisierul ''home/student/tema2/task4/statistics.txt'' urmatoarele informatii | + | Dupa ce descarcati wordlist-ul, veti scrie in fisierul ''home/student/tema2/task4/password_statistics.txt'' urmatoarele informatii |
| * numarul de parole care incep cu caractere alfabetice | * numarul de parole care incep cu caractere alfabetice | ||
| * numarul de parola care incep cu caractere speciale | * numarul de parola care incep cu caractere speciale | ||
| - | * toate parolele care NU fac matching pe niciuna din cerintele de mai sus | + | * numarul toturor parolelor care NU fac matching pe niciuna din cerintele de mai sus |
| + | |||
| + | <note important> | ||
| + | Fisierul va trebui sa contina un numar per linie. Orice alt format nu va fi luat in considerare. | ||
| + | </note> | ||
| === b) Filtre avansate (12p) === | === b) Filtre avansate (12p) === | ||
| Doarece subtask-ul a) a fost de incalzire, acum dorim sa scriem pe a patra liniie numarul total de parole care respecta **cel putin una din conditiile urmatoare**: | Doarece subtask-ul a) a fost de incalzire, acum dorim sa scriem pe a patra liniie numarul total de parole care respecta **cel putin una din conditiile urmatoare**: | ||
| - | * incepe cu 3 vocale | + | * are la început minim 3 vocale |
| - | * se termina cu 3 consoane | + | * are la final minim 3 consoane |
| - | * contine la mijloc o cifra(nu la inceput si nu la final) | + | * conține la mijloc minim o cifra(nu la inceput și nu la final) |
| <note tip>Cel putin una inseamna ca se aplica OR logic pentru fiecare conditie in parte, evident exista si parole care respecta mai multe reguli simultan, deci reuniunea nu va fi egala cu suma multimilor ce respecta fiecare conditie in parte, ci va fi mai multa. | <note tip>Cel putin una inseamna ca se aplica OR logic pentru fiecare conditie in parte, evident exista si parole care respecta mai multe reguli simultan, deci reuniunea nu va fi egala cu suma multimilor ce respecta fiecare conditie in parte, ci va fi mai multa. | ||
| Line 292: | Line 293: | ||
| Pentru acest task va trebui sa combinati cunostintele de USO cu cele de PCLP1 si sa scrieti un cod care sa simuleze datul cu zarul(2 zaruri). Citit cu atentie ambele subtask-uri pentru a intelege scopul exercitiului intrucat nu sunt disjuncte, iar rezolvarea celor 2 nu se succede d.p.d.v. temporal, ci se rezolva concomitent. | Pentru acest task va trebui sa combinati cunostintele de USO cu cele de PCLP1 si sa scrieti un cod care sa simuleze datul cu zarul(2 zaruri). Citit cu atentie ambele subtask-uri pentru a intelege scopul exercitiului intrucat nu sunt disjuncte, iar rezolvarea celor 2 nu se succede d.p.d.v. temporal, ci se rezolva concomitent. | ||
| - | <note important>Pentru versionarea codului cu Git este suficient sa initializati proiectul de Git in directorul **task8**</note> | + | <note important>Pentru versionarea codului cu Git este suficient sa initializati proiectul de Git in directorul **task8**. De asemenea verificati ca fisierul sa aiba extensia //.sh//, iar parametrii primiti //py// si //c// sa fie litere mici ale alfabetului</note> |
| === a) Implementare Zar (12p) === | === a) Implementare Zar (12p) === | ||
| 1. Functionalitatea proiectului consta in apelarea unui mic shell script care va primi ca argument limbajul de programare in care vom simula zarurile pe care le aruncam - ori C, ori Python in felul urmator: | 1. Functionalitatea proiectului consta in apelarea unui mic shell script care va primi ca argument limbajul de programare in care vom simula zarurile pe care le aruncam - ori C, ori Python in felul urmator: | ||
| - | ''./zar py'' | + | ''./zar.sh py'' |
| - | ''./zar c'' | + | ''./zar.sh c'' |
| Output-ul trebuie sa arate astfel: | Output-ul trebuie sa arate astfel: | ||