152 Estructuras de datos
El fragmento de algoritmo correspondiente a este desplazamiento, en un arreglo de nombre M,
podría ser:
Repetir Para L ← P_elim + 1, P_ult
M(L-1) ← M(L)
Fin_para
donde:
P_elim corresponde a la posición del arreglo que contiene un valor a eliminar
P_ult corresponde a la última posición del arreglo que contiene un valor válido
Problema de aplicación:
- Insertar un valor. Esto se podría lograr desplazando hacia posiciones “vacías”, a aquellos
valores que están en posiciones posteriores a la de inserción (por ejemplo el valor 29 se puede
insertar en el 3er. elemento, previa copia, del valor que estaba allí, en el 4to. elemento)
El fragmento de algoritmo correspondiente a este desplazamiento, en un arreglo de nombre M,
6.4 Actividad para los estudiantes 153
podría ser:
Repetir Para L ← P_ult, P_ins, -1
M(L+1) ← M(L)
Fin_para
donde:
P_ult corresponde a la última posición del arreglo que contiene un valor válido.
P_ins corresponde a la posición donde se quiere ubicar al nuevo valor
Problema de aplicación:
Ingresar a memoria un conjunto de 20 números enteros, ubicándolos en un arreglo de 150
elementos desde la 1
o
a la 20
o
posición del mismo.
A partir de esto, insertar en la posición 15
o
del arreglo el valor 999, tal que no se pierda ningún
valor contenido en el arreglo ni se altere su secuencia de almacenamiento, quedando así 21
valores en memoria.
6.4 Actividad para los estudiantes
A continuación describimos situaciones problemáticas y luego planteamos algunas preguntas
referidas a esos enunciados, que sugerimos las respondan:
Problema 1:
De cada uno de los alumnos de una institución educativa se tienen los siguientes pares de datos:
-N
o
de identificación del curso al que asiste (número entero entre 1 y 7)
- Nota que obtuvo en el último examen parcial (número con parte decimal)
No se sabe la cantidad de alumnos por curso, sólo se puede asegurar que son 7 cursos. Estos
pares de datos se presentan sin orden.