You are on page 1of 6

Actividad 2.

Medicin del
tamao de un
software

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;
public class ProgramaDesviacionEstandar
{
private static List<Double> listaDatos;
/**
*
Este es el mtodo principal del programa.
*/
public static void main(String[] args)
{
double prom = 0;
double stdev = 0;
listaDatos = new ArrayList<Double>();
leerDatos();
prom = calcularPromedio();
stdev = calcularDesviacionEstandar();
System.out.println("El Promedio de los valores es: " + prom);
System.out.println("La Desviacin Estndar es: " + stdev);
}
/**
*
Este mtodo sirve para pedir un indeterminado
*
nmero de datos al usuario.
*
Cada dato es almacenado en una lista dinmica.
*/
private static void leerDatos()
{
Scanner teclado = new Scanner(System.in);
String texto = "S";
double valor = 0;
while(texto.equals("S") || texto.equals("s"))
{
System.out.print("Introduce el valor no. " +
(listaDatos.size() + 1) + ": ");
texto = teclado.next();
// En este try-catch evaluamos que el valor que introdujo
// el usuario pueda ser convertido a un valor double.
try
{
valor = Double.valueOf(texto);
listaDatos.add(valor);
}
catch (Exception ex) // Si no se pudo convertir el valor,
// se lanza un mensaje al usuario
// indicndole el error.
{
System.out.println("No se introdujo un nmero.\n");
}
System.out.print("Desea capturar otro valor? [S/N]: ");
texto = teclado.next();
}
teclado.close();

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107

}
/**
*
Este mtodo calcula el promedio de los datos
*
almacenados en una lista dinmica.
*
*
Al final el mtodo devuelve el promedio calculado.
*/
private static double calcularPromedio()
{
double promedio = 0;
//Si la lista est vaca, el mtodo devolver 0.
if (listaDatos.size() == 0)
return promedio;
for (Double d : listaDatos)
promedio += d;
promedio = promedio / (double) listaDatos.size();
return promedio;
}
/**
*
Este mtodo realiza el clculo de la desviacin estndar
*
y la devuelve.
*/
private static double calcularDesviacionEstandar()
{
double stdev = 0; // En esta variable se guardan clculos
// temporales
// y al final la desviacin estndar.
double prom = calcularPromedio();
if (prom == 0)
return stdev;
for (Double d : listaDatos)
stdev += Math.pow(d - prom, 2);
stdev = stdev / (double) listaDatos.size();
return stdev;
}
}

Llena la siguiente tabla, indicando en cada nmero de lnea, si esa lnea contar como lnea de
cdigo o no.
Cada nmero de lnea corresponde a cada lnea del programa anterior.
Para decidir si cada lnea deber ser contada o no, debers basarte en el estndar de conteo de
lneas de cdigo que se encuentra despus de esta tabla.

Estndar de codificacin.
Versin: 1.0
El siguiente documento es una gua para realizar el conteo de lneas de cdigo.
a) Toda declaracin o directiva que hace referencia a la importacin de otras clases cuenta como una
lnea de cdigo. Por ejemplo, las instrucciones que comienzan con la palabra reservada import.
b) Toda declaracin de un mtodo cuenta como una lnea de cdigo. Por ejemplo, la sentencia public
static void main(String[] args) contar como una lnea de cdigo.
c) Toda declaracin de variable (atributo o variable) dentro de un mtodo contar como una lnea de
cdigo.
d) Cuando una instruccin sea demasiado larga y ocupe varias lneas, solo se contar como una nica
lnea de cdigo.
e) Toda lnea en blanco no ser contada como lnea de cdigo.
f)

Toda lnea que contenga solo un corchete de apertura o cierre sin ninguna otra instruccin, no ser
contada como lnea de cdigo.

g) Toda lnea que contenga solo comentarios no ser contada como una lnea de cdigo.

No.
de
Lnea
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Cuenta cmo lnea?


S = SI / N = NO
S
S
S
N
S
N
S
N
N
N
N
S
N
S
S
N
S
S
S
S

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67

N
S
S
N
N
N
N
N
N
N
S
N
S
S
S
N
S
N
S
N
N
S
N
N
N
S
N
S
S
N
S
N
N
N
S
N
N
S
S
N
S
N
N
N
N
N
N

68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107

N
N
S
N
S
N
N
S
S
N
S
S
N
S
N
S
N
N
N
N
N
N
S
N
S
N
N
S
N
S
S
N
S
S
N
S
N
S
N
N

You might also like