SHARE
TWEET

Algoritmo - Challenge 13

a guest Jun 21st, 2011 806 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ////////////////////////////
  2. // ALGORITMO DEL PROGRAMA //
  3. ////////////////////////////
  4.  
  5. ////////////////////////////
  6. // ALGORITMO DEL PROGRAMA //
  7. ////////////////////////////
  8.  
  9. DEFINE: <segundosTieneUnMinuto> "60" :fin-DEFINE
  10. DEFINE:  <segundosTieneUnaHora> "60" :fin-DEFINE
  11. DEFINE:   <minutosTieneUnaHora> "60" :fin-DEFINE
  12. DEFINE:    <segundosTieneUnDia> "60" :fin-DEFINE
  13. DEFINE:       <horasTieneUnDia> "24" :fin-DEFINE
  14.  
  15. DEFINE: <ledsQueTieneUn><0> "6" :fin-DEFINE
  16. DEFINE: <ledsQueTieneUn><1> "2" :fin-DEFINE
  17. DEFINE: <ledsQueTieneUn><2> "5" :fin-DEFINE
  18. DEFINE: <ledsQueTieneUn><3> "5" :fin-DEFINE
  19. DEFINE: <ledsQueTieneUn><4> "4" :fin-DEFINE
  20. DEFINE: <ledsQueTieneUn><5> "5" :fin-DEFINE
  21. DEFINE: <ledsQueTieneUn><6> "6" :fin-DEFINE
  22. DEFINE: <ledsQueTieneUn><7> "3" :fin-DEFINE
  23. DEFINE: <ledsQueTieneUn><8> "7" :fin-DEFINE
  24. DEFINE: <ledsQueTieneUn><9> "6" :fin-DEFINE
  25.  
  26. FUNCTION cuantosiTieneUn( <i>, <n> ):
  27.         RETORNA( el valor de <ledsQueTieneUn>< el valor de la división entera de <i> entre "10" > mas <ledsQueTieneUn>< el valor del resto de la división entera de <i> entre "10" > )
  28. :fin-FUNCION
  29.  
  30. FUNCTION cuantosiAcumulaUn( <i>, <n> ):
  31.         SI( <n> tiene el valor "0" ):
  32.         - Decrementar el valor de <n> una unidad
  33.                 RETORNA( el valor que retorna <cuantosiAcumulaUn(<i>,<n>)> mas <cuantosiTieneUn(<i>,<n>)
  34.         :SI-NO:
  35.                 RETORNA( 0 )   
  36.         :fin-SI
  37. :fin-FUNCION
  38.  
  39. FUNCTION ledsEn( <n> ){
  40.         - Declarar una variable <parpadeos> de tipo numérico
  41.         - Asignar a <parpadeos> el valor "0"
  42.        
  43.         - Declarar una variable <horas> de tipo numérico
  44.         - Declarar una variable <minutos> de tipo numérico
  45.         - Declarar una variable <segundos> de tipo numérico
  46.        
  47.         - Declarar una variable <vueltasDias> de tipo numérico
  48.         - Declarar una variable <vueltasMinutos> de tipo numérico
  49.         - Declarar una variable <vueltasHoras> de tipo numérico
  50.  
  51.         - Asignar a <vueltasMinutos> el valor de la división entera de <n> entre <segundosTieneUnMinuto>
  52.         - Asignar a <segundos> el valor del resto de la división entera de <n> entre <segundosTieneUnMinuto>
  53.        
  54.         - Asignar a <n> el valor de <vueltasSegundos>
  55.        
  56.         - Asignar a <vueltasHoras> el valor de la división entera de <n> entre <minutosTieneUnaHora>
  57.         - Asignar a <minutos> el valor del resto de la división entera de <n> entre <minutosTieneUnaHora>
  58.        
  59.         - Asignar a <n> el valor de <vueltasMinutos>
  60.        
  61.         - Asignar a <vueltasDias> el valor de la división entera de <n> entre <horasTieneUnDia>
  62.         - Asignar a <horas> el valor del resto de la división entera de <n> entre <horasTieneUnDia>
  63.        
  64.         - Declarar una variable <i> de tipo numérico
  65.         - Asignar a <i> el valor "0"
  66.         MIENTRAS( <i> no sea mayor que "9" ):
  67.                 - Incrementar el valor de <parpadeos> el valor de <cuantosiAcumulaUn(<i>,"59")> por <vueltasMinutos> más el valor de <cuantosiAcumulaUn(<i>,<segundos>)>
  68.                 - Incrementar el valor de <parpadeos> el valor de <cuantosiAcumulaUn(<i>,"59")> por <vueltasHoras> más el valor de <cuantosiAcumulaUn(<i>,<minutos>)>
  69.                 - Incrementar el valor de <parpadeos> el de <cuantosiAcumulaUn(<i>,"23")> por <vueltasDias> más el valor de <cuantosiTieneUn(<i>,<horas>)>
  70.         :fin-MIENTRAS
  71.        
  72.         RETORNA( el valor de <parpadeos> )
  73.        
  74. :fin-FUNCION
  75.  
  76. PROGRAMA:
  77.  
  78.         - Declarar una variable <segundos> de tipo numérico
  79.         - Declarar una variable <parpadeos> de tipo numérico
  80.  
  81.         REPETIR mientras( queden líneas ):
  82.        
  83.                 - Leer un número y asignarlo a <segundos>
  84.                
  85.                 - Asignar a <parpadeos> el valor que retorna la función <ledsEn( <segundos> )>
  86.                
  87.                 // MOSTRAR EL RESULTADO
  88.                 - Mostrar el valor de <parpadeos>
  89.         :fin-REPETIR
  90. :fin-PROGRAMA
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top