6








                                     TECNICAS
                                           
                          SECCION 4. LENGUAJE DE FORMATEO  
                                       parte a
          _________________________________________________________________

          El lenguaje de formateo permite al usuario definir  con precisi¢n
          los  requerimientos  de formateo de  los registros de  la base de
          datos.  A travs de este lenguaje  puede seleccionarse uno  o m s
          datos elementales, en el orden que se desee, y en forma opcional,
          insertar los textos  fijos que se  deseen,  p.ej.  para etiquetar
          algunos   o   todos   los   campos,   as¡  como  especificar  los
          requerimientos de espaciado vertical y horizontal. A la colecci¢n
          de comandos de formateo en el lenguaje descrito  en este cap¡tulo
          se le  denomina  un  formato.  En  general,  un formato define un
          subconjunto del registro de la base de datos,  que puede entonces
          ser usado por CDS/ISIS para realizar una funci¢n dada. Aunque los
          formatos son principalmente  usados para especificar la  forma en
          que se despliegan los registros en la pantalla o en la impresora,
          tambin  son ampliamente usados  por el  sistema cada  vez que se
          desea realizar una operaci¢n sobre uno o  m s  datos elementales.
          Por  ejemplo,  en  una Tabla de  Selecci¢n de  Campos,  se usa un
          formato  para especificar a  cuales datos se debe  aplicar cierta
          tcnica de indizado.  El lenguaje de formateo es por lo  tanto el
          n£cleo de muchas operaciones de  CDS/ISIS,  y un uso eficiente de
          CDS/ISIS requiere de un conocimiento amplio de esta  tcnica. Una
          definici¢n  formal  del  lenguaje  de  formateo  se  presenta  en
          "Descripci¢n formal del lenguaje de formateo de CDS\ISIS".


          Para  un  principiante,   algunos  formatos  pueden  parecer  muy
          complejos,  dando la  impresi¢n de  que el  lenguaje  de formateo
          mismo sea complejo.  En realidad, todos los formatos, aun los m s
          complicados,   est n   compuestos  de  uno   o   m s  comandos  o
          declaraciones  simples,   separados  por  comas  o  espacios.  La
          aparente  complejidad deriva de que puede haber  muchos  de estos
          comandos en un formato.  Por lo tanto, la clave para entender los
          formatos es analizar cada comando en forma individual.

          Aunque todos los formatos se definen utilizando el mismo lenguaje
          de formateo, pueden clasificarse de acuerdo con el uso que se les
          pretende dar, del modo siguiente:

          Formatos de despliegue: son usados para desplegar registros en la
          pantalla o para imprimirlos en una impresora (en este £ltimo caso
          se les conoce como formatos de impresi¢n);

          Formatos de  extracci¢n:  son usados en las FST  para definir los
          datos a ser indizados.




                                         47








          Cuando CDS/ISIS procesa un formato,  trabaja con tres objetos: un
          registro de la base de datos,  el formato,  y una  rea de trabajo
          donde se almacena el producto generado por el formato. Los coman-
          dos se ejecutan secuencialmente en el orden en que aparecen en el
          formato. Algunos comandos generan datos (p.ej. el contenido de un
          campo determinado),  mientras que otros producen  acciones (tales
          como saltar a una nueva l¡nea,  dejar una o m s l¡neas en blanco,
          etc.).  Los datos producidos son almacenados como l¡neas de texto
          en el  rea de trabajo,  que posteriormente se transfieren al pro-
          grama relevante para su proceso, p. ej. para que sean impresas.

          Cuando  un  formato  se  usa  para  desplegar  datos,  las l¡neas
          producidas normalmente est n limitadas a  cierta  longitud m xima
          (el ancho de l¡nea). Por ejemplo, cuando se presentan datos en la
          pantalla,  CDS/ISIS limita autom ticamente el ancho de la l¡nea a
          80  caracteres.  A menos que se  fuerce  un  salto  de  l¡nea con
          comandos expl¡citos,  CDS/ISIS producir   una  salida secuencial,
          tratando de llenar cada l¡nea tanto como sea posible. Si un campo
          dado excede el ancho de la l¡nea,  CDS/ISIS lo partir   en tantas
          l¡neas como  sea necesario.  Cuando CDS/ISIS separa  los datos en
          l¡neas,  el corte siempre ocurre al nivel de palabra,  o sea, una
          palabra nunca ser  dividida en dos l¡neas.

          Todos los comandos de formateo pueden  introducirse en may£scula,
          min£scula o en combinaciones de ambas.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
              MFN = 4

              Etq                  Contenido
              ---   --------------------------------------------------- 

               24   <An> Electric hygrometer apparatus for measuring
                     water-vapour loss from plants in the field

               26   ^aParis^bUnesco^c1965

               30   ^ap. 247-257^billus.

               44   Methodology of plant eco-physiology: proceedings of the
                    Montpellier Symposium

               50   Incl. bibl.

               69 Paperon:<hygrometers><planttranspiration><moisture>
                  <water balance>

               70   Grieve, B.J.

               70   Went, F.W.
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 6

          A menos que  se  indique  lo  contrario,  todos  los  ejemplos de
          formateo  de  la  siguiente secci¢n se  refieren  al  registro de
          muestra que se presenta en la figura 6, en la que el contenido de


                                         48








          cada  campo se  muestra tal como  es  almacenado  realmente en el
          registro.  Este registro  ha sido tomado  de la base  de datos de
          muestra  CDS,  contenida  en  el  diskete  original  de  CDS/ISIS
          suministrado  por  la  Unesco  (la  FDT  de  la  base   de  datos
          correspondiente se presenta bajo  "Tabla de Definici¢n  de Campos
          (FDT)" en la p g. ).

          A. Selectores de campos

          Los  selectores  de  campos  son comandos usados para  extraer un
          campo o subcampo espec¡fico  de un registro.  Un comando especial
          permite  extraer  el  MFN  del  registro,  aunque  el  MFN  no es
          propiamente un campo (el MFN no tiene etiqueta y no  se define en
          la FDT).

          1. Comando de selecci¢n de campo

          Para extraer un  campo de  un  registro,  se codifica  la letra V
          seguida de la etiqueta del campo a ser extra¡do.  La letra V (una
          abreviatura  de  campo de  longitud  Variable)  es el comando que
          indica a CDS/ISIS que se desea extraer un  campo. Puede indicarse
          indistintamente  en  may£scula o min£scula.  La  figura 7 muestra
          algunos ejemplos.

             Formato                Salida
             ------- ------------------------------------------------
             v24     <An> Electric hygrometer apparatus for measuring
                      water-vapour loss from plants in the field

             v26     ^aParis^bUnesco^c1965

             v30     ^ap. 247-257^billus.

             v44     Methodology of plant eco-physiology: proceedings of
                     the Montpellier Symposium

             Figura 7


          2. Comando de selecci¢n de subcampo

          Para extraer  un subcampo en  particular de un  campo dado, basta
          con  a¤adir  el  delimitador  de  subcampo  correspondiente  a la
          etiqueta,  tal como se muestra en la  figura 8.  N¢tese que puede
          utilizarse   el  delimitador   especial  de   subcampo   ^*  para
          seleccionar el primer subcampo, sin importar de cual se trate. En
          este  caso,  el primer subcampo no requiere haber  sido precedido
          por un delimitador de subcampo.

          N¢tese que,  como  los delimitadores de  subcampo  alfabticos no
          toman en cuenta si se trata de may£sculas o de min£sculas, pueden
          usarse de cualquiera de las dos formas indistintamente.






                                         49








          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
            Formato  Salida
            -------  ------------------------------------------------
             v26^B   Unesco

             v26^a   Par¡s

             v30^a   p. 247-257

             v44^*   Methodology of plant eco-physiology: proceedings of
                     the Montpellier Symposium

             v26^*   Par¡s
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 8

          3. Extracci¢n de un fragmento de campo o de subcampo

          En algunos casos puede ser  necesario  extraer  una  parte  de un
          campo que no est definida como  subcampo, particularmente cuando
          el campo tiene un  formato fijo en toda  la base de  datos (p.ej.
          una fecha normalizada  de forma AA-MM-DD).  Esto puede realizarse
          a¤adiendo   el  comando   desplazamiento/longitud  inmediatamente
          despus del comando de selecci¢n de campo o de subcampo de que se
          trate.      Este     comando     puede     especificarse     como
          *desplazamiento.longitud, o *desplazamiento o .longitud, donde:

             *desplazamiento indica la  posici¢n del  primer caracter a ser
          extra¡do del campo o subcampo (la posici¢n  de  los caracteres se
          cuenta desde cero;  esto es,  el primer caracter corresponde a la
          posici¢n  0,  el  segundo a la  posici¢n  1,  etc.); si se omite,
          CDS/ISIS presupone un desplazamiento de cero;

             .longitud   indica el n£mero de caracteres a ser extra¡dos; si
          se omite,  el  resto del campo (o  del subcampo)  iniciando desde
          desplazamiento, ser  extra¡do.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
             Formato                      Salida
             -----------------    -------------------------------
             v1*3.3                       Nov

             v1.2                         88

             v1*7                         05

             v1*7,v1*2.4                  05-Nov

             v1*7,v1*2.5,v1.2             05-Nov-88

             v26.3                        ^aP

             v26^b*2.4                    esco
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 9



                                         50








          Algunos ejemplos de este comando se presentan en la figura  9, en
          donde se supone que el  registro de muestra  considerado contiene
          tambin un campo 1 como sigue:

                                  88-Nov-05

          N¢tese la diferencia en el manejo de subcampos en los dos £ltimos
          ejemplos: cuando se maneja como si fuera un campo (p.ej. V26), el
          desplazamiento  cero  representa  la  primera  posici¢n  real del
          campo,  mientras que cuando se selecciona un  subcampo espec¡fico
          (p.ej.  V26^b),  el  desplazamiento  cero  representa  el  primer
          caracter conteniendo datos despus del delimitador de subcampo.

          4. Comando de sangr¡a

          Cuando  CDS/ISIS  ejecuta un  comando  de  campo  o  de subcampo,
          normalmente escribe el contenido del campo en la  posici¢n actual
          de la l¡nea,  lo cual depende del £ltimo comando ejecutado. Si el
          campo no cabe en su totalidad en la l¡nea actual, CDS/ISIS crear 
          tantas l¡neas adicionales como  sean  necesarias. Normalmente las
          l¡neas de continuaci¢n inician en la posici¢n 1 del rengl¢n. Esto
          puede ser modificado  incluyendo  el comando de sangr¡a,  el cual
          debe  seguir inmediatamente despus del comando  de  selecci¢n de
          campo (o de subcampo).  El comando de sangr¡a se  especifica como
          (f,c) o (f), donde:

              f indica el  n£mero de espacios  que deben saltarse  desde el
              margen izquierdo,  antes de formatear la primera (o la £nica)
              l¡nea  del campo.  Solo  opera si  el campo  es formateado al
              inicio de una l¡nea, en caso contrario es ignorado;
              
              c indica  el n£mero de  espacios que deben  saltarse desde el
              margen  izquierdo,  antes de  formatear todas  las  l¡neas de
              continuaci¢n de un campo que  requiera m s de una  l¡nea para
              ser desplegado.
              
          Puede especificarse un valor de cero tanto para  f,  como para c.
          Si solo se necesita f, puede omitirse c (CDS/ISIS aporta cero por
          omisi¢n).   Sin   embargo,   si  se  requiere   c,  tambin  debe
          especificarse f. La figura 10 presenta algunos ejemplos.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
              Formato    Salida
              -------    -----------------------------------------
              v44        Methodology of plant eco-physiology: proceedings
                         of the Montpellier Symposium
              v44(10)    Methodology of plant eco-physiology: proceedings
                         of the Montpellier Symposium
              v44(5,9)   Methodology of plant eco-physiology: proceedings
                         of the Montpellier Symposium
              v44(0,8)   Methodology of plant eco-physiology: proceedings
                         of the Montpellier Symposium
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 10




                                         51








          5. Comando MFN

          Para extraer el  MFN de  un  registro,  puede usarse el siguiente
          comando:

          MFN o MFN(d)

          donde  d es  el  n£mero de d¡gitos a ser desplegados.  si  (d) se
          omite,  el sistema desplegar   en forma impl¡cita  6 d¡gitos. Ver
          figura 11.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
             Formato     Salida
             -------     --------------------------------------
             MFN         000004
             MFN(3)      004
             MFN(2)      04
             MFN(1)      4
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 11

          N¢tese que puede usarse la funci¢n F para suprimir los ceros a la
          izquierda (vase "F(expr-1,expr-2,expr3)" en la p g. ).

          B. Comando MODO

          CDS/ISIS puede desplegar datos en uno de tres diferentes modos:

          Modo  de  prueba:   en  este  modo,   los  campos  se  despliegan
          exactamente como  fueron  guardados en  el  registro.  N¢tese que
          CDS/ISIS no inserta separadores entre campos u  ocurrencias de un
          campo repetible[].  Es por lo tanto  responsabilidad del usuario
          asegurar la adecuada  separaci¢n entre los  campos utilizando los
          comandos  de  espaciado,  literales,  o grupos  repetibles, seg£n
          convenga (vase "comandos de espaciado horizontal y  vertical" en
          la  p g.  ).  Este  modo  normalmente se  utiliza  para desplegar
          registros con miras a su revisi¢n; 

          Modo  de  encabezado:   este  modo  es  usado   normalmente  para
          encabezados  (headings)  al  imprimir  cat logos  e  ¡ndices.  Se
          ignoran todos los caracteres de  control incluidos dentro  de los
          datos,   tales   como   informaci¢n   para   clasificaci¢n   (ver
          "Informaci¢n para clasificaci¢n"  en la p g. ) y delimitadores de
          descriptores (<  y >),  excepto lo indicado m s adelante. Adem s,
          se  substituyen  los  delimitadores  de  subcampo  por  marcas de
          puntuaci¢n (ver m s adelante).

          Modo de dato: este modo es similar al de encabezado, pero adem s,
          al final  de cada campo se  a¤ade autom ticamente como  sufijo un
          punto (.)  seguido  de  dos espacios  (o solo dos espacios  si el
          campo ya termina con una marca de puntuaci¢n). N¢tese sin embargo
          que esta puntuaci¢n autom tica se suprime si el selector de campo
          tiene incluida una literal-sufija (vase "Literales").





                                         52








          Cuando CDS/ISIS formatea un subcampo  en modo de  encabezado o de
          dato,   substituir   autom ticamente  delimitadores  de  subcampo
          insertos  dentro  del campo por marcas  de  puntuaci¢n (el primer
          delimitador de subcampo,  cuando exista, es ignorado). Adem s, la
          combinaci¢n especial  de caracteres ><  es reemplazada  por '; ',
          con lo que se cuenta con una forma simple de formatear campos que
          contengan  listas  de  frases  claves  encerradas  en  parntesis
          triangulares  (ahorrando de paso  tecleo durante  la captura). La
          tabla estandar para reemplazo de delimitadores de subcampo  es la
          siguiente:

          ^a                      reemplazado por ';'
          ^b      hasta ^i        reemplazados por ','
                  todos los dem s reemplazados por '.'

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
             Formato     Salida
             -------     ------------------------------------------

             mpl,v24     <An> Electric hygrometer apparatus for measuring
                         water-vapour loss from plants in the field

             mhl,v24     An Electric hygrometer apparatus for measuring
                         water-vapour loss from plants in the field

             mdl,v24     An Electric hygrometer apparatus for measuring
                         water-vapour loss from plants in the field.

             mdu,v24     AN ELECTRIC HYGROMETER APPARATUS FOR MEASURING
                         WATER-VAPOUR LOSS FROM PLANTS IN THE FIELD.

             mpl,v26     ^aParis^bUnesco^c1965

             mhl,v26     Par¡s, Unesco, 1965

             mdu,v26     PARIS, UNESCO, 1965

           mpl,v69       Paperon:<hygrometers><planttranspiration>
                         <moisture><water balance>

             mdl,v69     Paper on:  hygrometers; plant transpiration;
                         moisture; water balance.
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 12

          El comando de modo se especifica como Mmc, donde:

          m especifica el modo de la manera siguiente:

          P modo de prueba

          H modo de encabezado (heading)

          D modo de dato




                                         53








          c especifica la transformaci¢n entre min£sculas  y may£sculas, de
           la manera siguiente:

              U los datos son transformados a may£sculas
              
              L los datos se procesan sin que sean modificados

          Los comandos  de  modo  pueden  aparecer  tantas  veces  como sea
          necesario en un formato dado.  Cada uno de ellos  queda en efecto
          hasta que sea cambiado por un comando subsecuente. En ausencia de
          un modo expl¡cito, CDS/ISIS usar  MPL en forma impl¡cita (modo de
          prueba,  sin  conversi¢n  a may£sculas).  La  figura  12 presenta
          algunos ejemplos del uso del comando de modo.

          C. Comandos de espaciado horizontal y vertical

          El lenguaje de formateo  provee cinco comandos para  controlar el
          espaciado horizontal y vertical. La figura 13 presenta un resumen
          de estos comandos.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
             Comando                      Funci¢n
             -------      -------------------------------------------

                Xn        Inserta n espacios antes de formatear el
                          siguiente campo

                Cn        Tabulaci¢n a la posici¢n n de la l¡nea

                /         Salta a la l¡nea siguiente (siempre y cuando la
                          l¡nea previa no est en blanco)

                #         Salta a la l¡nea siguiente (incondicionalmente)

                %         Cancela la l¡nea formateada previamente siempre y
                          cuando est en blanco

                NP        Salta a nueva p gina

                NC        Salta a nueva columna
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 13

          El  comando Xn  inserta n espacios  antes  de  formatear  el dato
          siguiente.  Sin embargo,  si  en  la  l¡nea  actual  no  quedan n
          posiciones disponibles,  CDS/ISIS simplemente saltar  a  la l¡nea
          siguiente.  Por lo  tanto,  si por ejemplo  la siguiente posici¢n
          disponible  en  la  l¡nea actual  es la 77,  y el ancho  de l¡nea
          establecido es de 80,  la ejecuci¢n del comando X7 ocasionar  que
          el dato siguiente sea formateado al inicio de la  siguiente l¡nea
          (y no en la tercera posici¢n de la siguiente l¡nea).

          El  comando Cn  ocasiona que  el siguiente dato sea  formateado a
          partir de la posici¢n n de la l¡nea actual.  Si la posici¢n en la
          l¡nea actual  es  mayor que n,  entonces  el  siguiente dato ser 
          formateado a partir de la posici¢n n de la  l¡nea siguiente. Este


                                         54








          comando permite la generaci¢n de salidas en forma tabular. N¢tese
          que  si  n es  mayor que el  ancho de  la  l¡nea,  el  comando es
          ignorado.

          El comando  /  es similar a un salto  de l¡nea en una  m quina de
          escribir,  o  sea,  obliga  a saltar  un rengl¢n,  y por lo tanto
          ocasiona que  el siguiente dato sea formateado  al  inicio de una
          nueva l¡nea.  Sin embargo,  a diferencia de un salto de l¡nea, si
          se   incluyen   varios   comandos   /   adyacentes,   aunque  sea
          sint cticamente correcto, tienen el mismo efecto que un comando /
          solo;  esto es, una / nunca generar  l¡neas en blanco. El comando
          #  se ha previsto para  este prop¢sito:  realiza la misma funci¢n
          que /,  pero  el salto de l¡nea es  incondicional.  Por lo tanto,
          puede usarse la combinaci¢n /# para asegurar que una (y solo una)
          l¡nea  en  blanco  sea  generada  en  la  salida  (n¢tese  que la
          combinaci¢n  ##  puede  generar  una  o  dos  l¡neas  en  blanco,
          dependiendo de que la l¡nea que se estaba formateando al ejecutar
          el primer # estuviera en blanco o no).

          El uso del comando #  puede generar un problema en aquellos casos
          en  donde el campo  seleccionado est ausente.  Esta situaci¢n es
          ilustrada m s claramente por el siguiente ejemplo:

          /#v10/#v20/#v30 . . . . .

          Si todos los campos est n presentes en el  registro, el resultado
          ser  que cada uno de los campos 10,  20 y 30 inicien en una nueva
          l¡nea,  y estn precedidos por una l¡nea en  blanco. Sin embargo,
          si el  campo 20  no existe,  habr  dos l¡neas en blanco  entre el
          campo 10 y el 30. Esto puede ser indeseable si lo que en realidad
          se desea es una l¡nea en blanco entre los campos, indistintamente
          de la presencia o  ausencia de alguno  de ellos.  En ese caso, el
          formato anterior no producir  los resultados deseados.

          El comando %  se ha  previsto  para  resolver  esta situaci¢n. Su
          efecto es el de suprimir todas las l¡neas en blanco contiguas (en
          caso de que las  haya),  entre la l¡nea actual y la  £ltima l¡nea
          que no est en blanco en el momento de la  ejecuci¢n del comando.
          Por lo tanto, el formato:

          %##v10%##v20%##v30 . . . . .

          producir  una y solo una l¡nea entre cada campo, aun cuando uno o
          m s de ellos estn ausentes de un registro dado. Algunos ejemplos
          adicionales de estos comandos se presentan en la figura 14.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
                Formato                   Salida
             ---------------- --------------------------------------
             v26^b,x3,v26^a   Unesco   Par¡s

             v26^b/v26^a      Unesco
                              Par¡s

             v26^b/#v26^a     Unesco



                                         55








                              Par¡s

             v26^b,c20,v26^a  Unesco             Par¡s

             v26^b,####%v26^a Unesco
                              Par¡s

             mdl,v26,v30      Par¡s, Unesco, 1965.  p. 247-257,illus.

             mdl,v26/v30      Par¡s, Unesco, 1965.
                              p. 247-257, illus.
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 14

          NOTAS PARA LAS VERSIONES 2.34 Y 3.0

          Se a¤aden los comandos:

          NP(n)   Nueva p gina y

          NC(n)   Nueva columna

          Solo deber n usarse en formatos para impresi¢n. Si se utilizan en
          otros  contextos  (p.  ej.:  en  una  FST  para  exportaci¢n)  se
          insertar n caracteres err¢neos dentro de los datos.

          La parte (n) es opcional. Si se incluye, el comando solo entra en
          efecto si el  n£mero de l¡neas  disponibles en  la columna actual
          (para NC) o en la p gina actual (para NP) es menor que n.

          Por ejemplo, NP generar  en forma incondicional una nueva p gina,
          pero NP(4)  solo generar   una nueva p gina  si  hay  menos  de 4
          l¡neas disponibles en la p gina que se est procesando.

          D. Literales

          Una  literal  es  una  cadena  de  caracteres,   encerrada  entre
          delimitadores apropiados,  que ser  insertada tal como est  en la
          salida.  Las literales pueden usarse por  ejemplo, para etiquetar
          campos.

          Pueden especificarse tres tipos de literales:

          literales condicionales:  definen textos que solo se incluir n en
          la salida si el campo asociado  est  presente en  el registro. Si
          el selector de campo asociado es  un comando  de subcampo, (p.ej.
          v24^a),  el texto se incluir  solo  si el subcampo  indicado est 
          presente en el campo. Si el selector de campo asociado se refiere
          a  un  campo  repetible,  el  texto  se  incluir   solo  una vez,
          independientemente  del  n£mero  de  ocurrencias  del  campo. Las
          literales condicionales se  encierran entre comillas  dobles ("),
          por ejemplo: "T¡tulo: ".

          literales repetibles:  como las literales  condicionales, definen
          textos que solo se incluir n en la salida si el campo  o subcampo
          asociado est  presente en el  registro.  Sin embargo, si el campo


                                         56








          es repetible,  la literal ser  repetida para cada  ocurrencia del
          campo.   Las  literales  repetibles  se  encierran  entre  barras
          verticales (|), por ejemplo: |Autor: |

          literales incondicionales:  definen textos que siempre se incluye
          en la salida,  independientemente de la presencia  de campos. Las
          literales  incondicionales se  encierran  entre  comillas simples
          ('), por ejemplo: 'Resumen: '. Como las literales incondicionales
          siempre son incluidas en la salida como un bloque  £nico de texto
          (esto es,  no pueden partirse  entre dos l¡neas),  su longitud no
          debe exceder el ancho  de la l¡nea,  ya que en caso  contrario se
          truncar¡an.  Para generar textos de m s de una l¡nea de longitud,
          este  debe  partirse  en  dos  o  m s  literales.  Pueden tambin
          preverse las sangr¡as que se requieran usando el comando Cn.

          N¢tese  que  una  literal   no  puede   contener  el  delimitador
          correspondiente,   p.ej.   una  literal  incondicional  no  puede
          contener una comilla simple  (aunque s¡  puede  contener comillas
          dobles o barras verticales).

          Las literales condicionales y las repetibles est n asociadas a un
          campo  o subcampo  por su  posici¢n  relativa en el  formato: las
          literales que preceden a un  selector de campo  (tambin llamadas
          literales-prefijo) ser n colocadas antes del contenido del campo,
          mientras que  las  literales  posteriores  al  selector  de campo
          (tambin llamadas literales-sufijo), ser n puestas a continuaci¢n
          del contenido del campo.

          Si una literal-prefijo repetible es seguida inmediatamente por un
          signo  '+'  (p.ej.  |xxx|+),  ser  incluida en la salida frente a
          todas excepto la primera ocurrencia del campo.

          Si una literal-sufijo  repetible es  precedida inmediatamente por
          un signo '+'  (p.ej. +|xxx|), ser  incluida en la salida atr s de
          todas excepto la £ltima ocurrencia del campo.

          Las literales-prefijo repetibles y todas  las literales-sufijo se
          formatean como  si  fueran  f¡sicamente parte  del  contenido del
          campo al que est n asociadas,  y obedecen por lo tanto el comando
          de  sangr¡a  de  campo   cuando  existe.   Las  literales-prefijo
          condicionales no heredan la sangr¡a del campo (puede  sin embargo
          utilizarse el comando Cn para generar la sangr¡a si se requiere).

          Un campo dado  puede estar asociado  con m s de  una  literal. En
          este caso,  las  diferentes literales deben  ser especificadas de
          acuerdo al orden y a las reglas que se indican a continuaci¢n:

          Literales-prefijo

          1. Una o m s literales-prefijo condicionales. Una literal-prefijo
          condicional   puede   ser  seguida  de   otras  literales-prefijo
          condicionales,  comandos  de  espaciado  vertical  y  horizontal,
          comandos de modo, y/o comandos de escape (ver "Comando ESCAPE" en
          la p g.  ).  Todos los comandos entre  la primera literal-prefijo




                                         57








          condicional y el  selector  de  campo asociado,  se convierten en
          condicionales, y solo ser n ejecutados si el campo est  presente,
          en caso contrario ser n ignorados.

          2.  Una y solo  una literal-prefijo repetible.  En  caso de estar
          presente,  esta debe preceder inmediatamente al selector de campo
          asociado.

          Literales-sufijo

          3.  Una  y solo  una literal-sufijo  repetible.  En caso de estar
          presente,  esta debe seguir  inmediatamente al selector  de campo
          asociado.

          4.  Una y solo una  literal-sufijo condicional.  En caso de estar
          presente,  esta debe  seguir  inmediatamente  a la literal-sufijo
          repetible, si la hay, o al selector de campo asociado.

          5.  Las literales-sufijo no deben separarse con comas, y no puede
          haber  comas   entre   el  selector  de   campo   y   la  primera
          literal-sufijo:  una coma indica el final de las literales-sufijo
          asociadas con un selector de campo dado.

          Las literales nulas (o sea vac¡as o de longitud cero,  tales como
          ""  o ||)  est n permitidas, y pueden ser usadas por ejemplo como
          literales-prefijo, para proveer espaciado vertical condicional, o
          como literales-sufijo,  para suprimir temporalmente la puntuaci¢n
          autom tica al final del campo que CDS/ISIS genera cuando  el modo
          de dato est  activo.

          Las  literales  siguen  las  indicaciones  de   transformaci¢n  a
          may£sculas  si  esto se ha  establecido por un  comando previo de
          modo.

          La figura  15  presenta  varios  ejemplos de diferentes  tipos de
          literales.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
                Formato                             Salida
            ------------------          --------------------------------
            'MFN:   ',mfn(3)/           MFN:   004
            mdl,"T¡tulo: "v24(0,7)      T¡tulo: An Electric hygrometer
                                        apparatus for measuring
                                        water-vapour loss from plants in
                                         the field.

            'MFN:   ',mfn(3)/mdl,       MFN:   004
            "T¡tulo: ",mdu,v24(0,7)     T¡tulo: AN ELECTRIC HYGROMETER
                                        APPARATUS FOR MEASURING
                                        WATER-VAPOUR LOSS FROM PLANTS IN
                                        THE FIELD.

            'MFN:   ',mfn(3)/mdu,       MFN:   004
            "T¡tulo: :,v24(0,7)         TITULO: AN ELECTRIC HYGROMETER
                                        APPARATUS FOR MEASURING
                                        WATER-VAPOUR LOSS FROM PLANTS IN


                                         58








                                        THE FIELD.

            v70                         Grieve, B.J.Went, F.W.

            v70|; |                     Grieve, B.J.; Went, F.W.;

            v70+|; |                    Grieve, B.J.; Went, F.W.

            |; |v70                     ; Grieve, B.J.; Went, F.W.

            |; |+v70                    Grieve, B.J.; B.J.; Went,

            "Autores"/v70(3,3)+|; |     Autores
                                        Grieve, B.J.; Went, F.W.

            |(|v70(3,3)|)|              (Grieve, B.J.)(Went, F.W.)

            "(por: ",v70+|; |")"        (por: Grieve, B.J.; Went, F.W.)

            mdl,v26                     Par¡s, Unesco, 1965.

            mdl.v26""                   Par¡s, Unesco, 1965

            mdl,v26,""/#v99,v30^a       Par¡s, Unesco, 1965.  p. 247-257.

            mdl,v26,""/#v44|: |,v30^a   Par¡s, Unesco, 1965.

                                        Methodology of plant
                                        eco-physiology: proceedings
                                        of the Montpellier Symposium: p.
                                        247-257.
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 15

          E. Selectores virtuales de campos

          Un  selector  virtual  (dummy)  de  campo  permite  la generaci¢n
          condicional de literales en la salida,  en base a  la presencia o
          ausencia de un campo o subcampo  dado,  sin imprimir el contenido
          del  campo  asociado.   Los  selectores  virtuales  de  campo  se
          especifican del modo siguiente:

          Dt o Dt^x o Nt o Nt^x

          donde:
              
          D o N identifican que se trata de  un selector virtual  de campo.
              D indica que la literal condicional asociada debe ser impresa
              solo  si  el  campo est   presente.  N  indica  que solo debe
              incluirse en la salida si el campo est  ausente;
              
            t es la etiqueta del  campo que est   controlando la  salida de
              las literales;
              




                                         59








            ^x es  un  c¢digo  delimitador de  subcampo optativo. Cuando se
              encuentra  presente,  indica que la salida de  literales est 
              controlada  por   la  presencia   o   ausencia  del  subcampo
              especificado (n¢tese sin embargo, que la ausencia de un campo
              tambin implica la ausencia  de subcampos  espec¡ficos de ese
              campo).

          Un selector virtual de campos normalmente es precedido por cuando
          menos  una  literal-prefijo  condicional  (que  puede  ser nula),
          seguido   posiblemente   por   una    o   m s   literales-prefijo
          condicionales  adicionales,  comandos  de  espaciado  vertical  y
          horizontal,  comandos  de  modo,  y/o  comandos  de  escape.  Los
          selectores virtuales de campos no pueden tener literales-sufijo.

          La figura 16 presenta algunos ejemplos de estos comandos.

          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 
                  Formato                         Salida
             -----------------------      --------------------------
             "[Solo en ingls]"n76        [Solo en ingls]

             "(Anon.)"n70,v70+|; |        Grieve, B.J.; Went, F.W.

             "(Anon.)"n80,v80+|; |        (Anon.)

             "[Conference paper]"d44      [Conference paper]

             "[sin fecha]"n26^c,v26^c     1965

             "[sin fecha]"n27^c,v27^c     [sin fecha]
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 16

          F. Expresiones

          El lenguaje  de formateo permite evaluar y/o  comparar  valores a
          travs del uso de  expresiones.  Las expresiones  son estructuras
          que,  cuando son ejecutadas,  regresan un valor. Este valor puede
          ser una cadena de  caracteres (p.ej.  el contenido de  un campo o
          una literal dada),  en cuyo caso la expresi¢n se llama: expresi¢n
          de cadena;  un  n£mero,  en  cuyo  caso  la  expresi¢n  se llama:
          numrica;  o puede ser un valor de verdad (Verdadero o Falso), en
          cuyo  caso  la  expresi¢n  se  llama  booleana.  CDS/ISIS tambin
          proporciona  un  conjunto  de funciones,  que realizan un proceso
          espec¡fico y regresan un valor,  en base a los argumentos  que se
          le proporcionan.  Las funciones que regresan un  n£mero se llaman
          funciones numricas;  aquellas que regresan una cadena, se llaman
          funciones de cadena;  y aquellas que regresan un valor de verdad,
          se llaman  funciones booleanas.  Solo  las  funciones  de cadenas
          pueden ser usadas directamente en como comandos  de formateo. Las
          expresiones numricas  pueden usarse en  expresiones booleanas, o
          como  argumentos  de  funciones.   Las  expresiones  y  funciones
          booleanas solo pueden ser usadas en el contexto de un comando IF.





                                         60








          1. Expresiones numricas

          Las expresiones numricas se forman  con operandos que  tienen un
          valor numrico,  y operadores que especifican los  c lculos a ser
          realizados.

          Los operandos que pueden usarse en una expresi¢n numrica son los
          siguientes:

          constantes numricas:  tales  como  5  18  98.65;  las constantes
          numricas  pueden   representarse  como  enteros  con   un  signo
          opcional,  como n£meros  con decimales,  o en notaci¢n cient¡fica
          exponencial,  p.  ej.  1.5E5  (que significa 1.5  veces  10  a la
          potencia 5, o sea 150000);

          funciones  numricas:  reales  como val(v10)  (estas se describen
          bajo "Funciones numricas" en la p g.);

          MFN: el valor del MFN de un registro

          expresiones  numricas:   cuando  se  usan  como  operandos,  las
          expresiones  deben  encerrarse  entre  parntesis,   por  ejemplo
          (val(v20)-5).

          Los operadores disponibles son:

          + suma (o + unario);
          - resta (o - unario);
          * multiplicaci¢n;
          / divisi¢n.

          Al igual que en el  lgebra normal,  en ausencia de parntesis los
          operadores   unarios   se  ejecutan  en  primer   lugar,   y  las
          multiplicaciones y divisiones se  realizan antes que  las sumas y
          las restas. Una serie de dos o m s operadores del mismo nivel, se
          ejecutan de izquierda a derecha.  Se pueden usar  parntesis para
          alterar este  orden  de  evaluaci¢n:  las  expresiones  dentro de
          parntesis se eval£an antes,  y las expresiones  entre parntesis
          internos  a  otros,  son  evaluadas  antes  que  las  expresiones
          externas a los parntesis.

          N¢tese  que,  como  los selectores  de campo (p.ej.  v10 o v20^a)
          producen una cadena de texto,  no pueden usarse como operandos en
          expresiones numricas.  Sin embargo, la funci¢n VAL, puede usarse
          para  convertir el  contenido de un campo o subcampo  a  un valor
          numrico.

          A  s¡  mismo,   una  expresi¢n  numrica  no   puede  desplegarse
          directamente, por lo que debe convertirse primero a una cadena de
          caracteres usando la funci¢n F.

          A continuaci¢n  se  presentan ejemplos  de  expresiones numricas
          (donde se supone que MFN=10, v1^a=10, v1^b=20, y v2=30):





                                         61








          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
                Expresi¢n                     Valor
           ---------------------              ------
                  0.155e+3                     155
                  1e-3                         0.001
                  2*3+9                        15
                  2*(3+9)                      24
                  10-(4*(2-1))                 6
                  15*0.001                     0.015
                  mfn+100                      110
                  val(v2)+val(v1^a)*7.5        105
                  (val(v1^a)-val(v1^b))/100    -0.1
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

          La versi¢n IBM PC de CDS/ISIS convierte todos los  n£meros usados
          en  los  c lculos  a  su  representaci¢n  en  punto  flotante  de
          precisi¢n simple.  Esto provee  una precisi¢n  de aproximadamente
          siete  d¡gitos,   con   un   valor   m ximo   de  aproximadamente
          1.701411E38.  La versi¢n para VAX,  usa n£meros de punto flotante
          con doble precisi¢n, lo que permite una precisi¢n de 15 d¡gitos.

          2. Expresiones de cadena

          Las expresiones  de  cadenas  se  forman  con  operandos  que son
          cadenas de  caracteres.  Como CDS/ISIS  no  provee  operadores de
          cadenas expl¡citos,  una expresi¢n de cadena  siempre consiste de
          un operando solo, que puede ser uno de los siguientes:

          literal incondicional: tal como 'este es un texto';

          selectores  de  campos:   que   pueden  incluir   un  comando  de
          desplazamiento/longitud )p.ej. v26^c*2.2);

          funciones de cadena:  tal como S(v24,v25,v26) (estas se describen
          bajo "funciones de cadena" en la p g.).

          3. Expresiones booleanas

          Las expresiones booleanas se usan para determinar si  un conjunto
          de una o m s condiciones es verdadero o falso,  y el resultado de
          su  evaluaci¢n  es  un  valor de  verdad.  Los  operandos  de una
          expresi¢n booleana pueden ser cualquiera de los siguientes:

          expresiones relacionales:  que comparan dos  valores y determinan
          si  existe  o  no  una  cierta  relaci¢n  entre  ellos  (ver  m s
          adelante), tal como mfn<10;

          funciones booleanas:  tal como  p(v24),  que regresa  un valor de
          verdad (estos se discuten bajo "Funciones booleanas", en la p g).

          Las expresiones relacionales permiten determinar si  una relaci¢n
          dada se  verifica  entre dos valores.  La  forma  general  de una
          expresi¢n relacional es:

          expresi¢n-1 operador-de-relaci¢n expresi¢n-2



                                         62








          donde:

            expresi¢n-1 es una expresi¢n numrica o de cadena
            operador-de-relaci¢n es uno de los siguientes:

                            =     Igual
                            <>    No igual (diferente de)
                            <     Menor que
                            <=    Menor o igual que
                            >     Mayor que
                            >=    Mayor o igual que
                            :     Contiene (puede ser usado  solo en
                                  expresiones de cadena)

            expresi¢n-2 es una expresi¢n del mismo tipo que expresi¢n-1, o
                        sea, expresi¢n-1 y expresi¢n-2 deben ser ambas
                         expresiones numricas o ambas expresiones de
                         cadena.

          Los operadores de relaci¢n =  <>  < <= > >= tienen su significado
          convencional cuando se aplican a expresiones numricas (dentro de
          los l¡mites de precisi¢n de los valores  numricos definidos bajo
          "Expresiones  numricas"   en  la  p g.  ).  Cuando  se  comparan
          expresiones de cadena, se aplican las siguientes reglas:

          1.  excepto por el operador : (contiene), las cadenas se comparan
          exactamente  en  la  forma en  que  ocurren,  o  sea,  las letras
          may£sculas y min£sculas  se  comparan  de  acuerdo con  el c¢digo
          ASCII que les corresponde (p.ej. A ser  considerada menor que a);

          2. dos expresiones de cadena no son consideradas iguales, a menos
          que tengan la misma longitud.  Si dos expresiones generan cadenas
          de diferente longitud que son idnticas,  caracter  por caracter,
          hasta el total de la longitud de  la m s corta,  entonces, la m s
          corta ser  considerada menor que la m s larga.

          El  operador  :   (contiene),  busca  una  cadena  de  caracteres
          (definida  por   expresi¢n-2)   en  otra   cadena  (definida  por
          expresi¢n-1).  Si el  segundo operando existe en  cualquier parte
          del segundo operando,  el  resultado  es  Verdadero  (TRUE). Este
          operador es insensible al hecho de  que los caracteres  se hallen
          en may£sculas o min£sculas:  por lo que las letras  min£sculas se
          consideran  iguales a  su  letra  may£scula  correspondiente. Por
          ejemplo, el resultado de:

          v10 : 'qu¡mica'

          ser   Verdadero (True)  si,  y solo si,  el campo 10  contiene la
          cadena  qu¡mica.  en  caso  contrario,  el  resultado  ser  Falso
          (False).  N¢tese  que el  segundo  operando  puede  ser cualquier
          cadena o caracter, y no necesita ser una palabra como tal. Por lo
          tanto, en este ejemplo, el resultado ser  Verdadero no solo si el
          campo 10  contiene la palabra qu¡mica, sino tambin si contuviera
          bioqu¡mica, fotoqu¡micas, qu¡micamente, etc.




                                         63








          Los operandos de una expresi¢n booleana pueden combinarse con los
          operadores siguientes:

          NOT (NO) Este operador produce el valor Verdadero, si su operando
          es Falso;  y el  valor Falso,  si  su  operando  es Verdadero. El
          operador NOT solo  puede  usarse  como  operador  unario,  o sea,
          siempre se aplica a la expresi¢n booleana que le sigue;

          AND  (Y)  Este  operador  produce  el  valor  Verdadero  si ambos
          operandos son Verdadero.  Si  cualquiera de los dos  operandos es
          Falso, entonces el resultado ser  Falso;

          OR  (O)  Este  operador  realiza  una  operaci¢n  O-inclusivo. El
          resultado es  Verdadero si  cualquiera  de  los dos  operandos, o
          ambos son Verdadero. En caso contrario, es Falso.

          Al evaluar expresiones booleanas,  y en  ausencia  de parntesis,
          CDS/ISIS ejecutar  las operaciones NOT en  primer  lugar, despus
          las operaciones AND, y finalmente las OR. Las series de dos o m s
          operadores del mismo nivel,  se ejecutan de  izquierda a derecha.
          Se pueden  usar parntesis para  alterar el  orden de evaluaci¢n:
          las expresiones dentro  de  parntesis  se  evaluan antes,  y las
          expresiones entre  parntesis  internos  a  otros,  son evaluadas
          antes que las expresiones externas a los parntesis.

          La figura 17 presenta ejemplos de expresiones booleanas.
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
              Expresi¢n                                    Valor
          ---------------------------                      -----

          mfn=4                                            Verdadero

          not mfn=4                                        Falso

          not (not mfn=4)                                  Verdadero

          v24='plants'                                     Falso

          v24:'plants'                                     Verdadero

          v24:'PLANTS'                                     Verdadero

          v44.6='method'                                   Falso

          v44.6='Method'                                   Verdadero

          v24:'plants' and v44:'method'                    Verdadero
          ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ
          Figura 17

          En  realidad  CDS/ISIS  almacena  cada  repetici¢n  en  un  campo
          distinto, con el mismo n£mero de etiqueta, y el caracter % u otro
          separador que se haya seleccionarse en la instalaci¢n, se inserta
          en pantalla para  facilidad de  edici¢n en las  hojas de trabajo,
          pero no se incluye dentro de los datos almacenados (N. del T.).



                                         64




: