This shows you the differences between two versions of the page.
pclp2:teme:tema-2 [2023/05/03 08:19] ilinca_ioana.strutu [Trimitere și notare] |
pclp2:teme:tema-2 [2023/05/17 00:17] (current) ilinca_ioana.strutu [Trimitere și notare] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Tema 2 - The race is on ====== | ====== Tema 2 - The race is on ====== | ||
- | * Deadline: 14.05.2023 | + | * Deadline: <del>14.05.2023</del> 16.05.2023 |
* Data publicării: 03.05.2022 | * Data publicării: 03.05.2022 | ||
* Responsabili: | * Responsabili: | ||
Line 9: | Line 9: | ||
* [[ stefanalexandru589@gmail.com | Stefan Apostol ]] | * [[ stefanalexandru589@gmail.com | Stefan Apostol ]] | ||
* Actualizări: | * Actualizări: | ||
- | * 03.05.2022 postare tema | + | * 03.05.2023 postare tema |
+ | * 10.05.2023 clarificare detalii de implementare si de trimitere a temei | ||
+ | * 12.05.2023 actualizare Makefile (task 3, task 4, Bonus), update enunt task 4 | ||
===== Enunț ===== | ===== Enunț ===== | ||
Dupa cateva saptamani de pauza, inginerii echipelor de Formula 1 s-au intors la treaba. Fiind foarte multumiti de munca voastra anterioara, ei vor sa ii ajutati si acum. | Dupa cateva saptamani de pauza, inginerii echipelor de Formula 1 s-au intors la treaba. Fiind foarte multumiti de munca voastra anterioara, ei vor sa ii ajutati si acum. | ||
- | ===== Structură și detalii de implementare ===== | + | ===== Structura si detalii de implementare ===== |
- | Tema este formată din 4 exerciții independente si un exercitiu bonus. Fiecare task constă în implementarea unei sau mai multor funcții în limbaj de asamblare. Implementarea se realizează în fișierele puse la dispoziție pentru fiecare exercițiu. | + | Tema este formata din 4 exercitii independente si un exercitiu bonus. Fiecare task consta în implementarea unei sau mai multor functii in limbaj de asamblare. Implementarea se realizeaza in fisierele puse la dispozitie pentru fiecare exercitiu. |
- | <note>Parametrii funcţiilor sunt plasaţi în registre, în cadrul scheletului.</note> | + | <note>Parametrii functiilor sunt plasati in registre, in cadrul scheletului.</note> |
- | <note warning>Scheletul include şi macro-ul PRINTF32, folosit în laborator, pentru a vă ajuta la depanarea problemelor. Tema finală nu trebuie să facă afişări folosind PRINTF32, funcții externe sau apeluri de sistem.</note> | + | <note warning>Scheletul include si macro-ul PRINTF32, folosit in laborator, pentru a va ajuta la depanarea problemelor. Tema finala nu trebuie sa faca afisari folosind PRINTF32, functii externe sau apeluri de sistem.</note> |
- | <note warning>În tema finală este interzisă apelarea funcţiilor externe.</note> | + | <note warning>In tema finala este interzisa apelarea funcţiilor externe (ex. ne este acceptata implementarea rezolvarilor in C si apoi apelare functiilor in cadrul task-urilor). Este permisa utilizarea altor instructiuni decat cele prezentate la laborator/curs.</note> |
-------------------------------------------------- | -------------------------------------------------- | ||
Line 214: | Line 216: | ||
</code> | </code> | ||
unde: | unde: | ||
- | * x - coloana pe care se afla piesa a carei pozitii vrem sa o calculam | + | * x - linia pe care se afla piesa a carei pozitii vrem sa o calculam |
- | * y - linia pe care se afla piesa a carei pozitii vrem sa o calculam | + | * y - coloana pe care se afla piesa a carei pozitii vrem sa o calculam |
* table - tabla de joc unde se vor pune pozitiile pe care poate ajunge piesa de joc | * table - tabla de joc unde se vor pune pozitiile pe care poate ajunge piesa de joc | ||
Line 227: | Line 229: | ||
=== Exemplu === | === Exemplu === | ||
- | + | {{:pclp2:teme:matrix_task_4.png?300|}} | |
- | {{:pclp2:teme:matrix.png?300|}} | + | |
Line 247: | Line 248: | ||
unde: | unde: | ||
- | * x - coloana pe care se afla piesa a carei pozitii vrem sa o calculam | + | * x - linia pe care se afla piesa a carei pozitii vrem sa o calculam |
- | * y - linia pe care se afla piesa a carei pozitii vrem sa o calculam | + | * y - coloana pe care se afla piesa a carei pozitii vrem sa o calculam |
* board - doua numere intregi ce reprezinta suprafata de joc. Primul numar reprezinta partea superioara a suprafetei, pe cand al doilea numar reprezinta partea inferioara. | * board - doua numere intregi ce reprezinta suprafata de joc. Primul numar reprezinta partea superioara a suprafetei, pe cand al doilea numar reprezinta partea inferioara. | ||
Line 259: | Line 260: | ||
În schelet este inclus şi checker-ul, împreună cu testele folosite de acesta. Pentru a executa toate testele, se poate executa direct scriptul `checker.sh` din rădăcina temei: | În schelet este inclus şi checker-ul, împreună cu testele folosite de acesta. Pentru a executa toate testele, se poate executa direct scriptul `checker.sh` din rădăcina temei: | ||
<code> | <code> | ||
- | python3 checker.py --all | + | python3 local_checker.py --all |
</code> | </code> | ||
Line 270: | Line 271: | ||
Pentru a testa task-uri individual, folosiți: | Pentru a testa task-uri individual, folosiți: | ||
<code> | <code> | ||
- | python3 checker.py -t <număr_task> | + | python3 local_checker.py -t <număr_task> |
</code> | </code> | ||
Pentru a scrie rezolvarea unui task, intrați în directorul asociat task-ului respectiv și scrieți cod în fișierele în limbaj de asamblare indicate în enunț. **NU** modificați alte fișiere C, script-uri etc! | Pentru a scrie rezolvarea unui task, intrați în directorul asociat task-ului respectiv și scrieți cod în fișierele în limbaj de asamblare indicate în enunț. **NU** modificați alte fișiere C, script-uri etc! | ||
Line 302: | Line 303: | ||
* punctajul obținut prin testarea automată - 90p | * punctajul obținut prin testarea automată - 90p | ||
* coding style si comentarii- 10p | * coding style si comentarii- 10p | ||
- | * bonus - 20p | + | * bonus - TBD |
<note> | <note> | ||
Line 310: | Line 311: | ||
* indentarea consecventă | * indentarea consecventă | ||
* utilizarea unor nume sugestive pentru label-uri | * utilizarea unor nume sugestive pentru label-uri | ||
- | * scrierea unor linii de cod/README de maxim 80-100 de caractere | + | * scrierea unor linii de cod (sau README) de maxim 80-100 de caractere |
</note> | </note> | ||
Line 320: | Line 321: | ||
<note warning> | <note warning> | ||
Temele care nu trec de procesul de asamblare (build) nu vor fi luate în considerare. | Temele care nu trec de procesul de asamblare (build) nu vor fi luate în considerare. | ||
+ | </note> | ||
+ | |||
+ | <note warning> | ||
+ | Arhivele care nu corespund structurii cerute vor fi depunctate cu 20 de puncte din nota finala. | ||
</note> | </note> | ||