ALGORITMO
Enviado por seba1165 • 23 de Abril de 2015 • Tesis • 636 Palabras (3 Páginas) • 213 Visitas
CAPÍTULO 4: ALGORITMO
En esta sección se hace un algoritmo del programa. Se divide según los métodos que se crearon. En partes de este algoritmo se hace mención a variables que no son instanciadas, que son parte de las variables de tipo Caso y estas son diasSobran y solucion. Ambas parten en 0 cuando se crea una variable de tipo Caso.
4.1 MÉTODO MAIN
• Se abre el fichero de entrada “Input” y se comienza a leer.
• Se crea el archivo de salida “Output”.
• Mientras no se termine de leer el archivo de entrada.
Se crea un arreglo llamado datos de tamaño 2.
Se guardan los dos números leídos de la primera línea en cada posición del arreglo datos.
Se guarda en campings el valor entero correspondiente a lo guardado en datos[0] y en noches lo de datos[1].
Se crea un arreglo distancias es de largo campings.
Para i = 0 hasta campings +1
• Leer línea
• distancias[i] = valor de tipo doble correspondiente a la línea leída.
Si noches >=300 o campings>=600 noches==0 o campings==0
• Se imprime en el archivo de salida que no se desarrollar ninguna solución.
CC.
• juntar = campings – noches +1.
• Se crea una variable caso que contenga todos los datos que se leyeron y calcularon: campings, noches, distancias, juntar.
• Se llama al método Inicio.
• Si diasSobran es distinto de 0.
Se imprime en el archivo de salida el valor de la variable solucion y también se imprime una frase que indica cuantos días sobraron.
• CC.
Se imprime el valor de solucion en el archivo de salida.
• Se cierra el archivo de salida.
4.2 MÉTODO INICIO
• Si noches==campings.
solucion=Mayor de distancias.
• CC.
Si campings<noches.
• diasSobran=noches-campings.
• solucion=Mayor de distancias.
CC.
• distancia1=distancias[0].
• distancia2=0.
• Para i=0 hasta juntar
distancia2=distancia2+distancias[i].
• Backtracking (indice = 1, valorMayorAnterior = distancia1, dia = 1, condicion = 0).
• Backtracking (indice = 1, valorMayorAnterior = distancia2, dia = 1, condicion = 1).
4.3 MÉTODO MAYOR
• resultado=distancias[0].
• Para i=0 hasta tamaño de distancias[]
Si distancias[i]>resultado.
• resultado=distancias[i].
• Retornar resultado.
4.5 MÉTODO BACKTRACKING
• Si noches+1=dia.
Si solucion==0.
• solucion=valorMayorAnterior.
CC.
• Si solucion>valorMayorAnterior.
solucion=valorMayorAnterior.
• CC.
Si condicion==1.
• Si valorMayorAnterior<distancias[indice].
valorMayorAnterior=distancias[indice].
• Backtracking (indice+1, valorMayorAnterior, dia+1, 1).
CC.
• Si noche==dia.
valorN=0.
restantes=tamaño de distancias[] – indice.
Para i = 0 hasta restantes.
• valorN=valorN+distancias[indice+i].
...