Cerința
8 puncteScrieți programul Pascal corespunzător algoritmului proiectat. (8p.)
Arată baremul
3. b. Pentru program corect - 8p. - operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier - 1p. - valoare determinate, conform cerinței (*),(**) - 5p. - eficiența algoritmului, conform cerinței (***) - 1p. - variabile declarate, afișare a datelor conform cerinței, 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ă doi vectori de frecvență, pf și sf, în care pf[i] memorează numărul de apariții ale prefixului i în numerele din fișier, iar sf[i] memorează numărul de apariții ale sufixului i în numerele din fișier. Pe parcursul citirii datelor, se determină, pentru fiecare număr x citit, sufixul (x%100), respectiv prefixul ([x/10]) și se actualizează corespunzător cei doi vectori de frecvență. După citirea tuturor numerelor se contorizează toate valorile x∈[10,99] pentru care sf[x]=pf[x] și sf[x]≠0. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.