/*--------------------------------------------------------------------
 * FICHERO:  TecPerte.c
 * OBJETIVO: Definir la funcin Tec_Pertenece()
 * AUTOR:    Pedro Reina
 * FECHA:    V.14.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Tecla.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Tec_Pertenece()
 * OBJETIVO: Decidir si una tecla pertenece a cierto rango
 * ENTRADAS: Una tecla y un vector con las teclas admitidas,
 *           terminado en NIL
 * SALIDAS:  La tecla si pertenece o NIL si no pertenece
 * EJEMPLO:  Tec_Pertenece ( TEC_F1, {TEC_ESC,NIL} )
 * ALGORITMO:
 *     Hacer Valido NO
 *     Mientras no Valido
 *       Para cada tecla del rango mientras no Valido
 *         Si la tecla pedida es de las admitidas
 *           Hacer Valido SI
 *     Si no Valido, devolver NIL
 *     Si Valido, devolver Tecla
 *------------------------------------------------------------------*/
tecla Tec_Pertenece (Tecla,Rango)
tecla Tecla, Rango[];
  {
  logico   Valido;
  contador i;
  tecla    Respuesta;

  Valido = NO;
  for ( i=0 ; Rango[i] && !Valido ; i++ )
    {
    if ( Tecla == Rango[i] ) { Valido = SI; }
    }
  if ( Valido ) { Respuesta = Tecla; }
  else          { Respuesta = NIL; }

  return ( Respuesta );
  }