Sunteți pe pagina 1din 4

Laborator 1 Problema 3

Paval Ambrozie Beniamin Grupa 215

Programare Phyton Lab1

1.Definirea problemei
O familie grijulie doreste sa-si gestioneze mai bine cheltuielile efectuate. Pentru aceasta este nevoie de o aplicatie in care sa se retina pentru o luna calendaristica toate cheltuielile efectuate. Fiecare cheltuiala va fi inregistrata in aplicatie prin 3 elemente: ziua din luna in care a fost efectuata, suma aferenta ei si tipul de cheltuiala (familia si-a propus gruparea cheltuielilor pe urmatoarele capitole: intretinere locuinta, mancare, transport, imbracaminte, telefonie&internet, altele carti, rechizite, filme, sport).

2.Liste de functionalitati
F1.Adauga cheltuiala noua. F2.Modifica anumite cheltuieli. F3.Tipareste cheltuielile care au anumite proprietati . F4.Obtine diferite caracteristici ale unor subsiruri. F5.Filtreaza valorile. F6.Reface ultima operatie care a modificat sirul cheltuielilor.

Planul activitatilor:
Funtionalitati Activitati F1 1. Adauga un tip de cheltuiala intr-o zi specificata F2 1. Sterge toate cheltuielile dintr-o anumita zi 2. Sterge toate cheltuielile dintr-un interval de zile 3. Sterge toate cheltuielile de un anumit tip 4. Inlocuieste cheltuiala de un anumit tip, dintr-o anumita zi cu o valoare data F3 1. Tipareste toate cheltuielile mai mari ca o valoare data 2. Tipareste toate cheltuielile mai mici ca o valoare data, pana la o anumita zi din luna 3. Tipareste toate cheltuielile efectiate pentru un anumit tip F4 1. Tipareste suma totala pentru un anumit tip de cheltuiala 2. Tipareste ziua in care s-au efectuat cele mai mari cheltuieli 3. Tipareste zilele in care s-au cheltuit exact o suma de cheltuieli data 4. Sorteaza toate cheltuielile zilnice intr-o ordine ceruta 5. Sorteaza toate cheltuielile dupa tipul lor, intr-o ordine aleasa F5 1. Pastreaza doar cheltuielile de un anumit tip F6 1. Anuleaza ultima operatie efectuata

Laborator 1 Problema 3 Pentru retinerea datelor, am folosit o lista de liste:


def createM(): return [[0]*(month_lenght+1) for i in range(type_lenght)]

Paval Ambrozie Beniamin Grupa 215

F1:
1. Adaugarea de noi valori:
def insert(ziua, suma, tip, cheltuieli)

Functia insereaza in ziua data, o cheltuiala de tipul primit cu suma data. Parametri: ziua - ziua in care inseram cheltuiala, integer [1,month_len] suma - valoarea cheltuielii, positive integer tip - este un numar ce indica o linie din matricea cheltuieli, specific tipului de cheltuieli integer[0,tip_len] cheltuieli matricea de date Rezultatul modifica valoare matricii.

F2:
1. Sterge toate cheltuielile dintr-o anumita zi:

def remove(ziua, cheltuieli)

Functia elimina cheltuielile dintr-o anumita zi data. Parametri: ziua ziua din care eliminam cheltuielile cheltuieli matricea de date Rezultatul modifica valoarea matricii. 2. Sterge toate cheltuielile dintr-un interval de zile:

def remove_from(ziua1,ziua2,cheltuieli)

Funtctia eliminea cheltuielile dintr-un anumit intreval de zile. Parametri: ziua1 ziua de inceput a intrevalului ziua2 ziua de sfarsit a intervalului cheltuieli matricea de date 3. Sterge toate cheltuielile de un anumit tip: def remove_tip(tip,cheltuieli)

Functia eliminea toate cheltuielile de un anumit tip. Parametri: tip tipul cheltuielilor pe care dorim sa il eliminam cheltuieli matricea de data 4. Inlocuieste cheltuiala de un anumit tip, si zi cu valoare data: def replace(ziua, suma, tip, cheltuieli) Parametri: tip tipul cheltuielilor pe care dorim sa il eliminam cheltuieli matricea de data

Laborator 1 Problema 3

Paval Ambrozie Beniamin Grupa 215

F3:
1. Tipareste toate cheltuielile mai mari ca o valoare data:
def greater_than(number, cheltuieli)

Parametri: number valoare data pentru a afisa cheltuielile mai mari ca ea cheltuieli matricea de date 2. Tipareste toate cheltuielile mai mici ca o valoare data, pana la o anumita zi:
def less_than_before(number, ziua, cheltuieli)

Parametri: number valoare data pentru a afisa datele corespunzatoare cheltuieli matricea de date

3. Tipareste toate cheltuielile pentru un anumit tip:


def all_for_type(tip, cheltuieli)

Parametri: tip tipul cheltuielii pentru care afisam toate cheltuielile cheltuieli matricea de date

F4:
1. Tipareste suma totala pentru un anumit tip: def sum_of_type(tip,cheltuieli) Parametri: tip tipul cheltuielii pentru care efectuam suma cheltuieli matricea de date 2. Tipareste ziua in care s-a efectuat cea mai mare cheltuiala: def max_day(cheltuieli) Parametri: cheltuieli matricea de date 3. Tipareste zilele in care s-a efectuat o suma de exact valoarea data def exact_sum(suma, cheltuieli) Parametri: suma valoarea aleasa pentru cheltuieli cheltuieli matricea de date 4. Sorteaza toate cheltuielile zilnice intr-o ordine aleasa: def sort_day(tip_sort, cheltuieli) Parametri: tip_sort tipul de sortare ales(1 crescator, 2 descrescator) cheltuieli matricea de date 5. Sorteaza toate cheltuielile dupa tipul lor, intr-o ordine aleasa: def sort_type(tip_sort, cheltuieli) Parametri: tip_sort tipul de sortare ales(1 crescator, 2 descrescator) cheltuieli matricea de date

F5:

Laborator 1 Problema 3

Paval Ambrozie Beniamin Grupa 215

1. Pastreaza doar cheltuielile de un anumit tip (filtrare valori):


def filter_type(tip, cheltuieli) Functia eliminea toate cheltuielile de un anumit tip. Parametri: tip tipul cheltuielilor pe care dorim sa il pastram cheltuieli matricea de data

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