Está en la página 1de 23

MÓDULO I.

ESTRUCTURAS DE DATOS FUNDAMENTALES


“HOLA MUNDO”

ESTRUCTUR AS DE DATOS TIPO CADENAS


Cadenas de caracteres
Se definen como unas secuencia de cero o más caracteres delimitados
por comillas simples o dobles.
“HOLA MUNDO” ‘HOLA MUNDO’
Algunos lenguajes de programación manejan las cadenas como
arreglos de caracteres, estáticos o dinámicos, que requieren un
delimitador de cadena “\0”
Cadenas de caracteres
La cadena con cero caracteres, recibe el nombre de cadena vacía o
cadena nula (“”). Delimitaremos las cadenas con comillas dobles.
Cada carácter alfanumérico (letra, número o símbolo) se representa en
un byte. La computadora asigna a cada carácter una de las 256 posibles
combinaciones de ceros y unos del código ASCII.

Si preguntáramos si A es menor que B, la respuesta sería


afirmativa, ya que si observamos en el segmento de código
ASCII que se muestra, lo que se va a comparar es 65
contra 66, lo que para nosotros tiene algún sentido, pero
también sería verdadero si preguntamos algo como si & es
menor que A (38 < 65).
Cadenas de caracteres
La sintaxis para declarar variables tipo cadena será:
nom_var: tipo_cadena[n],
Donde, nom_var es una (o más variables separadas por comas) que se definirán de
tipo cadena.
tipo_cadena será la palabra reservada dentro del seudocódigo para asignar el
tipo cadena a una variable.
[n] implica el número de caracteres, n, que podrá contener la variable de tipo
cadena. Algunos lenguajes definen un máximo para este valor, generalmente
256. Si se requiere mayor espacio, entonces se trabajan campos tipo texto.
Operaciones con Cadenas de caracteres
Las cadenas comparten las operaciones básicas de los datos tipo
carácter (comunes, también, al resto de los datos primitivos).
Se pueden realizar las operaciones:
Asignar Saludo = “Buenos días”
Leer Leer (Nombre)
Escribir Escribir (“Hola ”, Saludo, “ ”, Nombre)
Comparar usando los operadores relacionales
(>, <, >=, <=, =, <>)
Operaciones con Cadenas de caracteres
Pero, además, las cadenas tienen las operaciones siguientes
Longitud
Concatenación
Subcadena
Índice o Posición
Inserción
Propias de los
Eliminación campos tipo texto
Reemplazo
Operaciones con Cadenas de caracteres
Longitud
Se define como el número de caracteres delimitados por comillas que
conforman la cadena. Su sintaxis es:
Longitud(s)
donde s es una cadena o variable de tipo cadena, y el resultado es de
tipo entero.
Longitud (“HOLA MUNDO”) su valor será 10
Operaciones con Cadenas de caracteres
Concatenación
Sean S1 y S2 dos cadenas. La cadena obtenida colocando los
caracteres de S2 a continuación de S1, recibe el nombre de
concatenación de S1 y S2, y su longitud será igual a la suma aritmética
de las longitudes de S1 y S2.
Usaremos el operador de concatenación +.
Igualmente aceptables serían los operadores & o //.
Operaciones con Cadenas de caracteres
Concatenación
Ejemplo:
S1 = “Buenos días.”
S2 = “Bendiciones para todos.”

Escribir (S1 + S2) Buenos días.Bendiciones para todos.


Genera en salida
Mientras Escribir (S1 + “ ”+ S2) Buenos días. Bendiciones para todos.
que,
Subcadenas de caracteres
Subcadenas
Aunque una cadena puede considerarse como una secuencia o un
arreglo de caracteres, existe una diferencia fundamental entre las cadenas
y otros tipos de arreglos.
Concretamente, grupos o elementos consecutivos de una cadena (tales
como palabras o frases) llamados subcadenas, pueden constituir
unidades por sí mismas.
Por esta razón, las unidades básicas a las que acedemos en una cadena
son subcadenas y no caracteres individuales.
Subcadenas de caracteres
Subcadenas
Por ejemplo, la cadena:
“SER O NO SER”
Podemos considerarla como una cadena de 12 caracteres S, E, R, ...
Sin embargo, subcadenas como “SER”, “O”, “NO”, tienen significado propio.
Por estos motivos se han desarrollado para las cadenas varios tipos de
operaciones que no se utilizan normalmente para otros tipos de arreglos.
Operaciones con Cadenas de caracteres
Operación de Subcadena
Para acceder a una subcadena contenida en una determinada cadena, se
requiere conocer tres cosas:
1) el nombre de la cadena o, la cadena misma;
2) la posición que ocupa el primer carácter de la subcadena en la cadena a
la que pertenece y,
3) la longitud de la subcadena o la posición que ocupa el último carácter de
la subcadena.
Llamaremos a esta operación Subcadena.
Operaciones con Cadenas de caracteres
Operación de Subcadena
La sintaxis de la operación Subcadena será:
Subcadena(cadena, inicial, longitud)
Para indicar la subcadena contenida en otra (cadena), que comienza con el
carácter que ocupa la posición inicial y tiene una longitud. Ejemplos:
Subcadena (“HOLA MUNDO”, 4, 7) su valor será “A MUNDO”,
Subcadena (“HOLA MUNDO”, 6, 5) su valor será “MUNDO”,
Subcadena (“HOLA MUNDO”, 6) su valor será “MUNDO”
Operaciones con Cadenas de caracteres
Posición (índice)
Hace referencia a la operación de encontrar la posición en que aparece por
primera vez una determinada secuencia de caracteres S dentro de un texto T.
Su sintaxis es:
Posición(texto, secuencia)
Donde, texto es una cadena o variable de tipo cadena y,
secuencia es también, una cadena o variable de tipo cadena.
y, su valor resultante será de tipo entero.
Operaciones con Cadenas de caracteres
Posición (índice)
Ejemplo:
Suponga que T es una variable tipo cadena que contiene “Buenos días, bendiciones para
todos”.
Entonces,
Posición(T, “no”) genera el valor 4
Posición(T, “ para ”) genera el valor 25
Posición(T, “días”) genera el valor 8
Posición(T, “de”) genera el valor 0
Operaciones con Cadenas de caracteres
Insertar
Es una de las operaciones habitualmente relacionadas con el procesamiento
de textos, aunque en este punto usaremos cadenas para su estudio.
Suponga que se desea insertar una cadena S en un texto T (ambas, S y T
de tipo cadena como se indicó), a partir de la posición K. Simbolizamos esta
operación mediante
Insertar(texto, posición, cadena) o Insertar(T, K, S)
Se entiende que el resultado es una cadena de longitud mayor o igual a T.
Operaciones con Cadenas de caracteres
Insertar Operación para textos
Insertar(T, K, S)
Ejemplos:
Insertar(“ABCDEFG”, 3, “XYZ”) su valor será “ABXYZCDEFG”
Nota: Como se observa, la inserción obliga a un desplazamiento automático, hacia la
derecha, del resto de los caracteres contenidos en el texto.

Insertar(“ABCDEFG”, 6, “XYZ”) su valor será “ABCDEXYZFG”


Insertar(“ABCDEFG”, 1, “XYZ”) su valor será “XYZABCDEFG”
Operaciones con Cadenas de caracteres
Borrar
Suponga que queremos eliminar de un texto T una subcadena que comienza
en la posición K y tiene una longitud L. Indicamos esta operación por:
Borrar(texto, posición, longitud) o Borrar(T, P, L)
Se entiende que el resultado es una cadena de longitud menor o igual a T.
Operaciones con Cadenas de caracteres
Operación para textos
Borrar Borrar(T, P, L)

Ejemplos:
Borrar(“ABCDEFG”, 4, 2) su valor será “ABCFG”
Nota: Como se observa, el borrado obliga a un desplazamiento automático, hacia la
izquierda, del resto de los caracteres contenidos en el texto.
Borrar(“ABCDEFG”, 2, 4) su valor será “AFG”
Borrar(“ABCDEFG”, 0, 4) su valor será “ABCDEFG”
Borrar(“ABCDEFG”, 1, 4) su valor será “EFG”
Operaciones con Cadenas de caracteres
Reemplazar
Suponga que dado un texto T queremos reemplazar la primera ocurrencia
de una cadena S1 por otra S2. Indicamos esta operación por:
Reemplazar(texto, cadena1, cadena2) o Reemplazar(T, S1, S2)
Se entiende que la longitud del texto resultante, depende de las longitudes
de S1 (los caracteres que se eliminan de la cadena original) y S2 (los caracteres que
reemplazan a los eliminados). Es decir, puede ser mayor, menor o igual a la
longitud actual de T.
Operaciones con Cadenas de caracteres
Operación para textos
Reemplazar Reemplazar(T, S1, S2)

Ejemplos:
Reemplazar(“ABCDABCD”, “AB”, “Z”) su valor será “ZCDABCD”
Reemplazar(“ABCDABCD”, “C”, “XYZ”) su valor será “ABXYZDABCD”
Nota: Como se observa, reemplazar obliga a un desplazamiento automático, hacia la izquierda o
hacia la derecha, del resto de los caracteres contenidos en el texto. Además, solo afecta a
la primera aparición de S1, aunque se encuentre repetidas veces en T, y de no encontrarse,
no se afecta la cadena original (T), como se observa en el ejemplo siguiente:
Reemplazar(“ABCDABCD”, “X”, “YZ”) su valor será “ABCDABCD”
ESTRUCTUR AS DE DATOS TIPO CADENAS

También podría gustarte