Algoritmi și Programe de Prelucrare a Fișierelor

Curs
9/10 (2 voturi)
Domeniu: Calculatoare
Conține 1 fișier: pdf
Pagini : 42 în total
Cuvinte : 11778
Mărime: 284.77KB (arhivat)
Cost: Gratis

Extras din document

Operaţia de sortare a unui fişier binar presupune aranjarea articolelor în ordinea crescătoare

(descrescătoare) a valorilor unei zone, numită cheie de sortare. În cazul în care cheia de sortare este

formată dintr-un singur câmp din cadrul articolului, operaţia se numeşte sortare simplă. Sortarea

multiplă presupune aranjarea articolelor după valorile a două sau mai multe câmpuri, alcătuind, prin

juxtapunere, cheia de sortare. Juxtapunerea câmpurilor (nu neapărat adiacente în cadrul articolului) se

realizează pe lungimea efectivă a lor, alcătuind forma canonică a cheii de sortare. De exemplu, dacă

nume şi prenume sunt două câmpuri distincte, declarate de tip STRING, forma canonică a cheii de

sortare după nume şi prenume este dată de lungimea efectivă a fiecărei date de tip şir.

Dacă pentru sortarea simplă cheia poate fi însuşi câmpul din articol, pentru cea multiplă este

necesară o zonă auxiliară de memorie, în care se construieşte cheia de sortare, în forma canonică.

Sortarea unui fişier se poate realiza cu aducerea lui integrală în memorie (sortare în memorie)

sau cu aducerea în memorie a câte unui articol (sortare "direct pe disc"). Indiferent de modul utilizat,

sortarea poate fi realizată printr-unul din algoritmii cunoscuţi pentru masivele de date: sortare prin

interschimbare, prin selecţie, prin inserţie etc.

- Sortarea în memorie este o metodă rapidă şi presupune: citirea întregului fişier în memoria

principală; sortarea efectivă după cheia de sortare; recrearea fişierului pe disc. Metoda se poate aplica

numai fişierelor reduse ca dimensiuni sau cu lungime mică de articol, dată fiind capacitatea limitată a

memoriei interne asociată unui program. Ea poate avea mai multe variante:

- Sortarea cu vehicularea întregului articol presupune memorarea întregului fişier într-un

vector de articole. Compararea pentru sortare se va realiza pe câmpul cheie de sortare, însă

interschimbarea se realizează la nivelul întregului articol.

Exemplu:

Program sortare_1;

type

art=record

grupa:byte;

nume_student:string[30];

medie:real;

end;

var

f:file of art; x:array[1..250] of art;

i,j,n:byte; aux:art;

begin

assign(f,'student.dat'); reset(f):

n:=filesize(f):

for i:=1 to n do read (f,x[i]); {citirea fisierului

initial in memorie}

for i:=1 to n-1 do

for j:=i+1 to n do

if x[i].medie < x[j].medie then

begin

aux:=x[i];

x[i]:=x[j];

x[y]:=aux

end;

close(f); rewrite(f);

for i:=1 to n do write(f,x[i]);

close (f)

Algoritmi şi programe de prelucrare a fişierelor

end.

- Sortarea cu vehicularea cheii şi indexului, presupune memorarea într-un vector numai a

valorii cheii de sortare, împreună cu numărul relativ al articolului din fişierul iniţial (indexul).

Interschimbarea se va realiza la nivelul cheii de sortare, rezultând în final ordinea în care articolele vor

fi scrise în fişier. Deoarece articolele, în întregime, sunt rezidente pe disc, fişierul sortat va fi creat cu

un alt nume fizic, în acces secvenţial, preluând articolele din fişierul iniţial, în acces direct. Cheile de

sortare şi indexurile pot fi memorate în vectori distincţi sau într-unul singur, cu elemente de tip articol.

Exemplu:

program sortare_2;

type

art=record

grupa:byte;

nume_student:string[30];

medie:real;

end;

art_cheie=record

medie:real;

index:byte

end;

var

f,g:file of art; y:art; aux:art_cheie;

x:array[1..250] of art_cheie;

i,j,n:byte;

begin

assign(f,'student.dat'); reset(f);

assign(g,'students.dat'); rewrite(g);

n:=filesize(f):

(* ---------------------------------- *)

for i:=1 to n do

begin

read(f,y);

x[i].medie:=y.medie;

x[i].index:=i-1;

end;

(*-------------------------------------*)

for i:=1 to n-1 do

for j:=i+1 to n do

if x[i].medie <x[j].medie then

begin

aux:=x[i];

x[i]:=x[j];

x[j]:=aux

end;

(*--------------------------------------*)

for i:=1 to n do

begin

seek(f,x[i].index);

read(f,y);

write(g,y)

end;

Algoritmi şi programe de prelucrare a fişierelor

close(f); close(g)

end.

Preview document

Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 1
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 2
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 3
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 4
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 5
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 6
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 7
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 8
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 9
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 10
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 11
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 12
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 13
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 14
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 15
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 16
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 17
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 18
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 19
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 20
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 21
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 22
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 23
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 24
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 25
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 26
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 27
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 28
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 29
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 30
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 31
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 32
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 33
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 34
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 35
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 36
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 37
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 38
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 39
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 40
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 41
Algoritmi și Programe de Prelucrare a Fișierelor - Pagina 42

Conținut arhivă zip

  • Algoritmi si Programe de Prelucrare a Fisierelor.pdf

Alții au mai descărcat și

Conceptele Fundamentale ale Limbajelor de Programare

INTRODUCERE Obiectul disciplinei: limbajele de programare Obiective: · Studiul conceptelor fundamentale care stau la baza proiectării...

Programare orientată pe obiect C++

1. INTRODUCERE ÎN C++ Exista limbaje concepute strict pe baza conceptelor programării orientate pe obiecte (POO), de exemplu Simula sau Smalltalk....

Programare C

CURS 2 1. -pr care tine cont de variabila declarata local #include <stdio.h> int a=20; main() { int a=4; printf ("nr este:%d\n",a); } 2....

Programare pe Obiecte

S-a observat ca un obiect real este caracterizat de o structura, proprietati si de functionalitate. În POO obiectul este alcatuit dintr-o...

Programarea Calculatoarelor - 3 -

5. Instructiuni. 5.1. Instructiunea expresie. O instructiune expresie se obtine punând terminatorul de instructiune (punct-virgula) dupa o...

Capitolul 5 - Elemente de Programare - Realizarea Programelor - FoxPro

CAPITOLUL 5 ELEMENTE DE PROGRAMARE –REALIZAREA PROGRAMELOR 5.1. Introducere De-a lungul timpului, tehnicile şi metodele de programare a...

AutoCad

APERTURE - controleazã mãrimea cursorului selector, caracteristic modului object snap. ARC - traseazã un arc de cerc de orice dimensiune. A -...

Te-ar putea interesa și

Organizarea și Conducerea Funcțiunii de Audit Informatic într-o Organizație

I. GUVERNANŢA IT 1.1 Concept Lumea afacerilor a devenit din ce în ce mai complexă şi mai dinamică sub influenţa a numeroşi factori , inclusiv...

Extragerea cunoștințelor din baze de date - Weka

1. Introducere Weka este o colectie de algoritmi de invatare pentru data mining. Algoritmii pot fi aplicati fie direct pe un set de date sau...

Sisteme Informatice Pentru Resurse Umane

Cap. 1. Descrierea generala a produsului informatic Programul de salarii si evidenta personal Demo-Sal ajuta la rezolvarea problemelor legate de...

Raport de practică

I Caracteristica obiectului-bazei practicii. 1.1 Caracteristica tehnico-economică sumară a obiectului practicii. ”Manejul de atletică uşoară” din...

Proiect pentru Evaluarea Activității Practice

Cap. 1. DESCRIEREA GENERALĂ A PACHETULUI DE PROGRAME Programul NIBOSAL este un program de salarii şi evidenţă personal, care rezolvă într-o...

Formate pentru fișiere grafice

Abstract. Lucrarea contine informatii despre diferite formate ale imaginilor. Referatul are in componenta sa o scurta prezentare a notiunii de...

Noțiuni de sisteme de operare

Le stiti, le folositi, dar nu le cunoasteti...si-au facut loc în viata voastra si acum nu va puteti imagina cum era viata înaintea lor...da, este...

Sisteme de Operare - Concepte Fundamentale - Gestiunea Memoriei

CAPITOLUL III GESTIUNEA MEMORIEI Obiective. În conformitate cu arhitectura von Neumann, memoria primara (interna) este o componenta principala a...

Ai nevoie de altceva?