Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Realizarea protectiei datelor prin metoda programarii modulare

c



+ Font mai mare | - Font mai mic



Realizarea protectiei datelor prin metoda programarii modulare

Dezvoltarea programelor prin programare procedurala inseamna folosirea unor functii si proceduri pentru scrierea programelor. In limbajul C lor le corespund functiile care returneaza o valoare sau nu. Insa in cazul aplicatiilor mai mari ar fi de dorit sa putem realiza si o protectie corespunzatoare a datelor. Acest lucru ar insemna ca numai o parte a functiilor sa aiba acces la datele problemei, acelea care se refera la datele respective. Programarea modulara ofera o posibilitate de realizare a protectiei datelor prin folosirea clasei de memorie static. Daca intr-un fisier se declara o data apartinind clasei de memorie statica in afara functiilor, atunci ea poate fi folosita incepind cu locul declararii pana la sfarsitul modulului respectiv, dar nu si in afara lui.



Sa consideram urmatorul exemplu simplu referitor la prelucrarea vectorilor de numere intregi. Sa se scrie un modul referitor la prelucrarea unui vector cu elemente intregi, cu functii corespunzatoare pentru initializarea vectorului, eliberarea zonei de memorie ocupate si ridicarea la patrat, respectiv afisarea elementelor vectorului. O posibilitate de implementare a modulului este prezentata in fisierul vector1.cpp:

#include <iostream.h>

static int* e; //elementele vectorului

static int d; //dimensiunea vectorului

void init(int* e1, int d1) //initializare

void distr() //eliberarea zonei de memorie ocupata

void lapatrat() //ridicare la patrat

void afiseaza() //afisare

Modulul se compileaza separat obtinind un program obiect. De exemplu sub sistemul de operare Unix folosind comanda

CC -c vector1.cpp

obtinem programul obiect vector1.o. Un exemplu de program principal este prezentat in fisierul vector2.cpp:

extern void init( int*, int);//extern poate fi omis

extern void distr();

extern void lapatrat();

extern void afiseaza();

//extern int* e;

int main() ;

init(x, 5);

lapatrat();

afiseaza();

distr();

int y[] = ;

init(y, 6);

//e[1]=10; eroare, datele sunt protejate

lapatrat();

afiseaza();

distr();

return 0;

}

Sub sistemul de operare Unix prin comanda:

CC vector2.cpp vector1.o -o vector2

obtinem fisierul executabil vector2. Observam ca desi in programul principal se lucreaza cu doi vectori nu putem sa le folosim impreuna, deci de exemplu modulul vector1.cpp nu poate fi extins astfel incat sa realizeze si adunarea a doi vectori. In vederea inlaturarii acestui neajuns s-au introdus tipurile abstracte de date.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 826
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved