Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.
Ambele părți revizuirea anterioară Versiuni anterioare Urmatoarea versiune | Versiuni anterioare Urmatoarea versiune Ambele părți următoarea reviziune | ||
teme2019:tema-1 [2019/03/10 12:32] gabriel.rusu [Punctaje si Detalii Tehnice] |
teme2019:tema-1 [2019/03/11 09:16] andreea.udrea [Obiective] |
||
---|---|---|---|
Linia 2: | Linia 2: | ||
===== Obiective ===== | ===== Obiective ===== | ||
- | - Înțelegerea conceptului de funcționare și implementarea | + | - Înțelegerea conceptului de funcționare și implementare a unor structuri de date(precum liste, stive, cozi, arbori binari de căutare) |
- Operarea cu aceste structuri de date | - Operarea cu aceste structuri de date | ||
- Implementarea unei funcționalități practice folosind aceste concepte | - Implementarea unei funcționalități practice folosind aceste concepte | ||
===== Informații ===== | ===== Informații ===== | ||
- | - Deadline hard, **TODO aprilie ora 23:59** (termen limită - **nu se obţin puncte** pe soluţiile trimise mai târziu) | + | - Deadline hard, **14 aprilie ora 23:59** (termen limită - **nu se obţin puncte** pe soluţiile trimise mai târziu) |
- Trimiterea temelor se face pe platforma [[https:// | - Trimiterea temelor se face pe platforma [[https:// | ||
- Checker-ul offline îl puteţi descărca de la această [[https:// | - Checker-ul offline îl puteţi descărca de la această [[https:// | ||
Linia 12: | Linia 12: | ||
===== Descriere ===== | ===== Descriere ===== | ||
- | Facultatea de Automatica si Calculatoare prin LSAC organizează in fiecare semestru un LAN Party la care participa | + | Facultatea de Automatica si Calculatoare prin LSAC organizează in fiecare semestru un LAN Party la care participă |
- | ===== Introducere ===== | ||
- | TODO detalii introductive | ||
===== Cerințe ===== | ===== Cerințe ===== | ||
- | - Se va crea o lista cu informațiile din fișierul date.in | + | - Se va crea o listă |
- | - Se vor elimina din lista anterior | + | - Se vor elimina din lista anterior |
- Se vor implementa structurile de date necesare pentru a se efectua meciurile: | - Se vor implementa structurile de date necesare pentru a se efectua meciurile: | ||
- | * Se va crea o coada în care se vor pune meciurile dintre echipe. | + | * Se va crea o coadă |
- | * Echipele vor forma meciuri în ordinea în care se afla în lista de la punctul anterior, | + | * Echipele vor forma meciuri în ordinea în care se află în lista de la punctul anterior, primele |
- | * Se vor crea doua stive una pentru învinși și una pentru câștigători ce vor conține echipele ce au pierdut, respectiv, au câștigat meciul anterior. | + | * Se vor crea două stive - una pentru învinși și una pentru câștigători |
- | * Se vor introduce în stiva echipele în funcție de rezultatul obținut și se va adaugă | + | * Se vor introduce în stivă |
* Se vor șterge echipele ce se găsesc în stiva de pierzători. | * Se vor șterge echipele ce se găsesc în stiva de pierzători. | ||
- | * Din stiva de câștigători se vor extrage echipele și se va umple din nou coada de meciuri formându-se meciuri cu echipele consecutive(prima | + | * Din stiva de câștigători se vor extrage echipele și se va umple din nou coada de meciuri formându-se meciuri cu echipele consecutive (prima |
* Se vor repeta pașii enumerați pana la aflarea echipelor de pe primele 8 locuri. | * Se vor repeta pașii enumerați pana la aflarea echipelor de pe primele 8 locuri. | ||
- | - Se va realiza un clasament al ultimelor 8 echipe | + | - Se va realiza un clasament al ultimelor 8 echipe |
- | - Se va realiza | + | - Se va realiza |
Linia 38: | Linia 37: | ||
=== Detalii Tehnice === | === Detalii Tehnice === | ||
- | * Obiectivele se vor realiza în funcție de cum apar în fișierul cu cerinte c.in (Spre exemplu dacă fișierul c.in conține „1 0 0 0 0” înseamnă ca se dorește doar realizarea cerinței 1. Se vor folosi ca valori de datele din fișierul d.in). Exista mai multe perechi de fișiere c.in si d.in organizate in foldere t1...tn. | ||
* Rezultatele obținute în urma executări cerințelor din fișierul c.in vor fi scrise in fișierul r.out | * Rezultatele obținute în urma executări cerințelor din fișierul c.in vor fi scrise in fișierul r.out | ||
* Pentru **cerințele 1 si 2** este suficienta scrierea in fișierul de rezultate a numelor echipelor si a punctajelor acestora, in ordinea din lista creata, pe cate o linie separata. | * Pentru **cerințele 1 si 2** este suficienta scrierea in fișierul de rezultate a numelor echipelor si a punctajelor acestora, in ordinea din lista creata, pe cate o linie separata. | ||
Linia 52: | Linia 50: | ||
</ | </ | ||
+ | < | ||
+ | </ | ||
===== Exemplu ===== | ===== Exemplu ===== | ||
- | TODO exemplu | + | ** Fisierel folosite de checker arata astfel: ** |
- | Așadar, executabilul | + | <file cerinte.in cerinte.in> |
+ | 1 0 0 0 0 | ||
+ | |||
+ | </ | ||
+ | < | ||
+ | |||
+ | <file date.in date.in> | ||
+ | 10 // numarul de echipe din fisier | ||
+ | 10 The Waiver Wire // numarul de jucatori urmat de numele echipei | ||
+ | Popa Florentina 8 //numele prenumele si punctajul jucatorului 1 | ||
+ | Popescu Anca 9 | ||
+ | Pop Anamaria 9 | ||
+ | Radu Simona 1 | ||
+ | Dumitru Iulian 7 | ||
+ | Stan Roxana 5 | ||
+ | Stoica Oana 5 | ||
+ | Gheorghe Irina 10 | ||
+ | Matei Diana 1 | ||
+ | Ciobanu Mirela 0 | ||
+ | |||
+ | </ | ||
+ | |||
+ | <note warning> | ||
+ | Formatul folosit pentru **fprintf** este **%-25s** în cazul afișării meciurilor din coadă.</ | ||
+ | |||
+ | <file rezultate.out rezultate.out> | ||
+ | | ||
+ | | ||
+ | | ||
+ | The Skyrynners | ||
+ | The Abusement Park | ||
+ | | ||
+ | The Big Egos | ||
+ | The Waiver Wire | ||
+ | | ||
+ | | ||
+ | The Abusement Park | ||
+ | The Big Egos | ||
+ | The Big Egos --- 7.10 | ||
+ | | ||
+ | | ||
+ | | ||
+ | The Big Egos | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Executabilul | ||
<note tip> | <note tip> | ||
===== Reguli de trimitere ===== | ===== Reguli de trimitere ===== | ||
- | *puteţi încărca mai multe soluţii, se va lua în considerare soluţia cu cel mai mare punctaj trimisă până la termenul limită (todo aprilie, ora 23:59); | + | *puteţi încărca mai multe soluţii, se va lua în considerare soluţia cu cel mai mare punctaj trimisă până la termenul limită (14 aprilie, ora 23:59); |
*Arhiva temei va avea numele GrupaSerie_Nume_Prenume_TemaNr.zip și va fi încărcată pe [[https:// | *Arhiva temei va avea numele GrupaSerie_Nume_Prenume_TemaNr.zip și va fi încărcată pe [[https:// | ||
* Arhiva trimisă conține (direct în rădăcină): | * Arhiva trimisă conține (direct în rădăcină): | ||
Linia 71: | Linia 123: | ||
* Implementarea se va face folosind limbajul C; | * Implementarea se va face folosind limbajul C; | ||
* Implementarea se va face folosind liste.Nu e permisa implementarea cu vector a stivelor, cozii și a listei cu echipe participante. Se recomanda folosirea pointerilor și eliberarea memoriei.; | * Implementarea se va face folosind liste.Nu e permisa implementarea cu vector a stivelor, cozii și a listei cu echipe participante. Se recomanda folosirea pointerilor și eliberarea memoriei.; | ||
+ | * Se va evita pe cat posibil duplicarea nodurilor din lista pentru abateri grave de la aceasta cerința se vor scădea pana la 5 puncte. | ||
* Nu se acceptă implementări cu tipuri de date cu memorie alocată static (se acceptă numai variabile locale de tip buffer pentru stocare temporară înainte de alocare); | * Nu se acceptă implementări cu tipuri de date cu memorie alocată static (se acceptă numai variabile locale de tip buffer pentru stocare temporară înainte de alocare); | ||
* Se va depuncta lucrul nemodularizat (fără funcții).Operațiile pe structurile de date de tip arbore, coada, etc se fac folosind funcții - Ex: adaugaNod, stergeNod, etc. Orice alte manipulări de date se fac, pe cat posibil, prin funcții specializate. | * Se va depuncta lucrul nemodularizat (fără funcții).Operațiile pe structurile de date de tip arbore, coada, etc se fac folosind funcții - Ex: adaugaNod, stergeNod, etc. Orice alte manipulări de date se fac, pe cat posibil, prin funcții specializate. | ||
; | ; | ||
- | * Memoria trebuie eliberată. Dacă nu se respectă această cerință depunctarea este de pana la 5/100 pct (pentru mai mult de O(1) memorie alocată fără eliberare). | + | * Memoria trebuie eliberată. Dacă nu se respectă această cerință depunctarea este de pana la 10/100 pct (restricție aplicabila |
* Menţineţi cel puţin un nivel minimal de aspect al codului şi evitaţi inconsistenţa (indentare haotică, numeroase combinaţii de caractere de tip " | * Menţineţi cel puţin un nivel minimal de aspect al codului şi evitaţi inconsistenţa (indentare haotică, numeroase combinaţii de caractere de tip " | ||
* Dacă soluția voastră nu compilează, | * Dacă soluția voastră nu compilează, | ||
- | * Temele care vor fi copiate vor primi -5 pct şi studenţii implicaţi - mustrări şi vor figura pe blacklist-ul cursului de SDA. | + | * Se va depuncta cu pana 15% din punctajul obtinut implementarea care nu foloseste tipuri de date specifice pentru entitiatile din cerinta (ex: Jucator) |
+ | |||
+ | <note important> | ||