DATE DE INTRARE Definirea problemei Date din program Date de la tastatura Date din fisiere Constante Operatii cu date de intrare Transmitere date in proceduri Calitatea datelor de intrare Managementul datelor de intrare Definirea problemei
La definirea oricarei probleme trebuie precizate datele de intrare, formulele de calcul si rezultatele care se obtin.
Datele de intrare depind de problema de rezolvat.
Daca este vorba de rezolvarea ecuatiei de gradul 2
ax*x+b*x+c=0
datele de intrare sunt valorile numerice ale celor trei coeficienti a,b si c.
Daca este vorba de alegerea minimului dintre elementele unui sir, datele de intrare sunt:
- numarul de elemente ale sirului
- valorile elementului din sir, exact cate au fost precizate ca numar.
Daca este vorba de calculul salariului muncitorilor dintr-o sectie, datele de intrare sunt:
- numele fisierului
- numele munictorilor
- numarul de piese lucrate
- pretul pe fiecare piesa
- tipul de piese
- retineri
- coeficienti de impozitare
- dari catre stat.
Seturile de date sunt grupate in articole.
Sunt atatea articole cati muncitori se afla in sectie.
Datele de intrare trebuie sa fie:
- corect definite
- complete
- fezabile, in ideea ca exista modalitati eficiente de a fi culese
- utilizabile, adica toate fac obiectul prelucrarii.
Atunci cand se defineste o data de intrare trebuie cunoscut:
- tipul datei
- forma de stocare
- frecventa de utilizare
- stabilitatea
- nivelurile posibile
- chei de control pentru a verifica daca este sau nu corecta.
Apar situatii in care in urma unei analize imprecise datele de intrare sunt:
- mai putine decat trebuie
- incorecte
- mai multe si unele sunt nenecesare.
daca procesul de culegere s-a derulat, reluarea presupune costuri foarte mari.
Sunt situatii in care unele date cu caracter constant, in mod eronat sunt considerate variabile, cum tot asa sunt situatii, in care date variabile sunt tratate drept constante. revenire
Date din program
Datele de intrare din program sunt acele date care sunt definite si initializate sub forma de linii sursa.
In secventa:
int a=7, b=8, c=11, d=-2;
sunt definite variabile care sunt initializate.
Acele valori reprezinta date de intrare in formulele de calcul.
Intrucat de la executie la executie ele nu se modifica, sunt considerate constante.
datele acestea sunt limitate in programe intrucat este dificil sa se creada ca un programator isi doreste astfel de texte sursa in care pentru a calcula noi valori pentru o expresie in care intervin a,b,c,d trebuie sa intervina si sa schimbe constantele din linia sursa.
Este uzual sa se defineasca cu initializare matrice, atunci cand valorile elementelor joaca rol de coeficienti in program.
Secventa:
int a[3][3]={1,-2,3,-4,5,6,7,8,0};
int b[2][3]={{3,2},{-1},{4,7,-1}};
exemplifica modalitati de definire date de intrare.
Programele de mare performanta includ:
- proceduri de preluare unica a datelor
- validarea de date
- chei de verificare a completitudinii
- chei de verificare a corectitudinii.
Trebuie realizat un echilibru in ceea ce priveste datele definite in program. revenire
Date de la tastatura
Programele in care se lucreaza cu:
- volume mici de date
- executia cu un set de date nu are caracter repetitiv
se construiesc astfel incat datele se introduc de la tastatura.
In cazul in care se lucreaza cu volume mari de date, introducerea datelor de la tastatura are rolul strict de a crea fisiere.
datele se introduc dupa documente originale, se fac validari si numai dupa ce au fost introduse toate datele se va proceda la prelucrari.
La proiectarea programelor, trebuie sa fie precizat cu mare grija ce inseamna a introduce date de la tastatura, cine face operatia, de cate ori, cum se face validarea si mai ales, cum se fac corectiile.
Trebuie date chei de control pentru a asigura ca au fost introduse datele toate exact cu tipul cerut si mai ales apartinand domeniului specificat la definirea problemei. revenire
Date din fisiere
Problemele complexe presupun stocarea de date in fisiere.
Este foarte important sa se creeze fisiere si sa se scrie programe pentru validare cat mai bune.
Programele trebuie sa:
- deschida fisiere
- citeasca date
- nu scrie date in fisier
- nu modifice campuri.
Trebuie gestionat procesul de utilizare fisier.
Datele din fisiere sunt resurse la dispozitia programatorilor.
Ei nu trebuie sa dezvolte secvente de program in care fisierele furnizeaza altceva decat DATE DE INTRARE. revenire
Constante
Constantele sunt date care raman la acelasi nivel indiferent de numarul de rulari ale programului.
Pentru constanta 3,14159 se defineste instructiunea:
float pi=3.14159;
ori de cate ori trebuie se va folosi variabila pi.
Exista posibilitatea de a defini constante simbolice care permit programatorilor sa lucreze mult mai usor cu constantele initiale.
# define pi 3.14159
este o definire de constanta simbolica.
Programatorii construiesc fisiere cu cate un articol in care includ constantele pe care le folosesc in program.
Ori de cate ori se lanseaza in executie programul anumite variabile sunt initializate cu aceste valori care nu se modifica pe un interval mare de timp.
La definirea cu initializare prin program a matricelor sau a structurilor de tip vector de articole este deosebit de important ca sirurile de constante sa fie puse corect in corespondenta cu componentele structurii de date.
Devine periculoasa eliminarea unei valori din sir, astfelincat, in loc de:
int a[20]={1,3,4,4,7,9,5,9,-1,-6,4,-90,1,1,-2,-2,8,5,6,-1};
se scrie in program
int a[20]={1,3,4,7,9,5,9,-1,-6,4,-90,1,1,-2,8,5,6,-1};
Programatorii trebuie sa evite excesul lucrului cu constante.
Cu cat se lucreaza cu mai multe constante, cu atat programul este mai rigid. revenire
Operatii cu date de intrare
Datele de intrare sunt supuse unor prelucrari precum:
- citire
- sortare
- calcule
- interschimb
- copiere
- conversie.
Daca exista fisiere cu date primare, acestea:
- se concateneaza
- se valideaza
- se corecteaza
- se prelucreaza
- se compara.
Datele de intrare NU trebuie sa faca obiectul actualizarii prin modificare de nivel.
Sistemele informatice moderne procedeaza la actualizari STRICT NUMAI prin adaugari de date in fisiere, cu identificarea:
- operatorului
- a momentului in care s-a facut adaugarea
- calculatorului de pe care s-a operat
- modului in care s-a lucrat ca performanta, ezitare, reveniri.
Datele de intrare sunt date de intrare si atat.
Ele nu au un alt rol. revenire
Transmitere date in proceduri
Procedurile preiau date prin intermediul listelor de parametri sau prin intermediul variabilelor globale.
Si in acest caz este important sa se faca astfel de definiri si sa se stabileasca reguli ca datele de intrare sa aiba un continut care nu este modificat de proceduri la executia unor instructiuni.
Procedura:
int suma(int x[], int n)
{
int suma = 0;
x[3]=9;
suma=x[2]+x[n-5];
return(suma);
}
este o constructie in care se modifica data de intrare x[], ceea ce trebuie considerat intr-un sistem in care s-a impus ca restrictie nemodificarea variabilelor din lista de parametri ca nu trebuia sa se intample.
Se conchide deci ca este constructie incorecta. revenire
Calitatea datelor de intrare
Datele de intrare trebuie sa fie:
- complete, adica sa descrie toate elementele colectivitatii daca programul prelucreaza date despre colectivitate
- toate trasaturile unui element daca programul prelucreaza date despre un element
- corecte, in sensul ca repetand procedurile de culegere se obtin aceleasi rezultate ale masuratorilor
- omogene din punct de vedere a unitatilor de masura, a erorilor nesistematice si a proceduyrilor de efectuare a culegerii
- comparabile cu datele culese de alte echipe sau in alte momente de timp
- stabile in ideea ca diferentele care apar legate de masuratorile la intervale suficient de mici privind un element din colectivitate, nu difera semnificativ fata de masuratorile precedente
- operationale in ideea ca sunt furnizate atunci cand este nevoie de ele si privesc culegeri de date efectuate in aceleasi intervale de timp.
Datele de intrare trebuie sa corespunda cerintelor enuntate ceea ce impune o analiza a acestora inainte de a fi prelucrate.
Este important ca in faza de analiza sa se analizeze daca indicatorii ce trebuie calculati dispun de date care indeplinesc in mod uzual cerintele de calitate.
Datele de intrare trebuie sa fie de calitate si sa aiba costuri de obtinere suportabile de catre beneficiar.
Sunt situatii in care daca datele sunt incomplete, se atribuie valori prin lipsa.
Trebuie acceptate aceste valori mai ales daca intervin in calcule, ca nealterand rezultatele finale. revenire
Managementul datelor de intrare
Managementul datelor de intrare presupune:
- definirea modului de culegere
- stabilirea persoanelor care efectueaza culegerea
- elaborarea machetei formularului pe care se efectueaza culegerea
- acceptarea unui mod descentralizat de introducere a datelor
- stabilirea de principii de culegere a datelor; o data primara se culege o singura data
- definirea modalitatii de verificare a modului in care au fost introduse de la tastatura intr-un fisier datele de intrare
- constituirea echipei care efectueaza verificarea calitatii datelor
- constituirea echipei care corecteaza datele in fisiere
- responsabilizarea fiecarei activitatii pentru a diferentia pe cei care fac treaba buna de cei care nu fac treaba buna.
Identificarea si studierea tipurilor de greseli de introducere a datelor.
Stabilirea legilor de distributie pentru erori.
Managementul datelor de intrare are ca obiectiv GARANTAREA ASIGURARII CALITATII DATELOR DE INTRARE DIN PROGRAM.
Se planifica nivelul de calitate.
Se aloca fonduri pentru:
- definire de proceduri
- calificare personal
- evidenta activitatii de introducere a datelor
- auditarea proceselor de creare a fisierelor si bazelor de date.
In firmele de dezvoltare software se acorda o importanta speciala formarii managerilor care asigura derularea de procese de creare a suporturilor de date de intrare, la beneficiari pentru ca acestia sunt cei care fac ca programul sa functioneze.
Cu greu se convinge cineva ca un program este foarte bun daca nu se obtin rezultate bune, chiar daca acest lucru este datorat datelor de intrare incorecte din neglijenta utilizatorilor.
Programul trebuia astfel construit incat sa evidentieze ca datele nu sunt bune.
Un program care calculeaza salarii, evident, trebuie sa testeze ca:
- numarul de ore lucrate nu este negativ
- salariul orar este nenegativ
- impozitul este un coeficient pozitiv
- numele persoanelor sunt cuvinte formate din litere.
daca nu sunt astfel de validari, chiar daca pe datele de test s-au obtinut rezultate corecte, pe alte date initiale se obtin rezultate aberante, evident programul e considerat prost.
Trebuie ca validarile sa semnaleze erorile in datele de intrare si sa afiseze mesaj ca din cauza acestor erori, nu se continua prelucrarea.
Erorile sunt semnalate si localizate precis.
Beneficiarului nu i se lasa loc de interpretare. revenire