Ejemplos de Ejercicios realizados en javaDescripción completa
Descripción: ejercucios resueltos
Ejemplo de grafo de código 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 código, 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 habrás visto, se identificaron 3 estatutos condicionales y 8 líneas de secuencias. Para facilitar el diseño 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 código:
Como último paso, se debe traducir el diagrama de flujo a un grafo:
Si analizas la forma en la que se hizo la traducción del diagrama de flujo al grafo, podrás observar que las secuencias pueden englobarse en un mismo nodo del grafo, pues el tener un nodo separado por cada instrucción no afectará el cálculo de la complejidad ciclomática para continuar con el siguiente paso.