128 Estructuras de datos
Si bien no todos los lenguajes de programación manipulan esta estructura de datos de igual forma,
de una manera u otra, todos cuentan con alguna herramienta para implementarla en memoria:
- hay lenguajes que NO incluyen a la cadena como estructura de datos; por lo tanto usan otra
estructura (su descripción se verá más adelante en este capítulo) para implementar en memoria un
dato cadena (C/C++)- hay lenguajes que SI incluyen a la cadena como estructura de datos pero
NO permiten definir un TIPO DE DATO con ella; por lo tanto la estructura se la define cuando
se declara una variable con sus características (FORTRAN)- hay lenguajes que SI incluyen a la
cadena como estructura de datos pero incorporada como TIPO DE DATO CADENA (general-
mente con el nombre de string o String) y se lo usa como si fuera un tipo de dato estándar más;
entonces el programador sólo definirá el tamaño de la cadena y declarará variables de ese tipo
(PASCAL).Como ya se mencionó adoptaremos una forma genérica para el tratamiento de las
cadenas, definiendo la estructura en el momento de la declaración de la variable correspondiente.
6.1.2 Declaración de una variable cadena
Notación algorítmica en pseudocódigo:
caracter (cantidad de caracteres): Nombre de la variable
Ejemplos:
caracter(18): NM, DL reserva lugar para dos variables, denominadas NM y DL respectivamente.
Cada una puede contener hasta 18 caracteres.caracter(5): x reserva lugar para una variable
denominada x que puede contener hasta 5 caracteres.
6.1.3 Usos de una variable cadena
A las cadenas se las trata como a cualquier dato simple. Pueden ser usadas en acciones
primitivas (leer, asignar, escribir), como operando de expresiones o como argumentos de fun-
ciones.Ejemplos de primitivas aplicadas a las variables anteriores:
1. NM ← “Villa del Sur”
2. leer (x)
3. escribir (DL)
6.1.4 Operaciones con cadenas
Los lenguajes brindan la posibilidad de realizar muchas operaciones sobre cadenas, mediante
el uso de algunos operadores o de funciones internas que las tienen como argumento o que
las devuelven como resultado. Entre uno y otro lenguaje suele haber diferencias, en cuanto a
la variedad de operaciones permitidas, a la sintaxis requerida para ellas y a la mayor o menor
facilidad que ofrecen para su aplicación en una acción algorítmica.
Presentamos a continuación, en pseudocódigo, las operaciones básicas más comunes que todos
los lenguajes permiten poner en práctica. En el caso de los operadores, empleamos símbolos
estándares y para las funciones utilizamos un nombre genérico que permita distinguir lo que
la función hace sobre la cadena.~Concatenación (operador +): se unen dos o más cadenas para
resultar otra.
cadena_1 + cadena_2
~Comparación (un operador relacional): se vinculan cadenas como operandos de la expresión