This shows you the differences between two versions of the page.
programare:teme_2021:tema3_2021_cbd [2021/12/20 12:34] alexandru.mindru [Resurse si checker-ul local] |
programare:teme_2021:tema3_2021_cbd [2022/01/24 12:31] (current) alexandru.mindru [Tema 3. Image processing] |
||
---|---|---|---|
Line 6: | Line 6: | ||
* [[andreea99dutulescu@gmail.com|Andreea Duțulescu]] | * [[andreea99dutulescu@gmail.com|Andreea Duțulescu]] | ||
* Data publicării: **20.12.2021** | * Data publicării: **20.12.2021** | ||
- | * Deadline: **23.01.2022 23:59** | + | * Deadline: **26.01.2022 23:59** |
<note important> | <note important> | ||
- | **Atentie! deadline-ul soft coincide cu cel hard! Prin urmare, nu se vor mai accepta submisii dupa data de 23.01.2020!** | + | **Atentie! deadline-ul soft coincide cu cel hard! Prin urmare, nu se vor mai accepta submisii dupa data de 26.01.2020!** |
</note> | </note> | ||
**Actualizări:** | **Actualizări:** | ||
+ | * **08.01.2022** removed some cpplint warnings, updated ref Task3/5; | ||
+ | * **03.01.2022** adaugat checker; | ||
* **20.12.2021** adaugat enunt; | * **20.12.2021** adaugat enunt; | ||
Line 104: | Line 106: | ||
Exemplu: | Exemplu: | ||
- | Input: create poza1 | + | Input: edit poza1.bmp |
- | Input: save ./output | + | Input: save ./output/poza_editata.bmp |
- | Va crea fisierul poza1.bmp in folderul output. | + | Va crea fisierul poza_editata.bmp in folderul output(existent). |
output | output | ||
- | ├── poza1.bmp | + | ├── poza_editata.bmp |
</note> | </note> | ||
Line 225: | Line 227: | ||
y = 5 -> x = 2 | y = 5 -> x = 2 | ||
- | Pentru a evita erorile de rotunjire, puntele initiale primite ca parametru se vor desena indiferent de rezultatul functiei. | + | Pentru a evita erorile de rotunjire, punctele initiale primite ca parametru se vor desena indiferent de rezultatul functiei. |
Daca intervalele sunt egale, atunci dreapta rezultata este de forma f(x) = x + C sau f(x) = -x + C, unde nu conteaza modul in care va fi desenata linia. | Daca intervalele sunt egale, atunci dreapta rezultata este de forma f(x) = x + C sau f(x) = -x + C, unde nu conteaza modul in care va fi desenata linia. | ||
Line 269: | Line 271: | ||
Utilitarul se va rula folosind urmatoarea comanda: | Utilitarul se va rula folosind urmatoarea comanda: | ||
- | <code> valgrind --tool=memcheck --leak-check=full --error-exitcode=1 ./bmp </code> | + | <code> valgrind --tool=memcheck --leak-check=full --error-exitcode=1 ./bmp < input_file </code> |
<note important> Atentie! Numele executabilului rezultat in urma comenzii <code> make build </code> trebuie sa fie neaparat **bmp**! </note> | <note important> Atentie! Numele executabilului rezultat in urma comenzii <code> make build </code> trebuie sa fie neaparat **bmp**! </note> | ||
Line 275: | Line 277: | ||
==== Resurse si checker-ul local ==== | ==== Resurse si checker-ul local ==== | ||
- | Resursele pentru tema se pot descarca de [[https://ocw.cs.pub.ro/courses/_media/programare/teme_2021/bmp_header.zip|aici]]. Sunt prezente: | + | Resursele pentru tema se pot descarca: |
- | * **bmp_header.h**: headerul care contine declaratiile struct-urilor pe care le veti folosi in citirea unui fisier BMP; | + | * **bmp_header.h**: headerul care contine declaratiile struct-urilor pe care le veti folosi in citirea unui fisier BMP [[https://ocw.cs.pub.ro/courses/_media/programare/teme_2021/bmp_header.zip|aici]]; |
- | * **checker.zip**: arhiva zip ce contine checker-ul cu care puteti sa va testati implementarea local. **coming soon** | + | * **checker.zip**: arhiva zip ce contine checker-ul cu care puteti sa va testati implementarea local [[https://ocw.cs.pub.ro/courses/_media/programare/teme_2021/tema3_checker_v3.zip|aici]]. |
==== Trimitere tema ==== | ==== Trimitere tema ==== | ||
Line 285: | Line 287: | ||
Punctajul: | Punctajul: | ||
- | * 100p - teste (20p sunt bonus) | + | * 150p - teste (20p sunt bonus) |
* task 1 - 1 test = 10p | * task 1 - 1 test = 10p | ||
- | * task 2 - 5 teste = 10p | + | * task 2 - 5 teste = 20p |
- | * task 3 - 5 teste = 20p | + | * task 3 - 5 teste = 30p |
- | * task 4 - 5 teste = 20p | + | * task 4 - 5 teste = 30p |
- | * mix de task-uri - 10 teste = 20p | + | * mix de task-uri - 5 teste = 40p |
- | * task 6 - 20p pentru rularea fara erori a utilitarului valgrind (doar daca aveti deja 80p) | + | * task 6 - 20p pentru rularea fara erori a utilitarului valgrind (doar daca aveti deja 150p) |
* 20p - coding style & README (checker-ul o sa va acorde aceste puncte doar pentru prezenta fisierului README, la corectare acestea vor fi validate) | * 20p - coding style & README (checker-ul o sa va acorde aceste puncte doar pentru prezenta fisierului README, la corectare acestea vor fi validate) | ||
Line 314: | Line 316: | ||
* [-1.0]: warning-uri la compilare (este obligatorie folosirea în fișierul **Makefile** a flag-ului de compilare **-Wall** pentru regula **build**) | * [-1.0]: warning-uri la compilare (este obligatorie folosirea în fișierul **Makefile** a flag-ului de compilare **-Wall** pentru regula **build**) | ||
* [-1.0]: numele variabilelor nu sunt sugestive | * [-1.0]: numele variabilelor nu sunt sugestive | ||
- | * [-1.0]: linii mai lungi de 100 de caractere in cod / in fișierul README | + | * [-1.0]: linii mai lungi de 120 de caractere in cod / in fișierul README |
* [-1.0]: cod nemodular, funcții prea lungi (inclusiv main) | * [-1.0]: cod nemodular, funcții prea lungi (inclusiv main) | ||
* [-2.5]: variabile globale | * [-2.5]: variabile globale |