Sie sind auf Seite 1von 7

Universidad del Cauca

Facultad de Electrónica y Telecomunicaciones

Laboratorio de Cadenas

Ing. Flor Hernández Pérez

CADENAS

Las computadoras nacieron para resolver problemas numéricos en cálculos científicos y


matemáticos sin embargo, el paso de los años ha cambiado las aplicaciones y hoy día las
computadoras no sólo se utilizan en cálculos numéricos, sino también para procesar datos de
caracteres. En aplicaciones de gestión, la generación y actualización de listas de dirección,
inventarios, etc., la información alfabética es fundamental.

La edición de textos, traductores de lenguaje, bases de datos son otras aplicaciones donde las
cadenas de caracteres tienen gran utilidad.

Una cadena (string) de caracteres es un conjunto de caracteres –incluido el blanco- que se


almacena en un área contigua de la memoria. Pueden ser entradas o salidas de una terminal. La
longitud de una cadena es el número de caracteres que contiene. La cadena que no contiene
caracteres se denomina cadena vacía o nula, y su longitud es cero; no se debe confundir con una
cadena compuesta – solo blancos- espacios en blanco ya que ésta tendrá como longituf el numero
de blancos de la misma.

La representación de las cadenas suele ser con comillas simples o dobles. Las comillas actúan
como separadores.

’12 de octubre de 1942’

´por fin llegaste´

‘América es grande’

El dato de tipo carácter (char) que se incorpora en diferentes lenguajes de programación, bien
este nombre o bien como datos de tipo cadena. Estos datos pueden de tipo constante o variable.

 Constantes: tipo carácter es un carácter encerrado entre comillas, y una constante de tipo
cadena es un conjunto de caracteres válidos encerrados entre comillas. En lenguaje c, se
utilizan las comillas dobles para representar una cadena texto constante.
 Variables: una variable de cadena o tipo carácter es una variable cuyo valor es una cadena
de caracteres. Las variables de tipo carácter o cadena se deben declarar en el algoritmo y,
según el lenguaje tendrá una notación u otra.
Var
Carácter: A, B
Cadena: Nombre, Dirección
En lenguaje C, no existe el tipo de dato cadena como tal, por lo cual se utiliza un vector de
caracteres para representar cadenas.

Toda cadena de caracteres en lenguaje c terminan con un carácter nulo ‘\0’, que indica
donde acaba el texto (aunque no se use el total de caracteres separados).

Ejemplo:

Observe que sistemas posee 8 caracteres, pero el arreglo es de 9 posiciones, ubicando al


final el carácter nulo.

OPERACIONES BASICAS CON CADENAS

1. Asignación: si la variable nombre se ha declarado como tipo cadena.


Var
Cadena: Nombre
La instrucción de asignación debe contener en el lado de la asignación una constante
tipo cadena o bien otra variable del mismo tipo. Así,

Significa que la variable nombre toma por valor la cadena ‘Luis Hermenegildo’.

En el lenguaje C, para hacer asignación a una cadena de caracteres, hay que utilizar la
función strcpy() declarada en el archivo string.h

Otro formato de asignación es al momento de declarar la cadena:


2. 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
de 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)

Asignaran a A y B las cadenas introducidas por el teclado y visualizaran o imprimiran en el


dispositivo de salida las cadenas que representen las variables C y D.

En lenguaje C utilizaremos las funciones gets() y puts para leer de teclado y escribir en
pantalla, respectivamente.
Observe que antes de leer una cadena, es necesario hacer un llamado a fflush(stdin) para
limpiar el buffer (memoria) donde se guardan las teclas que se han presionado.

3. LONGITUD
La longitud de una cadena, como ya se ha comentado es el número de caracteres de la
cadena. Así:
‘don Quijote de la mancha’
Tiene veinticuatro caracteres.

La operación de terminación de la longitud de una cadena de representa por la


función longitud.
Cuyo formato es:
Longitud (cadena)

En lenguaje C, utilizaremos la función strlen() para determinar el número de


caracteres de una cadena;
4. COMPARACION

La comparación de cadenas (igualdad y desigualdad) es una operación muy importante,


sobre todo en la clasificación de datos carácter, que se utiliza con mucha más frecuencia
en aplicaciones de proceso de datos (clasificaciones de listas, tratamientos de texto, etc.).

Los criterios de comparación se basan en el orden numérico del código o juego de


caracteres que admite la computadora o el propio lenguaje de programación. En nuestro
lenguaje algorítmico utilizaremos el código ASCII como código numérico de referencia asi:

El carácter ‘A’ será menor que el carácter ‘C’

(código 65) (código 67)

En pseudocódigo, se puede expresar la comparación utilizando los operadores lógicos de


comparación.

Var cadena: Nombre1, Nombre2;


Nombre1<- ‘Pedro’
Nombre<-‘Pedro’
Si(Nombre1 =’Pedro’)entonces
//hacer algo
Fin_si
Si (Nombre1<> nombre2)entonces
//hacer algo
Fin_si
En lenguaje C haremos uso de la función strcmp(), para comparar dos cadenas de
caracteres, si el resultado de la comparación es 0, en porque las cadenas son iguales, de lo
contrario son distintas.

5. CONCATENACION

Es la operación de reunir varias cadenas en una sola, pero conservando el orden de los
caracteres de cada una de ellas. En pseudocódigo utilizaremos +.

Las cadenas para concatenarlas pueden ser constantes o variables.

‘EL ’ ‘BARCELONA’ ‘ES’ ‘MEJOR’ ’QUE ’ ‘EL’ ‘REAL’

Puede comprobar que las cadenas, en realidad de *pegan* unas al lado de otras, por
ello, si al concatenar frases desea dejar blancos entre ellas, deberá indicarlos
expresamente en alguna de, las cadenas.
En lenguaje C, se utiliza la función strcat() para concatenar cadenas. La función strcat
requiere que se le pasen 2 parámetros, la cadena de destino y la cadena de origen. La
cadena de destino debe tener suficiente espacio en memoria para alojar las dos
cadenas.

6. PRACTICA

1. Leer una cadena de texto y mostrarla al revés.


2. Leer una cadena de caracteres (únicamente letras) y convertirlas a mayúsculas.
3. Se desea eliminar los caracteres en blanco de una frase dada.
4. Complete el ejercicio de concatenación de cadenas, es decir dadas dos cadenas
concatenarlas e imprimir el resultado en una cadena que agrupe las dos
primeras.

Das könnte Ihnen auch gefallen