Resumen: Entrega nº 64 del curso Bases de la programación Nivel I.
Codificación aprenderaprogramar.com: CU00165A

 

 

SEÑALEROS O CENTINELAS

La denominación de señalero o centinela se aplica a una variable o conjunto de variables cuyo fin es contener información que sirve para la toma de decisiones. La aplicación más habitual es la referida a señal de terminación de una serie de datos válidos, en los cuales el señalero está insertado en posición final como si fuera un dato más, pero no lo es. Consideremos como ejemplos de la vida real los siguientes:

 

 

 

a) Un grupo de niños visita un zoológico. Comienza la entrada al mismo y un ordenador registra: Visitante 1, Visitante 2, Visitante 3, ..., Visitante n – 1. El último en entrar es el profesor, quien lleva la carta de invitación y comunica lo siguiente: “El grupo está ya completo. Yo soy el último”. El profesor es el Visitante n. Para preparar unos menús infantiles para el almuerzo, el zoológico tiene en cuenta n – 1 personas.

b) Un grupo de presos sale de la cárcel para un reconocimiento médico, subiendo a un microbús. A cada uno se le asigna un número de asiento. Comienzan a subir y se asignan Asiento 1, Asiento 2, Asiento 3, Asiento 4, Asiento 5, Asiento 6 y el último del grupo es un policía acompañante al que se le asigna el Asiento 7. Este comunica: “El grupo está completo. Podemos salir”. El policía ocupa asiento pero no es tenido en cuenta por el conductor cuando éste reparte unas normas para ser leídas de cara al reconocimiento.

 

 

Hemos visto lo más habitual: señalar el final de un grupo de datos. Pero también pueden considerarse variantes como:

a) Un profesor es el primero en entrar al zoológico para presentarse y controlar a los alumnos dentro. A continuación entra el grupo de alumnos y finalmente otro profesor que cierra la comitiva.

b) Un policía es el primero en entrar, a continuación el grupo de presos y por último otro policía.

c) Después de cada 20 alumnos entra un profesor, hasta que el último entra precedido por 20 o menos alumnos.

d) Entran dos presos y a continuación un policía acompañante. Sucesivamente, un policía por cada dos presos, hasta llegar al último que entra tras uno o dos presos.

 

 

Los casos a) y b) serían de señaleros para inicio y terminación de datos, mientras que los c) y d) serían señaleros de paquetes de datos.

Alternativamente al término señalero se usan otros como centinela, vigilante, indicador, terminador, bandera, señal, delimitante, etc.

Hasta ahora nos venimos refiriendo a señaleros que pasan como elementos del grupo pero no lo son (p. ej. grupo de presos – señalero policía, grupo de alumnos – señalero profesor). Cabe también la posibilidad de que dentro de un grupo un elemento de idénticas características al resto, actúe como señalero. Para ello, ha de conocerse cuál de los elementos es el señalero a priori. Consideremos las siguientes circunstancias de la vida real:

a) Una empresa que transporta graneles por ferrocarril actúa de la siguiente manera. En origen y en destino carga y descarga mientras que en un punto intermedio del recorrido realiza un control de peso y revisión técnica. En un transporte que implica a n ferrocarriles el operario en origen llama al operario en el punto de control y le dice: “Te voy a mandar una serie de ferrocarriles. El último será el que lleva número de serie 003461932”.

b) Un delineante habla con un amigo por teléfono y le dice: “Te envío una serie de correos electrónicos, cada uno con unos archivos de autocad adjuntos y un comentario relativo a su contenido. El último lleva por subject Mobiliario urbano”.

 

 

La diferencia entre este tipo de señaleros y los que veníamos viendo radica en que la señal de “final de grupo” viene dada por un elemento del grupo de idénticas características a los que le preceden. Si a los anteriores los podríamos llamar miembros del grupo de hecho pero no de derecho, en este caso hablaríamos de miembros de hecho y de derecho.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

 

Descargar archivo: