|
Testarea funcţiei de bib liotecă Cei care doresc să creeze biblioteci de funcţii trebuie: - să ştie programare, - să respecte nişte reguli, - să testeze funcţiile, - să se asigure că sunt foarte bune, - să facă ceea ce trebuie, - să fie omogene comparativ cu altele.
Nu se pun într-o bibliotecă improvizaţii, funcţii netestate, căci la reutilizare peste ani va fi foarte greu cu depanarea erorilor, mai ales dacă suntem presaţi de timp. După ce am scris funcţia, trebuie s-o testăm. Fie ne construim noi seturi de date de test, ceea ce nu este deloc uşor. Fie preluăm din cărţi seturi de date te test, dar preluăm şi riscurile ca acolo să fie greşeli. Fie construim seturi de date de test cu chei de control foarte uşor de verificat.
Am luat funcţia de numrare a elementelor pozitive, negative şi nule dintr-o listă. Prima listă are 10 componente, toate pozitive. A doua listă are 10 componente, toate negative. A treia listă are 10 componente, toate nule. A cincea listă are zece componente, 5 pozitive şi 5 negative. A cincea listă are zece componente, 5 pozitive şi 5 nule. A cincea listă are zece componente, 5 vegative şi 5 nule. A şasea listă are 10 componente, 3 pozitive, 3 negative şi 4 nule. Programul este:
|
|
#
# Functia de numarare componente pozitive, nule, negative din lista
#
def numara(X):
NR_POZ = NR_NUL = NR_NEG = 0
NR = len(X)
for i in range(NR):
if X[i] > 0:
NR_POZ += 1
if X[i] == 0:
NR_NUL += 1
if X[i] < 0:
NR_NEG += 1
return NR_POZ, NR_NUL, NR_NEG
LISTA = [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[1, 2, 3, -4, -5, -6, 0, 0, 0, 0]]
for i in range(len(LISTA)):
print(LISTA[i])
print( numara(LISTA[i]))
|
|
Rezultatele afişate sunt:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(10, 0, 0)
[-1, -2, -3, -4, -5, -6, -7, -8, -9, -10]
(0, 0, 10)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
(0, 10, 0)
[1, 2, 3, -4, -5, -6, 0, 0, 0, 0]
(3, 4, 3)
Dacă scriem o funcţie pentru calculul sumei elementelor dintr-o listă, vom avealiste cu 10 componente cu valrile
1,2,3,4,5,6,7,8,9,10 care înumate dau 55 şi
1,-1,2,-2,-3,-3,4,-4,5,-5 care însumate dau zero şi
1,1,1,1,1,1,1,1,1,1 care însumate dau 10 şi
0,0,0,0,0,0,0,0,0,0 care însumate dau zero.
(afişat azi 18 aprilie 2022 ora 12,00)
|