• Martes 7 de Mayo de 2024, 03:32

Autor Tema:  HELP DFD  (Leído 1949 veces)

advancedd

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
HELP DFD
« en: Jueves 9 de Abril de 2009, 07:08 »
0
Hello ... Soy nuevo por aca y me ha parecido muy interesante esta pag.


Porfa necesito ayuda ... no se como ahcer este programa en dfd :(

quien me ayuda'???


El Problema es



Corre el año 2033. La tierra ha sido invadida por seres alienígenas, encabezados por su terrible y malvado líder Noicamargorp, quien lo mantiene cautivo a usted en una celda custodiada por el androide 620109. A su lado, se encuentra el cuerpo inerte de un ex-prisionero, que fue capturado mucho antes que usted. Entre sus pertenencias, usted encuentra la clave para desactivar a 620109 y así escapar y salvar a la humanidad del cruel Noicamargorp (de quien se dice se encarga de destruir principalmente a estudiantes de Ingeniería, con sus sádicos senematrec). En el manuscrito, se señala que para desactivar a 620109 es necesario ingresar la cantidad de pasos necesarios para reducir exactamente N números, los cuales van apareciendo en la pantalla del androide, siguiendo la siguiente regla:
 
•   Si el número es par, dividirlo en dos.
•   Si el número es impar, multiplicarlo por tres y sumarle 1.
•   Se debe repetir este proceso hasta que el número ingresado se transforme en 1.
 
Para poder solucionar el problema, usted deberá escribir un algoritmo que le permita ingresar N números enteros mayores o iguales a 1 (en caso de ingreso de un número menor que 1, se debe imprimir un mensaje de error), aplicar la regla anterior, mostrar los resultados parciales, y calcular la cantidad de pasos necesarios para convertir cada número en 1. Finalmente, deberá mostrar el número total de pasos necesarios para convertir en 1 cada uno de los N números ingresados. Por ejemplo, la salida para la primera iteración de su programa, suponiendo que el número ingresado es 20 sería:
 
              Valor inicial: 20
              Valor siguiente: 10
              Valor siguiente: 5
              Valor siguiente: 16
              Valor siguiente: 8
              Valor siguiente: 4
              Valor siguiente: 2
              Valor siguiente: 1
              Valor final es 1, numero de pasos necesarios: 7
 
Esta salida se genera por cada uno de los N números ingresados, y al final, se debe mostrar la suma de todos los pasos necesarios.

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: HELP DFD
« Respuesta #1 en: Lunes 13 de Abril de 2009, 09:54 »
0
Lee las normas del foro: NO SE HACE LA TAREA

 :hola:

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: HELP DFD
« Respuesta #2 en: Miércoles 15 de Abril de 2009, 01:15 »
0
Cita de: "advancedd"
•   Si el número es par, dividirlo en dos.
•   Si el número es impar, multiplicarlo por tres y sumarle 1.
•   Se debe repetir este proceso hasta que el número ingresado se transforme en 1.
 
 suponiendo que el número ingresado es 20 sería:
 
              Valor inicial: 20
              Valor siguiente: 10
              Valor siguiente: 5
              Valor siguiente: 16
              Valor siguiente: 8
              Valor siguiente: 4
              Valor siguiente: 2
              Valor siguiente: 1
              Valor final es 1, numero de pasos necesarios: 7
 
El algoritmo es una famosa serie que se llama 'serie granizo', aunque probablemente gugleando lo encontrarás más fácilmente con el nombre de la 'Conjetura de Collatz' ...
Hace años estuve trasteando con esta serie para mostrar puntos espaciales en 3 dimensiones, más que nada por curiosear.. pero como te indica Mosquito, no se hacen tareas. Ya tienes info para realizar búsquedas.. si es que vuelves por aquí a leerlo...
por ejemplo el número 99999 produce una serie de 225 números (226 si lo consideras también a él) y el 9999, 98  el 20 que has expuesto 7.
«Ma non troppo»
----> ModoVacaciones = False<----