CATEGORII DOCUMENTE |
- informatica -
Program pentru evidenta
vanzarilor unui magazin de jucarii
Introducere
Cresterea complexitatii vietii moderne a dus la necesitatea prelucrarii unui volum din ce in ce mai mare de informatii, cu ajutorul calculatoarelor.
Inca de la primele generatii de calculatoare s-a pus problema crearii unor modele interne de organizare a datelor, informatiilor.
In anii '70 a fost proiectat si implementat modelul de organizare relational. Pe baza acestui model au fost create asa numitele sisteme de gestiune a bazelor de date relationale.
Un pas important in dezvoltarea calculatoarelor electronice a fost facut odata cu inventarea microprocesorului (inginerul M. E. Hoff, la sfarsitul anului 1971) care a dus la o mai mare separare a hard-ului (partea electronica a calculatorului) de soft (partea logica, alcatuita din programele dupa care functioneaza calculatorul. Aceste doua piari componente ale unui sistem de calcul au evoluat in paralel, dezvoltandu-se astfel doua domenii de cercetare in stiinta informaticii: cel legat de hardware, in stransa corelatie cu cercetarea in domeniul fizicii, electronicii, si cel referitor la software, avand legatura cu dezvoltarea matematicii si a logicii.
Datorita implicarii tot mai accentuate a calculatoarelor in multe domenii de activitate, sfera problemelor rezolvate cu ajutorul calculatorului s-a extins foarte mult. A aparut astfel o specializare a programelor (pachetelor de programe), orientate spre rezolvarea diverselor tipuri de probleme: matematice, tehnice, economice, de proiectare etc. Sistemele de Gestiune a Bazelor de Date (pe scurt SGBD - prescurtare foarte des intalnita in literatura de specialitate) sunt sisteme informatice (soft) specializate in stocarea si prelucrarea unui volum mare de date, volumul de prelucrari implicat fiind relativ mic (spre deosebire de programele orientate spre rezolvarea problemelor matematice, de exemplu, care necesita un volum mare de prelucrari asupra unui volum relativ mic de date) . Termenul de "baza de date" se va referi la datele de prelucrat, la modul de organizare a acestora pe suportul fizic de memorare, iar termenul de "gestiune" va semnifica totalitatea operatiilor ce se vor aplica asupra datelor din bazele de date.
Un SGBD trebuie sa asigure urmatoarele functiuni elementare relativ la bazele de date:
Alaturi de acestea, SGBD-urile mai pot furniza si alte servicii, cum ar fi:
suport pentru limbaj de programare;
interfata cat mai atractiva si performanta, pentru comunicarea cu utilizatorul;
diferite tehnici avansate de memorare, organizare, accesare a datelor din bazele de date;
utilitare incorporate: sistem de gestiune a fisierelor, liste si tabele etc;
help pentru "ajutarea" utilizatorului in lucrul cu bazele de date etc.
Istoria SGBD-urilor incepe odata cu aparitia primelor suporturi magnetice de memorare - benzile magnetice - pe care informatia era memorata secvential, aceasta dand si caracterul secvential al accesului la date in cadrul acestor sisteme. Aceasta etapa de dezvoltare este caracterizata de o identitate perfecta intre structura logica si cea fizica a informatiei din bazele de date, ceea ce a dus la o manipulare greoaie a datelor.
Aparitia sistemelor de memorare de tipul discului magnetic a dus la o noua etapa in dezvoltarea SGBD-urilor, caracterizata in principal prin: aparitia accesului direct, alaturi de cel secvential, aceasta avand ca efect imediat o crestere spectaculoasa a vitezei de acces la date; separarea nivelului logic de cel fizic, realizandu-se astfel o independenta logica a datelor. in aceasta etapa se dezvolta tehnici avansate de selectare, grupare, prelucrare a datelor din bazele de date.
In continuare sistemele de memorare s-au dezvoltat in directia cresterii performantelor acestora: capacitati cat mai mari de memorare si viteze cat mai mari de accesare a datelor memorate in bazele de date (discul optic, CD-urile, casetele magnetice etc)
Aparitia si raspandirea retelelor de calculatoare a dus la dezvoltarea intr-o noua directie a SGBD-urilor, ele capatand un caracter multiutilizator - mai multi utilizatori folosesc simultan aceeasi baza de date. Principalul avantaj al retelelor a fost eficienta mult sporita de utilizare a resurselor sistemelor de calcul: la o baza de date aflata pe un server central, de obicei foarte puternic, au acces simultan mai multi utilizatori, situati la distanta de aceasta, de unde rezulta o buna utilizare a resurselor serverului si o economie de memorie, datorita memorarii unice a bazei de date (doar pe server nu si pe statiile de lucru).
De asemenea, au aparut bazele de date distribuite, care reprezinta baze de date logic integrate dar fizic distribuite pe mai multe sisteme de calcul. Utilizatorul unei asemenea baze de date o vede ca pe o baza de date unica, compacta (nivelul logic), cu toate ca, in realitate, ea este distribuita pe mai multe calculatoare legate intre ele (nivelul fizic). La nivel statistic aceasta organizare a dus la o crestere substantiala a vitezei de acces la o baza de date intr-o retea de calculatoare. Astfel, anumite date depozitate pe un server local sunt mult mai rapid accesibile decat daca ele s-ar fi aflat pe un server la distanta, unde ar fi fost stocata baza de date in intregime, in cazul nedistribuirii (mentionam ca un factor important care limiteaza viteza de lucru este transferul de date intre calculatoare). Tot datorita distribuirii se mareste considerabil limita maxima a dimensiunii unei baze de date care nu mai este determinata de capacitatea fizica de memorare a sistemului de calcul.
Imbunatatiri a suferit si modelul de organizare a bazelor de date. Structura tabelara a bazelor de date simple din SGBD-urile mai vechi a fost inlocuita in cele moderne cu modelul relational de organizare a bazelor de date. Conform acestui model o baza de date relationala este formata din mai multe tabele simple intre care se stabilesc anumite relatii. in paralel cu acest model s-a dezvoltat un nou limbaj de interogare a bazelor de date - SQL (Structured Query Language), neprocedural, care permite accesul rapid si comod la datele memorate in bazele de date.
Pentru utilizatorii neprofesionisti, care nu sunt putini la numar, au fost perfectionate interfetele SGBD-urilor, utilizatorul avand la dispozitie sisteme de meniuri, ferestre, obiecte de control, prin care comunicarea cu SGBD-ul devine o placere.
Odata cu raspandirea pe scara larga a PC-urilor s-au dezvoltat din ce in ce mai mult SGBD-urile implementate pe acest tip de calculatoare. Mult timp, suprematia in acest domeniu a apartinut firmei Ashton-Tate, cu produsul sau dBase, cu diferitele sale versiuni (II, III, III+, IV) impunand chiar un standard in acest domeniu - la un moment dat acoperea aproximativ 60% din piata SGBD-urilor pentru PC-uri. Principalii concurenti ai lui dBase au fost Paradox al firmei Borland, Cliper avand ca producator firma Nantucket si FoxPro, produs al firmei Fox Software.
Acesta din urma a evoluat foarte rapid, de la varianta 1.02 la 2.0, acaparand treptat o mare parte din piata SGBD-urilor pe PC-uri. Odata cu cumpararea produsului FoxPro de catre Microsoft (liderul mondial in domeniul software-ului) si dezvoltarea variantelor 2.5 sub DOS si sub Windows, acest SGBD tinde spre varful ierarhiei (daca nu este deja lider!!!). Concurentii sai raman in continuare dBase-ul, cumparat de Borland, principalul rival al lui Microsoft in domeniul limbajelor de programare. Fata de variantele anterioare (2.0), FoxPro 2.5 are unele imbunatatiri de substanta, cum ar fi marirea numarului maxim de caractere pe o inregistrare, a numarului zonelor de lucru, o mai buna gestiune a memoriei, posibilitatea transferului de elemente (proiecte, ecrane, rapoarte etc.) intre versiunile FoxPro sub diferite platforme - DOS, UNIX, MAC etc.
Varianta sub Windows a FoxPro-ului (pe care o vom nota pe scurt FoxProW) beneficiaza de toate avantajele oferite de platforma grafica Windows, din care enumeram:
interfata cu utilizatorul foarte placuta, comoda, usor de folosit; posibilitati de afisare deosebite datorita modului grafic de lucru (font-uri, icoane,elemente grafice etc); multitasking, FoxProW putand rula in paralel cu alte aplicatii Windows; control eficient al perifericelor, asigurat de platforma Windows (inclusiv mouse-
ul si imprimanta); posibilitatea realizarii de programe sub Windows intr-o maniera clasica (fara folosirea mecanismului de mesaje specific programarii sub Windows).
Acestea fiind spuse trecem la prezentarea proiectului propriu zis. Proiectul este alcatuit dintr-un screen principal care inglobeaza mai multe proceduri associate unor butoane.
Tema proiectului
Intr-un magazin , evidenta produselor precum si vanzarea acestora se tine cu ajutorul bazei de date PRODUSE.dbf. Consultand aceasta baza de date putem realiza urmatoarele lucruri:
Baza de date cu care lucreaza acest proiect are urmatoarea structura:
Nume C(20)
Cant N(10.3)
Pretul_U N(10.3)
Pretul_T N(10.3)
Tva N(10.3)
Adaos N(10.3)
Pret_tva N(10.3)
Pret_adaos N(10.3)
Ptva_adaos N(10.3)
Prod_V N(10.3)
Pret_V N(10.3)
Profit N(10.2)
Prezentarea proiectului
Folosind mediul FOX cu ajutorul generatoarelor a fost creat meniul Meniu.mnx in care se gasesc toate aplicatiile acestui proiect, fiecare submeniu fiind accesat cu un singur click.
Aplicatia contine 11 screen-uri si un raport, un ecran din acestea fiind afisat inainte de punerea in aplicatie a meniului.
Adaugare.scx- permite introducerea unui nou produs in baza de date , aici fiind introdus pretul unitar, cantiatea, TVA-ul si adaosul comercial.
Afisare.scx- realizeaza o listare a tuturor produselor impreuna cu toate datele despre acestea
Editare.scx- permite modificarea tuturor informatiilor unui produs existent in baza de date PRODUSE.dbf
Stergere.scx - permite stergerea unei inregistrari din baza de date impreuna cu toate campurile necesare acesteia.
Vanzari.scx- se ocupa cu vanzarea produselor si calcularea pretului vanzarilor.
Total.scx - calculeaza pretul total pe un produs in functie de cantitatea disponibila.
TVA.scx- calculeaza valoarea pe un singur produs , procentul fiind de 19%.
Adaos.scx- permite calcularea si afisarea diferentei dintre pretul cu care a fost adus produsul si pretul cu care este vandut, procentul fiind de 22%.
Profit.scx- permite calcularea sumei pe care o are de incasat proprietarul magazinului
Intrare.scx-afiseaza numele, prenumele realizatorului, clasa , numele liceului, judetul , teme proiectului , data si ora actuala.
Caut.scx-realizeaza cautarea unei inregistrari prin parcurgerea bazei de date de la un capat la celalalt, in functie de numele introdus de utilizator.
Raport.frx-permite vizualizarea unui raport cu toate informatiile despre toate produsele.
Meniul principal este alcatuit din sase optiuni, fiecare din acestea avand cate un submeniu. El are urmatoarea structura :
|
|
Pentru activarea fiecarei optiuni din submeniurile de mai sus au fost scrise in meniul Meniu.mnx urmatoarele comenzi :
Do+ numele screen-ului+extenisa spr. In cazul in care folosim un program comanda este: do +numele programului+extensia prg.
In optiunea Menu-General Options-Setup a fost scrisa urmatoarea structura:
Set talk off
Close all
Use
Clear
Set clock on
Set hour to 24
Do prima.spr
Menu- General Options-Cleanup:
Use
Clear
Activate menu _msysmenu
Prezentarea structurata a screen-urilor
Ecranul Adaugare poate fi selectat din primul submeniu , el fiind parcurs cu ajutorul tastaturii.
Pentru introducerea unei inregistrari se parcurg urmatorii pasi:
click pe butonul Adaugare
introduceti numele
introduceti cantitatea
introduceti pretul unitar
TVA este de 19% si adaosul commercial de 20%-25%
apasati butonul Iesire
Structura care permite introducerea in baza de date este scrisa in butonul Adaugare aceasta fiind :
Append blank
Gather memvar
Scatter memvar blank
Show gets
Ecranul Afisare permite afisarea tuturor datelor despre un produs prin simpla selectare din lista a acestuia.
In optiunea Valid a listei este scrisa procedura:
Scatter memvar
Show gets
Ecranul Editare poate realiza acest lucru cu ajutorul butonului Editare unde este scrisa procedura:
Gather memvar
Show gets.
Ca mod de utilizare se selecteaza produsul din lista , se modifica campul dorit dupa care se apasa butonul Editare.
Ecranul Stergere permite stergerea dedinitiva a unor inregistrari prin apasarea butonului Stergere unde se afla procedura:
Delete
Pack
Show gets
dupa ce am selectat din lista produsul dorit.
Ecranul Vanzari permite introducerea de la tastatura a unei cantitati dintr-un produs selectat din lista dupa care se confirma cu OK.
In acest buton este scrisa urmatoarea structura :
Replace cant with cant-Prod_v
Gather memvar
Show gets
Ecranul Total calculeaza valoarea totala a unui produs in functie de stocul disponibil , acest lucru realizandu-se prin simpla selectare din lista acestui ecran unde a fost scrisa urmatoarea procedura in optiunea Valid:
Pretul_t=Pretul_u*cant+Pret_tva+prt_adaos
Gather memvar
Show gets
Iesirea din acest ecran se face apasand butonul Iesire.
Ecranul Adaos permite afisarea diferentei dintre pretul cu care a fost adus produsul in magazin si pretul cu care este el vandut. Acest pret este calculate si adaugat in baza de date si prin ecranul de adaugare fiind in procent de 20%-25%. Pentru afisarea adaosului comercial este necesara apasarea butonului OK unde se afla procedura :
Pret_adaos=pretul_u*adaos*cant
Gather memvar
Show gets
Tot aici se poate vizualiza pretul cu care este vandut produsul si cantitatea disponibila.
Ecranul TVA calculeaza suma necesara TVA-ului in procent de 19% din pretul cu care este vandut produsul. Procedura care calculeaza acest lucru este redata in butonul OK al acestui ecran fiind urmatoarea:
Prt_tva=tva*pretul_u*cant
Gather memvar
Show gets
Comenzile prezente si de aceasta data in lista ecranului sunt urmatoarele:
Goto record n
Show gets.
Ecranul Profit permite calcularea sumei pe care o are de incasat proprietarul magazinului in functie de numarul de produse care le detine in stoc.
Pentru acest calcul este necesar doar selectarea din lista a unui produs dorit de utilizatorul programului apoi apasand enter sau cu mouse-ul pe butonul OK urmand ca in partea de jos a ecranului sa fie afisata aceasta suma.
Partea principala a ecranului este butonul OK care realizeaza calcularea si afisarea sumei acest lucru fiind determinat de urmatoarea structura :
Pret_adaos=pretul_u*adaos
Replace profit with (pret_adaos-ptva_adaos*tva)*pretul_u
Gather memvar
Show gets.
Ecranul Caut permite cautarea unui produs in functie de numele introdus de la tastatura , apoi aceasta confirmandu-se cu butonul Cauta in care este scrisa urmatoarea structura :
Locate for alltrim(upper( num))$alltrim(upper(nume))
If found()
@4,20 say 'Nume:'
@4,36 say nume
@6,20 say 'Cantitate:'
@6,36 say cant
@8,20 say'Pretul:'
@8,36 say pretul_u
@10,20 say 'TVA:'
@10,36 say tva
@12,20 say 'Adaosul Comercial:'
@12,36 say adaos
show gets
else
wait window 'Nu s-a gasit acest produs' timeout 1
endif.
Ecranul Intrare este prima pagina a proiectului ea continand numele ,judetul ,orasul unitatii de invatamant, tema proictului, numele ,clasa autorului acestui proiect , numele indrumatorului , data si ora actuala.
Raportul Raport a fost realizat cu ajutorul generatoarelor permitand afisarea datelor din baza de date . In acest ecran mai poate fi vizualizat si un calcul total al profitului dupa cum se paote vedea in raportul urmator :
Pentru ca acest program sa poata fi accesat direct din meniul principal a fost folosit un program Lista.prg in care a fost data comanda raportului si anume:
Set talk off
Close all
Clear
Use
Use produse.dbf
Report form raport.frx preview
Activate menu _msysmenu
BIBLIOGRAFIE
1.Colectia de informatica - FOX PRO - teorie si
aplicatii, Editura Else
Autorii: Eugen Popescu,
Mihaela Codres, Doina
Preda, Ecaterina Boarna,
Sofia Vitelaru
2.Informatica manual pentru clasa a X-a
3.Internet
4.Invata limbajul FOX in 12 lectii
5.Fox Pro Manual pentru clasa a XI a
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1871
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved