Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE





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







DOCUMENTE SIMILARE

Trimite pe Messenger
Sterge valoarea ultimului nod din lista
Tipuri de date predefinite
TIPURI DE DATE
Metoda combinata
Controlling the Game: ChangeFogOfWar, GamePause
Functii de prelucrare a sirurilor de caractere
Bazele
Nivelul inferior de prelucrare al fisierelor
Initializarea modului grafic
GRAFICA - Unit-ul Graph

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.

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 282
Importanta: rank

Comenteaza documentul:

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

Creaza cont nou

Distribuie URL

Adauga cod HTML in site



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