Sunteți pe pagina 1din 5

Algoritmi şi programe de prelucrare a fişierelor

1. CARACTERISTICI GENERALE ALE ALGORITMILOR DE PRELUCRARE A


FIŞIERELOR

Organizarea datelor în fişiere memorate pe medii magnetice externe presupune proiectarea


unor algoritmi specifici operaţiilor de gestiune a acestora, denumiţi generic algoritmi de prelucrare a
fişierelor de date. Datorită complexităţii aplicaţiilor care prelucrează fişiere este recomandată
aplicarea metodei modularizării algoritmilor şi programelor. Modularizarea presupune ca, pe baza
analizei problemei, să se descompună rezolvarea ei în părţi distincte, numite module, astfel încât
fiecare dintre acestea să îndepliniească anumite funcţii. Descompunerea se poate realiza în mai
multe faze (pe mai multe niveluri), prin metoda top-down. Criteriile de descompunere în module
depind, în mare măsură, de experienţa programatorilor. Ele se referă, în principal, la: omogenizarea
funcţiilor; utilizarea diverselor structuri de date; separarea funcţiilor de intrare/ieşire de funcţiile de
prelucrare; utilizarea unor module deja existente; utilizarea eficientă a resurselor calculatorului
(timp UC, memorie internă, periferie) etc. Modulele se implementează în program prin proceduri
interne sau externe.
De cele mai multe, ori o aplicaţie necesită existenţa mai multor fişiere active simultan, cu rol
diferit (de intrare, de ieşire, de intrare/ieşire). Indiferent de numărul fişierelor utilizate, în marea
majoritate a algoritmilor, logica prelucrării este coordonată, la un moment dat, de un singur fişier,
obligatoriu de intrare, parcurs secvenţial, numit fişier conducător (sau director). Fişierul conducător
are proprietatea că articolele lui pot fi citite logic independent de prelucrarea altor fişiere. Altfel
spus, un fişier nu este conducător dacă prelucrarea articolelor sale este dependentă de existenţa (de
citirea) articolului altui fişier. Accesul la datele memorate în fişierul conducător se realizează la
nivel de articol. De aceea, algoritmii de prelucrare, indiferent de operaţia de gestiune, necesită
utilizarea unei structuri repetitive pentru parcurgerea (parţială sau integrală) a fişierului respectiv.
Algoritmii de prelucrare cu fişier conducător pot fi reprezentaţi prin schema logică
generalizată, concepută modularizat, redată în figura 1.1.

START

ÎNCEPUT

NOT
(sfârşit_de Da
_ prelu-
crare) PRELUCRARE

Nu
SFÂRŞIT

STOP

Fig. 1.1. Schema logică generală a unui algoritm


de prelucrare cu fişier conducător

• Modulul ÎNCEPUT se realizează o singură dată, înaintea prelucrării primului articol al


fişierului conducător şi cuprinde următoarele grupe de operaţii:
Operaţii iniţiale standard, obligatorii oricărui algoritm şi care includ: asignarea fişierelor
logice la fişiere fizice, deschiderea fişierelor, şi, pentru anumite variante, iniţializarea unei variabile
boolene pentru sfârşit de fişier (SF) şi citirea primului articol.
Operaţii iniţiale specifice, facultative, existenţa lor depinzând de particularităţile problemei
abordate şi care includ, în principal: iniţializări de variabile de total, afişări ale antetului, titlului
şi/sau a capului de tabel pentru situaţii de ieşire etc.
Algoritmi şi programe de prelucrare a fişierelor
• Modulul PRELUCRARE se execută repetitiv şi cuprinde, pe de o parte, totalitatea
operaţiilor de prelucrare a articolului curent al fişierului conducător - operaţii specifice fiecărei
probleme - şi, pe de altă parte, citirea unui articol din fişierul conducător. Ordinea celor două
operaţii (citire şi prelucrare) depinde de varianta de algoritm aleasă.
• Modulul SFÂRŞIT se execută o singură dată, după prelucrarea ultimului articol al
fişierului conducător şi include următoarele grupe de operaţii: operaţii finale standard,
corespunzând închiderii fişierelor implicate în prelucrare; operaţii finale specifice, care depind de
natura problemei şi includ, de regulă: afişarea variabilelor de total, a statisticilor privind operaţiile
de gestiune executate, închiderea situaţiilor de ieşire etc.

Modalitatea de detectare/tratare a sfârşitului de fişier conduce la existenţa mai multor


variante ale schemei generale de prelucrare cu fişier conducător, prin forme particulare ale condiţiei
sfârşit_de_prelucrare. În funcţie de variantele alese, se pot construi scheme logice valabile pentru
toate tipurile de fişiere sau numai pentru fişierele binare.

ü Scheme valabile pentru toate tipurile de fişiere

Detectarea sfârşitului de fişier independent de operaţia de citire, cu funcţia standard Eof,


caz în care testarea sfârşitului de fişier trebuie să preceadă citirea unui articol. Dacă condiţia de
sfârşit de prelucrare este testul asupra variabilei boolene SF, algoritmul va prevedea o citire iniţială
în modulul ÎNCEPUT şi o citire curentă la sfârşitul modulului PRELUCRARE - varianta 1 (figura
1.2).

START

O p eraţii
iniţiale

Nu Da
E O F (f)
C iteşte S F= 1
artico l

Da
SF= 0

P relucrare
artico l
Nu
Nu Da
E O F(f)
C iteşte SF= 1
artico l
O p eraţii
finale

ST O P

F ig . 1 .2. Schem a lo gică - varianta 1

Varianta se poate aplica fişierelor vide sau nevide. Când condiţia de sfârşit de prelucrare
este chiar expresia (funcţia) Eof(f), algoritmul va include doar citirea curentă în debutul modului

S-ar putea să vă placă și