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):
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:
(https://i.stack.imgur.com/zmLHA.png)
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 (https://bit.ly/2HRl7QH)
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 (https://bit.ly/2HRl7QH)
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.
}
(https://image.ibb.co/cXnh6x/Sin_t_tulo.jpg)
¿Estaría así correcto?.
Saludos.
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.
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.