Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ////////////////////////////
- // ALGORITMO DEL PROGRAMA //
- ////////////////////////////
- PROGRAMA:
- - Declarar una variable <autonomia> de tipo numérico
- - Declarar una variable <total> de tipo numérico
- - Declarar una variable <numeroEstaciones> de tipo numérico
- - Declarar una variable <distancia> de tipo numérico
- - Declarar una variable <numeroParadas> de tipo numérico
- - Declarar una variable <i> de tipo numérico
- - Declarar una variable <N> de tipo numérico
- - Leer un número y asignarlo a <N>
- REPETIR mientras( el valor de <N> sea mayor que "0" ):
- - Declarar un contenedor <estaciones> de elementos tipo numérico
- - Leer un número y asignarlo a <autonomia>
- - Leer un número y asignarlo a <total>
- - Leer un número y asignarlo a <numeroEstaciones>
- REPETIR mientras( el valor de <numeroEstaciones> sea mayor que "0" ):
- - Decrementar el valor de <numeroEstaciones> en una unidad
- - Leer un número y asignarlo a <distancia>
- - Añadir por el final de <estaciones> el valor de <distancia>
- :fin-REPETIR
- - Declarar un contenedor <visitas> de elementos tipo booleano
- - Dimensionar <visitas> al valor de <numeroEstaciones>
- - Inicializar a todos los elementos de <visitas> con el valor "0" // todas las estaciones sin visitar
- - Añadir por el final de <estaciones> el valor <autonomia> más "1" // Poner una gasolinera ficticia a la que no se pueda llegar
- - Asignar a <numeroParadas> el valor "0"
- - Asignar a <posicion> el valor "0"
- - Asignar a <i> el valor "0"
- REPETIR mientras( (<i> sea menor que el <numeroEstaciones>) y (<posicion> más <autonomia> es menor que <total>) ):
- SI( el valor de <posicion> más <autonomía> es menor que el valor del elemento (<i> más "1") de <estaciones> ):
- - Asignar al elemento <i> de <visitas> el valor "1"
- - Asignar a <posicion> el valor del elemento <i> de <estaciones>
- - Incrementar el valor de <numeroParadas> en una unidad
- :fin-SI
- - Incrementar el valor de <i> en una unidad
- :fin-REPETIR
- SI( el valor de <numeroParadas> es mayor que "0" ):
- - Asignar a <i> el valor "0"
- REPETIR mientras( <i> sea menor que el <numeroEstaciones> ):
- SI( el valor del elemento <i> de <estaciones> es "1" ):
- - Mostrar el valor de <i> (sin salto de línea)
- :fin-SI
- - Incrementar el valor de <i> en una unidad
- :fin-REPETIR
- - Mostrar un salto de línea
- :SI-NO:
- - Mostrar "No stops"
- :fin-SI
- :fin-MIENTRAS
- :fin-PROGRAMA
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement