Grafo de flujo duda

Iniciado por splendid37, 22 Abril 2018, 12:46 PM

0 Miembros y 1 Visitante están viendo este tema.

splendid37

Tengo que representar un grafo de flujo del siguiente código que calcula un factorial (he identificado las diferentes partes del código con las secciones del grafo de abajo):

Código (java) [Seleccionar]

public float factorial(byte n) throws Exception { // Inicio
   if (n < 0) {  // Nodo 1.
       throw new Exception("Error. El número tiene que ser >=0"); // Nodo 2.
   }
   float resultado = 1; // Nodo 3.
   for (int i = 2; i <= n; i++) { // Nodo 4.
       resultado *= i;
   }
   return resultado; // Nodo 5.
}


Esto es lo que he realizado, pero no sé si lo tengo hecho correctamente:


user-marcos

Cada nodo es un cambio de flujo, no cada línea, suponiendo que si lanzas la excepción la ejecución continúa, yo lo haría así:
https://bit.ly/2HRl7QH

splendid37

#2
Cita de: user-marcos en 22 Abril 2018, 13:03 PM
Cada nodo es un cambio de flujo, no cada línea, suponiendo que si lanzas la excepción la ejecución continúa, yo lo haría así:
https://bit.ly/2HRl7QH

Código (java) [Seleccionar]


public float factorial(byte n) throws Exception {
   if (n < 0) {  // Nodo 1.
       throw new Exception("Error. El número tiene que ser >=0"); // Nodo 2.
   }
   float resultado = 1;
   for (int i = 2; i <= n; i++) { // Nodo 3.
       resultado *= i;  // Nodo 4.
   }
   return resultado; // Nodo 5.
}




¿Estaría así correcto?.

Saludos.

user-marcos

#3
1- if
2- throw
3- for
4- resultado *= i
5- return

En Internet hay muchos ejemplos, incluso hay programas que le pasas el código y te generan el diagrama.

splendid37

Cita de: user-marcos en 22 Abril 2018, 13:33 PM
1- if
2- throw
3- for
4- resultado *= i
5- return

En Internet hay muchos ejemplos, incluso hay programas que le pasas el código y te generan el diagrama.

Muchas gracias por la ayuda.

La verdad es que no encontré muchos ejemplos sobre estos diagramas, me podrías decir el nombre de algún programa que los realize?

Gracias, Saludos.