Está en la página 1de 3

Ejemplo de grafo de cdigo Java.

1 while(a == 10){ 2 System.out.println(a es igual a 10); 3 if(b == 20){ 4 System.out.println(a sigue siendo igual a 10); 5 System.out.println(b es igual a 20); 6 } else { 7 if(c == 30){ 8 System.out.println(c es igual a 30); 9 } else{ 10 System.out.println(c no es igual a 30); 11 } 12 System.out.println(b no es 20 y se imprimio el valor de c); 13 } 14 a = lector.nextInt(); 15 } else{ 16 System.out.println(a no es igual a 10); 17 }

Una vez analizado el cdigo, se deben identificar las estructuras de control de flujo y las secuencias implicadas (en amarillo las estructuras de control y en azul las secuencias):
1 while(a == 10){ 2 System.out.println(a es igual a 10); 3 if(b == 20){ 4 System.out.println(a sigue siendo igual a 10); 5 System.out.println(b es igual a 20); 6 } else { 7 if(c == 30){ 8 System.out.println(c es igual a 30); 9 } else{ 10 System.out.println(c no es igual a 30); 11 } 12 System.out.println(b no es 20 y se imprimio el valor de c); 13 } 14 a = lector.nextInt(); 15 } else{ 16 System.out.println(a no es igual a 10); 17 }

Como habrs visto, se identificaron 3 estatutos condicionales y 8 lneas de secuencias. Para facilitar el diseo del diagrama de flujo se procede a numerar cada una de estas identificaciones:
1 while(a == 10){ (1) 2 System.out.println(a es igual a 10); (2) 3 if(b == 20){ (3) 4 System.out.println(a sigue siendo igual a 10); (4) 5 System.out.println(b es igual a 20); (5) 6 } else { 7 if(c == 30){ (6) 8 System.out.println(c es igual a 30); (7) 9 } else{ 10 System.out.println(c no es igual a 30); (8) 11 } 12 System.out.println(b no es 20 y se imprimio el valor de c); (9) 13 }

14 a = lector.nextInt(); (10) 15 } else{ 16 System.out.println(a no es igual a 10); (11) 17 }

Ya realizado el paso anterior, es necesario generar el diagrama de flujo del cdigo:

Como ltimo paso, se debe traducir el diagrama de flujo a un grafo:

Si analizas la forma en la que se hizo la traduccin del diagrama de flujo al grafo, podrs observar que las secuencias pueden englobarse en un mismo nodo del grafo, pues el tener un nodo separado por cada instruccin no afectar el clculo de la complejidad ciclomtica para continuar con el siguiente paso.

También podría gustarte