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 | ||
teme:tema1 [2017/03/13 19:51] iulian.matesica |
teme:tema1 [2017/03/16 01:20] sebastian.cancel |
||
---|---|---|---|
Linia 7: | Linia 7: | ||
===== Informații ===== | ===== Informații ===== | ||
- | * Pentru întrebări și nelămuriri utilizați forumul asociat temei [[http:// | ||
* Deadline soft, **25 martie ora 23:50** | * Deadline soft, **25 martie ora 23:50** | ||
* Termen final de trimitere **31 martie ora 23:50** (depunctare de 0.5pt/zi). | * Termen final de trimitere **31 martie ora 23:50** (depunctare de 0.5pt/zi). | ||
+ | * Trimiterea temelor se face pe platforma [[https:// | ||
+ | * Există și un checker local pe care îl puteți descărca de [[http:// | ||
+ | * Pentru întrebări și nelămuriri utilizați forumul asociat temei [[http:// | ||
+ | |||
===== Descriere ===== | ===== Descriere ===== | ||
Linia 36: | Linia 39: | ||
Operațiile posibile asupra datelor din fișier vor fi: | Operațiile posibile asupra datelor din fișier vor fi: | ||
- | * **move n**: mută în listă cursorul, cu n poziții de la poziția curentă, pornind de la poziția curentă; n-ul poate fi și număr negativ; dacă deplasarea depăște dimensiunea listei, poziția curentă va fi la începutul, respectiv la finalul listei, în funcție de semnul lui n | + | * **move n**: mută în listă cursorul, cu n poziții de la poziția curentă, pornind de la poziția curentă; n-ul poate fi și număr negativ; dacă deplasarea depășește dimensiunea listei, poziția curentă va fi la începutul, respectiv la finalul listei, în funcție de semnul lui n |
* **insert String**: înserează șirul de caractere String în listă, la poziția curentă a cursorului; cursorul va ramane la finalul sirului inserat | * **insert String**: înserează șirul de caractere String în listă, la poziția curentă a cursorului; cursorul va ramane la finalul sirului inserat | ||
* **del n**: șterge din listă urmatoarele n elemente de la poziția curentă | * **del n**: șterge din listă urmatoarele n elemente de la poziția curentă | ||
- | * **copy n**: copiază n elemete | + | * **copy n**: copiază n elemente |
* **paste**: inserează în listă elementele copiate cu ultima comandă **copy** la poziția curentă a cursorului, poziția cursorului fiind la finalul listei de elemente introduse | * **paste**: inserează în listă elementele copiate cu ultima comandă **copy** la poziția curentă a cursorului, poziția cursorului fiind la finalul listei de elemente introduse | ||
* **undo**: anuleză ultima operație făcută asupra listei (se poate efectua o singură operație undo, adică nu vor exista 2 operații undo consecutive) | * **undo**: anuleză ultima operație făcută asupra listei (se poate efectua o singură operație undo, adică nu vor exista 2 operații undo consecutive) | ||
Linia 83: | Linia 86: | ||
* Memoria trebuie dealocată. Dacă nu se respectă această cerință, vor fi date depunctări. | * Memoria trebuie dealocată. Dacă nu se respectă această cerință, vor fi date depunctări. | ||
* Ea va conține (direct în rădăcină): | * Ea va conține (direct în rădăcină): | ||
- | - fișierul main.c | + | - fișierele sursă |
- | - Makefile-ul (cu regulile make pentru executabilul | + | - Makefile-ul (cu regulile |
- fișierul README în care va fi descrisă soluția problemei | - fișierul README în care va fi descrisă soluția problemei | ||
* Dacă soluția voastră nu compilează, | * Dacă soluția voastră nu compilează, | ||
Linia 90: | Linia 93: | ||
* Se va acorda un punctaj parțial de **50p** pentru setul de **operații simple**: op1, op2.... | * Se va acorda un punctaj parțial de **50p** pentru setul de **operații simple**: op1, op2.... | ||
* Celelalte operații se consideră **operații complexe** și reprezintă cealaltă cuantă de **50p** din punctajul total al temei, iar din această categorie fac parte: op1, op2..... | * Celelalte operații se consideră **operații complexe** și reprezintă cealaltă cuantă de **50p** din punctajul total al temei, iar din această categorie fac parte: op1, op2..... | ||
- | * **BONUS 1 20p**: Implementarea operației de **replace**. | + | * **BONUS 1 15p**: Implementarea operației de **replace**. |
- | * **BONUS 2 20p**: Implementarea operațiilor undo și redo de un nr multiplu de ori. Asta înseamnă că numărul maxim de operații undo va fi egal cu nr de operații efectuate până atunci, diferite de undo și redo. De asemenea, nr maxim de operații redo va aduce lista de elemente la stadiul în care se afla înaintea aplicării primei operații de undo. | + | * **BONUS 2 15p**: Implementarea operațiilor undo și redo de un nr multiplu de ori. Asta înseamnă că numărul maxim de operații undo va fi egal cu nr de operații efectuate până atunci, diferite de undo și redo. De asemenea, nr maxim de operații redo va aduce lista de elemente la stadiul în care se afla înaintea aplicării primei operații de undo. |
* Punctajele bonus se consideră peste cele 100p obținute pentru implementarea operațiilor simple și operațiilor complexe | * Punctajele bonus se consideră peste cele 100p obținute pentru implementarea operațiilor simple și operațiilor complexe | ||
| |