Unelte utilizator

Unelte site


teme:tema1

Diferențe

Aici sunt prezentate diferențele dintre versiunile selectate și versiunea curentă a paginii.

Link către această vizualizare comparativă

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/10 15:00]
florina_elena.barbu [Cerințe]
teme:tema1 [2017/03/14 14:55]
iulian.matesica [Informații]
Linia 5: Linia 5:
   * 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 =====
 +  * Deadline soft, **25 martie ora 23:50**
 +  * Termen final de trimitere **31 martie ora 23:50** (depunctare de 0.5pt/zi).
 +  * Trimiterea temelor se face pe platforma [[https://vmchecker.cs.pub.ro/ui/#SDAAB|vmchecker]] (folosiți credențialele de pe acs.curs.pub.ro).
 +  * Există și un checker local pe care îl puteți descărca de [[http://acs.curs.pub.ro/2016/mod/forum/discuss.php?d=751#p1119|aici]]
 +  * Pentru întrebări și nelămuriri utilizați forumul asociat temei [[http://acs.curs.pub.ro/2016/mod/forum/view.php?id=3498|aici]].
 +
  
 ===== Descriere ===== ===== Descriere =====
Linia 32: Linia 40:
 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ăș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  +  * **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ă 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 din listă de la poziția curentă (această operație nu modifică poziția cursorului; poziția curentă în listă va fi neschimbată în urma salvării elementelor copiate)   * **copy n**: copiază n elemete din listă de la poziția curentă (această operație nu modifică poziția cursorului; poziția curentă în listă va fi neschimbată în urma salvării elementelor copiate)
-  * **paste**: inserează în listă elementele copiate cu ultima comandă **copy**, 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)
   * **redo**: să anuleze ultima operație **undo** (de asemenea nu vor exista 2 operații redo consecutive)   * **redo**: să anuleze ultima operație **undo** (de asemenea nu vor exista 2 operații redo consecutive)
   * **backspace**: șterge elementul anterior poziției curente (OBS: Dacă ne aflăm la începutul listei această operație nu va face nicio modificare)   * **backspace**: șterge elementul anterior poziției curente (OBS: Dacă ne aflăm la începutul listei această operație nu va face nicio modificare)
   * [BONUS]**replace cuvânt cuvânt_nou**:caută în listă unde apare parametrul **cuvânt** și îl înlocuiește cu parametrul dat prin **cuvânt_nou**   * [BONUS]**replace cuvânt cuvânt_nou**:caută în listă unde apare parametrul **cuvânt** și îl înlocuiește cu parametrul dat prin **cuvânt_nou**
- 
 Așadar, executabilul obținut în urma compilării va avea numele **editor** iar regula de rulare va fi: Așadar, executabilul obținut în urma compilării va avea numele **editor** iar regula de rulare va fi:
 <note tip> <note tip>
Linia 79: 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 **editor** și clean) +     - Makefile-ul (cu regulile ''%%make buid%%'' și ''%%make clean%%''). Executabilul generat trebuie să se numească **''%%editor%%''**
      - 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ă, dar dacă ideea este bună și trimiteți o încercare de implementare, puteți primi până la **20p**    * Dacă soluția voastră nu compilează, dar dacă ideea este bună și trimiteți o încercare de implementare, puteți primi până la **20p**
teme/tema1.txt · Ultima modificare: 2017/03/24 11:19 de către iulian.matesica