Diferente pentru ghid-adaugare-interactive intre reviziile #3 si #13

Nu exista diferente intre titluri.

Diferente intre continut:

h2. Ghidul de adaugare al problemelor interactive
h2. Ghidul de adăugare al problemelor interactive
De-a lungul ghidului vom folosi exemple din problema "cbinteractiv":https://infoarena.ro/problema/cbinteractiv.
Problemele interactive se folosesc de un program grader si de un program interactor. Atunci cand este evaluata problema pe infoarena, programul interactor este linkuit impreuna cu sursa voastra de catre programul connect ("o scurta prezentare a programului connect":https://www.infoarena.ro/documentatie/tutorial)
Problemele interactive se folosesc de un program grader şi de un program interactor. Atunci când este evaluată problema pe infoarena, programul interactor este linkuit împreună cu sursa voastră de către programul "connect":ghid-adaugare-interactive?action=download&file=connect.c&safe_only=false ("o scurtă prezentare a programului connect":documentatie/tutorial)
Graderul si interactorul au in comun verdictele posibile de evaluare (enum Status) si o constanta pentru verificarea integritatii fisierului de iesire.
Aceasta constanta de verificare a integritatii este necesara deoarece graderul si interactorul comunica la randul lor printr-un fisier care poate fi (dar nu ar trebui) sa fie accesat si de catre sursa concurentului. Pentru a combate aceasta problema posibila exista o solutie foarte usor de implementat, anume interactorul afiseaza un numar secret si verdictul sau in fisierul comun, iar graderul verifica daca numarul din fisier coincide cu numarul sau secret. *Exemplele de grader/interactor pentru problema cbinteractiv au alte constante de verficare fata de graderul/interactorul real.* *Nu faceti graderele reale din probleme publice deoarece exista riscul ca _cineva_ sa incerce sa le sparga.*
"Graderul":ghid-adaugare-interactive?action=download&file=grader_eval.cpp&safe_only=false şi "interactorul":ghid-adaugare-interactive?action=download&file=grader_interact.cpp&safe_only=false au în comun verdictele posibile de evaluare (enum Status) şi o constanta pentru verificarea integrităţii fişierului de ieşire.
Exemplele de grader şi interactor sunt folosite la problema "cbinteractiv":problema/cbinteractiv , cu excepţia constantei de verificare care este diferită.
Graderul comunica mai departe cu monitorul de evaluare prin _stdout_ si _stderr_. Pe _stdout_ el transmite punctajul, iar pe _stderr_ transmite mesajul de evaluare.
Această constanta de verificare a integrităţii este necesară deoarece graderul şi interactorul comunica la rândul lor printr-un fişier care poate fi (dar nu ar trebui) să fie accesat şi de către sursa concurentului. Pentru a combate această posibilă vulnerabilitate există o soluţie foarte uşor de implementat, anume interactorul afişează un număr secret şi verdictul său în fişierul comun, iar graderul verifică dacă numărul din fişier coincide cu numărul sau secret. *Nu faceţi graderele reale din probleme publice deoarece există riscul ca _cineva_ să încerce să le spargă.*
 
Graderul comunică mai departe cu monitorul de evaluare prin _stdout_ şi _stderr_. Pe _stdout_ el transmite punctajul, iar pe _stderr_ transmite mesajul de evaluare.
 
Exemplele de grader, interactor şi connect sunt încărcate în ataşamentele acestei pagini.

Diferente intre securitate:

public
protected

Topicul de forum nu a fost schimbat.