Guest User

Untitled

a guest
Jun 24th, 2011
938
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ////////////////////////////
  2. // ALGORITMO DEL PROGRAMA //
  3. ////////////////////////////
  4.  
  5. PROGRAMA:
  6.    
  7.     - Declarar una variable <autonomia> de tipo numérico
  8.     - Declarar una variable <total> de tipo numérico
  9.     - Declarar una variable <numeroEstaciones> de tipo numérico
  10.    
  11.     - Declarar una variable <distancia> de tipo numérico
  12.     - Declarar una variable <numeroParadas> de tipo numérico
  13.     - Declarar una variable <i> de tipo numérico
  14.    
  15.     - Declarar una variable <N> de tipo numérico
  16.     - Leer un número y asignarlo a <N>
  17.    
  18.     REPETIR mientras( el valor de <N> sea mayor que "0" ):
  19.  
  20.         - Declarar un contenedor <estaciones> de elementos tipo numérico
  21.         - Leer un número y asignarlo a <autonomia>
  22.         - Leer un número y asignarlo a <total>
  23.         - Leer un número y asignarlo a <numeroEstaciones>
  24.        
  25.         REPETIR mientras( el valor de <numeroEstaciones> sea mayor que "0" ):
  26.             - Decrementar el valor de <numeroEstaciones> en una unidad
  27.             - Leer un número y asignarlo a <distancia>
  28.             - Añadir por el final de <estaciones> el valor de <distancia>
  29.         :fin-REPETIR
  30.                
  31.         - Declarar un contenedor <visitas> de elementos tipo booleano
  32.         - Dimensionar <visitas> al valor de <numeroEstaciones>
  33.         - Inicializar a todos los elementos de <visitas> con el valor "0" // todas las estaciones sin visitar
  34.        
  35.         - Añadir por el final de <estaciones> el valor <autonomia> más "1" // Poner una gasolinera ficticia a la que no se pueda llegar
  36.         - Asignar a <numeroParadas> el valor "0"
  37.         - Asignar a <posicion> el valor "0"
  38.         - Asignar a <i> el valor "0"
  39.        
  40.         REPETIR mientras( (<i> sea menor que el <numeroEstaciones>) y (<posicion> más <autonomia> es menor que <total>) ):
  41.             SI( el valor de <posicion> más <autonomía> es menor que el valor del elemento (<i> más "1") de <estaciones> ):
  42.                 - Asignar al elemento <i> de <visitas> el valor "1"
  43.                 - Asignar a <posicion> el valor del elemento <i> de <estaciones>               
  44.                 - Incrementar el valor de <numeroParadas> en una unidad        
  45.             :fin-SI
  46.            
  47.             - Incrementar el valor de <i> en una unidad
  48.            
  49.         :fin-REPETIR
  50.  
  51.         SI( el valor de <numeroParadas> es mayor que "0" ):
  52.        
  53.             - Asignar a <i> el valor "0"
  54.             REPETIR mientras( <i> sea menor que el <numeroEstaciones> ):
  55.                 SI( el valor del elemento <i> de <estaciones> es "1" ):
  56.                     - Mostrar el valor de <i> (sin salto de línea)
  57.                 :fin-SI            
  58.                 - Incrementar el valor de <i> en una unidad
  59.             :fin-REPETIR
  60.            
  61.             - Mostrar un salto de línea
  62.            
  63.         :SI-NO:
  64.             - Mostrar "No stops"
  65.         :fin-SI
  66.    
  67.     :fin-MIENTRAS
  68.    
  69. :fin-PROGRAMA
RAW Paste Data