Sunteți pe pagina 1din 5

2.

PREZENTAREA APLICATIEI
Aplicatia prezentata reprezinta un program multifunctional pentru crearea, intretinerea si consultarea unui fisier referitor la elevii unei institutii de invatamant. Fisierul are urmatoarea structura logica de articol: Nr. Nume si Medie Nr. Promovabilitate Clasa Matricol prenume generala Absente Word String[30] real word 0..1 String[5] Numarul matricol indica numarul relative al articolului corespunzator in fisier. S-a folosit metoda de organizare relativa, cheia relativa fiind numarul matricol al elevului, utilizandu-se codificarea externa prin numere relative. Cum cheia relative nu face parte din articolul memorat in fisier, structura fizica a articolului va fi urmatoarea: Indicator de stare 0..1 Clasa Nume si Medie prenume generala String[5] String[30] real Nr absente word Promovabilitate 0..1

Indicatorul de stare notat is va avea o valoare din doua posibile: 0 pentru articol inactive-inexistent sau sters-, 1 pentru articol present. In acest fel, operatiile de acces la articole se realizeaza in urmatoarele conditii: scrierea in fisier e permisa numai pentru articolele cu is=0; cititea din fisier este permisa numai pentru articolele cu is=1. Programul ofera utilizatorului proceduri de creare, adaugare (in cazul transferarii de alevi in scoala respective, fie pentru inscriere in clasa 1, respective clasa a9a), modificare( in cazul in care s-au introdus gresit anumite date, sau datorita schimbarii datelor personale ale elevului, stergere ( in cazul abandonului scolar, a exmatricularii , a intreruperii studiilor din diferite motive sau a transferului elevului in alte unitate scolara ) si de consulare a elevilor promovati si/sau nepromovati, realizate in acces direct dupa cheia relative. De asemenea exista posibilitatea conultarii in acces secvential: afisarea pe monitor a elevilor al caror nume sau numar matricol se da, sau a tuturor elevilor unei clase.

In meniul afisat pe ecran, exista de asemenea posibilitatea de terminare a programului. Fiecare functiune a programului prevede posibilitatea reluarii ei in interior, fara a mai iesi in meniul principal. Terminarea uneifunctiuni se realizeaza prin tastarea caracterului ^z in campul numar matricol. De aceea, la revenirea in meniul principal si la apelul unei noi functiuni, tastatura, care este fisier text standard de intrare trebuie deschisa cu procedura reset(input). Programul contine urmatoarele proceduri: 1. procedura meniu Realizeaza meniul pentru accesarea diferitelor operatii. Exisat 9 variante, fiind specificata o tasta pentru fiecare posibilitate: 1.pentru creare 2.pentru adaugare 3.pentru modificare 4.pentru stergere 5.pentru afisarea informatiilor existente despre un elev al carui numar matricol este introdus de la tastatura 6.pentru afisarea elevilor promovati\nepromovati 7.pentru afisarea informatiilor existente despre elevul al carui nume se introduce de la tastatura 8.pentru afisarea tuturor elevilor unei clasa 9.pentru iesire din meniu 2.procedura cit_camp Realizeaza citirea de la tastatura a informatiilor despre un elev, concomitant cu atribuirea valorii 1 pentru indicatorul de stare is 3.procedura preformare Preformarea presupune deschiderea fisierului ca nou si crearea unui numar de articole, la limita zero, cu is=0. Datorita faptului ca fisierul se deschide ca existent, orice operatie de scriere a unui nou articol se trateaza ca adaugare. In program, procedura preformare creeaza articole goale, cu is=0 de la sfarsitul fisierului si pana la linia care corespunde numarului matricol al elevului de adaugat sau la creare. 4.procedura creare In cazul in care utilizatorul alege optiunea de creare sau daugare( tastele 1 sau 2) , se citeste numarul matricol. Daca acesta e mai mic decat lungimea fisierului se cauta in fisier pozitia ceruta, se verifica daca linia respective nu este ocupata (valoarea lui is) se citesc informatiile despre elevul respective daca is=0 ( daca nu, se cere reintroducerea numarului

matricol deoarece acesta este deja alocat unui alt elev),si se adauga in fisier informatiile citite de la tastatura. Daca numarul matricol are o valoare mai mare decat filesize(f), atunci se apeleaza procedura preformare, pentru adaugare de articole vide, dupa care se aduga in fisier informatiile citite de la tastatura despre elevul cu respectivul numar matricol . Din procedura se iese prin tastarea ^z dupa terminarea introducerii datelor. Procedura prevede de asemenea validarea datelor, pentru a evita introducerea de date eronate din tastare. Exista validarea numelui, prin verificarea apartenentei la alfabet a tuturor caracterelor care il compun, validarea promovabilitatii prin verificarea apartenentei varabilei prom la multimea valorilor 1 sau 0, validarea mediei generale care trebuie sa ia valori reale intre 0 si 10. Procedurile creare si adaugare sunt identice, cu deosebirea ca pentru prima fisierul se deschide ca nou ( cu rewrite ) pe cand pentru cea de-a doua fisierul se deschide ca existent ( cu reset ). 5.procedura stergere La optiunea stergere s-a inclus o confirmare suplimentara din partea utilizatorului, pentru cazul in care cheia relative, in cazul nostrum numarul matricol, introdusa de la tastatura exista in fisier, dar nu apartine elevului care se doreste sters, aceasta pentru a evita pierderea de date. 6.procedurile modif_camp si modificare Realizeaza modificarea datelor existente in fisier, si prevede posibilitatea modificarii valorii oricarui camp sau a oricarei combinatii de campuri. Prin conventie, tastarea doar a lui enter semnifica nemodificarea campului respectiv. 7. procedura vizualizare Realizeaza afisarea pe monitor a informatiilor existente despre acei elevi ale caror numere matricole sunt introduce de la tastatura. Sfarsitul introducerii de la tastatura va fi marcat standard prin ^z in campul numar matricol. Procedura codifica un algoritm de consultare in acces direct dupa cheia relativa. 8.procedura vizualizare2 Procedura codifica un algoritm de consulare in acces secvential cu selectie dubla. Realizeaza afisarea pe monitor a datelor existente in fisier despre elevul al carui nume a fost introdus de la tastatura. Procedura prevede posibilitatea reluarii procesului pentru un nou elev, fie pentru ca se doreste o

noua informatie, fie ca numele dat a fost eronat sin u exista nici un elev in fisier cu respectivul nume. 9.procedura vizualizare1 Realizeaza afisarea pe monitor a tuturor elevilor promovati sau nepromovati, in functie de optiunea utilizatorului. Programul prevede posibilitatea reluarii procesului pentru o noua optiune, fie pentru ca s-a introdus gresit optiunea, fie pentru ca se doreste afisarea si a celeilalte categorii de elevi. Sfarsitul introducerii de la tastatura va fi marcat standard ^z . Procedura codifica un algoritm de consultare in acces secvential . 10.procedura vizualizare3 Codifica un algoritm de consultare in acces secvential, realizand afisarea pe monitor a tuturor elevilor dintr-o anumita clasa, clasa fiind introdusa de la tastatura. Procedura prevede posibilitatea reluarii procesului pentru o noua optiune, fie pentru ca s-a gresit optiunea, fie pentru ca se doreste si afisarea elevilor din alte clase. Sfarsitul introducerii de la tastatura va fi marcat standard prin ^z. Programul principal apeleaza meniul, dupa care, in functie de optiunea utilizatorului, apaleaza procedurile prezentate mai sus.

3.MANUAL DE UTILIZARE
Programul permite realizarea unor operatii multiple de intretinere, actualizare si consultare a datelor existeste in fisierul scoala.dat, fisier ce contine datele elevilor unei institutii de invatamant preuniversitar. Utilizatorul poate realiza crearea fisierului, adaugarea in fisier, stergerea, modificarea, aflarea elevilor promovati sau nepromovati, a informatiilor existente despre un anumit elev atunci cand se cunosc numele, sau numar matricol, a afisarii pe monitor a tuturor elevilor dintr-o anumita clasa. Pentru a realiza una din aceste operatii alegeti una din optiunile meniului, prin tastarea cifrei corespunzatoare. Atunci cand introduceti numele si prenumele, el trebuie sa contina doar litere si caracterul saptiu intre nume si prenume. Pentru introducerea clasei puteti folosi fie o cifra( clasa 1,2,3etc) fie o combinatie de cifra si litera , in cazul in care exista mai multe clase in acelasi an ( clasa 5a, 5b, 3a etc). Pentru introducerea mediei, ea trebuie sa aiba o valoare reala cuprinsa intre 0 si 10. Pentru introducerea numarului de absente, tastati un numar intreg corespunzator numarului de absente. Pentru introducerea promovavilitatii, trebuie introdusa valoarea 0 sau 1 in functie de optiune( 0 pentru elev nepromovat, 1 pentru elev promovat). Elev promovat presupune o medie mai mare sau egala cu 5. Datele elevilor au urmatoarea structura Nr matricol 456 Nume si Clasa prenume Ionescu 5A Victor Medie generala 8.50 Numar absente 6 Promovabilitate 1

Dupa ce ati introdus datele necesare realizarii operatiei cerute de dvs, pentru a continua o noua introducere, apasati enter, iar pentru a iesi din nou in meniu apasati ctrl z. In meniu, puteti fie cere o noua operatie, fie sa iesiti din program prin tasta 9.

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