0% encontró este documento útil (0 votos)
85 vistas23 páginas

Características de las Cadenas en Informática

El documento describe las características y funciones básicas de las cadenas de caracteres en diferentes lenguajes de programación. Explica que una cadena es un conjunto de caracteres almacenados de forma contigua en memoria, con una longitud máxima declarada. También presenta funciones para manipular cadenas como comparar, concatenar, extraer subcadenas e insertar.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
85 vistas23 páginas

Características de las Cadenas en Informática

El documento describe las características y funciones básicas de las cadenas de caracteres en diferentes lenguajes de programación. Explica que una cadena es un conjunto de caracteres almacenados de forma contigua en memoria, con una longitud máxima declarada. También presenta funciones para manipular cadenas como comparar, concatenar, extraer subcadenas e insertar.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Cadenas

Caractersticas

Una cadena (string) es un conjunto de 0 o ms caracteres.


Entre estos caracteres puede estar incluido el blanco.

Las cadenas de caracteres se delimitan con dobles comillas


en la mayora de los lenguajes.
Hola mundo

Las cadenas de caracteres se almacenan en posiciones


contiguas de memoria.

La longitud de una cadena es el nmero de caracteres de la


misma. Si hubiese algn carcter especial para sealar el fin
de cadena, no se considerara en la longitud.

Caractersticas

Si una cadena tiene longitud 0, la llamamos cadena vaca


pero esto no quiere decir que no tenga ningn carcter, por
que puede haber algn carcter especial no imprimible que
forme parte de la cadena.

Antes de usar la cadena, hay que declarar la longitud


mxima que puede tener y ese es el espacio que se reserva
en memoria para almacenar la cadena, siempre en
posiciones contiguas.

La longitud real de la cadena durante la ejecucin puede


variar aunque siempre tiene que ser menor que el mximo de
la cadena.

Caractersticas

Puesto que la cadena no tiene porque ocupar la longitud


mxima, para determinar que parte ocupa realmente esa
cadena, se pueden utilizar diferentes mtodos.

Pascal lo que hace es reservar los 2 primeros bytes de la


zona de memoria en que guardamos la cadena para indicar
el primero la longitud mxima que puede tener la cadena y el
segundo la longitud actual.
10

10

Caractersticas

En C++ una cadena es un arreglo de caracteres, o valores de tipo char,


terminados con el carcter nulo \0.

char saludo[10];
H

\0

Caractersticas

En Java una cadena es un objeto tipo String y se


declara de la siguiente manera:
String c1;
c1 = new String();
String c2 = new String (Hola mundo);
String c3 = Juana;

Primitivas de cadenas

Leer (cadena). Lee una cadena desde el teclado.


Escribir (cadena). Escribe el contenido una cadena.

Funciones de cadena en C++ (string.h)

gets(cadena)
Lee una cadena desde el teclado

strlen(cadena)
Devuelve la longitud de una cadena

strcpy(orig, dest)
Copia la cadena orig a dest, la copia de caracteres se
detendr cuando sea copiado el carcter nulo, strcpy
devuelve el puntero dest

strcmp(cad1, cad2)
Compara dos cadenas, si cad1 > cad2 el resultado ser >0,
si cad1 < cad2, el resultado ser <0, si son iguales, el
resultado ser 0.

Funciones de cadena en C++

strcat(dest, orig):
Concatena orig al final de dest. La longitud de la cadena
resultante ser strlen(dest) + strlen(orig). strcat devuelve un
puntero a la cadena concatenada.

strncpy(dest, orig, maxlong)


Copia maxlong caracteres de la cadena orig a dest. Si hay
ms caracteres se ignoran, si hay menos se rellenar con
caracteres nulos. La cadena dest no se terminar con nulo si
la longitud de orig es maxlong o ms. La funcin strncpy
devuelve el puntero dest.

Longitud de una cadena


Funcin longitud (cadena)
largo 0
Mientras (cadena[largo]< > \0) hacer
largo largo+1
Fin mientras
Retornar largo
Fin funcin

Comparacin de cadenas

Las cadenas se pueden comparar entre si porque lo que se


compara son los valores ASCII asociados a cada carcter.

En el caso de que se comparen 2 cadenas de diferente


longitud tal que la cadena de menor longitud tiene N caracteres
y estos N caracteres coinciden con los N primeros caracteres
de la cadena ms larga, se considera mayor la cadena ms
larga.
PEPE > PAPA
PEPES > PEPE

Comparacin de cadenas

Vamos a disear una funcin de comparacin de las cadenas


cad1 y cad2 que devuelva:
0 si cad1=cad2
Un positivo si cad1 > cad2
Un negativo si cad1 < cad2

Comparacin de cadenas
Funcin comparacion (c1,c2)
i0
Mientras (c1[i]=c2[i]) y (c1[i]< > \0) y (c2[i] < > \0)
i i+1
Fin mientras
Si (c1[i]=\0 y c2[i]=\0) entonces
retornar 0
Sino
retornar(ascii (c1[i])- ascii (c2[i]))
Fin si
Fin comparacion

Buscar una subcadena

Vamos a disear una funcin para buscar una subcadena en


otra cadena y que devuelva:
La posicin inicial si es encontrado
-1 si no lo encuentra

Buscar una subcadena


Funcion Buscar(c1, c2)
i0
pos -1
Mientras (c1[i] < > '\0') hacer
j0
Si (c1[i] < > c2[j]) entonces
i i+1
Sino
pos i
Mientras (c2[j] < > '\0') hacer
Si (c1[i] < > c2[j]) entonces
pos -1
Fin si
ii+1
jj+1
Fin mientras
Fin si
Fin mientras
retornar pos;
Fin Funcin

Concatenacin

Consiste en unir varias cadenas en una sola,


manteniendo el orden de los caracteres que se unen.
C1 = Hola
C2 = mundo
concatenar(C1,C2) Hola mundo
Se devuelve en C1 la concatenacin C1&C2.

Extraer subcadenas

Extrae parte de una cadena.

Se pueden usar los siguientes procedimientos, la subcadena


se extrae en cad2:
Procedimiento extraer(cad1, inicio, longitud, cad2)
Si inicio es negativo, o es mayor que longitud, se devuelve
la cadena nula.
Si inicio + longitud es mayor que el tamao de la cadena,
devuelve desde inicio hasta de fin de la cadena.
Procedimiento extraer(cad1, inicio, fin, cad2)
Si fin es menor que inicio, devuelve la cadena nula.
Si fin es mayor que la longitud de la cadena, se devuelve
desde inicio hasta el fin de la cadena.

Extraer subcadenas
Procedimiento extrae(cad1, inicio, cad2)
Extrae en cad2 desde el inicio hasta el final de la cadena.
Procedimiento izquierda(cad1, n, cad2)
Extrae en cad2 n caracteres a la izquierda de cad1.
Procedimiento derecha(cad1, n, cad2)
Extrae en cad2 n caracteres a la derecha de cad1.

Insercin

Consiste en insertar una cadena dentro de otra a partir de


una determinada posicin.
Procedimiento insertar (cad1, cad2, pos)
Inserta cad2 en cad1 a partir de pos
cad1 = Pepe
cad2= Nuria

insertar (cad1,cad2,3) cad1 = PeNuriape


Si pos es mayor que la longitud de cad1 o pos es menor
que 0, no se inserta nada.

Borrar una subcadena

Consiste en borrar de una cadena una subcadena que forma


parte de ella. Hay que dar la posicin de inicio y final de la
subcadena que se desea borrar.
Procedimiento Borrar (cad1, inicio, fin)
Si fin es menor que inicio, o inicio es mayor que la longitud
de la cadena, no se borra nada.
cad1=Casa azul
Borrar (cad1,3,5)
cad1=Caul

Intercambio

Consiste en substituir la aparicin de una subcadena dentro


de una cadena, por otra subcadena. Para eso la primera
subcadena tiene que aparecer en la otra.
Procedimiento intercambio (cad1, scad2, scad3)
cad1 = Casa azul
scad2=asa
scad3=asita
cad1=Casita azul
Si cad2 no est en cad1, no se cambia nada.

Conversin de cadenas a nmeros

Es una funcin que se le pasa una cadena caracteres


numricos y devuelve el nmero asociado.
Funcin valor(cadena)
cadena = 234
n valor (cadena)
n toma el valor 234

Conversin de nmeros a cadenas

Es un procedimiento al que se le pasa un nmero y lo


convierte a una cadena.
Procedimiento conv_cad (num, cadena)
num = 234
conv_cad (num, cadena) devuelve 234

También podría gustarte