Differences

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

Link to this comparison view

pclp2:teme:tema-2 [2023/05/03 08:13]
ilinca_ioana.strutu [Bonus - Optimized checkers (20p)]
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 289: Line 290:
 ===== Trimitere și notare ===== ===== Trimitere și notare =====
  
-Temele vor trebui încărcate pe platforma [[https://​curs.upb.ro/​2022/​course/​view.php?​id=11311 | Moodle]], in cadrul assingment-ului [[https://​curs.upb.ro/​2022/​mod/​assign/​view.php?​id=184227 ​| Tema 2]] și vor fi testate automat. ​+Temele vor trebui încărcate pe platforma [[https://​curs.upb.ro/​2022/​course/​view.php?​id=11311 | Moodle]], in cadrul assingment-ului [[https://​curs.upb.ro/​2022/​mod/​assign/​view.php?​id=184527 ​| Tema 2]] și vor fi testate automat. ​
  
 <note warning> <note warning>
 Folositi comanda: Folositi comanda:
 <​code>​ <​code>​
-python3 ​checker.py --zip+python3 ​local_checker.py --zip
 </​code>​ </​code>​
 pentru a crea arhiva. pentru a crea arhiva.
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 READMEde 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>​
  
pclp2/teme/tema-2.1683090790.txt.gz · Last modified: 2023/05/03 08:13 by ilinca_ioana.strutu
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