Cerința
8 puncteScrieți programul Pascal corespunzător algoritmului proiectat. (8p.)
Arată baremul
SUBIECTUL al III-lea 3. b. Pentru program corect - 8p. - operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier - 1p. - verificare a proprietății cerute (*), (**) - 5p. - utilizare a unui algoritm eficient (***) - 1p. - declarare a variabilelor, afișare a datelor, corectitudine globală a programului¹⁾ - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar. O soluție posibilă utilizează un vector de apariții, ap, unde apᵢ memorează numărul de apariții ale valorii i în șirul dat. Pe măsura citirii datelor din fișier se actualizează apᵢ pentru fiecare valoare i citită. După citirea tuturor termenilor șirului se parcurg toate elementele tabloului apᵢ, pentru verificarea proprietății cerute: variabila ok (inițial ok=1) se actualizează corespunzător (ok=0) dacă există o valoare i care a apărut în șir (apᵢ≠0), dar apᵢ%2≠i%2. După parcurgerea vectorului de apariții se afișează mesajul DA, dacă ok=1 sau NU, în caz contrar.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.