Sei sulla pagina 1di 7

ALGORITMOS Y ESTRUCTURA DE DATOS CADENAS Una cadena (string) de caracteres es un conjunto de caracteres (incluido el blanco), que se almacenan en un rea

a contigua de la memoria. Pueden ser entradas o salidas a/desde una computadora. La longitud de una cadena es el nmero de caracteres que contiene. La cadena que no contiene ningn carcter se le denomina cadena vaca o nula. y su longitud es cero; no se debe confundir con una cadena compuesta de solo espacios en blanco. La representacin de las cadenas suele ser con comillas simples o dobles, las comillas actan como separadores, algunos ejemplos: 12 de Octubre del 2006 Hola, como ests? AMAZONAS MARAVILLA DEL MUNDO La cadena puede contener entre sus separadores, cualquier carcter vlido del cdigo aceptado por el lenguaje y la computadora; el blanco es uno de los caracteres ms utilizado. Una Subcadena es una cadena de caracteres que ha sido extrada de otra de mayor longitud. 12 de es una subcadena de 12 de Octubre del 2006 como ests es una subcadena de Hola, como ests?

AZ es una subcadena de AMAZONAS MARAVILLA DEL MUNDO DATOS TIPO CARCTER El dato tipo carcter (char) que se incorpora en diferentes lenguajes de programacin, bien con este nombre, o bien como datos tipo cadena. Constantes Una constante tipo carcter es un conjunto de caracteres vlidos encerrados entre comillas, para evitar confundirlos con nombres de variables, operadores, enteros, etc

Variables Una variable de cadena o tipo carcter es una variable cuyo valor es una cadena de caracteres (String). Las variables de tipo carcter se deben declarar en el algoritmo y segn el lenguaje tendrn una notacin u otra.

Var Cadena NOMBRE, DIRECCION, PAIS 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 el ejemplo siguiente: E S T
1 24

A
2 3

C
4

A
5 6

S
7

A
8 9

E
10

S
11 12 13

U
14

N
15

A
16 17 18

R
19

U
20 21

N
22

A
23

///

///

Se declar con una dimensin de 24 caracteres y los dos ltimos se rellenan con blancos. Cadenas de Longitud Variable con un Mximo Se considera un puntero, con dos campos que contienen la longitud mxima y la longitud actual. 20 17 E S T A C A S A E S G U A Y /// /// ///

Donde: 20 = Longitud mxima 17 = Longitud actual Instrucciones Bsicas con Cadenas Las instrucciones bsicas : asignar y entrada/salida (leer/escribir) se realizan de un modo similar al tratamiento de dichas instrucciones con datos numricos. Asignacin Si la variable NOMBRE ha sido declarada como carcter Var. Carcter NOMBRE

La instruccin de asignacin debe contener en el lado derecho de la asignacin una constante tipo carcter (una cadena) o bien otra variable tipo carcter. As:

NOMBRE Juan Gonzlez Significa que la variable NOMBRE toma por valor la cadena Juan Gonzlez Entrada/Salida La entrada/salida desde una computadora se puede realizar en modo carcter, para ello se asignar una cadena de caracteres a una variable tipo cadena. Var carcter A,B,C,D Las instrucciones: leer A,B escribir C,D Asignarn a A y B las cadenas introducidas por el teclado y visualizar o imprimirn en el dispositivo de salida las cadenas que representan las variables C y D.

FUNCIN DE CADENAS DE CARACTERES CALCULO DE LA LONGITUD DE UNA CADENA La longitud de una cadena, como ya se ha comentado, es el nmero de caracteres de la cadena. As: 'Hola' Tiene 4 caracteres

La operacin de determinacin de la longitud de una cadena se representar por la funcin Longitud, cuyo formato es: Longitud (cadena) La funcin longitud tiene como argumento una cadena, pero su resultado es un valor numrico entero. Ejemplo: longitud('Como ests?') longitud(' ') Proporciona 11. Cadena de un blanco, proporciona 1.

longitud(' Hola') Cadena 'Hola' rellenada de un blanco a la izquierda para tener longitud de 5. COMPARACION

Es una operacin muy importante sobre todo en la clasificacin de datos tipo carcter, que se utiliza con mucha frecuencia en aplicaciones de proceso de datos (clasificaciones de listas, tratamiento de textos, etc). Los criterios de comparacin se basan en el orden numrico del cdigo o juego de caracteres que admite la computadora o el propio lenguaje de programacin. En nuestro lenguaje algortmico utilizaremos el cdigo ASCII como cdigo numrico de referencia. En la comparacin de cadenas se pueden considerar dos operaciones ms elementales: igualdad y desigualdad. Ejemplos: 'LUIS' < 'LUISITO' 'ANA' < 'MARTA' 'BARTOLO' >= 'BARTOLOME' CONCATENACION La concatenacin es la operacin de reunir varias cadenas de caracteres en una sola, pero conservan el orden de los caracteres en cada una de ellas. El smbolo que representa la concatenacin vara de unos lenguajes a otros. Los ms utilizados son: + // & o verdadera verdadera falsa

Las cadenas para concatenarse pueden ser constantes o variables. Ejemplos: 'Mayo ' + 'de 1999' x y z SUBCADENAS Esta operacin permite la extraccin de una parte especfica de una cadena: subcadena. Subcadena (cadena, inicio, longitud) Cadena: Es la cadena de la que debe extraerse una subcadena. 'Lenguaje' 'Ensamblador' x+' '+y z= 'Lenguaje Ensamblador' = 'Mayo de 1999

Inicio: Es un nmero o expresin numrica entera que corresponde a la posicin inicial de la subcadena. Longitud: Ejemplos: subcadena ('abcdefgh',3,6) subcadena ('Tecnolgico',1,3) subcadena ('Mxico',5,2) BUSQUEDA Esta operacin localiza si una determinada cadena forma parte de otra cadena ms grande o buscar la posicin en que aparece un determinado carcter o secuencia de caracteres en un texto. El resultado de la funcin es un valor entero Posicin (cadena, subcadena) subcadena: Es el texto que se trata de localizar. Equivale a Equivale a Equivale a 'cdef 'Tec 'co' Es la longitud de la subcadena.

Ejemplo: nombre 'Marielena' Posicin (nombre,'elena') Produce 5.

La funcin Posicin, al tomar tambin un valor numrico entero se puede utilizar en expresiones aritmticas o en instrucciones de asignacin a variables numricas. INSERTAR CADENAS Si se desea insertar una cadena C dentro de un texto o cadena ms grande, se debe indicar la posicin. El formato es: Insertar (t, p, s) t p s Texto o cadena donde se va a insertar. Posicin a partir de la cual se va a insertar. Subcadena que se va a insertar.

Ejemplo:

Insertar ('Tecnolgico',4,'XXX') = Insertar ('Juan O',5,'de la') BORRAR

'TecXXXnolgico = 'Juan de la O'

Elimina una subcadena que comienza en la posicin p y tiene una longitud l. Borrar (t, p ,l) t p l Ejemplo: Borrar ('Tecnolgico',4,2) CONVERSIN CADENAS/NMEROS Existen funciones o procedimientos en los lenguajes de programacin (val y str) que permiten convertir un nmero en una cadena y viceversa. En nuestros algoritmos los denotaremos por valor y cadena. Valor (cadena) = Convierte la cadena en un nmero; siempre que la cadena dgitos numricos. Cadena (valor) = una cadena. Ejemplos: Valor ('12345') = 12345 Cadena(12345)= '12345' Leer dos caracteres y deducir si estn en orden alfabtico. INICIO Var. carcter CAR1, CAR2 leer (CAR1) leer (CAR2) Convierte un valor numrico en fuese de = 'Teclgico' Texto o cadena de donde se va a eliminar una subcadena. Posicin a partir del cual se va a insertar. Longitud de la subcadena a eliminar.

Si (CAR1 <= CAR2) entonces escribir('Si se encuentran en orden') sino escribir('Desordenados') Fin_si FIN Aceptar un nombre y proporcionar la cantidad de caracteres que contiene. Inicio Var. cadena nom escribir('Cul es el nombre : ') leer(nom) escribir('Tu nombre tiene ', longitud(nom),' letras') Fin Pedir una cadena que contenga una vez la letra F ('F'). Deber informarse la posicin donde fue encontrada, el carcter previo y el siguiente. Inicio Var. cadena cad , x escribir('Dame cadena que contenga [F] ') leer(cad) x posicin('F', cad) escribir('La letra 'F' se encuentra en la posicin : ', x) escribir('El carcter anterior es : ' , subcadena(cad, x-1, 1)) escribir('El carcter siguiente es : ', subcadena(cad, x+1, 1)) Fin

Potrebbero piacerti anche