Codificación aprenderaprogramar.com: CU00221A
Escribir el pseudocódigo del ejercicio anterior (entrega CU00220A de este curso) prescindiendo de Limitesuperior y usando un señalero (centinela) en su lugar.
Pseudocódigo:
PROGRAMA DATOS01v2 [Ejercicio www.aprenderaprogramar.com]
Variables Enteras: E, Maxdato Reales: Dato()
1. Inicio 2. Mientras E <> 5 Hacer 2.1 Si E = 1 Entonces Llamar Añadir FinSi 2.2 Si E = 2 Entonces Llamar Borrar FinSi 2.3 Si E = 3 Entonces Mostrar “El número de datos actualmente en la lista es de”, Maxdato FinSi 2.4 Si E = 4 Entonces Llamar Listar FinSi 2.5 Mostrar “Elija una opción. 1. Añadir dato. 2. Borrar dato. 3. Conocer el total de datos. 4. Mostrar Lista. 5. Salir.” 2.6 Pedir E Repetir 3. Fin
Módulo Añadir 1. Redimensionar Dato(Maxdato + 1) 2. Maxdato = Maxdato + 1 3. Mostrar “Introduzca valor a añadir” 4. Pedir Dato(Maxdato) FinMódulo
Módulo Borrar Variables Enteras: i, Numborrar 1. Si Maxdato <> 0 Entonces 1.1 Numborrar = 0 1.2 Mientras Numborrar < 1 ó Numborrar > Maxdato Hacer Mostrar “Introduzca el nº de dato a borrar” Pedir Numborrar Repetir 1.3 Si Numborrar < Maxdato Entonces Desde i = Numborrar hasta Maxdato – 1 Dato(i) = Dato(i + 1) Siguiente FinSi 1.4 Redimensionar Dato(Maxdato – 1) 1.5 Mostrar “Dato borrado” FinSi 2. Si Maxdato = 0 Entonces Mostrar “La lista está vacía” FinSi FinMódulo
Módulo Listar Variables Enteras: i 1. Desde i = 1 hasta Maxdato Hacer Mostrar Dato(i) Siguiente FinMódulo |
Comentarios: Maxdato funciona como Limitesuperior pero hay que proceder a su actualización cada vez que se redimensiona ya que el proceso no es “automático”. Nótese que aparece una cierta simplificación en la escritura al resultar menos farragoso Maxdato que Limitesuperior(Dato).
Ya hemos comentado ventajas e inconvenientes al hablar de Manejo de datos con arrays – Límite superior e inferior, por lo que a ello nos remitimos.
Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link: Ver curso completo.