Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cadenas y Sting

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

Cadenas y/o Strings

Concepto:

Una cadena o cadena de caracteres nos es más que una serie de caracteres manipulados como
una unidad. Si asemejamos una cadena al lenguaje castellano sería como una palabra, que es
un conjunto de sílabas y vocales en donde cada una de estas viene a ser una carácter.

Visto desde otro punto vendría a ser un arreglo de caracteres.


Una cadena puede contener cualquier carácter, puede almacenar un nombre propio una
dirección, es decir, lo que nosotros precisemos. Ejemplo

nombre es una variable que contiene 4 caracteres: la J, la u, la a y la n.

Se puede acceder a cada uno de los elementos de este conjunto refiriéndose a la posición que
ocupan, empezando por el 0. Es decir:
Puedes acceder a la J con nombre[0]
Puedes acceder a la u con nombre[1]
Puedes acceder a la a con nombre[2]
Puedes acceder a la n con nombre[3]

Declaración
Una cadena se la define de la siguiente manera

char cadena[20];

La cadena anterior puede contener un máximo de 20 caracteres.

Inicialización

Se puede inicializar una cadena de la siguiente manera:

cadena = "Hola" ;

Cualquier valor que se le asigne a una cadena va entre comillas dobles " ", como en el ejemplo
anterior "Hola" esta entre comillas dobles.

Una cadena siempre finaliza con el carácter de fin de cadena ‘\0’, que siempre se añade al final
automáticamente, en el ejemplo anterior se añade al final de “Hola” el carácter de fin de
cadena.

También  podemos considerar a una cadena como un arreglo de caracteres, y se  puede
inicializar de la siguiente manera:

cadena = { ‘H’, ‘o’, ‘l’, ‘a’ } ;

El arreglo de caracteres se  vería de esta  forma:

Entrada/Salida
La entrada/salida desde un terminal se puede realizar en modo carácter; para ello bastará asignar —a
través del correspondiente
dispositivo— una cadena de caracteres a una variable tipo cadena. Así, por ejemplo, si A, B, C y D se
han declarado como variables tipo cadena
var cadena : A, B, C, D
las instrucciones
leer(A, B)
escribir(C, D)
asignarán a A y B las cadenas introducidas por el teclado y visualizarán o imprimirán en el
dispositivo de salida las
cadenas que representan las variables C y D.

Subcadenas
Otra operación —función— importante de las cadenas es aquella que permite la extracción de una
parte específica
de una cadena: subcadena. La operación subcadena se representa en dos formatos por:

• Cadena es la cadena de la que debe extraerse una subcadena.


• Inicio es un número o expresión numérica entera que corresponde a la posición inicial de la
subcadena.
• Longitud es la longitud de la subcadena.

En este caso, la subcadena comienza en inicio y termina en el final de la cadena.

Búsqueda
Una operación frecuente a realizar con cadenas es localizar si una determinada cadena forma parte
de otra cadena
más grande o buscar la posición en que aparece un determinado carácter o secuencia de caracteres de
un texto.
Estos problemas pueden resolverse con las funciones de cadena estudiadas hasta ahora, pero será
necesario diseñar
los algoritmos correspondientes. Esta función suele ser interna en algunos lenguajes y la definiremos
por índice o posición, y su formato es

donde subcadena es el texto que se trata de localizar.


El resultado de la función es un valor entero:
• Igual a P >= 1, donde P indica la posición del primer carácter de la primera coincidencia de
subcadena en
cadena.
• Igual a cero, si subcadena es una cadena vacía o no aparece en la cadena.

La función indice en su forma más general realiza la operación que se denomina coincidencia de
patrones
(patter-matching). Esta operación busca una cadena patrón o modelo dentro de una cadena de texto.
Esta operación utiliza un cursor o puntero en la cadena de texto original y va comprobando los
sucesivos valores
de ambas cadenas: si son distintos, produce un 0, y si no proporciona la posición del primer carácter
coincidente.

La función indice (posicion) al tomar también un valor numérico entero se puede utilizar en
expresiones
aritméticas o en instrucciones de asignación a variables numéricas.

Concatenación
La concatenación es la operación de reunir varias cadenas de caracteres en una sola, pero
conservando el orden de
los caracteres de cada una de ellas.
El símbolo que representa la concatenación varía de unos lenguajes a otros. Los más utilizados son:
+ // & o
En nuestro libro utilizaremos & y en ocasiones +. El símbolo & evita confusiones con el operador
suma. Las cadenas
para concatenarse pueden ser constantes o variables.
'MIGUEL'&'DE'&'CERVANTES' == 'MIGUELDECERVANTES'
Puede comprobar que las cadenas, en realidad, se “pegan” unas al lado de las otras; por ello, si al
concatenar
frases desea dejar blancos entre ellas, deberá indicarlos expresamente en alguna de las cadenas. Así,
las operaciones
'MIGUEL '&'DE '&'CERVANTES
'MIGUEL'&' DE'&' CERVANTES
producen el mismo resultado
'MIGUEL DE CERVANTES'
lo que significa que la propiedad asociativa se cumple en la operación de concatenación.

Desigualdad
Los criterios para comprobar la desigualdad de cadena son utilizados por los operadores de relación
<, <=, >=, < >
y se ajustan a una comparación sucesiva de caracteres correspondientes en ambas cadenas hasta
conseguir dos caracteres
diferentes. De este modo, se pueden conseguir clasificaciones alfanuméricas
'GARCIA' < 'GOMEZ'
ya que las comparaciones sucesivas de caracteres es:
G-A-R-C-I-A G = G, A < O, ...
G-O-M-E-Z
una vez que se encuentra una desigualdad, no es preciso continuar; como se observa, las cadenas no
tienen por qué
tener la misma longitud para ser comparadas.

Longitud

Cadenas de longitud fija


Se consideran vectores de la longitud declarada, con blancos a izquierda o derecha si la cadena no
tiene la longitud
declarada. Así, la cadena siguiente
se declaró con una dimensión de 24 caracteres y los dos últimos se rellenan con blancos.
Cadenas de longitud variable con un máximo
Se considera un puntero (en el Capítulo 12 ampliaremos este concepto) con dos campos que
contienen la longitud
máxima y la longitud actual.

Cadenas de longitud indefinida


Se representan mediante listas enlazadas, que son listas que se unen mediante puntero

Estas listas contienen elementos con caracteres empaquetados —2/elemento— y enlazados cada uno
con el siguiente
por un puntero (la cadena de caracteres es 'MADONA').

También podría gustarte