Sunteți pe pagina 1din 4

Ministerul Educaiei Naionale

Olimpiada de Tehnologia Informaiei Etapa judeean

Seciunea C#

Bursa
Un administrator de firm dorete s i testeze angajaii asupra capacitilor acestora de a
obine profit, investind n Bursa de Valori. Pentru aceasta, el are nevoie de un program care s
simuleze activitatea unei astfel de burse de valori.
Realizai o aplicaie Windows sau Web, numit Bursa_Nume_Prenume, care s-i permit
administratorului testarea angajailor firmei.
Crearea bazei de date

(10p)

Administratorul dorete pentru nceput s creeze o baz de date cu numele DBBursa cu o


tabel Actiuni n care s se rein informaiile despre numrul de aciuni avute iniial i despre
valoarea fiecrei aciuni:
Actiuni
Denumire cmp
IDAciune
Denumire
NrActiuni
Valoare

Tip
Autonumerotare
Caracter 50
Intreg
Intreg

Observaie
Acest cmp va fi cheie primar. El va reprezenta ID-ul aciunii
Denumirea firmei la care sunt deinute aciuni
Numrul de aciuni cu care ncepem testul
Valoarea unei aciuni la deschiderea bursei

n aceast tabel vor fi introduse urmtoarele valori:

Se presupune c la nceputul testului angajatul are 5 aciuni la firma Azomed, valoarea


fiecrei aciuni fiind de 25RON, 15 aciuni la firma Tepra, valoarea fiecrei aciuni fiind de 12RON.
.a.m.d.p.

Interfaa aplicaiei

(30p)

Administratorul dorete ca aplicaia s fie format dintr-o fereastr principal, numit


BURSA, care s aib un meniu, Utilizator, un timer, iar n partea de sus un panou cu urmtoarele
butoane:
-

Butonul Deschide bursa care va deschide bursa. Din momentul n care se apas pe
acest buton la intervale de timp regulate se vor calcula noi valori ale aciunilor
Butonul nchide bursa care va nchide bursa. Din momentul n care se apas acest
buton nu se vor mai calcula noi valori pentru aciuni. La apsarea butonului, n directorul

Ministerul Educaiei Naionale


Olimpiada de Tehnologia Informaiei Etapa judeean

Seciunea C#

aplicaiei se va crea un fiier cu numele rezultate.txt n care se va salva profitul


(pierderea) acumulat.
Controlerul numericUpDown care va reine o valoare ntre 100 i 10000 (valoarea
implicit a acestuia se va seta la 500, iar valorile din controler se vor modifica cu pasul
100) va reine intervalul de timp, n milisecunde, ntre 2 remprosptri ale valorilor
aciunilor.

Pentru mai multe informaii urmrii imaginea de mai jos:

Meniul va avea urmtoarele opiuni:

Opiunea Aciunile mele

(30p)

La selectarea opiunii Actiunile mele, ntr-o nou fereastr, se vor afia urmtoarele
informaii:
Nr.
Denumire coloana
Col.
1.
Denumire
2.
Numr aciuni
3.
Valoare aciune INIIAL

Observaii
Va fi preluat din baza de date
Va fi preluat din baza de date
Va fi preluat din baza de date

Ministerul Educaiei Naionale


Olimpiada de Tehnologia Informaiei Etapa judeean
Nr.
Denumire coloana
Col.
4.
Valoare aciune momentan

5.

Valoarea cu care a crescut aciunea


momentan

6.

Total Valoare Iniial

7.

Total valoare momentan

8.

Profit / Pierdere momentan

9.

Profit / Pierdere total

Seciunea C#
Observaii

Reprezint valoarea unei aciuni n momentul


mprosptrii datelor. Va crete la fiecare
mprosptarea datelor cu valoarea din coloana
urmtoare (coloana 5). Se va completa la fiecare
remprosptare a datelor.
Reprezint valoarea cu care a crescut aciunea de la
ultima mprosptare a datelor. Se va completa la
fiecare remprosptare a datelor cu un numr
aleatoriu ntre -5 i 5.
Reprezint valoarea aciunilor pe care le deinea
angajatul la deschiderea bursei. Se va completa doar
la preluare a datelor din baza de date ca produs ntre
coloanele 2 i 3.
Reprezint valoarea aciunilor n momentul
remprosptrii datelor. Se va completa la fiecare
remprosptare a datelor ca produs ntre coloanele 2
i 4.
Reprezint profitul sau pierderea total pe care o are
n acest moment, ca urmare a variaiei valorii unei
aciuni. Se va completa la fiecare remprosptare a
datelor ca produs ntre coloanele 2 i 5.
Reprezint profitul sau pierderea avut de la
deschiderea bursei pe fiecare societate. Se va
completa la fiecare remprosptare a datelor ca
diferena ntre coloanele 7 i 6.

n partea de jos, sub obiectul care permite afiarea informaiilor, fereastra va conine un
obiect de tip ReadOnly care s permit vizualizarea pentru Profit/ Pierdere Total. Urmtoarea
imagine este orientativ:

Ministerul Educaiei Naionale


Olimpiada de Tehnologia Informaiei Etapa judeean

Seciunea C#

La apsarea butonului Deschide bursa din fereastra principal, coloana 5 din tabelul de mai
sus se va completa cu numere aleatoare cuprinse ntre -5 i 5, restul coloanelor (cu excepia primelor
3) actualizndu-i valorile.
Operaia de remprosptare se va efectua dup timpul n milisecunde setat n controlerul
numericUpDown din fereastra principal. Valoarea din controlul numericUpDown poate fi
modificat chiar dac bursa este deschis. Tot la fiecare remprosptare a datelor, se va calcula n
panoul din partea de jos, ntr-o caset text de tipul ReadOnly , pierderea sau profitul total (suma
valorilor de pe coloana 9).
Opiunea Grafic profit

(30p)

La selectarea opiunii Grafic profit din meniul principal, se va afia, ntr-o nou fereastr,
graficul n coordonate XOY asociat variaiei Timp/Profit. OX reprezint timpul n ms,care se preia din
numericUpDown, care va crete la fiecare remprosptare de date, iar OY reprezint valoarea de
pierdere sau profit total (cea calculat n caseta text de jos la subiectul anterior ca sum a valorilor
din coloana 9). Cu aceast valoare (care se va recalcula la fiecare remprosptare a datelor) se va
desena n timp real, n fereastra Grafic profit, graficul profitului.

Observaie: Imaginile date ca exemple de interfa sunt orientative!