elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Grafo de flujo duda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Grafo de flujo duda  (Leído 1,285 veces)
splendid37

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Grafo de flujo duda
« en: 22 Abril 2018, 12:46 pm »

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
  1. public float factorial(byte n) throws Exception { // Inicio
  2.    if (n < 0) {  // Nodo 1.
  3.        throw new Exception("Error. El número tiene que ser >=0"); // Nodo 2.
  4.    }
  5.    float resultado = 1; // Nodo 3.
  6.    for (int i = 2; i <= n; i++) { // Nodo 4.
  7.        resultado *= i;
  8.    }
  9.    return resultado; // Nodo 5.
  10. }
  11.  

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



« Última modificación: 22 Abril 2018, 12:49 pm por splendid37 » En línea

user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: Grafo de flujo duda
« Respuesta #1 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


En línea

splendid37

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Grafo de flujo duda
« Respuesta #2 en: 22 Abril 2018, 13:24 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
  1.  
  2. public float factorial(byte n) throws Exception {
  3.    if (n < 0) {  // Nodo 1.
  4.        throw new Exception("Error. El número tiene que ser >=0"); // Nodo 2.
  5.    }
  6.    float resultado = 1;
  7.    for (int i = 2; i <= n; i++) { // Nodo 3.
  8.        resultado *= i;  // Nodo 4.
  9.    }
  10.    return resultado; // Nodo 5.
  11. }
  12.  
  13.  


¿Estaría así correcto?.

Saludos.
« Última modificación: 22 Abril 2018, 13:32 pm por splendid37 » En línea

user-marcos

Desconectado Desconectado

Mensajes: 159


Ver Perfil
Re: Grafo de flujo duda
« Respuesta #3 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.
« Última modificación: 22 Abril 2018, 13:37 pm por user-marcos » En línea

splendid37

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Grafo de flujo duda
« Respuesta #4 en: 22 Abril 2018, 13:40 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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Diagrama de Flujo (duda)
Programación C/C++
Raastah 4 8,142 Último mensaje 20 Abril 2011, 07:13 am
por <<<-Basura->>>
Duda con diagrama de flujo
ASM
.:UND3R:. 2 2,662 Último mensaje 5 Enero 2012, 10:46 am
por .:UND3R:.
Flujo stderr [Duda]
Programación C/C++
apoeti 5 4,639 Último mensaje 3 Septiembre 2012, 20:18 pm
por apoeti
duda con diagrama de flujo
Programación General
Siempre Azul 4 1,846 Último mensaje 9 Marzo 2015, 14:50 pm
por Siempre Azul
Duda MUY sencilla en diagrama de flujo
Programación C/C++
Purple rhino 2 1,338 Último mensaje 5 Septiembre 2016, 10:52 am
por Purple rhino
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines